IBM Ports Linux to S/390
smoon writes "The most expensive Linux platform available? IBM appears to be working on a port of Linux to S/390." First version is running on a VM. Second version will be running on 'Bare Metal' as they call it. Pretty cool if you happen to have a 390 sitting around somewhere ;)
Didn't this get posted about 2 weeks ago?
Seriously, though, if IBM produce an official, supported version for their medium or high-end hardware, Linux will start to be taken a WHOLE lot more seriously by the pointy-hair guys.
(After all, nobody ever got sacked for buying IBM, right...? :)
It's a small world and it smells funny; I'd buy another if it wasn't for the money; Take back what I paid (SoM)
My head is spinning.
Linux under a VM for fast porting of Linux apps I can understand -- but Linux on bare mainframe metal? I'm a big Linux fan, but there's no way Linux can be optimal in an environment like this.
Sure it's cool, but is there a point other than hack value?
Is this a publicity stunt to send the message that IBM is your Open Source Friend, or perhaps to send the message that MS is flanked on both ends?
Post may contain irony: discontinue use if experiencing mood swings, nausea or elevated blood pressure.
I think this is an great example of how Linux can be good for business. IBM can benefit by allowing customers to run Domino on mainframes, and the community benefits from the kernel source that IBM would release. Not only that, but IBM bolsters their image with the open source community.
As your PHB would say, "This is a win-win situation."
This sig is false.
The bad news is that it's strictly a server platform. I don't even know of a natively attached device that can serve as an X display; the 3270 display system is very much screen-oriented and block-structured, designed to have the user fill in a form and hit the ENTER key to have it all processed. They also don't handle async serial I/O worth a damn, necessitating a channel interrupt and transfer for every input keystroke. The upshot of this is that you'll run the system by telnetting into it, and if your IP configuration is hosed, you'll get to use some really horrendous tools to edit the necessary files.
--
Disinfect the GNU General Public Virus!
IBM supports TCP/IP on OS/390, and I have used a Linux system running X as an X-terminal to the "Unix System Services" facilities of such a machine.
Yes, IBM's 'native' networking doesn't support the usual cast of Unix remote devices, _but_ the newer IBM networking hardware _does_ support both SNA _and_ TCP/IP, making it easy to attach TCP/IP-enabled devices (terminals, printers, PCs, etc.) to the system. If they've moved any further ahead with Linux on S/390, I don't see any reason why you couldn't access the system from an xterm.
You certainly can do so now.
"values of beta will give rise to dom!"
Sheesh!
/., goto here to grab the scripts that run this sight and start your own competition. After sifting through 300+ submissions a day, you'll be singing a different tune.
And you've never been so busy that you've done something twice? Or forgotten you did it the first time? Oh that's right, {smack forhead} your so perfect that you don't want anyone to know who you are because we might fall down in worship. I just plumb forgot.
I know you where all excited to get first post, but let's get real. These people are human, and by their very nature sometimes make mistakes.
The sheer ignorance that this type of post displays is amazing.
Or if you really think you could do a better job than
Myddrin
...oh never mind... Feel free to moderate this down through the floor.. -AC
The Linux emulator makes sense. Check out their VM/ESA web page.
But on running linux as the base OS...
I remember interviewing with some OS/390 guys a while back... One of the interviewers worked in the OS messaging/IPC group. If I remember correctly, they had a very large number of people (around 100?) that did nothing but work on messaging and IPC.
The point is, OS/390 is a very very complex system for very very complex hardware. ja?
And the rumors expect to have linux ported to bare metal relatively soon? How many people would that have taken? How many years?
Here's a abbreviated list of S/390 G5/G6 Features:
Capacity Upgrade on Demand
Open Systems Adapter 2 (OSA-2)
OSA Express Express GbE
Dual cryptographic coprocessors
FICON channel 100MB/sec full-duplex
S/390 architecture
Clustered systems
Parallel Sysplex clustering technology
Sysplex Timer®
Integrated Coupling Migration Facility (ICMF)
Coupling Facility Control Code
Coupling links (HiPerLinks)
Internal Coupling (IC) Channel
Geographically Dispersed Parallel Sysplex
Integrated Cluster Bus (ICB)
Internal Coupling Facility (ICF)
Shared ICFs and CPs
Dynamic ICF Expansion
Transparent ICF Sparing
Dynamic CF Dispatching
Enhanced Parallel Sysplex Clock Functions
VM/ESA Virtual Parallel Sysplex
To the best of my knowledge, most of this stuff is outside the scope of the linux source tree. We're talking a large amount of work here to make linux take a moderate advantage of the underlying hardware. If they've done it, more power to them. But is just seems to be rumors to me.
And what about all the OS/390 software, is that being ported to linux also? How long will that take? Or will you only be able to run Domino on it? I guess that my point here is that there seems to be a large amount of good S/390 specific enterprise software out there. To run linux as the base OS would negate the advantages and capabilities of this software.
"You want to kiss the sky? Better learn how to kneel." - U2
"It was like trying to herd cats..." - Robert A. Heinlein
Sig:
Barbeque is a noun. Not a verb.
How is one set of code unable to run on a mainframe, and another able to do it?
Do they have to include ?
The OS the S/390 runs was unable to run on an S/390 until someone ported it, and was unable to take advantage of the features until someone coded in support.
So why can this be done with one OS and not with another? It's not like Linux has a GUI built in at the kernel level or anything.
And, I'd think conventional Linux and a mainframe OS would be more similar than the Realtime Linux someone made.
A convergence of OSes is a good thing as should be encouraged. If Linux gets properly ported to the S/390 (as in, works as well as what is there already) then a lot of that code could be folded back into the main branch, perhaps helping stability and scalability to other platforms.
Just think of the benefits of being able to take code written on a PC and transparently drop it on a mainframe. Your developers could work on PCs, testing code there and then simply by recompiling the code, make it run on a mainframe. What better way to bring legacy systems up to date?
Commercially releasing Linux on S/390 "bare metal" would reveal an awful lot of information about IBM's most lucrative proprietary technology, and it is hard to see how that risk would be justified given where Linux stands in the enterprise today.
Testing a VM version of Linux is a no-brainer, and is hardly anything to get excited about. After all, IBM has had Windows NT running on S/390 VM in its labs for years, but never saw any reason to productize it. Further, IBM long sold a version of AIX for S/390, and it was a non-starter, so why would they now start to offer Linux?
The mainframe model is that I/O is made really fast by using blocking to a massive degree. Interrupts == evil; blocking == good.
The UNIX model is more oriented towards streaming; this can be mapped onto blocks, but if the blocks are real tiny, this gets real inefficient.
This is already somewhat true on a UNIX when running applications across the network; a single keystroke may initiate a couple of packets of network traffic, thereby having a single byte update result in a couple hundred bytes having to cross the net. UNIX suffers somewhat when hit by interrupt-driven programs; MVS suffers a whole lot more.
The OS/390 hardware has been tuned to do block-oriented I/O, whether we consider disk drives, printers, or terminal controllers.
This may be a neat hack; I am quite unconvinced that it will lead to a commercially viable product, and in order for it to be of any importance, it has to be commercially viable.
Countervailing consideration; if some of the following components were provided some "deep hooks" to the kernel, they could both be coded to "bare iron," and thus be fast, and harness the "blockiness" of the hardware, but also allow integration work to take place in the Linux environment:
Linux could provide a way of gluing these things to (say) a web server, and providing an easy front end to customize, whilst letting the respective components take advantage of the hardware's strengths.
A web server is also likely to represent something that can run pretty effectively on MVS.
If you're not part of the solution, you're part of the precipitate.
To the best of my knowledge, most of this stuff is outside the scope of the linux source tree. We're talking a large amount of work here to make linux take a moderate advantage of the underlying hardware. If they've done it, more power to them. But is just seems to be rumors to me.
OTHO, it would be a huge advantage to IBM to make this move.
1) Having a single source base for everything (M$ has been hyping this up for Win2000, btw) from mobile to mainframe. This would let them cut down on the # (and/or cost)of developers for packages like Dominio.
2) Linux OS developers are most likely cheaper than the OS/390 experts. (There are prob. more linux devs. anyway) And a lot of the work is free (GPL'd).
3) Marketing Marketing Marketing....
4) If they can get this to market before Win2000 it pulls the feet out from under M$ for the "one source base everywhere".
5) Marketing (yeah, I know but it's a biggie...)
6) Makes them look good to the Linux community. (This seems to be becoming an important competition "Who is more Open Source friendly"...
So not only are they seeing a a cost savings (eventually), it makes them look like "the good guys," something IBM isn't used to.
Myddrin
OS/390 wasn't ported. It's the latest version of IBM's mainframe OS's, which has roots going back into the 50's. (Earlier computers didn't really have OS's)
There was an AIX/370 at one point. AIR it ran under VM. 370 was the architecture that preceeded the 390 architecture. OS390 is
Thanks for playing.
Paul
http://www.pauldrobertson.com
It might not be vastly worthwhile for them to support both, but even should this be a $100M mistake, that's not going to bankrupt them. And I don't think this would be a $100M mistake...
If you're not part of the solution, you're part of the precipitate.
There was an AIX/370 at one point. AIR it ran under VM. 370 was the architecture that preceeded the 390 architecture.
Thanks for playing.
Paul
http://www.pauldrobertson.com
I find it intriguing that the rumours always fail to mention the Linux/390 site where the actual work is going on: Bigfoot-- Linux on a Mainframe. Why do the news reporters carry this as a rumour? Doesn't anyone fact check? And why does it say "IBM is doing this" ... only a small fraction of the people involved in this project are employed by IBM, its seems weird that IBM gets all the credit. Whazzup with that?
Yes, but what I mean, is that the OS didn't magically appear, ready to run a mainframe. They took the older OSes, took the parts that worked, junked the rest, and rewrote it for the new hardware.
So yes, it was written for a 390, but I highly doubt they did it from scratch.
So, at no point did a mainframe-capable OS appear out of thin air, so I see no reason why taking a scalable and robust PC OS, you can't use at least a fair bit of it in a mainframe OS. Sure, the I/O stuff, and other similar low-level bits will have to go, and be replaced with something designed for the hardware, but that happens with the same OS between different hardware anyway.
And their longstanding OS experience and the fact that they made the hardware, will let them accomplish the transition fairly easily.
IBM's never been shy about releasing documentation and architecture reference manuals from the early 360 days through the 390 days.
On the other front, moving from running under VM to running without VM isn't _that_ difficult since IBM's VM looks a heck of a lot like the real hardware (surprise!) You'd probably need to port the SVC tables or perhaps provide most of the ones that fall under "OS Simulation Services" for VM (the ones like SVC 93/94 that the TPUT macros use.)
As far as running under VM (which a native version would be able to do as well)- the thing to get excited about is being able to host Linux applications without changing environments, and indeed writing collaberative applications to talk to other VMs. That gives you a signifcant software base for the S/390 that doesn't need to be supported seperately. So, you could run a mail system, USENET, or even hand out shell prompts and not take anything more than some CPU and I/O.
It also may give IBM some extra hardware for porting projects that can run batch compiles and things pretty quickly. If the port is done well enough, it may give IBM a good internal development platform. Now all they need is a good cross-compiler for i386.
Paul
http://www.pauldrobertson.com
Annoying Operating System (which PF-key?)
That's not the operating system. That's a command and application shell, probably CICS.
...phil
...phil
"For a list of the ways which technology has failed to improve our quality of life, press 3."
We have nothing to fear from Microsoft's threats about a single, unified Windows source base.
... Microsoft has its hands full maintaining app compatibility across multiple code bases. Microsoft has been preaching for years that Windows 2000 will be the convergence of Windows and NT for servers, workstations, and home computers. This is a lie! Microsoft continues to develop Windows 9x (under the codename Millenium) for home users. This product will probably be called something like "Windows 2000" (but without the "Professional" or "Server" suffix, just to confuse things more: same product name, different code base!) Microsoft has forked the Windows 2000 code slightly for Win2K Professional, Server, Advanced Server, and Datacenter. Microsoft has already forked the Windows 2000 code for Win64 because the Win32 code is not 64-bit friendly. Microsoft has forked the Windows 2000 code yet again for Neptune, the codename for "NT Consumer" product that is to ship after Millenium (Windows 9x cum "Windows 2000 Consumer").
Everyone knows that the current Windows family is not based on a single source code base. From Windows 3.1, 95, OSR2, 98, NT, Embedded NT ("NT for Toasters"), Embedded CE, 2000, Millenium, Neptune,
The Windows source code is a brittle stack of cards. For more Windows 2000 ramblings, see Nicholas Petreley's article Will Windows NT develop into a super-OS or an unmanageable disaster?.
cpeterso
Actually, I've worked a lot on 390 series machines, and in fact this architecture is one of the best documented computer systems ever produced. The IBM 390 Principles of Operation describes every detail about the hardware you would ever want to know. There aren't any "secrets" that I'm aware of.
... it's actually pretty easy to do. Of course, in order to actually run your program on the bare iron, you'd need to bring down your mainframe and dedicate it to your program, which is sort of hard to justify ... and heck ... the whole reason VM was invented was because of this problem ... so why fight it?
... At the time, all VM/CMS had was a flat filesystem with 8.8 character filenames. Ouch!
...
... in both the IBM and Waterloo C compilers. The workaround for that was to make huge #include files that mapped all of the long function names into unreadable abbreviations.
... The 390 channel subsystem is based on a very high performance model, but it would have required a nearly complete rewrite of the device driver subsystems ...
... the 360/370/390 series has a 1M segment size instead of the more common 16M segment size. This means that a full 2G address space (the 390 series has a 31 bit address space, not a 32 bit address space), would require a 8192 byte segment table for each process. The largest piece of contiguous memory Linux could serve up at the time was 4096 bytes, so I was looking at a rework of the memory management routines ... and a rework of the paging routines for the differently-sized tables ...
...
Writing software that runs on the bare iron isn't a "mysterious" process
We tried AIX/ESA back when it first came out. It was EXTREMELY inefficient, not compatable with anything else in the world, and a general loser. It deserved to die.
Back in 1993, I sat down with the Linux source and looked into doing a port to our 3090.
The biggest problems I saw right away were:
1) Lack of a tree filesystem with long names
2) Lack of a suitable compiler. IBM's C compiler wasn't up to the job. I started to compile using the Waterloo C compiler, which was a better compiler, but I then ran into
3) 8 character symbol name limitations
4) Not to mention that all my development would have been done in an EBCDIC environment, and the GCC compiler, at the time, had ASCII specific logic, and defied porting. (In EBCDIC, the letters A-Z are *NOT* contiguous, and the numbers 0-9 come after the letters)
5) The output from the IBM compiler would have been in mainframe TXT format, which is basically 80 column punchcards. I didn't see an easy way to get from that to a unix style (a.out) format.
6) Device drivers
7) Paging differences
In fact, nearly the entire hardware interface layer was different enough that it would have had to be rewritten. Things like the filesystems looked like they could drop into place without any changes
but after a couple of weeks I came to the conclusion that this was much more then a "quick hack" project, and never pursued it. Always wish I had.
AIX/Monterey is optimized to run on System/390? Indeed? The Overview page under the Project Monterey home page says
Nothing in there about System/390.
So, no, it appears that Monterey will not be running there. Once upon a time, IBM did have a UNIX that ran on System/3xx, and that they called "AIX" (which doesn't necessarily mean it's the same OS as the AIX that runs on RS/6000's), but I'm not sure it's still around.
Napster-to-go says "Fill and refill your compatible MP3 player", which is a lie. It's not MP3. It's WMA with DRM.
Or they could just follow this link if they don't want to go searching for it.
The Linux on the IBM ESA/390 Mainframe Architecture page has links to various documents about S/390.
It's apparently already been done. (I think S/370 support has been in there for ages; the link is to somebody offering pre-compiled binaries for OS/390 UNIX services.)
I was under the impression that the "virtual machine" that VM implemented looked rather S/3xx-ish, complete with virtual channels talking to virtual I/O devices that look somewhat like real S/3xx I/O devices.
This makes sense to me -- that once you've done the VM, the bare metal is kind of a side effect.
The point I was making was not that the VM didn't make sense -- it obviously does. It doesn't make sense to run Linux on bare metal because you'd lose access to your legacy applications, you'd have to write drivers for every weird peripheral (and GPL them), and you'd have to hope that the particular policies about things like scheduling that Linux implements work in this universe of applications etc.
Post may contain irony: discontinue use if experiencing mood swings, nausea or elevated blood pressure.
This is interesting, after all Linux on a mainframe grabs my attention, but IBM have already been supplying Unix-type facilities on their machines with OS/390 System Services and OpenEdition OS/390.
Unix system services provides base UNIX services, a Unix shell interface and support for the dbx debugger.
OpenEdition was introduced in OS/390/ESA SP V4.3 and originally supported only some of the Posix standards (1003.1, 1003.1a, 1003.1c, 1003.2).
The latest version (V5.2.2) supports around about 90% of the functions required for XPG4.2 (X/Open Portability Guide).
OpenEdition includes a C Run-time library, a compiler etc. It includes access to telnet, ftp etc.
Basically IBM has (finally) realised things like TCP/IP is nicer than SNA (a.k.a Blue Glue) - which I personally can vouch for. They have changed their SNA and APPC protocols to try and emulate peerless comms instead of a hierarchical model.
Of course they also realised they need for a nice TCP/IP stack etc. Not jumping on the Internet bandwagon would have flushed a lot down the toilet.
So in fact IBM have themselvs been moving their S/390 environments towards absorbing some aspects of *nix, so I can't really see people putting Linux on the 'bare metal' instead of making use of the inbuilt Unix services.
Of course you might be trying to avoid hefty licensing fees (and who could blame you!), but I can't really see an advantage to using an S/390 in this way.
But hey! You can't deny putting Linux on a beasty mainframe wouldn't be cool....be the first on your block to own one!
Really? You've seen the source for the 390 OS and all other IBM OSes, and you don't see ANYTHING in common?
It's a little hard to believe.
It does come down to a matter of faith, but I find it easier to accept that like the hardware which is in continual evolution, each machine building on the ideas of the previous, that the OS itself is based on previous versions.
While I've had some headaches fighting with SNA, and I'll be the first to admit I don't know everything about it, I'm led to believe that SNA offers a lot of QOS features missing from IP.
--