Browse Prior Art Database

Selective Dispatch of Queued Tasks

IP.com Disclosure Number: IPCOM000040303D
Original Publication Date: 1987-Oct-01
Included in the Prior Art Database: 2005-Feb-02
Document File: 2 page(s) / 14K

Publishing Venue

IBM

Related People

Earnst, R: AUTHOR [+2]

Abstract

This article describes a method for enhanced scheduling capabilities in an operating system in which shared data integrity must be maintained in a multi-processing environment. This method integrates the knowledge of semaphore locking requirements into existing scheduling algorithms in order to optimize access to system shared data by multiple processes. Such consideration of semaphore locks within scheduling algorithms enhances overall system performance through efficient management of shared data. In an operating system, the processes running within the system are made ready for execution (scheduled) and executed (dispatched) by a scheduling component of the operating system. Operating systems typically schedule and dispatch processes based on priorities determined by various criteria.

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 52% of the total text.

Page 1 of 2

Selective Dispatch of Queued Tasks

This article describes a method for enhanced scheduling capabilities in an operating system in which shared data integrity must be maintained in a multi-processing environment. This method integrates the knowledge of semaphore locking requirements into existing scheduling algorithms in order to optimize access to system shared data by multiple processes. Such consideration of semaphore locks within scheduling algorithms enhances overall system performance through efficient management of shared data. In an operating system, the processes running within the system are made ready for execution (scheduled) and executed (dispatched) by a scheduling component of the operating system. Operating systems typically schedule and dispatch processes based on priorities determined by various criteria. Process scheduling priorities are initially determined from default parameters based on task classification and are adjusted periodically by the operating system based on the observed behavior and execution characteristics of the process. The criteria for adjusting scheduling priorities of a process can vary widely based on the particular implementation of the scheduler within the operating system. These scheduling criteria are generally based on system resource requirements and usage. In operating systems in which processes share data, these traditional operating system scheduling algorithms for dynamic priority assignment based on resource usage are inadequate because of conflicts between requirements to ensure shared data integrity and the need to provide balanced resource scheduling. Whenever processes in a system modify shared data, there is a potential problem in concurrently updating such data; The data must be accessed and modified by each process in such a way that its validity does not depend on the order or synchronization of the processes. The general solution to providing shared data integrity between processes is to provide exclusive access to the shared data by a process by having the process place a semaphore lock on the shared data area...