Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
A Unix System Implementation for System/370 (1984) [pdf] (bell-labs.com)
41 points by rbanffy on Dec 15, 2021 | hide | past | favorite | 17 comments


My parents have worked extensively on a Soviet bug for bug clone of this (with an incomplete sed job of replacing references to ATT UNIX) running on an an EVM/ES 370 (a laboriously built bug for bug clone of the IBM 370.) The whole setup would even play “Yankee Doodle Dandy” when it crashed.

This was my parents first exposure to UNIX: they have used indigenous machines (Minsk series, an early RISC-ish design), as well as PDPs but the PDPs they used did not run any UNIX variant (likely due to lack of MMU or sufficient core.)

Dear lazyweb, has anyone been able to get this going on the Herculus emulator? I am giving my father (if you read this site and know him, please dont disclose) a surface tablet for New Years (per russian custom of giving gifts on secular holidays), would be neat to install this inside Hercules (or other emulator), if needed under WSL2 (which runs on even the cheapest surface.)


Maybe something very similar,

[1] https://en.wikipedia.org/wiki/Amdahl_UTS

[2] https://github.com/moshix/UTS

which runs under

[3] http://vm370.org/

as shown in these two videos:

[4] https://www.youtube.com/watch?v=k56qLxG-sUM

[5] https://www.youtube.com/watch?v=iFUHwkbVTJg

I didn't try it by myself, so far. Though I'm very tempted.

Maybe this could work for you, or rather your father.


Thinking about it, since it will be running under Windows, maybe this would be a nice touch:

[6] https://ollydbg.de/Jason/index.htm


> Dear lazyweb, has anyone been able to get this going on the Herculus emulator?

I don’t think it’d be easy to obtain tape images for installing it or disk images to run it. This was licensed software IBM really dislikes when someone runs it without a license. It also wasn’t that popular back in the day.


interesting: it did appear pretty popular behind the iron curtain (as did e.g., PL/I, home-PC sized PDP11s, and other seemingly well designed but less commercially successful western technologies.)



It's not AIX/370 though.

You can get a modern Unix running under Hercules pretending to be a more modern mainframe if you want it though. Red Hat, SUSE and Canonical have versions for it, as well as FreeBSD and NetBSD, although I don't think there is anyone using those two seriously.


See my blog about a much earlier port, which became an Amdahl product. Amdahl's computers were IBM 370 "clones". https://akapugs.blog/2018/05/12/370unixpart1/

You can run Amdahl UTS under the Hercules emulator. See how: https://www.youtube.com/watch?v=k56qLxG-sUM and https://www.youtube.com/watch?v=iFUHwkbVTJg


The implementation discussed here sounds like it runs directly on the metal, or at least as close to the metal as IBM lets you get on those machines. IBM's mainframe OS (MVS then, z/OS now) also includes a different a UNIX implementation called USS (UNIX System Services) - this works in a similar way to the way WSL 1 did, and acts as an emulation layer that allows you to compile and run UNIX software on top of the mainframe OS, and do things like using a mainframe dataset as a mounted filesystem. It even includes an interactive shell implementation that runs on a 3270 terminal.

I briefly worked for a large mainframe software vendor on a port of OpenLDAP that used USS. There's some real funky things going on in the emulation layer; bytes received from TCP sockets are automatically re-encoded from ASCII to EBCDIC before your program sees them, and bytes you send are automatically re-encoded from EBCDIC to ASCII. That made working on network code lots of "fun" since there are a lot of folks that seem to like to hardcode the values for ASCII CR and LF instead of using "\r" and "\n".



A few years later IBM developed another UNIX variation on the RT PC (https://en.wikipedia.org/wiki/IBM_RT_PC). It had a microkernel running on top of a RISC processor, and the microkernel hosted a port of UNIX System V (which IBM called AIX), a port of BSD 4.3, or PICK OS. The RISC processor evolved into the Power series which is still around.


I’m pretty sure the BSD port (AOS) ran on RT bare metal rather than on the microkernel.


This really demonstrates the technical orthogonality between the mainframe and the micro/mini world. A tremendous effort to channel Unix'y behavior all the way to and from the user terminal. At the time I was involved in designing protocol converters which made it possible to send output from an IBM mainframe to a common ASCII printer or plotter. Very demanding to make a smooth interface between two so different environments.


(1984)

As in this was literally published then, not some "literally 1984" meme.


I've actually seen it live. Unix expects teletypes a lot and it was a weird "impedance mismatch" to see it on a 3278.


So you typed the command to a linebuffer, and pressing "Enter" would send it through TTY interface, was that it? I wonder how the prompt looked like.

EDIT: So, yes, that was apparently how it was like as seen here: https://youtu.be/k56qLxG-sUM?t=1172


Yup. IIRC, everything felt paged through `more` and you had to hit PF3 to move to the next page.

It was interesting though that this approach allows the mainframe to work continuously where a more traditional Unix machine would get a hardware interrupt every time any of its users pressed a key.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: