Free Trial

Safari Books Online is a digital library providing on-demand subscription access to thousands of learning resources.

  • Create BookmarkCreate Bookmark
  • Create Note or TagCreate Note or Tag
  • PrintPrint


Cooperative scheduling:

A method of running the task in such a way that each one cooperates to let the running one complete.


Registers and variables including stack pointer and return address pointer which must necessarily save on any context switching.

Context switching:

Changes of context on interrupt or blocking of the task and running of another task or ISR.


An action to ready a task for running or blocking and synchronizing under the supervision of an OS.

Critical section:

A section of a task containing codes modifying some shared variables or performing actions, which are also common to other tasks and in between task switching to another can lead to erroneous results.


An action to disable a task from the supervision of the OS.

Infinite loop:

A set of statements getting executed repeatedly unless blocked in-between because the loop execution condition gets always satisfied.


A set of codes for implementing or controlling the actions of another set of codes or of hardware.


An inter-task message or inter-process communication using a signal, semaphore (token) or message (mailbox) and which is sent by a task or process to another waiting task for that so that the waiting task starts running.


A message pointer, which points to a message expected from another task to a task waiting for the message.


A set of integers, bytes, or ASCII codes or a string that is sent from a task to another task using a mailbox and that waits for it.


Division of an application's program for the application into different tasks such that each task runs as per schedule and synchronization control by the OS (operating system) functions and interfaces.


A token to enable mutually exclusive access between the two or more sections of codes or two or more tasks.


A program to enable running of multiple processes (tasks) to control the sharing of system resources like CPU and memory blocks, to control the signalling, and messaging between the processes and interrupts, to provide interfaces between the application codes and system hardware.

Preemptive scheduling:

Scheduling of the tasks like a high-priority task when that is (i) ready, (ii) not delayed for a timeout period and gets (iii) a signal or token or message to run then it preempts (blocks) a low-prioroity task.


Real-time means the time which is continuously incrementing from the system's start and different actions takes place in the system at different instances of this time. It is a time that has a fixed and unalterable zero reference and which a system clock advances at constant intervals and which cannot be reloaded.

Real-time constraints:

The constraints like a task deadline to finish or a task to start running or a task running latency.

Round robin scheduling:

The task runs one after another cyclically and a task cooperates to let the running task finish its loop or its allocated time slice.


An OS that takes into account the real-time constraints in addition to the OS specific functions, controls the scheduling of tasks and time-critical tasks and provides an environment for a multi-tasking program.


The order of tasks one after another in time slicing round robin or cooperative or preemptive or other mode.


A token when taken, to let a section or task gets access or exclusive access to run with respect to another section or task until released. There can be different types of semaphores—mutex, binary or counting.


A signal when sent, to let a section or task get access to run.

Signal mask:

A signal when set, to let a section or task get access to run.

System clock:

A clock the ticks of which give the timing reference to all the functions of the OS.

System resources:

The access of resources like CPU, memory block and devices is controlled by the OS.


A computation unit that readies, deletes, runs, and blocks and which sends and receives signal or token or messages in inter-task communication under the control of the OS functions.

Task control block (TCB):

A task information block (TIB) in memory or in a register-set that saves the task state, and includes signal mask, signal, message and semaphore, state, task ID, priority, context which includes the stack pointer and return address of the program counter and other parameters of the task to let the OS schedule its run and control IPCs among the tasks. Each task has seperate TIB.

Task ID:

An identification number for each task.

Task priority:

When assigned higher priority, gives the ability to preempt another task of lower priority.

Task state:

State (running, blocked (wait), readied, deleted), and signal mask.

Task switching:

A task first blocking and then let another run after appropriate context saving on the stack and retriving new new-task context from the stack. Context including program counter. The new task then runs.

Task synchronization:

Running of the tasks after getting a signal, semaphore or message from a previously running task.

Task wait:

Wait for a signal or message or semaphore or timeout period.

Time slice:

A time slice allocated to the tasks, after which the cycle starts again.


A computational unit that has no in between branches that lead to another end point and thus has only one start point and one end point. A thread is minimum schedulable unit. Threads are synchronized thread using the OS functions.


You are currently reading a PREVIEW of this book.


Get instant access to over $1 million worth of books and videos.


Start a Free Trial

  • Safari Books Online
  • Create BookmarkCreate Bookmark
  • Create Note or TagCreate Note or Tag
  • PrintPrint