Avoiding Deadlocks in Multi-Tasking Systems

Only available on StudyMode
  • Download(s) : 72
  • Published : March 26, 2009
Open Document
Text Preview
. Description: Modern operating systems, by permitting more than one data processing task to be performed concurrently, make possible more efficient use of system resources. If a program that is being executed to accomplish a task must be delayed, for example, until more data is read into the computer, performance of some other completely independent task can proceed. The central processing unit can execute another program or even execute the same program to accomplish a different task. In the competition for system resources, such as main storage space or data sets (files), however, all multitasking systems are subject to a condition referred to as deadlock. This condition prevents the affected tasks from being carried out to completion. Several conditions must exist for tasks to become deadlocked. Consider a simple example involving only two tasks that are being performed concurrently. Assume that each task has been allocated a system resource which has been used in partially completing the task. Assume also that allocated resources are released only after completion of the task. If completing each task requires an additional resource and if the additional resource has been allocated to the other task, neither task can be completed; that is, task deadlock exists. Such impasses can arise in many forms involving many tasks, and when task deadlock does occur, there is no known general technique for correcting the condition. Problem: Case histories Acquiring for each job step, in turn, the resources required to This module actually issues the ATTACH macroinstruction, As shown in Figure 3. as the jobs were executed. Requests are fraught with deadlock potential.
tracking img