Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!seismo!lll-lcc!ames!ucbcad!ucbvax!jade!eris!mwm From: mwm@eris.BERKELEY.EDU (Mike Meyer) Newsgroups: comp.sys.amiga,comp.sys.mac,comp.sys.m68k,comp.sys.misc Subject: What is an OS? Message-ID: <2331@jade.BERKELEY.EDU> Date: Sat, 24-Jan-87 02:39:56 EST Article-I.D.: jade.2331 Posted: Sat Jan 24 02:39:56 1987 Date-Received: Sat, 24-Jan-87 13:53:32 EST References: <8520@topaz.RUTGERS.EDU> <1270@cbmvax.cbmvax.cbm.UUCP> <5240@ism780c.UUCP> <2312@jade.BERKELEY.EDU> <5283@ism780c.UUCP> Sender: usenet@jade.BERKELEY.EDU Reply-To: mwm@eris.BERKELEY.EDU (Mike Meyer) Organization: Missionaria Phonibalonica Lines: 48 Xref: mnetor comp.sys.amiga:1680 comp.sys.mac:962 comp.sys.m68k:161 comp.sys.misc:252 In article <5283@ism780c.UUCP> tim@ism780c.UUCP (Tim Smith) writes: >If someone can come up with a good definition of "operating system", >then it would be possible to decide which computers have them. One >OS textbook I saw defined an operating system as the software that >takes control when a user program makes an error, but that definition >seems kind of worthless. >-- >Tim Smith USENET: sdcrdcf!ism780c!tim Compuserve: 72257,3706 > Delphi or GEnie: mnementh I answered Tim's questions about AmigaDOS by mail. I suggest that others move MCIBTYC discussions to private mail also. Meanwhile, I wanna talk about what an operating system is. The definition I've been using for the past few years is simple: An operating system allocates and protects the resources of the computer. If it doesn't do at least those two things, then it hardly qualifies as an OS. On the other hand, anything and everything outside of that can theoretically be handled by user code. That's now the default for command processors, even though they used to be hardwired into the OS. File servers are moving into user space now, and I expect user-space file servers to become as standard as user-space command processors. The program loader type "operating systems"s don't really qualify; they take a program and say: "Here, do what you want with the whole machine." Unix is at the other end of the spectrum, and you have to ask it for EVERYTHING. Memory, access to disk space, whatever. AmigaDOS is somewhere in between, as it doesn't protect things, but does try to allocate them (your program is considered buggy if you don't tell the OS everything you're playing with). [Oh, yeah - just for AmigaDOS bashers: notice that Tripos has full memory and device protection in its original environment. I expect it got lost on the original port to the 68K, not in the port to the Amiga.] Ok, so I defined a spectrum that takes you from non-OS's (like CP/M) to "real" OS/s (like Unix (cough, cough)). Where does *your* operating system fit? And be sure to include "protecting and allocating" the CPU as part of that. Single-tasking systems just give the CPU to a program until they're through. Multitasking systems treat it as just another serially reusable resource, and try and schedule things so that everybody get some (with multi-processor boxes - like my current monkey - this is even more so). Waxing sillyphosical,