Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!sdd.hp.com!spool.mu.edu!news.cs.indiana.edu!ariel.unm.edu!sfreed From: sfreed@ariel.unm.edu (Steven Freed CIRT) Newsgroups: comp.os.minix Subject: Re: Arrrrghhh... Who needs an operating system anyway!!!!! Message-ID: <1991Jun28.234046.6696@ariel.unm.edu> Date: 28 Jun 91 23:40:46 GMT References: <1991Jun28.134614.11869@ohm.york.ac.uk> Reply-To: sfreed@ariel.unm.edu Organization: University of New Mexico, Albuquerque NM Lines: 35 Originator: sfreed@rigel.unm.edu In article <1991Jun28.134614.11869@ohm.york.ac.uk>, u8acb@ohm.york.ac.uk (+Alex Barclay) writes: > into libc.a. Why bother to have an operating system in the first place if > you are going to allow users to access the hardware????? > I always worked to a very simple rule when deciding if a routine belonged > in the kernel or elsewhere. I ask myself "Does it access hardware?" If the > answer is yes then it goes in the kernel... NO EXCEPTIONS. If the answer is > no then it's a toss up as to wether it belongs in a user process (daemon) > or in a system task. Like mm and fs in minix. It's a good thing for you that Minix isn't based on the Mach philosopy. The Mach kerel is made to be as small and as fast as possible. One way this has been done is to take everything possible out of the kernel. This actually can be a very good thing. It allows the common user to write his own device drivers and even file systems. And it makes debugging such things much easier. You can make changes in the device drivers without having to recompile the kernel. In fact, it is then possible to load new device drivers without have to reboot the machine. As far as file systems go, most are written to be generic, to perform reasonably well in most circumstances. If you have direct access to the hardware, then a section of the disk can be set aside for you and you can then design your own filesystem that is tuned for your specific application. Since, among other things, Minix is a teaching tool, it would be neat if the users could have this level of control. Imagine the assignment: Go design and implement a file system for........ -- Steve. sfreed@ariel.unm.edu