
1. OS management of application execution
1.1. resources are able to multiple applications
1.2. processor switched among multiple applications
1.3. Process
1.3.1. a program in execution
1.3.2. Active entity with a program counter specifying the next instruction to be executed
1.4. Program
1.4.1. Passive entity such as contents of a file stored on disk
2. Process Elements
2.1. Program Code
2.1.1. shared with other process that using same program
2.2. A set of data associated
3. Process Control Block
3.1. Contains the process element
3.2. Created and managed by the operating system
3.3. interrupt a running process and resume later
4. Process States
4.1. Trace
4.1.1. listing the sequence of instructions that execute for that process
4.1.2. show how traces of processes are interleaved
4.2. Dispatcher
4.2.1. switches the processor from one process to another
5. Two-State Process Model
5.1. Running
5.1.1. the process is currently being executed
5.2. Not running
6. Process Creation
6.1. Process spawning
6.1.1. OS creates a process at the explicit request of another process
6.2. occurs when a new process is added to those currently being managed processes
6.3. Parent process
6.3.1. original process
6.4. OS build data structures to manage the process and allocates address space in main memory
6.5. Child process
6.5.1. new process
7. Process Termination
7.1. include HALT instruction or explicit OS service call for termination
8. Five-State Process Model
8.1. New
8.1.1. A process is being created.
8.2. Ready
8.2.1. A process that as prepared to be executed when given chance.
8.3. Blocked
8.3.1. A process that cannot execute until some event s occur, such as I/O completion.
8.4. Running
8.4.1. A process that is currently being executed.
8.5. Exit
8.5.1. A process that has finished its execution.
8.6. Suspend
8.6.1. A process that has been swapped out of main memory.
9. Suspended Processes
9.1. Swapping
9.1.1. moving parts of all of a process from main memory to disk
9.2. one suspend state
9.3. Characteristics
9.3.1. not available immediately to run
9.3.2. process placed in suspend state to prevent execution
9.3.3. process may or may not wait for an event
9.3.4. process may not be removed until agent explicitly orders the removal
10. Processes and Threads
10.1. Resource ownership
10.1.1. include a virtual address space to hold process image
10.2. Scheduling/Execution
10.2.1. follow an execution path that may interleaved with others
10.3. Thread
10.3.1. a basic unit of CPU utilization
10.3.2. also known as lightweight process
10.4. Multithreading
10.4.1. the ability of an OS to support multiple, concurrent paths of execution within a single process
10.5. resource ownership
10.5.1. process
10.5.2. task
11. Single Threaded Approaches
11.1. the concept of a thread is not recognized
12. Multithreaded Approaches
12.1. a system of one process with multiple threads
13. Processes
13.1. Unit of resource allocation and unit of protection
13.2. Virtual address space holds process image
14. One or more threads in a process
14.1. an execution state
14.2. saved thread context when not running
14.3. an execution stack
14.4. some per-thread static storage for local variables
14.5. access to memory and resources
15. Operating System Control Structure
15.1. manage processes and resources
15.2. construct and maintains information
15.3. Types of tables by OS
15.3.1. memory tables
15.3.2. IO tables
15.3.3. File tables
15.3.4. Process tables