lee@cornell.UUCP (Lee Barford) (01/04/84)
>> Talk about cycle stealing! The CPU isn't even running during the time the >> keyboard data is lost. This design is quite elegant for an operating >> system like TRSDOS, and it certainly simplifies the read/write inner loop >> for the disk driver, but what a loss in a multi-tasking system like OS-9! >> I wonder if the desired latency could have been achieved using NMI or >> FIRQ, while keeping the CPU running to service other tasks? >> -- >> /Steve Dyer >> decvax!bbncca!sdyer >> sdyer@bbncca Well, yes some other processes could be handled while waiting for the sector you want to read or write to rotate under the head. However, even with single-density 5" floppies, there isn't enough time to do a pair of context switches between reading (writing) two sucessive bytes from (to) the controller chip. It wouldn't be possible to service an interrupt in that short a time, either. FLEX shuts off spooling before it does a disk IO. OS-9 on SS-50 machines with disk controllers without DMA or on-board sector bufferring (e.g., the old SWTPC 30-pin slot controllers or the Smoke Signal BFD controller) disbles IRQ and FIRQ before entering the read (write) loop. Lee Barford lee@cornell.ARPA