[comp.arch] Operating Systems

peter@ficc.uu.net (Peter da Silva) (11/14/88)

In article <1216@dutesta.UUCP>, alfred@dutesta.UUCP (Herman Adriani & Alfred Kayser) writes:
> Peter da Silva complained about Archimedes not having an OS. I would say
> Archimedes has an OS but doesn't look like unix.

No, it really doesn't have an operating system. It has what's called a DOS:
a Disk Operating System. The man distinction between the two is that a DOS
really only manages one resource: the disk. It provides minimal memory and
device management, but no CPU manager (scheduler). I understand the newer
versons of the system have a scheduler kludged into the window system (rather
like certain other personal micros).

> If you (Peter) still want to have a UNIX-clone be patient 4.3BSD unix was
> anounced.

God forbid... how many megabytes will that take? My Amiga does useful real-time
multitasking with multiple real applications in only 512K. UNIX is not the 
only real O/S out there.
-- 
Peter da Silva  `-_-'  Ferranti International Controls Corporation
"Have you hugged  U  your wolf today?"     uunet.uu.net!ficc!peter
Disclaimer: My typos are my own damn business.   peter@ficc.uu.net

rcst8@eutrc3.UUCP (Pieter Schoenmakers) (11/16/88)

In article <2212@ficc.uu.net> Peter da Silva writes: [about Archimedes]
>
>No, it really doesn't have an operating system. It has what's called a DOS:
>a Disk Operating System. The man distinction between the two is that a DOS
>really only manages one resource: the disk. It provides minimal memory and
>device management, but no CPU manager (scheduler). I understand the newer
>versons of the system have a scheduler kludged into the window system (rather
>like certain other personal micros).
>

( I know this usegroup is not the right place to discuss Archimedes, but -alas-
  I'll cross the line. )

You're wrong! If you want to see an example of a DOS, look at MS-DOS. It
manages the disks and does some screen (and other) IO, but the latter is so
``good'' that almost all programs choose to do all the rest of the IO
themselves. Conclusion MS-DOS isn't nice.
   The Archimedes' OS (called Arthur) provides __EVERYTHING__ what could
be expected from an OS __without multitasking__. It does provide the device-
and memory-management you apparently want. You're saying that a computer
without multitasking doesn't have an OS! That's nonsense.

greetings,

---Tiggr

peter@ficc.uu.net (Peter da Silva) (11/18/88)

In article <372@eutrc3.UUCP>, rcst8@eutrc3.UUCP (Pieter Schoenmakers) writes:
> You're saying that a computer
> without multitasking doesn't have an OS! That's nonsense.

That's more or less what I'm saying. If I might be so bold as to quote from
one of my heroes, Douglas Comer, in _Operating_System_Design,_the_Xinu
Approach_:

	"Although Xinu is small enough to fit in the text, it includes
	 all the components that constitute an ordinary operating system:
	 memory management, process management, process co-ordination and
	 synchronisation, interprocess communication, real-time clock
	 management, device drivers, intermachine communication (networks),
	 and a file system."

Later on in the book he goes into a great deal of depth as to what an
operating system is, or is not. I recommend this book highly.

From your description, what the Archimedes has is a file system, device
drivers, and an excellent standard graphics library. Much like the Apple
Macintosh...
-- 
Peter da Silva  `-_-'  Ferranti International Controls Corporation
"Have you hugged  U  your wolf today?"     uunet.uu.net!ficc!peter
Disclaimer: My typos are my own damn business.   peter@ficc.uu.net

davidsen@steinmetz.ge.com (William E. Davidsen Jr) (11/20/88)

  Everyone has their own "required" set of features to differentiate a
DOS from a real operating system. Mine certainly includes the concept of
file ownership and protection. To do that you have to be able to have
memory and i/o control of some sort, to prevent direct physical i/o.

  Everyone seems to agree the MS-DOS and CP/M are filesystems only, and
that UNIX and VMS are real o/s', it's the things in between which are
grey areas.

  Obviously there will be people who disagree with me, too.
-- 
	bill davidsen		(wedu@ge-crd.arpa)
  {uunet | philabs}!steinmetz!crdos1!davidsen
