
1. OS Management of Application Execution
1.1. switched among multiple applications so all will appear to be progressing
1.2. Resources are made available to multiple applications
1.3. The processor and I/O devices can be used efficiently
2. A process can be defined as
2.1. a program in execution
2.2. an instance of a running program
2.3. the entity that can be assigned to, and executed on, a processor
2.4. a unit of activity characterized by a single sequential thread of execution, a current state, and an associated set of system resources
3. Process Elements
3.1. Program code
3.1.1. which may be shared with other processes that are executing the same progra
3.2. A set of data associated with that code
3.2.1. when the processor begins to execute the program code, we refer to this executing entity as a process
3.2.2. when the processor begins to execute the program code, we refer to this executing entity as a process
4. Process Control Block
4.1. Contains the process elements
4.2. Created and managed by the operating system
4.3. Key tool that allows support for multiple processes
5. Process State
5.1. Trace
5.1.1. sequence of instructions that execute for that process
5.1.2. showing how the traces of the various processes are interleaved
5.2. Dispatcher
5.2.1. small program that switches the processor from one process to another
6. Two-State Process Model
6.1. Running
6.2. Not-Running
7. Process Creation
7.1. Process spawning
7.1.1. when the OS creates a process at the explicit request of another process
7.2. Parent process
7.2.1. is the original, creating, process
7.3. Child process
7.3.1. is the new process
8. Process Termination
8.1. include a HALT instruction or an explicit OS service call for termination
8.2. the action of the user will indicate when the process is completed
9. Five-State Process Model
9.1. Figure
10. Characteristics of a Suspended Process
10.1. process is not immediately available for execution
10.2. process may or may not be waiting on an event
10.3. process may not be removed from this state until the agent explicitly orders the removal
10.4. process was placed in a suspended state by an agent for the purpose of preventing its execution
11. Benefits of Threads
11.1. Takes less time to create a new thread than a process
11.2. Less time to terminate a thread than a process
11.3. Switching between two threads takes less time than switching between processes
11.4. Threads enhance efficiency in communication between programs
12. Operating System Control Structures
12.1. OS must have information about the current status
12.2. OS constructs and maintains tables of information about each entity that it is managing.
12.3. Four different types of tables maintained by the OS
12.3.1. Memory tables
12.3.2. IO Tables
12.3.3. File Tables
12.3.4. Process Tables
13. One or More Threads in a Process
13.1. saved thread context when not running
13.2. an execution stack
13.3. some per-thread static storage for local variables
13.4. access to the memory and resources of its process
13.5. an execution state (Running, Ready, etc.)
14. Processes
14.1. unit of resource allocation and a unit of protection
14.2. A virtual address space that holds the process image
14.3. Protected access to
14.3.1. processors
14.3.2. other processes
14.3.3. files
14.3.4. I/O resources
15. Processes and Threads
15.1. Resource Ownership
15.1.1. includes a virtual address space to hold the process image
15.1.1.1. OS performs a protection function to prevent unwanted interference between processes with respect to resources
15.2. Scheduling/Execution
15.2.1. Follows an execution path that may be interleaved with other processes
15.2.1.1. a process has an execution state
15.3. Multithreading
15.3.1. The ability of an OS to support multiple, concurrent paths of execution within a single process
15.4. unit of resource ownership is referred to as a process or task
15.5. unit of dispatching is referred to as a thread or lightweight process
16. Single Threaded Approaches
16.1. which the concept of a thread is not recognized,is referred to as a single-threaded approach
16.2. Example
16.2.1. MS-DOS