Term
|
Definition
The one program running at all times, this is basically the operating system at its core. |
|
|
Term
|
Definition
Calls to functions in kernel space.
The programatic way in which a computer program requests a service from the kernel of the operating system it is executed on. Examples: Exit, Wait, Fork, Write |
|
|
Term
|
Definition
User-level libraries whose functions have possibly multiple system calls. |
|
|
Term
|
Definition
Selects among available processes for next execution on CPU. Maintains scheduling queues of processes. Processes migrate among the various queues. |
|
|
Term
|
Definition
Set of all processes in the system |
|
|
Term
|
Definition
Set all processes residing in main memory, ready and waiting to exectute |
|
|
Term
|
Definition
Set of processes waiting for an I/O device |
|
|
Term
Process Scheduling Diagram |
|
Definition
|
|
Term
|
Definition
Select which process should be brought into the ready queue.
AKA Job Scheduler
Invoked very infrequently (seconds, minutes) => May be slow
Controls the degree of multiprogramming because in the ready queue as many programs that are there is your level of multiprogramming |
|
|
Term
|
Definition
Selects which process should be executed next and where in the ready queue the processes leaving the CPU goes
AKA CPU Scheduler
Invoked very frequently (ms) => Must be fast |
|
|
Term
|
Definition
A piece of code; a passive entity (does not have a program counter, does not have variables initialized, etc.) |
|
|
Term
|
Definition
A program in action. Has: Program Counter Register/variables in use Opened files, etc. |
|
|
Term
|
Definition
The "parent" process executing the fork creates another "child" process whose address space is identical but separate from the parents own address space. |
|
|
Term
|
Definition
The "parent" process executing the vfork() creates a "child" process who shares exactly the same address space as its parent who created it. That is,if one changes an instruction, variable, environment var, etc., the other see the changes immediately. |
|
|
Term
|
Definition
|
|
Term
Synchronous vs Asyncrhonous I/O |
|
Definition
Requires the process to wait while I/O is completed. Asynchronous I/O allows the process to tend to other tasks while I/O completes. |
|
|
Term
|
Definition
Spooling is a concept from batch-oriented operating systems; it involves, for the sake of increased turnaround time, overlapping of the output of one job with the input of other jobs. |
|
|
Term
Semaphore vs Critical Regions and Monitors |
|
Definition
Semaphores are powerful synchronization tools, but are easy to misuse. Therefore critical regions and monitors are also proposed as synchronization tools. |
|
|
Term
|
Definition
In concurrent programming several streams of operations may execute concurrently. Each stream of operations executes as it would in a sequential program except streams can communicate and interfere with one another. Each such sequence of instructions is called a thread. |
|
|
Term
|
Definition
Refers to the environment where device controller transfers blocks of data from buffer directly to memory without intervention from the CPU and vice versa. This results in one interrupt generated per block instead of one interrupt per byte. |
|
|
Term
|
Definition
Refers to process where data being used is copied from slower storage to faster storage temporarily in order to reduce data access times. |
|
|
Term
|
Definition
Processes, procedures, and abstract data types. |
|
|
Term
|
Definition
Segment of code in which a process may be changing common variables, updating a table, writing a file, and so on. No two processes are executing in their critical section at the same time. Each process must request permission to enter its critical section. |
|
|
Term
|
Definition
If process Pi is executing in its critical section, then no other process can be executing in its critical section. |
|
|
Term
|
Definition
There exists a bound, or limit, on the number of times other processes are allowed to enter their critical section after a process has made request to enter its critical section and before that request is granted. |
|
|
Term
|
Definition
If no process is executing in its critical section and some process wishes wish to enter their critical sections, then only those processes that are not executing in their remainder section can participate in deciding which will enter its critical section next, and this selection can not be postponed indefinitely. |
|
|