9. GlossaryΒΆ

classic process
A process with only one thread.
context switch
Switching from running a user level process to the OS kernel and often to other user processes before the current process is resumed. See CPU Response to Interrupts
CPU scheduling
Determine which process in memory is executed by the CPU at any given point.
critical section

A portion of a program that modifies a shared resources. If other processes or threads also modify the shared resource at the same time, data inconsistencies could occur.

deadlock
The condition where two or more processes are not able to continue because they are waiting on each other to either release a resource or do something, but that will not happen because they are waiting on the other.
demand paging
A virtual memory management scheme where the pages of process are loaded only as they are needed.
logical address
The memory address used internally within each process. This address space is contiguous and usually begins at zero and can extend to the largest address allowed (4GB for 32 bit systems). Also called virtual address.
memory management
Keeping track of what programs are in memory and where in memory they reside.
monitor
An abstract data type for which only one process/thread may be executing of of its member procedures at any given time.
multiprogramming
The technique of keeping multiple programs in main memory at the same time. These programs compete for access to the CPU so that they can execute
mutual exclusion
Allowing only one process to access a critical section at one time.
page fault
A CPU generated trap occuring a referenced physical memory frame is not currently loaded in physical memory.
process
An instance of a program in execution. A thread may contain one or more thread.
process management
Keeping track the progress of processes and all of their intermediate states.
process control block
A data structure in the OS kernel’s memory holding all data that the OS needs about a process. All of the process control blocks are kept in an array indexed by the PID for each process. See CPU Response to Interrupts, Process Control Block (PCB).
process scheduling
The act of determining which process in the ready state should be moved to the running state. That is, decide which process should run on the CPU next.
physical address
The memory address used to locate data in the computer’s physical memory banks.
race condition
When correct execution depends on the timing of processes or threads running a critical section of code.
semaphore
A fundamental locking mechanism that can be used to allow a varied number (1 is the default) of processes or threads access to a critical section.
starvation
When a lower priority item is unfairly delayed by higher priority items that arrive later. This can occur in both The Process Scheduler and disk scheduling.
system call

A request from an application program for the operating system to perform some hardware action on behalf of the application. System calls are initiated with a software interrupt assembly language instruction. The argument to the interrupt instruction is a number, which corresponds to the index of an array in the OS kernel with pointers to the functions that provide the requested service.

See also

System Calls

thread
The basic unit to which the operating system allocates processor time. A thread can execute any part of the process code, including parts currently being executed by another thread.
virtual address
See logical address.
virtual machine
The allusion provided to each process that they are the only process running on the computer.
virtual memory
Memory on a secondary storage device, such as a hard drive or solid state drive, that augments the computer’s physical radom access memory. Virtual memory is used to give the computer users the benefit of more memory than is physically present in the computer.