进程模型
- 进程存在的原因:在多道程序系统中,描述并发(伪并行)。
- 进程定义:一个这个在执行的程序的映像(实例),包括许多状态,如:PC、Register、变量的当前值。
多道程序设计:内存中同时能够容纳多个程序
进程状态
- 运行态。该时刻实际占用CPU
- 就绪态(暂停态)。可运行,等待其他进程运行结束。
- 阻塞态。等待某种外部事件的发生。
进程的创建与终止
进程创建
- Fork():创建进程的系统调用。创建一个与调用进程相同的副本。
- 修改共享内存:不可写的内存是共享的。如果全部内存都是共享的,那么需要采用写时复制技术。
写时复制:保证子进程不会修改父进程的共享内存。在写之前,复制到内存的其他区域,然后建立内存映射。
进程终止
- Exit():终止进程。
- 退出条件:
- 正常退出(自愿)
- 错误退出(自愿)
- 严重错误(非自愿)
- 进程被杀死(非自愿)
进程的实现
- 操作系统维护一张表:进程表也成为进程控制块PCB
多道程序设计模型
- 采用多道程序设计可以提高CPU利用率
- 假设一个进程等待I/O操作的时间与停留在内存的时间比是p。CPU利用率=1- p n p^n pn,n是多道程序设计的道数。