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. |
|
|