Process and Threads

Get Started. It's Free
or sign up with your email address
Rocket clouds
Process and Threads by Mind Map: Process and Threads

1. Process Elements

1.1. Program code

1.1.1. which may be shared with other processes that are executing the same program.

1.2. A set of data associated with that code

1.2.1. when the processor begins to execute the program code, we refer to this executing entity as a process .

1.3. Example

1.3.1. 1) identifier

1.3.2. 2) state

1.3.3. 3) priority

1.3.4. 4) program counter

1.3.5. 5) memory pointers

1.3.6. 6) context data

1.3.7. 7) I/O status information

1.3.8. 8) accounting information

2. Process

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.

3. Process Control Block

3.1. contains process elements.

3.2. created and managed by OS.

3.3. Key tool that allows support for multiple processes.

4. Process Creation

4.1. Process spawning

4.1.1. when the OS creates a process at the explicit request of another process.

4.2. Parent process

4.2.1. is the original, creating, process.

4.3. Child process

4.3.1. is the new process .

5. Suspended Processes

5.1. Swapping

5.1.1. swap the waiting process from RAM and put into hard disk.

5.2. Characteristics

5.2.1. The process may or may not be waiting on an event.

5.2.2. The process is not immediately available for execution .

6. Process and Threads

6.1. resource Ownership

6.1.1. Process includes a virtual address space to hold the process image.

6.2. Scheduling/Execution

6.2.1. Follows an execution path that may be interleaved with other processes .

6.3. The unit of dispatching is referred to as a thread or lightweight process.

6.4. The unit of resource ownership is referred to as a process or task.

6.5. Multithreading

6.5.1. The ability of an OS to support multiple, concurrent paths of execution within a single process .

7. One or More Threads in a Process

7.1. Each thread has

7.1.1. • an execution state (Running, Ready)

7.1.2. • saved thread context when not running

7.1.3. • an execution stack

7.1.4. • some per-thread static storage for local variables

8. Benefits of Threads

8.1. Takes less time to create a new thread than a process.

8.2. Less time to terminate a thread than a process.

8.3. Switching between two threads takes less time than switching between processes.

8.4. Threads enhance efficiency in communication between programs.