Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

System z is IBM's mainframe architecture (the hardware).

z/OS is the flagship operating system. It is at its heart a batch-oriented system, but it does have a Unix subsystem (called USS for "Unix System Services", formerly known as MVS OpenEdition or OMVS) that is in fact certified against a rather old version of the Single Unix Specification.

So in a way, z/OS is in fact a Unix system, but that is kind of like saying that Windows is a Unix due to Cygwin or Microsoft's Services for Unix. Mostly, it is very non-Unix-like.

Interestingly, IBM also offers a number of other operating systems for System z, including VM (although that system apparently does little but host virtual machines), TPF (a "real-time" transaction processing system) and zVSE (formerly known as DOS/360, another, smaller batch-oriented system). And, of course, Linux is available from a number of distributions. Oh, and just for good measure, Open Solaris was ported to run inside VM, although I am not sure what became of that or if anyone is actually using it.



What is using it like? Command line? Would it be familiar-ish to someone with Unix / DOS experience or totally foreign?


All command line, and totally foreign on a level that makes switching from Windows to Linux look trivial by comparison.

(which coincidentally, is why I want to explore it)

Here's the official IBM "for dummies" book: https://www.redbooks.ibm.com/redbooks/pdfs/sg246366.pdf


It uses the 3270 terminal (xterm has a 3270 mode I've used), interface is predominantly 'ispf', it's essentially menu driven; you can browse/search the filesystem, edit files, submit jobs (everything is a job ie jcl ie job control language; compile, run programs etc) browse job spools (stdout from a job).

Google will show you images of ispf, browsing the jcl manuals will give you nightmares.


My first job was writing JCL decks - it's not that bad.


It is not terrifying per se, just ... very different.

I have only had brief contact with JCL, but I remember having to figure out how to get a command line into JCL that was more than 80 characters in length. It took me two days to figure that out, and none of the old-timers in the team had ever had to do that. When I did find the solution, it was surprisingly simple, but finding it took me a lot of time.


Wait, is it a UNIX system or have a UNIX subsystem? Those are different. I know it has the subsystem. I'm trying to recall when someone said it was a UNIX. Stuff I read on it is more MVS than UNIX. Example with some data:

https://en.wikipedia.org/wiki/Z/OS


It has a Unix subsystem. It is a lineal descendant of OSes which predate Unix by quite a bit, and has grown by accretion since then.

It's POSIX certified. Linux isn't. That should tell people quite a bit about POSIX, but it never seems to...


POSIX isn't actually about operating systems. POSIX (1003.1) is about source-level compatibility for 2 languages: C99 and shell scripts.

If your C programs use only C99+POSIX facilities, and your shell programs use only POSIX features and utilities, and they work on a platform, then that platform is eligible to be POSIX certified. POSIX doesn't care about the kernel or syscalls or anything like that. It cares about libc, libm, libl, and a couple of file paths.


Actually to a certain extent, I think one could call POSIX the actual C runtime library.

As C runtime + POSIX calls (I know it didn't exist back then) is what defined C when it was still UNIX only, but ANSI didn't want to make the language standard that big.


Linux is just the kernel. Distributions should certify. And I do not see anyone going fot it. There is at least one distribution posix certified: Inspur K-UX.

The equivalence in linux land should be LSB, which many distributions certify to.


Lol at the last line. No doubt.


OMVS mapped a hierarchical filesystem onto the dataset based mainframe filesystem. It's one hell of a kludge, imo. It's kind of like how cygwin attempts to emulate stuff windows doesn't have, like fork. Mainframe has the concept of a started task, which is kinda similar, but not quite




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

Search: