Sunday, 25 September 2011

SHORT-TERM SCHEDULLING

-Short term scheduling concerns with the allocation of CPU time to processes in order to meet some pre-defined system performance objectives. The definition of these objectives (scheduling policy) is an overall system design issue, and determines the ``character'' of the operating system from the user's (i.e. the buyer's) point of view, giving rise to the traditional distinctions among ``multi-purpose, time shared'', ``batch production'', ``real-time'' systems, and so on.
-From a user's point of view, the performance criteria can be stated as follows:
  • Response time
  • Turnaround time
  • Meeting
  • Predictability
-When the overall system performance is considered, additional scheduling criteria must be taken into account:
  • Throughput
  • User processor utilisation
  • Overall processor utilisation
  • Resource utilisation balance
-When the interaction between users' needs and overall system performance is considered, additional criteria to be accounted for arise:
  • Fairness
  • Enforcing

-The design of the short term scheduler is one of the critical areas in the overall system design, because of the immediate effects on system performance from the user's point of view. It's usually one of the trickiest as well: since most processor architectures support their own task switching facilities, the implementation of the process switch mechanism is generally machine-dependent. The result is that the actual process switch software is usually written in the assembly language of a particular machine, whether the operating system is meant to be portable across different machines or not.
-Independently of the adopted scheduling policy, three basic issues in short term scheduler design can be individuated:
  • The process switch must be done efficiently, otherwise the users will suffer from poor system responsiveness. This is a platitude, yet it has an immediate translation in terms of performance specification: the time spent to switch one process out and the next one in must be in the order of a few microseconds (with current technologies). Since most of the time taken to carry out the process switch is sacrificed in saving and restoring the context of processes, it is important that the amount of information to be saved and restored be reduced to the absolute minimum (in other words, it must be a minimal or quasi-minimal representation of the process's state).
    An effective way to achieve fast process (and context) switches is to remap the (virtual) addresses of the new running process's PCB into an address that the kernel knows about. This requires simply the remapping of one address, as opposed to copying the whole PCB data into some storage area.
  • Since many data structures are shared among processes (e.g. device tables, timing information, relative priorities, etc.), there must be a consistent method for allowing data access between them. The only obvious answer is to store these data structures in memory.
  • Since the system manages multiple processes, each of which assumes the only process running on the time-shared machine, the system must choose a scheme in which processes have a fair share of time, where the ``fairness'' is conditioned by the overall system policy. This is discussed in the following sections


                                          By:Nor Iliyana Alias

No comments:

Post a Comment