I’d love to see someone summarize some of the whys and wherefore’s of NOS.
We used it in college, but fact was we basically just mimic’d what folks told us to type in to get things done rather than so much understand why were doing it and what was actually happening.
For example, pretty much every program I ever worked on was just a single file exercise, both Fortran and Pascal (and a little BASIC). But, there was no linking step as we’re used to today. You ran the compiler, it created a file named “LGO” (which folklore said stood for “Load and Go”). You type LGO, and, shazam, your program worked.
But the idea of linking programs was never even brought up at a conceptual level. Not by the teachers, not by the crazy hacker kids I hung out with etc. (One group wrote a CPU simulator for the machine – and used to run all sorts of code that they normally weren’t able to execute. Found a host of holes and gaps in the system they could exploit.)
Another thing we had were DIRECT, or DIRECT ACCESS (I forget) files that were loaded in to your environment with the ATTACH command. Typically these were PROC files (basically JCL scripts). Folks shared utility libraries like this. But the concept itself, ATTACHing, DIRECT ACCESS, was never really explained – we just did it.
It was great working on this machine. Going form a Commodore PET to a CDC mainframe is a very mind expanding experience. I always felt students, later on, that went from whatever home computer they may have played with at home or school just to learn on the new PCs running DOS in the labs missed out on a lot of secondary, indirect education that you get working on a large multi-user platform that’s completely foreign is some aspects, but much of the same in others.