Blocking (scheduling)

Blocking (scheduling)

In a multitasking computer system, individual tasks, or threads of execution, must share the resources of the system. These resources might be:

* the CPU
* network
* memory
* disk

or any other shared resource.

When one task is using a resource, it is generally not possible, or desirable, for another task to access it. The techniques of mutual exclusion are often used to prevent one piece of software using a resource before another has finished with it.

When this occurs, the second task is said to be blocked, and is unable to execute until the first task has finished using the shared resource.Programming languages and scheduling algorithms are designed to minimize this blocking, and to prevent the case of "deadlock", where two or more tasks are blocked, waiting for a resource that the other holds.

See also

*Non-blocking synchronization
*Concurrent computing
*Race condition
*Deadlock
*Scheduling (computing)


Wikimedia Foundation. 2010.

Игры ⚽ Нужно решить контрольную?

Look at other dictionaries:

  • Blocking — may refer to:In telecommunications: *Block size (data storage and transmission), the formatting of data into blocks for purposes of transmission, storage, checking, or other functions *Block storage, a sequence of bytes or bits, having a nominal… …   Wikipedia

  • Scheduling (computing) — This article is about processes assignment in operating systems. For other uses, see Scheduling (disambiguation). Scheduling is a key concept in computer multitasking, multiprocessing operating system and real time operating system designs.… …   Wikipedia

  • Rate-monotonic scheduling — In computer science, rate monotonic scheduling [citation|first1=C. L.|last1=Liu|authorlink1=Chung Laung Liu|first2=J.|last2=Layland|title=Scheduling algorithms for multiprogramming in a hard real time environment|journal=Journal of the ACM|volume …   Wikipedia

  • Stride scheduling — mechanism has been introduced as a simple concept to achieve proportional CPU capacity reservation among concurrent processes. Stride scheduling aims to sequentially allocate a resource for the duration of standard time slices (quantum) in a… …   Wikipedia

  • Commitment ordering — In concurrency control of databases, transaction processing (transaction management), and related applications, Commitment ordering (or Commit ordering; CO; (Raz 1990, 1992, 1994, 2009)) is a class of interoperable Serializability techniques …   Wikipedia

  • Thread (computer science) — This article is about the concurrency concept. For the multithreading in hardware, see Multithreading (computer architecture). For the form of code consisting entirely of subroutine calls, see Threaded code. For other uses, see Thread… …   Wikipedia

  • Serializability — In concurrency control of databases,[1][2] transaction processing (transaction management), and various transactional applications (e.g., transactional memory[3] and software transactional memory), both centralized and distributed, a transaction… …   Wikipedia

  • Kahn process networks — ( KPNs , or process networks ) is a distributed model of computation ( MoC ) where a group of deterministic sequential processes are communicating through unbounded FIFO channels. The resulting process network exhibits deterministic behavior that …   Wikipedia

  • Concurrency control — In information technology and computer science, especially in the fields of computer programming (see also concurrent programming, parallel programming), operating systems (see also parallel computing), multiprocessors, and databases, concurrency …   Wikipedia

  • Glossary of American football — The following terms are used in American football and Canadian football, but see also the glossary of Canadian football. Contents: 0–9 A B C D E F G H I J K L M N O P Q R S T U V …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”