"Stupidity, like virtue, is its own reward" -me

elg@killer.DALLAS.TX.US (Eric Green) (11/22/88)

in article <12633@steinmetz.ge.com>, davidsen@steinmetz.ge.com (William E. Davidsen Jr) says:
>   Everyone has their own "required" set of features to differentiate a
> DOS from a real operating system. Mine certainly includes the concept of
> file ownership and protection. To do that you have to be able to have
> memory and i/o control of some sort, to prevent direct physical i/o.

File ownership and protection are obviously important for multi-user
systems. But I thought we were moving into the era of "one person, one
or more CPUs".... why do I need the overhead of file ownership on my
personal system? 

On the other hand, we're also moving into the era of networking and
ISDN... if we implement a full-fledged network, where any machine is
capable of connecting to any other machine (as vs. limited systems
where the "leafs" can only access a "server"), I see what you mean.

>   Everyone seems to agree the MS-DOS and CP/M are filesystems only, and
> that UNIX and VMS are real o/s', it's the things in between which are
> grey areas.

True. Minix doesn't qualify as a "real OS" by your standard, though...
considering that it implements most of the V7 kernel, that seems a
bit, uhm, over-restrictive (the "toyness" of Minix relates more to the
toy Intel processor it runs on, not the OS itself).

--
Eric Lee Green    ..!{ames,decwrl,mit-eddie,osu-cis}!killer!elg
          Snail Mail P.O. Box 92191 Lafayette, LA 70509              

davidsen@steinmetz.ge.com (William E. Davidsen Jr) (11/23/88)

In article <6191@killer.DALLAS.TX.US> elg@killer.DALLAS.TX.US (Eric Green) writes:

| On the other hand, we're also moving into the era of networking and
| ISDN... if we implement a full-fledged network, where any machine is
| capable of connecting to any other machine (as vs. limited systems
| where the "leafs" can only access a "server"), I see what you mean.

  I have gotten a bit of mail on this, and I would like to clarify that
I am not claiming that systems such as MS-DOS and CP/M are not useful,
just that they are not general purpose operating systems. As the size of
disks gets larger, having the o/s protect the files against an errant
program becomes more important to the user. It's nice to have read only
files which are really read only, because they're owned by someone else
and a program running as you can't cause too much trouble.

  One of the real shortcomings in many operating systems is the lack of
"append" permission, or lack of enforcement of it. There are many cases
in which a program should log its execution, but in many environments
there is no way to insure that the file is not modified. I wrote a
little error logging daemon which read stuff from a pipe, just to get by
this limitation in UNIX. I don't see a similar way to allow anyone to
add a file to a directory but not delete files.
-- 
	bill davidsen		(wedu@ge-crd.arpa)
  {uunet | philabs}!steinmetz!crdos1!davidsen
"Stupidity, like virtue, is its own reward" -me

rcst8@eutrc3.UUCP (Pieter Schoenmakers) (11/24/88)

In article <2254@ficc.uu.net> Peter da Silva writes:

>In article <372@eutrc3.UUCP>, rcst8@eutrc3.UUCP (Pieter Schoenmakers) writes:
>> You're saying that a computer
>> without multitasking doesn't have an OS! That's nonsense.
>
>That's more or less what I'm saying. If I might be so bold as to quote from
>one of my heroes, Douglas Comer, in _Operating_System_Design,_the_Xinu
>Approach_:
>
>	"Although Xinu is small enough to fit in the text, it includes
>	 all the components that constitute an ordinary operating system:
>	 memory management, process management, process co-ordination and
>	 synchronisation, interprocess communication, real-time clock
>	 management, device drivers, intermachine communication (networks),
>	 and a file system."

Ok. Xinu is Multi-Tasking. Arthur (Archimedes' OS) is Single-Tasking. If you
strip all the Multi-Tasking stuff from the description above, you get:

         Memory Management, RTC Management, Device Drivers, Networks
         and (numerous!) FileSystems.

Well, every thing of this list is present in Arthur.
If it interests you: In April a new version of Arthur will be released. The
name will change too: RISC OS. This OS employs cooperative multitasking
AND all the features you want :-)

