进程
进程的组成
进程由程序段、相关数据段和PCB组成。
进程的概念及结构
进程是具有独立功能的程序在一个数据集合上运行的过程,它是系统进程资源分批和调度的基本单位。
由程序段、相关数据段和PCB三部分构成了进程实体(又称进程映像)。
线程的概念及结构
线程是进程内的一个执行实体或执行单元
线程由线程ID、程序计数器、寄存器集合和堆栈组成。
进程与线程的比较
- 系统调度。在引入线程的操作系统中,进程不再是系统调度调度的基本单位,线程作为系统调度的基本单位。
- 并发执行。在引入线程的操作系统中,不仅进程间可以并发执行,而且一个进程内的多个线程也可以并发执行。比传统的OS具有更好的并发性。
- 资源分配。每个进程都能独立地申请资源和独立运行;线程除了在运行中必不可少的资源外,本身不拥有系统资源,同一进程的多个线程则共享进程的内存地址空间和其他资源,线程间的独立性比进程之间的独立性要低。
- 开销。OS在创建、撤销和切换进程时所付出地开销明显地多于线程。
- 支持多处理机系统。多线程地进程可以将多个线程分配到多个处理机上,从而获得更好的并发效果。
进程的特征
- 动态性。进程是程序的一次执行过程,由创建而产生,由调度而执行、由撤销而消亡。
- 并发性。多个进程实体能在一段时间内同时执行。
- 独立性。进程实体是一个能够独立运行、独立分配资源和独立接受调度的基本单位。
- 异步性。各进程可按各自独立的、不可预知的速度向前推进。
进程的状态及转移
三种基本状态
- 就绪态:进程已获得除CPU以外的所有必要资源,只要得到CPU,即可立即执行。
- 运行态:进程已得到CPU,其程序正在CPU上执行
- 阻塞态:正在执行的进程因某种事件(如I/O请求)的发生而暂时无法继续执行,只有等相应的事