1. 1.Process
1.1. *A program in execution
1.2. *An instance of a running program
1.3. *The entity that can be assigned to, and executed on, a processor
1.4. *A unit of activity characterized by a single sequential thread of execution, a current state, and an associated set of system resources
2. Pogram
2.1. *Passive entity such as contents of a file stored disk.
3. Process
3.1. *Active entity with a program counter specifying the next instruction to be execute .
4. 8.Fve-State Process Model
4.1. *New
4.1.1. *A process is being created
4.2. *Ready
4.2.1. *A process that is prepared to be executed when given chance
4.3. *Blocked
4.3.1. *A process that cannot execute until some events occurs, such as I/O completion
4.4. *Running
4.4.1. *A process that is currently being executed
4.5. *Exit
4.5.1. *A process that has finished its execute
4.6. 9.Suspended Process
4.6.1. *Suspend
4.6.1.1. *A process that has been swapped out of main memory
5. 10.Characteristics of a Suspended Process
5.1. *The process is not immediately available for execution
5.2. *The process may or may not be waiting on an event
5.3. *The process was placed in a suspended state by an agent: either itself, a parent process, or the OS, for the purpose of preventing its execution
5.4. *The process may not be removed from this state until the agent explicitly orders the removal
6. 11.Process and Threads
6.1. *The unit of dispatching is referred to as a thread or lightweight process
6.2. *The unit of resource ownership is referred to as a process or task
6.3. *Multi threading - The ability of an OS to support multiple, concurrent paths of execution within a single process
7. Threads
7.1. *A basic unit of CPU utilization
8. 12.Single Threaded Approaches
8.1. *A single thread of execution per process, in which the concept of a thread is not recognized, is referred to as a single-threaded approach
8.2. *MS-DOS is an example
9. 13.Multithreaded Approaches
9.1. *The right half of multithreaded approaches
9.2. *A Java run-time environment is an example of a system of one process with multiple threads
10. Benefits of Threads
10.1. *Takes less time to create a new thread than a process
10.2. *Less time to terminate a thread than a process
10.3. *Switching between two threads takes less time than switching between processes
10.4. *Threads enhance efficiency in communication between programs
11. 14.Operating System Control Structures
11.1. *To manage processes and resources, OS must have information about the current status of each process and resource
11.2. *The OS constructs and maintains tables of information about each entity that it is managing.
11.3. *Four different types of tables maintained by the OS:
11.3.1. *Memory tables
11.3.2. *IO Tables
11.3.3. *File Tables
11.3.4. *Process Tables
12. 4.Process States
12.1. *Trace
12.1.1. *The behavior of an individual process by listing the sequence of instructions that execute for that process
12.1.2. *The behavior of the processor can be characterized by showing how the traces of the various processes are interleaved
12.2. *Dispatcher
12.2.1. *Small program that switches the processor from one process to another
13. 2.Process Elements
13.1. *Program code
13.1.1. Which may be shared with other process that are executing the same program
13.2. *A set of data associated with the code
13.2.1. when the processor begins to execute the program, refer to executing entity as a proces
14. 3.Process Control block
14.1. *Contains the process elements
14.2. *It is possible to interrupt a running process and latter resume execution as if the interruption had not occurred
14.3. *Created & manage by the operating system
14.4. *Key tool that allows support for multilple process
15. 5.Two-State Process Model
15.1. *Running
15.2. *Not-running
16. 6.Process Creation
16.1. *Process Spawning
16.1.1. *When th OS creates a process at the explicit request of another process
16.2. *Parent process
16.2.1. *Is the original, creating, process
16.3. *Child Process
16.3.1. *IS the new process