greetings,
---Tiggr

peter@ficc.uu.net (Peter da Silva) (11/29/88)

In article <12633@steinmetz.ge.com>, davidsen@steinmetz.ge.com (William E. Davidsen Jr) writes:
>   Everyone has their own "required" set of features to differentiate a
> DOS from a real operating system. Mine certainly includes the concept of
> file ownership and protection. To do that you have to be able to have
> memory and i/o control of some sort, to prevent direct physical i/o.

This limits the set of hardware a "real O/S" can run on, of course. For
machines in the price range we're talking about this is out of the question.
On the other hand a multitasking O/S without multiuser protection can
run just fine in a 48K machine (OS/9 on the Radio Shack Color Computer,
for example).
-- 
Peter da Silva  `-_-'  Ferranti International Controls Corporation
"Have you hugged  U  your wolf today?"     uunet.uu.net!ficc!peter
Disclaimer: My typos are my own damn business.   peter@ficc.uu.net

peter@ficc.uu.net (Peter da Silva) (11/29/88)

In article <379@eutrc3.UUCP>, rcst8@eutrc3.UUCP (Pieter Schoenmakers) writes:
> Ok. Xinu is Multi-Tasking. Arthur (Archimedes' OS) is Single-Tasking. If you
> strip all the Multi-Tasking stuff from the description above, you get:

The quote didn't say "...all the components of a modern multi-tasking operating
system...", it said "...all the components of a modern operating system...".
I'm taking it at face value... without a scheduler you've just got a file
system/program loader and a subroutine library.

> If it interests you: In April a new version of Arthur will be released. The
> name will change too: RISC OS. This OS employs cooperative multitasking
> AND all the features you want :-)

I've been keeping up on it. The multitasking will be implemented through
the windowing system, just like Apple's "Multifinder". This is a huge
kludge not worth me wasting my time on... whether it's running on a 68020
or an Acorn Risc Machine.
-- 
Peter da Silva  `-_-'  Ferranti International Controls Corporation
"Have you hugged  U  your wolf today?"     uunet.uu.net!ficc!peter
Disclaimer: My typos are my own damn business.   peter@ficc.uu.net

prc@ERBE.SE (Robert Claeson) (11/30/88)

In article <12655@steinmetz.ge.com>, davidsen@steinmetz.ge.com (William E. Davidsen Jr) writes:

>   One of the real shortcomings in many operating systems is the lack of
> "append" permission, or lack of enforcement of it. There are many cases
> in which a program should log its execution, but in many environments
> there is no way to insure that the file is not modified. I wrote a
> little error logging daemon which read stuff from a pipe, just to get by
> this limitation in UNIX. I don't see a similar way to allow anyone to
> add a file to a directory but not delete files.

Maybe all permissions should be set on the object (ie, file system entry)
it protects, so that a file has read, write, execute, delete, and append
permissions, rather than giving delete permissions for files at the
directory level (write)? Yes, this sounds much like VMS, Multics, etc,
but those OS'es has their good spots...
-- 
Robert Claeson
ERBE DATA AB
rclaeson@ERBE.SE

davidsen@steinmetz.ge.com (William E. Davidsen Jr) (12/07/88)

  I once did an o/s design as a consultant (which was never implemented)
and one of the things in it was the concept of a "per file" permissions
manager. If there was no permissions manager access worked a lot like
UNIX, but with a permissions manager when an access was made the info
was passed to the appropriate entry in the permissions manager. The
entries were (not original here) open, close, read, write, seek, and
tell.

  For example, if you wanted access control lists, you could write a
permissions manager which checked some ACL before allowing access to a
file. How to do it? If you like a header on the file you can do it, just
offset all accesses. Do you like a shadow file giving the ACL? You could
do that, too.

  I intended that anyone could have any kind of access control scheme
desired, with anything layered over it, even the 29 flavors of file from
VMS. After the design was pretty well along it because obvious that the
project was too big to continue, and was dropped.
-- 
	bill davidsen		(wedu@ge-crd.arpa)
  {uunet | philabs}!steinmetz!crdos1!davidsen
"Stupidity, like virtue, is its own reward" -me