Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!uunet!mcsun!unido!marco!krabat!leo From: leo@krabat.marco.de (Matthias Pfaller) Newsgroups: comp.os.minix Subject: Re: Most requested features in MINIX... Message-ID: <743@krabat.marco.de> Date: 5 Feb 91 08:52:01 GMT References: <43516@nigel.ee.udel.edu> <8930@star.cs.vu.nl> Organization: marco GmbH, 8047 Karlsfeld, West-Germany Lines: 35 In article <8930@star.cs.vu.nl>, ast@cs.vu.nl (Andy Tanenbaum) writes: > >16. Better scheduling algorithms. > It is a single user machine. Round robin should be good enough for that. You should know that this simply is not true; On page 80 of "Operating systems: Design and Implementation" you mention some criteria what a good scheduler should try to achive. For a single user machine I think that at least point 1 and 3 are interesting. 1. Fairness: make sure each process gets its fair shar of the CPU This is NOT true for the current scheduling algorithm of minix. Compute-bound processes have a higher preference then IO-bound processes. This is because if a IO-bound process gives up the CPU to make a call to the fs. Now the CPU-bound process consumes his timeslice complete, even if the systemcall of the IO-bound process has allready finished; So the CPU-bound process gets 99% of the CPU-Time. This makes point 3 impossible: 3. Response time: minimize response time for interactive users. One of the features of minix is Multitasking/programing; So if I compile in the background, I wish to have a acceptable responsetime in the foreground. I have read all the articles about multithreading fs... and I thought: Ok, the bad response time is because all these fs-calls can't be done in parallel. But then I build Kai-Uwe's priority-driven scheduler into my minix 1.5-kernel. From this point of time I never even wasted ONE thought for a multi-threading fs; The responsetime is now acceptable; I can compile in the Background and let an editor running in the foreground; I almost allways get immediate response to key-presses. I think a better scheduling algorithm would be a real winn for minix and 1. It's a real small change to the kernel (only a few lines) 2. You would hear the 'why is fs not multi-threaded ...' much less Matthias Pfaller (leo @ marco.de)