进程的概念
- 进程是一个具有一定独立功能的程序的一次运行活动,同时也是资源分配的最小单元
进程与程序的关系
- 程序是放到磁盘的可执行文件,进程是指程序执行的实例
- 进程是动态的,程序使静态的
- 进程是暂时的,程序使长久的
- 进程与程序组成不同:进程的组成包括程序、数据和进程控制块(即进程状态信息)
- 进程与程序的对应关系:通过多次执行,一个程序可对应多个进程;通过调用关系,一个进程可包括多个程序。
进程的生命周期
- 创建: 每个进程都是由其父进程创建进程可以创建子进程,子进程又可以创建子进程的子进程
- 运行: 多个进程可以同时存在进程间可以通信
- 撤销: 进程可以被撤销,从而结束一个进程的运行
进程的状态
- 执行状态:进程正在占用CPU
- 就绪状态:进程已具备一切条件,正在等待分配CPU的处理时间片
- 等待状态:进程不能使用CPU,若等待事件发生则可将其唤醒
进程地址空间
- “数据段”存放的是全局变量、常数以及动态数据分配的数据空间;
- “代码段”存放的是程序代码的数据。
- “堆栈段”存放的是子程序的返回地址、子程序的参数以及程序的局部变量等。
进程中的概念
- 进程ID(PID):标识进程的唯一数字
- 进程互斥:是指当有若干进程都要使用某一共享资源时,任何时刻最多允许一个进程使用,其他要使用该资源的进程必须等待,直到占用该资源者释放了该资源为止
- 临界资源:操作系统中将一次只允许一个进程访问的资源
- 临界区:进程中访问临界资源的那段程序代码
- 进程间的同步: 一组并发进程按一定的顺序执行的过程
- 合作进程:具有同步关系一组并发进程
- 消息或事件:合作进程间互相发送的信号
- 进程的调度:按一定算法,从一组待运行的进程中选出一个来占有CPU运行。
- 调度方式: 抢占式 、非抢占式
- 调度算法
先来先服务调度算法
短进程优先调度算法
高优先级优先调度算法
时间片轮转法 - 死锁:多个进程因竞争资源而形成一种僵局若无外力作用,这些进程都将永远不能再向前推进