Path: utzoo!attcan!utgpu!utstat!jarvis.csri.toronto.edu!mailrus!tut.cis.ohio-state.edu!ucbvax!ucdavis!iris!auyeung From: auyeung@iris.ucdavis.edu (Tak (UlTech) AuYeung) Newsgroups: comp.sys.amiga.tech Subject: Smooth Operator (for disks) Keywords: disk schedule multi-process optimizer smooth seek Message-ID: <5850@ucdavis.ucdavis.edu> Date: 7 Nov 89 17:37:35 GMT Sender: uucp@ucdavis.ucdavis.edu Reply-To: auyeung@iris.ucdavis.edu (Tak (UlTech) AuYeung) Organization: U.C. Davis - Department of Electrical Engineering and Computer Science Lines: 36 Greetings to all the pros in AmigaLand! I'm not even close to a pro in ALand, and this is why I have to ask for YOUR help! I noticed that disk accesses are mostly delayed by the seek time of the disk head (vs. the actual transfer time), especially in a multitasking environment. Even if you use a disk optimizer, two processes trying to access data on different cylinders will make the disk seeking mechanism very busy. For hard disks owner, this problem may be minute, but for most floppy-only Amigans, the seek operation is noisy, slow and bad for the media (floppy disks). So are there any alternative disk drivers that optimizes seek operations so that the disk head scans through the cylinders in a smoother manner? For example, we can keep a SeekQ sorted by the cylinder number and the driver always pick the next SeekRequest that is closest to the current one first in decreasing order until it hits the tail of Q, and then in increasing order until it hits the head of Q. This eliminates starvation for the de/increasing order is monotonic. Of course, there are more elegant scheduling algorithms, but this simple one is all I can think of now. E.g., we may serve all the requests in the neighborhood first, then go on to the next district... If there is no existing s/w to do this, could any one of you pros write a PD smooth disk driver? I think a lot of amigans will appreciate your kind contribution! Thanks for your attention! --Tak # # ===== everything's only what it seems to be # # # # ===\ /=== # # >>>>> auyeung@iris.ucdavis.edu # # # # ----X #---# >>>>> Tak-Ying (UlTech) AuYeung \===/ \=== # ===/ \=== # # >>>>> Logical Entity in Netland