Prev | Current Page 1365 | Next

Christopher Negus

"Linux Bible, 2008 Edition: Boot up to Ubuntu, Fedora, KNOPPIX, Debian, openSUSE, and 11 Other Distributions"

A third common type of deadlock occurs when two processes
are trying to send data to each other but can??™t because the input buffer on each process is
so busy trying to send data that it never reads any data sent by the other process. This
type of deadlock is colorfully referred to as constipation.
 Livelocks??”A livelock occurs when a task or process, usually a server process, is unable
to finish because its clients continue to create more work for it to do before the server can
clear its queue. The difference between a livelock and a deadlock is that a deadlocked
process doesn??™t have any work queued; it is blocked or waiting for something to happen.
A livelocked process, on the other hand, has too much work to do and never empties its
work queue.
 Races??”A race occurs when the result of a computation depends on the order in which
two events occur. Say, for example, that two processes are accessing a file. The first process
writes data to the file, and the second process reads data from the file to calculate and display
a summary value. If the reader process reads the file after the writer completes, the
reader calculates and returns the correct value. If the reader process reads the file before
the writer completes, the reader will calculate and return an incorrect summary value.


Pages:
1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377