>Linux is built with gcc. Dignus offers a z/Linux C compiler, but I've
never
>heard that it could build the kernel. I don't know of an IBM C product
>that creates z/Linux executables. The z/OS compiler has some ASCII
support,
>but that's a far leap from targetting an ASCII OS.

gcc is indeed the "standard" Linux compiler, especially for compiling
kernels.  The open source community at large and IBM have contributed
enhancements to gcc, and many of IBM's contributions focused on helping gcc
produce better optimized ESA/390 (31-bit) and z/Architecture (64-bit) code.

It's important to emphasize that Linux is Linux.  There is no emulation --
Linux on zSeries is a native operating system.  There's one Linux(TM)
kernel that supports multiple processor architectures.  The IBM mainframe
architecture uses the "s390" identifier, and then you can compile the
kernel by telling gcc to generate 31-bit or 64-bit code (or 31-bit code
that can tolerate running on a 64-bit kernel -- probably the best bet for
code that doesn't actually need 64-bit addressing).  It's exactly the same
process for an X86 (Intel/AMD) kernel -- you compile the kernel source
using gcc, telling gcc to output an X86-compatible binary kernel.  The
single kernel/multiple architectures assures that there is source code
compatibility -- that you can recompile any Linux application source for
any Linux architecture.  The exceptions to that rule would be things like
unique periperals that an application might need or machine constraints --
that you can't run WebSphere on a Linux machine with only 4 MB of memory,
for example.  And I suppose you could write non-portable assembler code
inline in C/C++, but fortunately not too many people do that since gcc
really is pretty good.

That's important to note because any vendor producing Linux software should
be able to provide you with a mainframe compiled version of their
application.  There really aren't any technical barriers (excuses) if you
want a particular application for your favorite platform.  And there really
aren't any costs to doing so either since IBM offers 30-day access to a
Linux on zSeries guest to any software developer of any size -- even one
person companies -- at no charge.  (See the "Linux on zSeries" entry at
http://en.wikipedia.org for details.)  So just ask your vendor(s) for
mainframe Linux versions, although lots of them already have them.

You do have to compile for each/every architecture.  That's unlike Java,
for example, in which a single "binary" can run on any Java system.
(Actually what happens is that the Java virtual machine compiles the code
"on-the-fly," and the single "binary" consists of universal pseudocode
instructions.)  So Linux and Java both have important roles.

Most Linux distributions ship with precompiled binaries for the kernel and
all the standard tools and programs typically associated with a GNU/Linux
operating system.  But some don't, notably Gentoo.  When you install Gentoo
you build it entirely from source code as you go.  Of course Gentoo
supports architecture s390.

Novell SuSE and Red Hat are the two "standard" mainframe distributions --
the ones that software vendors officially support the most.

- - - - -
Timothy F. Sipples
Consulting Enterprise Software Architect
IBM Americas zSeries/z9 Software
Phone: +1 312 529 1612
E-Mail: [EMAIL PROTECTED]
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html

Reply via email to