Slashdot Mirror


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 ;)

2 of 113 comments (clear)

  1. Totally cross-platform operating system? by The+Dodger · · Score: 5

    If IBM keep this up, they'll be able to offer their customers the same operating environment on any IBM hardware, from PCs to mainframes. This is a smart move on IBM's part, because they are breathing new life into old hardware - customers who might have been considering binning their old IBM mainframes in favour of HP or Sun will now reconsider. They're also going to be giving Internet companies a reason to look at IBM hardware which, after all, has a reputation for being extremely reliable and has a good track record in the financial sector.

    I wonder if they're considering the possibility that they might end up dropping AIX eventually, in favour of Linux.

    The big question, of course, is whether other hardware vendors like HP, Sun, etc. will follow suit. If they do, we could end up seeing hardware companies competing, using Linux as the playing field.

    D.

  2. Re:Bare metal Linux? I'll believe it when I see it by jms · · Score: 5

    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.

    Writing software that runs on the bare iron isn't a "mysterious" process ... 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?

    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 ... At the time, all VM/CMS had was a flat filesystem with 8.8 character filenames. Ouch!

    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 ... 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.

    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 ... 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 ...

    7) Paging differences ... 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 ...

    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.