From: antispam@fricas.org   
      
   Dan Cross wrote:   
   > In article <87o6ybbeqw.fsf@example.com>,   
   > Salvador Mirzo wrote:   
   >>scott@slp53.sl.home (Scott Lurndal) writes:   
   >>   
   >>> "Paul Edwards" writes:   
   >>>>Sure - but why not make it available anyway?   
   >>>   
   >>> MS-DOS is, was, and always will be a toy. It's not even   
   >>> a real operating system.   
   >>   
   >>And why is that? Is it mainly because it doesn't time-share the CPU?   
   >   
   > It depends on your definition of an operating system, I suppose.   
   > I like the definition Mothy Roscoe (ETH) used in his OSDI'21   
   > keynote:   
   >   
   > The operating system is that body of software that:   
   > 1. Multiplexes the machine's hardware resources   
   > 2. Abstracts the hardware platform   
   > 3. Protects software princples from each other   
   > (using the hardare)   
      
   This is oversimplified definition, any definition of similar   
   length will be oversimplified. But let us see how this   
   works.   
      
   > It's hard to see how MS-DOS fits that definition in a meaningful   
   > way. Does it multiplex the machine's hardware resources? Well,   
   > no; not really.   
      
   Well, it does. Origin of name "operationg system" comes from   
   automating part of work of machine operator. In particular,   
   operatining system loads a program and when program is done   
   operatining system regains control, decides what to run next   
   and loads it. Operating system may load multiple programs   
   at the same time and multiplex between them. But loading   
   programs seqentially still is form of multiplexing. If   
   you amend definition above excluding such form of multiplexing,   
   then you get rather narrow definition which exculdes a lot   
   of historical and even current operatining systems.   
      
   Also, you seem to ignore a file system. For definition   
   above to make any sense multipling machine hardware   
   resources must include mutiplexing (coordinating) access   
   to external storage which is (part of) function of file system.   
      
   > While it does provide a primitive filesystem,   
   > and exposes some interface for memory management, it only lets   
   > one program run at a time, and that program doesn't have to use   
   > or honor DOS's filesystem or memory management stuff. Further,   
   > the system interface is inexorably tied to the hardware; it's   
   > defined in terms of synchronous software traps and specific   
   > register values. System calls are numbered, not named.   
      
   System calls are numbered in almost all operating systems.   
   Names are in documentation and/or as part of programming   
   language support, but actual interface is in terms of numbers.   
   Clearly system call mechanizm is has strong connection to   
   hardware and freqently defined in terms of instructions like   
   SVC.   
      
   > Finally, the last one is really the nail in the coffin: MS-DOS   
   > makes absolutely no effort to protect the software principles   
   > from each other, or even themselves; a user program can take   
   > over and just never cede control back to DOS.   
      
   Well, DOS is close to best possible protection given the   
   hardware. In modern times hardware protection gained   
   importance, but putting hardware protection as mandatory   
   part of operating system definition distorts history   
   quite a lot.   
      
   There is a lot of valid critique of DOS, but saying that it is   
   not an OS is just silly game of words. You can pile adjectives   
   on OS, like "multitasking OS", "proteded OS" (or better   
   "OS using hardware protection") and DOS will be outside such   
   restricted classes of OS-es. But is clearly an OS.   
      
   --   
    Waldek Hebisch   
      
   --- SoupGate-Win32 v1.05   
    * Origin: you cannot sedate... all the things you hate (1:229/2)   
|