CIS 3110 Lecture Notes - Lecture 9: Posix Threads, Parent Process, Program Counter
Document Summary
Process: a unit if resource ownership(address space,i/o channels, devices, files) and execution path(interleaved with other processes/state). Defined to have at least one thread of execution and may launch other threads which execute concurrently with the process. Thread: an independent program counter operating within a process. Access to the memory and resources of its processes. All the threads of a process share the state and resources of the parent process. Can be blocked without blocking the remaining threads in process. Threads are scheduled equal to processes or within the parent processes quantum. Threads are implemented in kernel support or/and user level threads. Program counter, registers, stack/heap pointers and other control registers. Program code, data, address space, memory mapping, disk swapping, resources. Os supports multiple threads of execution within a single process. Separate control blocks for the process and each thread. All thread management is done by the application. The kernel is not aware of the existence of threads.