Prev | Current Page 334 | Next

Carl Reynolds and Paul Tymann

"Schaum's Outline of Principles of Computer Science"


There are several varieties of operating systems, including interactive, batch, and real time. Each is
designed to best meet the peculiar requirements of its intended use.
Most modern operating systems support the concept of threads in addition to processes. A process
represents a set of resources such as memory, open files, common variables, network connections, etc., and
a thread represents a particular path of code execution. Threading allows for easy sharing of resources among
the threads, which are essentially separate cooperating tasks.
Multiprogramming, multiprocessing, and multithreading require careful consideration of thread and
process synchronization techniques. These same operating system advances also introduce the possibility of
deadlock. For process synchronization, most operating systems provide semaphores, a simple, effective
construct first proposed by Edgar Dijkstra in 1965.
124 OPERATING SYSTEMS [CHAP. 6
The four conditions necessary for deadlock to occur are: mutual exclusion, hold and wait, no preemption,
and circular wait. Avoiding deadlocks, or detecting and correcting them, turns out to be costly of performance
and difficult to implement in the general case. We discussed various mechanisms for preventing deadlocks, and
we discussed the banker??™s algorithm for deadlock avoidance.


Pages:
322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346
aurora amefa tanie noclegi mielno transport odpadów upadlanych.waw.pl online loans for bad credit history