1. Process Termination
1.1. include HALT instruction or explicit OS service call for termination
2. Five-State Process Model
2.1. New
2.1.1. A process is being created.
2.2. Ready
2.2.1. A process that as prepared to be executed when given chance.
2.3. Blocked
2.3.1. A process that cannot execute until some event s occur, such as I/O completion.
2.4. Running
2.4.1. A process that is currently being executed.
2.5. Exit
2.5.1. A process that has finished its execution.
2.6. Suspend
2.6.1. A process that has been swapped out of main memory.
3. Suspended Processes
3.1. Swapping
3.1.1. moving parts of all of a process from main memory to disk
3.2. one suspend state
3.3. Characteristics
3.3.1. not available immediately to run
3.3.2. process placed in suspend state to prevent execution
3.3.3. process may or may not wait for an event
3.3.4. process may not be removed until agent explicitly orders the removal
4. Processes and Threads
4.1. Resource ownership
4.1.1. include a virtual address space to hold process image
4.2. Scheduling/Execution
4.2.1. follow an execution path that may interleaved with others
4.3. Thread
4.3.1. a basic unit of CPU utilization
4.3.2. also known as lightweight process
4.4. Multithreading
4.4.1. the ability of an OS to support multiple, concurrent paths of execution within a single process
4.5. resource ownership
4.5.1. process
4.5.2. task
5. Single Threaded Approaches
5.1. the concept of a thread is not recognized
6. Multithreaded Approaches
6.1. a system of one process with multiple threads
7. Processes
7.1. Unit of resource allocation and unit of protection
7.2. Virtual address space holds process image
8. Benefits of threads
8.1. lesser time to create new thread than process
8.2. lesser time to terminate a thread than process
8.3. switching between two threads takes lesser time compare to process
8.4. threads enhance efficiency in communications among programs
9. OS management of application execution
9.1. resources are able to multiple applications
9.2. processor switched among multiple applications
9.3. Process
9.3.1. a program in execution
9.3.2. Active entity with a program counter specifying the next instruction to be executed
9.4. Program
9.4.1. Passive entity such as contents of a file stored on disk
10. Process Elements
10.1. Program Code
10.1.1. shared with other process that using same program
10.2. A set of data associated
11. Process Control Block
11.1. Contains the process element
11.2. Created and managed by the operating system
11.3. interrupt a running process and resume later
12. Process States
12.1. Trace
12.1.1. listing the sequence of instructions that execute for that process
12.1.2. show how traces of processes are interleaved
12.2. Dispatcher
12.2.1. switches the processor from one process to another
13. Two-State Process Model
13.1. Running
13.1.1. the process is currently being executed
13.2. Not running
14. Process Creation
14.1. Process spawning
14.1.1. OS creates a process at the explicit request of another process
14.2. occurs when a new process is added to those currently being managed processes
14.3. Parent process
14.3.1. original process
14.4. OS build data structures to manage the process and allocates address space in main memory
14.5. Child process
14.5.1. new process
15. One or more threads in a process
15.1. an execution state
15.2. saved thread context when not running
15.3. an execution stack
15.4. some per-thread static storage for local variables
15.5. access to memory and resources
16. Operating System Control Structure
16.1. manage processes and resources
16.2. construct and maintains information
16.3. Types of tables by OS
16.3.1. memory tables
16.3.2. IO tables
16.3.3. File tables
16.3.4. Process tables