LTC bulletin: May 7, 2001

News in brief from IBM's Linux Technology Center

Maya Stodte (mstodte@us.ibm.com)
Contributing editor, developerWorks

May 2001

Our biweekly news in brief from the Linux Technology Center -- where all the Linux-related technologies happening inside IBM are tracked -- includes a couple of new version releases, some new patches and patch updates, and news from the SNIA (Storage Networking Industry Association) and OSCAR (Open Source Cluster Applications Resources). You'll find quick summaries here, along with links to the Linux Technology Center for greater detail.

Omni printer driver
The Omni printer driver has recently released version 0.0.8, quickly succeeded by more new releases. The 0.0.8 release features a new device job for Epson class devices and their c compatible printers, which controls the bidirectional movement of the printhead. The Ghostscript interface has also been changed to use synchronous instead of asynchronous mode.

"Epson printers can understand one of three languages," according to the Omni team. "The oldest language is the 9-pin ESC/P (escape) language and the ESC/P language. Newer inkjet printers use the ESC/P2 language. "

Omni edits old device description files in order to create new devices and allows for the subclassing of previous device features, which simplifies printer driver development.

The user currently edits files to create new devices. Here's an example from the Omni team for creating an Epson Stylus Color 761.

"Let's say that this device differs from 760 in that it has one extra form that it can use. First, copy 'Epson Stylus Color 760.xml' to 'Epson Stylus Color 761.xml.' The part of the xml file that has the reusable objects is:


<Device name="Epson Stylus Color 760">
  ...
   <Uses>Epson High Res ESCP2 Commands.xml</Uses>
   <Has>Epson Stylus Color High Res ESCP2 Resolutions.xml</Has>
   <Has>Epson DLQ-3000+ PrintModes.xml</Has>
   <Has>Epson Stylus 200 Trays.xml</Has>
   <Has>Epson Stylus Color 660 Forms.xml</Has>
   <Has>Epson Stylus 200 Medias.xml</Has>
   <Has>Epson Stylus Color 660 Connections.xml</Has>
   <Has>Epson Stylus Color 760 High Res Gammas.xml</Has>
   <Has>Epson Stylus Color 760 Data.xml</Has>
  ...
</Device>
 

"You would then copy 'Epson Stylus Color 660 Forms.xml' to 'Epson Stylus Color 761 Forms.xml' and add a new form. You can see that this device uses definitions from previous devices as well as one of its own."

Omni also now dynamically loads printer drivers using the Ghostscript framework model (a Postscript interpreter for printing and displaying documents). "Ghostscript," the Omni team explains, "has the ability to have a second thread run during execution. This allows execution to speed up, since translating Postscript commands into graphics is one task and translating those graphics into printer language (Omni's job) is another task. These tasks can run in parallel, so it's an asynchronous operation. A synchronous operation in which only one task executes will, for example, first translate a section of the page to graphics, and then wait for Omni to finish translating those graphics into printer language before moving to the next section of the page."

Omni currently supports 270 printers; see the list of supported printers.

SNIA and CIMOM
Viktor Mihajlovski from the LTC has written two patches against SNIA's CIMOM, one that adds AssociateProvider functionality to InternalProvider and one that adds SSL support for CIM Operations over HTTP.

SNIA is the Storage Networking Industry Association. The CIMOM (Common Information Model Object Manager) technology from SNIA provides client and server with CIM/WBEM technologies. "CIM," in the words of Viktor Mihajlovski, "is an object-oriented data model for Systems Management (defined by the Distributed Management Task Force). Web Based Enterprise Management (WBEM) is a set of standards centered around CIM enabling systems to handle remote management. Resource specific plugins, called providers or instrumentation, are invoked by the CIMOM to access and modify information on the managed system."

The first patch enhances the InternalProvider. "This is a CIMOM-internal repository," Viktor explains, "which allows not only single objects but also the relations (associations) between them to be handled. You can find, for example, all the objects connected to any other given object."

The second patch, HTTP over SSL, adds SSL (secure sockets layer) support for CIM Operations over HTTP using the Java Secure Socket Environment (JSSE). "This," Viktor explains, "is a security feature. CIM clients and CIMOMs communicate via the CIM Operations, over HTTP protocol, by exchanging XML documents via an HTTP connection. Our patch adds the capability to run this protocol encrypted over an SSL connection using the JSSE, which is a Java SSL implementation. Applying this patch will now allow you to use SNIA CIMOM in security-sensitive environments."

Linux for S/390
The Linux for S/390 project ports Linux to the S/390 architecture, IBM's "standard bearer" for enterprise computing. The project recently updated its documentation and some existing patches for 31- and 64-bit Linux for zSeries. "These are patches to support the latest version of the Linux kernel," explains Steve Fox of the LTC. "The 64-bit patches allow the Linux kernel to take advantage of the powerful 64-bit processor that the zSeries hardware uses instead of having to run in 32-bit mode."

LUI
LUI, the Linux Utility for cluster Installation, has been included in the OSCAR project (the Open Source Cluster Application Resources). LUI is a utility that installs workstations remotely over an ethernet network by providing tools to manage installation resources on the server. These tools can then be allocated and applied to installing clients, so that users have a higher degree of control over the resources each client uses. LUI will now be included in OSCAR's collection of applications involving clustering of computers.

Linux Scalability Effort
The Linux Scalability Effort [http://sourceforge.net/projects/lse/] has posted an updated patch that implements a multi-queue scheduler for SMP machines. "One important design goal of the implementation," according to Mike Kravitz, one of the project leaders, "is to maintain the same behavior and semantics of the current Linux scheduler. What our implementation does provide is better scalability/performance in environments with increasing task (process/thread) and CPU counts."

Dynamic Probes
The Dynamic Probes project has released version 2.1 and a patch for dr_alloc 0.1 patch. DProbes is a debugging facility designed to work under extreme or inaccessible conditions. It gathers diagnostic information by dynamically firing probes into executing code modules, relying on user written probe-handlers (programs written in assembly-like code based on Reversed Polish Notation).

"The main change in version 2.1," according to Bharata B. Rao, one of the project leaders, "is in the Watchpoint probe code, because extensive changes were made to the Debug Register allocation(dr_alloc) code. Other changes include preceding binary header data with the log data that is sent to the trace buffer, and introducing the new header element(for SMP) 'cpu number' in the DProbes header.

"dr_alloc v0.1 patch solves the interoperability problems between different debuggers which use debug registers," as Bharata explains. "It introduces a controlled mechanism of accessing the system's debug registers wherein a debugger wanting to use a debug register gets the allocated register first. By using this mechanism DProbes watchpoints can coexist in a system with KDB breakpoints (yet to use this mechanism) and gdb watchpoints, without disturbing each other's settings."

Resources

About the author
Maya Stodte is a contributing writer and editor for developerWorks. She can be reached at mstodte@us.ibm.com.

Copyright 2001