- 进程的组成讨论的是一个进程内部由那些部分构成的问题,而进程的组织讨论的是多个进程之间的组织方式问题
- 进程的组织方式
- 动态性:进程是程序一次执行过程,是动态地产生/变化和消亡的
- 动态性是进程最基本的特征
- 并发性:内存中有多个进程实体,各进程可并发执行
- 独立性:进程是能独立运行/独立获得资源/独立接受调度的基本单位
- 进程是资源分配/接受调度的基本单位
- 异步性:各进程独立的/不可预知的速度向前推进,操作系统要提供“进程同步机制”来解决异步问题
- 结构性:每个进程都会配置一个PCB。结构上看,进程由程序段/数据段/PCB组成
- 主要功能是对系统中的所有进程实施有效管理
- 如何实现进程控制
- 原语做的事情
- 进程通信就是进程之间的信息交换
- 为了保证安全,一个进程不能直接访问另一个进程的地址空间。
- 进程之间的信息交换又是必须实现的。
- 进程通信
- 线程可以看作“轻量级进程”
- 线程是一个基本的CPU执行单元,也是程序执行流的最小单元。
- 引入线程后,不仅进程之间可以并发,进程内的各个线程之间也可以并发,使得一个进程内也可以并发处理各种任务。
- 引入线程后,进程只作为除了CPU之外的系统资源的分配单元,如打印机,内存地址空间
- 线程成为处理机的分配单元
- 线程的属性
- 线程是处理机调度的单位
- 多CPU计算机中,各个线程可占用不同的CPU
- 每个线程都有一个线程ID,线程控制块(TCB)
- 线程也有就绪、阻塞、运行三种基本状态
- 线程几乎不占有系统资源
- 同一进程的不同线程间共享进程的资源
- 由于共享内存地址空间,同一进程中的线程间通信甚至无需系统干预
- 同一进程中的线程切换,不会引起进程切换
- 不同进程中的线程切换,会引起进程切换
- 切换同进程内的线程,系统开销很小
- 切换进程,系统开销较大
- 线程的实现方式
- 多线程模型