第3章 进程(processes)
- 进程的概念
- 进程的不同特点
- 客户机-服务器之间的通信
进程概念
- 进程:执行中的程序,当前的活动,是一个活动实体
- 进程包括程序,但是程序不是进程!
- 进程的状态包括:新的(创建)、运行(执行)、等待(等待某个事件)、就绪(等待CPU的调度)、终止(结束)
- 各个状态之间的关系详见第73页的3.2图
- 进程控制块:进程状态、程序计数器(表示进程要执行的下一个指令的地址)、CPU寄存器、CPU调度信息、内存管理信息(基址、界限寄存器的值、页表及段表、I/O状态信息)
- 线程:第四章详细讨论
进程调度
选择一个可用的进程到CPU上执行
- 就绪队列:驻留在内存中就需的、等待运行的进程
- 长期调度程序(long-term scheduler):也称为作业调度程序,从大容量的存储器中选择进程在执行
- 短期调度程序(short-term scheduler):也称为CPU调度程序,从准备执行的进程中选择进程,并为之分配CPU
上下文切换
中断使CPU从当前程序切换为内核程序
- 通常需要先进行状态保存,再进行状态保护
- 旧状态使储存在PCB中的,及进程控制块里面
进程操作
包括进程的创建与进程的删除
进程的创建
- 创建进程称为父进程,新进程叫做子进程
- 子进程可以从操作系统中得到资源,也可以被限定只能从父进程中得到资源
- 不同进程有一个唯一的标识符,即pid。
- 父进程通过wait可以等待子进程结束后再继续操作
- 如果只是复制,并未进行写操作,父子进程可以公用一份代码;如果有修改,则子进程生成一份副本在进行操作
进程的终止
- 当父进程终止时,子进程也会随之终止
进程间的通信
进程间通信有两种基本模式:(1)共享内存,(2)消息传递
- 共享内存:解决生产者-消费者问题
- 消息传递:
- 直接通信or间接通信(通过邮箱)
- 同步通信or异步通信(也分为阻塞跟非阻塞通信)