Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.2 9/18/84; site ucla-cs.ARPA Path: utzoo!watmath!clyde!burl!ulysses!bellcore!decvax!ittatc!dcdwest!sdcsvax!sdcrdcf!ucla-cs!cc1 From: cc1@ucla-cs.UUCP Newsgroups: net.micro.amiga Subject: Re: Amiga OS Message-ID: <8515@ucla-cs.ARPA> Date: Fri, 24-Jan-86 18:07:33 EST Article-I.D.: ucla-cs.8515 Posted: Fri Jan 24 18:07:33 1986 Date-Received: Sun, 26-Jan-86 05:37:10 EST References: <1063@caip.RUTGERS.EDU> <8513@ucla-cs.ARPA> Reply-To: occ4mgk@oac.ucla.edu.ARPA, cc1@ucla-cs.UUCP (Michael Gersten) Organization: Ucla Computer Club (disclaimer) Lines: 73 Ok, its time we asked one question: What are the goals of an OS? Definition: Operating system: An OS is a collection of routines designed to make use of a computer's resources. corralary: An excellent operating system is one that makes excellent use of a system's rescorces. If a system has the hardware for multi-taksing, the system should be able to multi-task. The amiga operating system. This is 256K of kickstart, plus 100K of used RAM. Thats over 300K (And we complained that Atari was 200K?). The operating system's job is to manage the computer's resorces. In particular, all programs should be forced to use the operating system. That means that the operating system must be able to use all the hardware's features. So, if I add new hardware, I need to be able to change the operating system (this is the ideal case, not the amiga specific case). In a multitasking system, no one process should be able to destroy another process. Given that the amiga has no write-protection, this is hard :-). But the operating system should not make it easy for a program. Now then, are there any flames yet? Some might not like that an o/s will let you do anything, but it is a must at some point, even if it is an ioctl() call that only root can do. GIVEN: The amiga's operating system does not check its input for accuracy The amiga's operating system kills all processes (reboots) when one process blows it The amiga's operating system does not allow full access to the system's hardware (ex: The hardware includes a disk controller which can do things like writing tracks (FORMATTING) reading tracks, reading sector id's, reading single sectors, etc. All a user can do is read/write sectors a track at a time) (If I'm wrong, my appologies, but this is the impression I got from the net; I have yet to see any real docs on this particular example) CONCLUSION: The amiga's operating system is not ideal The amiga's operating system is not sutable for use in a hostile environment The amiga's operating system is not usable unless your programs are perfect. Note that by putting another layer between the o/s and the user program, input checking can be done. Since this would probably require knowledge of o/s specific data structures, this should be part of the o/s. Now for the opinions... Now, what the blazes is an o/s designed for an obsolete machine with an obsolete language and an obsolete interface standard (programs make sure the args are correct) doing on a very much NON-obsolete peice of hardware? A well thought out interface should be language independent. C or BCPL should make no difference. A well thought out interface should be orthogonal. If you draw on the screen by saying 'wp=openwindow(); draw(wp, circle, x,y,r); close(wp);', then you should be able to put a circle on the printer by saying 'wp=openprinter(); draw(wp, circle, x,y,r); close(wp)'. Now, if you make a routine open() which checks the arg given and calls openwindow or openprinter, the same code works for both. This is called device independence; the output is independent of device used. Michael Gersten Disclaimer: The opionions here are not those of the computer club nor Ucla. They may not even be correct.