发明名称 SCHEDULING INPUT/OUTPUT OPERATIONS IN MULTITASKING SYSTEMS
摘要 BC9-90-052 SCHEDULING INPUT/OUTPUT OPERATIONS IN MULTITASKING SYSTEMS In a multitasking system, I/O requests to a disk are staged in holding queues from which they are transferred to a service queue. Requests in the latter queue are directly serviced on a FIFO basis by a device driver in the system. The system maintains a set of holding queues and an associated service queue separately for each physical drive (hard file, floppy drive, etc.). Holding queues in each set are prioritized in accordance with base priorities of tasks, and I/O requests to disks are entered into associated holding queues having priorities corresponding to those of task threads for which such requests are originated. Prioritization of the holding queues, and a starvation advancement process performed to advance "oldest" enqueued requests to higher priority holding queues, causes the requests to be presented to the disk in a sequence based in part on respective task priorities and in part on "fairness" servicing of "service starved" requests. A selection operation in respect to certain transfers from the holding queues to the service queues orders selection of transferred requests on the basis of relative proximity of disk addresses in the queued requests to current positions of the read/write head assembly in the associated disk drive. Foregoing operations serve to improve processing throughput of all tasks. A service kernel of the operating system, which maintains the holding queues, places each newly issued disk I/O request in a selected holding queue associated with a designated disk. The selected queue is one having a priority associated with the base priority of the task thread. A request issued for a foreground task may be placed in a higher priority holding queue than requests of like priority issued for other tasks. When entering a new request into a holding queue, the kernel performs a "starvation" check relative to selected holding queues. If a starvation condition is detected, the kernel performs the abovementioned starvation advancement operation to transfer requests in the affected queue to a higher priority queue.
申请公布号 CA2051186(A1) 申请公布日期 1992.04.27
申请号 CA19912051186 申请日期 1991.09.11
申请人 INTERNATIONAL BUSINESS MACHINES CORPORATION 发明人 MIRO, FELIX
分类号 G06F9/50;G06F3/06;G06F9/48;G06F13/10;(IPC1-7):G06F13/20 主分类号 G06F9/50
代理机构 代理人
主权项
地址