On 03/21/2016 12:58 PM, Dave Howorth wrote:
[ Big Snip ]
and one of the first components to be built, before the operating system (UNICS) was completed, was the notion of process. Ritchie may explain what you're talking about when he says the machine was not multiprogrammed, meaning that it swapped out one program before swapping in and running another. But it was multitasking in that multiple programs could be executing, with all but one waiting for the CPU.
I fully agree that Linux today is very different to UNIX in the 70s but that's mainly in terms of hardware capabilities (capacities and speeds) and software developments to exploit those capabilities.
I think that there's more to it than that. One of the things about K&R UNIX was that it was small in scale. The emphasised that the small tables such as the list of processes, list of inodes, list of open files and more, all worked with a simple linear search because they weren't big enough to warrant anything more. But then UNIX hit Berkeley and all of a sudden the machine had thousands of accounts, so just doing 'ls -l' took a couple of minutes. A new algorithm for the password file was needed. So many of the fundamental were not scalable. Another thing that came out of Berkeley was "select()" Before than all IO was blocking. That led to the development of the concept that a process has no limits any longer on the number of files it could open and watch.
The big attraction of UNIX initially was that it could run multiple processes,
So could many other machines and operating systems. The thing about UNIX was that it could do it with very few resources.
Plus it came with oodles of software.
That too, but it also broke away from the monolithic model of one program that did it all, which rapidly led 'pipes and filters', which was quite revolutionary, as it meant there was scripting power of a very different order from the "Job Execution Language" of the mainframes.
Maybe I missed the point. UNIX was a real operating system; DOS wasn't.
Many weren't. I was taught and still believe that a real OS is a resource manager. That means it must also do access control! There were no shortage of 'toys' that allowed multi-programming and did job scheduling. Heck, I wrote some myself, even in FORTH! We now see Linux doing real OS things with CGROUPS. Real resource management!
Even UNICS was multiprocessing, wasn't it?
Do you mean MULTICS?
No, MULTICS was clearly multi-user, multi-tasking, multi-processing and earlier. UNICS was the precursor to UNIX. Ritchie says it had exactly two processes - one for each terminal - so that may be what you're thinking of.
Maybe. All I wrote was from memory, and that, what, 40 years ago. I should have used google a bit :-) The use I made of V5 was just for part of a course and that was an option and I got credit for the taking option and any notes I made are long gone. Only a couple of texts from my university days made it across the Atlantic with me an they haven't been opened in decades. I ought to sell them. Come to that, neither have my Tannenbaums or Stevens or a pike of books on languages like Smalltalk. -- A: Yes. > Q: Are you sure? >> A: Because it reverses the logical flow of conversation. >>> Q: Why is top posting frowned upon? -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse+owner@opensuse.org