Term
|
Definition
| A program that is currently executing. |
|
|
Term
|
Definition
| Program counter and the programs registers. The additional part of a process beyond execution code. |
|
|
Term
|
Definition
| A value that represents a programs current activity. |
|
|
Term
|
Definition
| A data structure that contains the programs temporary data. |
|
|
Term
|
Definition
| Data structure that contains global variables. |
|
|
Term
|
Definition
| Dynamically allocated memory during a programs execution. |
|
|
Term
|
Definition
| New, running, waiting, ready, terminated. Represents the current activity of the process. |
|
|
Term
|
Definition
| The process is being created. |
|
|
Term
|
Definition
| The process is currently executing. |
|
|
Term
|
Definition
| The process is waiting for some event to occur, usually IO or receiving a signal. |
|
|
Term
|
Definition
| The process can be executed once the operating system allows it to. |
|
|
Term
| Process State: Terminated |
|
Definition
| The process has finished execution. |
|
|
Term
|
Definition
| A data structure that contains the information about one particular process. Contains process state, program counter, CPU registers, CPU- scheduling information, memory-management information, Accounting information, IO status information. |
|
|
Term
|
Definition
| The process that selects from a list of available processes which to execute first. |
|
|
Term
|
Definition
| A data structure that consists of all processes in a system. |
|
|
Term
|
Definition
| All processes that are ready to run. |
|
|
Term
|
Definition
| The list of processes waiting for IO from a particular device. |
|
|
Term
|
Definition
| A process being selected for execution. |
|
|
Term
|
Definition
| In batch systems, more jobs are submitted than can be stored in memory at a time. This leads to the problem of needing to decide which jobs get loaded into memory. The Long-Term Scheduler decides this. |
|
|
Term
|
Definition
| Decides which process in the ready queue gets executed. |
|
|
Term
| Degree of multiprogramming |
|
Definition
| The number of processes in memory. Controlled by long-term scheduler. Generally tried to be kept stable, which means that the number of processes entering the system roughly equals the number of processes leaving the system. Because of this, the long-term scheduler is only executed when a process leaves the system. |
|
|
Term
|
Definition
| The process is waiting for I/O from a device, and is thus bound by the device. |
|
|
Term
|
Definition
| The process needs lots of computing time to complete and is thus bound by the CPU. |
|
|
Term
|
Definition
| The long term scheduler tries to increase productivity by selected an even mix of CPU bound processes and I/O bound processes. |
|
|
Term
|
Definition
| An intermediate level of scheduling that decides when a process needs to be temporarily moved out of main memory and into secondary storage through swapping. |
|
|
Term
|
Definition
| Loading a memory into memory from secondary storage or vice-versa. |
|
|
Term
|
Definition
| Switching between a process. Saves the state of the process and then loads another process. |
|
|
Term
|
Definition
| The state of the process control block. |
|
|
Term
|
Definition
| Saving the process context state that it can be switched from. |
|
|
Term
|
Definition
| Loading the process context state so it can resume execution. |
|
|
Term
|
Definition
| Process that creates other processes. |
|
|
Term
|
Definition
| Process that is made by another process. |
|
|
Term
|
Definition
| The ID of a process, used by the operating system to distinguish processes. |
|
|
Term
|
Definition
| Some operating systems do not allow a child process to continue without its parent process running, so when a parent process dies, all its children die with it. Very barbaric. |
|
|
Term
| Interprocess Communication |
|
Definition
| A mechanism that allows processes to share data and information. |
|
|
Term
|
Definition
| Process that cannot be affected by the other processes running on a system. Usually parent processes. |
|
|
Term
|
Definition
| Process that can be affected by other processes. Generally any process that uses communication with other processes is a Cooperating Process. |
|
|
Term
|
Definition
| A region of memory is opened by multiple processes and message can be written in this space to be read by other processes. |
|
|
Term
|
Definition
| Messages are exchanged between cooperating processes. Can be direct or indirect. |
|
|
Term
|
Definition
| No practical limit is placed of the size of the buffer. The producer can always make more items, but the consumer may have to wait for more to become available. |
|
|
Term
|
Definition
| The size of the buffer is limited. The producer can't always make new items, but generally there is something waiting for the consumer. |
|
|
Term
|
Definition
| The way processes are connected for communication. |
|
|
Term
|
Definition
| A type of communication in which the sender of a message must explicitly define which process it wants its message passed to. |
|
|
Term
|
Definition
| A type of communication in which the process sends its messages to a mailbox or port for the recipient to later read. |
|
|
Term
|
Definition
| Putting the process in the waiting state until something happens. |
|
|
Term
|
Definition
| The sending process is blocked until its message is received. |
|
|
Term
|
Definition
| The receiving process is blocked until a message becomes available for it to receive. |
|
|
Term
|
Definition
| The process that sends a message, sends a message and then continues without waiting for confirmation that the message was received. |
|
|
Term
|
Definition
| The process retrieves either a valid message or a null message, depending on if one is available. |
|
|
Term
|
Definition
| A queue has no size, so process must block until the message is received. |
|
|