News for hackers. Stuff that matters.
Re:IBM ported Go to s390x mainframes by pjmlp on Monday January 11, 2016 @02:26PM (#10882605)
Another one I like very much is how OS/400 works.

Written originally in PL/I and Assembly, it contains a kernel level JIT.

All user space applications target a general purpose abstract Assembly and they are AOT to native either at installation time or on-demand.

Other mainframes had similar approaches to code portability.

Sounds familiar?

Another cool thing are the catalog based filesystem and OO Assembly.

Re:IBM ported Go to s390x mainframes by nickpsecurity on Monday January 11, 2016 @03:35PM (#10883279)
The JIT scheme worked well for future-proofing for decades. That means it's an approach others should consider emulating if they're not yet. Only thing I couldn't figure out, due to IBM terminology, is if the compiled output is actual microcode or just CPU instructions. Or if they both create a optimized, microcode implementation and a JIT to move things to it.

Integrating DB-like functionality into the system was ahead of time. The original, System/38, had capability security in the hardware enforcing an object-based view of memory with permissible operations on different types of objects: processes, I/O, arrays, stacks, and so on. The security implications of that means I'd recommend one to a business in a heartbeat if they hadn't ditched that for POWER.

https://homes.cs.washington.edu/~levy/capabook/Chapter8.pdf

All in all, System/38 was a very, forward-thinking and practical design that continues to prove itself year after year. If it doesn't exist, I'd like to see a Lesson's Learned report on that project and how the team decided what would be in it.

Re:IBM ported Go to s390x mainframes by StillBored on Monday January 11, 2016 @05:38PM (#10884131)
OS/400 doesn't run on s390/zenterprise. It runs on pSeries (POWER8), which also run AIX and Linux.

OS/400/IBM i (or whatever its called this week) is actually probably one of the cooler OS's still around. It should be mandatory study in any comp sci/comp eng OS classes, but sadly its not and because of that, a lot of wheels are being reinvented.

Re:IBM ported Go to s390x mainframes by cbd1984 on Monday January 11, 2016 @04:05PM (#10883529)
> Sounds familiar?

Java JIT doesn't write machine code to disk. OS/400 does, and then it re-uses the machine code until it no longer exists (you move to new hardware) or the bytecode is newer (you change the program and recompile), at which point it compiles the bytecode to machine code and stores it to disk again.

Re:IBM ported Go to s390x mainframes by pjmlp on Monday January 11, 2016 @05:28PM (#10884087)
Actually it does.

You just need to look to the correct JVM. Apparently people keep forgetting Java is like C and C++. There are plenty options to choose from and OpenJDK only plays the role of reference implementation.

If I am not mistaken IBM J9 is one of those JVMs.

Re:IBM ported Go to s390x mainframes by vram22 on Monday January 11, 2016 @03:37PM (#10883298)
Kernel level JIT? Didn't know, sounds cool.

>Sounds familiar?

I suppose you mean like Java and Python bytecode running on their VMs (of the language, not OS kind).

I've sometimes thought, as well as heard others say, that some of the tech advancements of earlier decades haven't been "re-invented" :) yet ...

Re:IBM ported Go to s390x mainframes by pjmlp on Monday January 11, 2016 @05:35PM (#10884120)
Actually I was thinking more about some Oberon versions that used a JIT, the way .NET is integrated into Windows, specially on the mobile since version 7.

Also the way Java gets used on Android and other embedded platforms.

Or the new deployment model for iDevices.

Re:IBM ported Go to s390x mainframes by vram22 on Tuesday January 12, 2016 @11:24AM (#10888274)
Ah, Oberon. Don't know much about it. But do somewhat remember an interesting feature of it from a BYTE or other computer mag article: You could write a subroutine once and then have it available in the whole operating system - something like that. My description might not be right but I remember thinking the feature was powerful at the time.
Re:IBM ported Go to s390x mainframes by pjmlp on Tuesday January 12, 2016 @01:56PM (#10889510)
Yes, that is correct.

But the original idea was from Mesa/Cedar at Xerox PARC.

Re:IBM ported Go to s390x mainframes by vram22 on Monday January 18, 2016 @08:52AM (#10924341)
Didn't know, thanks. Also saw that you just posted a link to an article about Mesa on HN. Viewed it briefly. It says the Alto file system was written in "BPCL". Should that BCPL, a precursor of C? Had read a book it, by Martin Richards, IIRC, long ago. Good read. I think it had only one type - machine words. Fun to implement higher level stuff on such a base, though tedious by today's HLL standards.
Re:IBM ported Go to s390x mainframes by vram22 on Monday January 18, 2016 @10:24AM (#10924855)
Just checked out Martin Richards' web site:

http://www.cl.cam.ac.uk/~mr10/

(Richards invented BCPL.)

He has an interpreter for BCPL. The page says:

BCPL, an interpretive implementation of the BCPL language and system, including many demonstration programs. Click on BCPL.html to obtain a copy of the current version. This version can be installed easily on most machines running Linux, Windows and MAC OSX. In particular, it is easy to install this version on the Raspberry Pi machine. See the Young Person's Guide to BCPL Programming on the Raspberry Pi (bcpl4raspi.pdf) for details.

His Wikipedia page:

https://en.wikipedia.org/wiki/Martin_Richards_(computer_scie...

says:

He was awarded the IEEE Computer Society's Computer Pioneer Award in 2003 for "pioneering system software portability through the programming language BCPL".[9]

Re:IBM ported Go to s390x mainframes by vram22 on Monday January 18, 2016 @10:14AM (#10924810)
https://en.wikipedia.org/wiki/BCPL

C followed B which followed BCPL.

Re:IBM ported Go to s390x mainframes by fowl2 on Monday January 11, 2016 @07:42PM (#10884779)
I think he's refering to things like Apple's "bitcode".

http://lowlevelbits.org/bitcode-demystified/

Re:IBM ported Go to s390x mainframes by praseodym on Tuesday January 12, 2016 @09:02AM (#10887414)
Bitcode isn't JIT (yet); it simply allows Apple to compile binaries targeted at new devices or with newer compilers, without the developer having to do anything.