第二章
-
-
- 2.1 常用术语
- 2.2 在操作系统中为什么要引入进程概念?它与程序的差别和关系是怎样的?其基本特征是什么?
- 2.3 PCB的作用,以及如何描述进程的动态性质;
- 2.4 进程进入临界区的调度原则是什么:
- 2.5进程(PCB表)的组织方式
- 2.6.简述信号量的定义和作用。P、V操作原语是如何定义的?
- 2.7 信号量的取值(与相应资源的使用情况有关)
- 2.8 线程和进程的关系
- 2.9 实现线程的主要两张方式,以及其优缺点
- 2.10 管程的组成部分,以及基本特性
- 2.11死锁
- 2.12 死锁、“饥饿”和活锁之间的主要差别
- 2.13 高级进程通信有哪几类,如何各自实现之间的进程通信;
- 2.14 是否所有的共享资源都是临界资源?为什么?
- 2.15 三个信号量
- 2.16 输入、输出两组进程读/写缓冲区需要什么条件
- 2.17 在生产者-消费者问题中,如果对调生产者(或消费者)进程中的两个P操作和两个V操作的次序,会发生什么情况?
- 2.18 银行家算法:避免死锁
-
2.1 常用术语
-
进程:具有独立功能的程序关于某个数据集合上的一次运行活动,是系统进行资源分配和调度的一个独立单位;
-
进程控制块:是对进程在系统中存在和活动的实体的描述,通常由程序、数据集合、栈和PCB等4部分组成;其中
- 程序和数据是组成进程的实体;
- PCB是进程动态特性的集中反映;
- 栈用来保存过程调用和相互传送参数的踪迹;
-
线程:进程中执行运算的最小单位,亦即执行处理机调度的基本单位;
-
进程互斥:逻辑本来完全独立的若干进程,由于竞争同一个资源而产生的相互制约关系;
-
进程同步:逻辑上相关的两个或者多个进程为了完成一项任务,通过协调活动来使用同一资源,而产生的执行时序的约束关系;
-
临界资源:一次仅允许一个进程使用的资源;
-
临界区:在每个进程访问临界资源的那段程序;
-
竞争条件:两个或者多个进程同时访问和操纵相同的数据时,最后的执行结果取于进程运行的精确时序;
-
原语:机器指令的延伸,往往是为完成某些特定的功能而编制的一段系统程序,其操作具有不可分割性;
-
信号量:在多道程序并发执行环境下使用的一种设施,用来保证两个或多个进程的关键代码段不被并发调用,从而有效解决进程间的互斥和同步问题;
-
管程:一个管程定义一个数据结构和能为并发进程在其上执行的一组操作,这组操作能使进程同步和改变管程中的数据;
-
死锁:指在一个进程集合中的每个进程都在等待仅由该集合中的其他进程才能引发的事件而无限期地僵持下去地局面。
-
活锁:指一个或多个进程在轮询地等待某个不可能为真的条件为真,导致一直重复尝试,失败,尝试,失败这样地过程,但始终无法完成。
-
饥饿:在可以预计地时间内,某个或某些进程因为所需的资源一直被其他进程占有或者抢占,导致永远无法完成工作。
2.2 在操作系统中为什么要引入进程概念?它与程序的差别和关系是怎样的?其基本特征是什么?
- 由于多道程序并发执行时共享系统资源,共同决定这些资源的状态,因此各程序在执行过程中就出现了相互制约的新关系,程序出现“走走停停”的状态,用程序这个静态概念已经不能如实反映程序并发执行时的这些特征了,所以引入了进程;
- 进程和程序是两个完全不同的概念
进程 | 程序 |
---|---|
动态 | 静态 |
具有并发性,宏观上同时运行 | 具有顺序性,程序的并发性时通过进程实现的 |
具有独立性,是一个能够独立运行的单位,是系统资源分配的基本单位,是运行调度的基本单位 | 无独立性 |
一个进程可顺序执行多个程序 | 一个程序可有多个进程公用 |
异步前进,相互制约 | 不具备异步性 |
- 进程的功能通过程序实现的,进程的活动主体为程序,不能脱离具体程序而独自存在。
- 进程的特征:
- 动态性;
- 并发性;
- 调度性;
- 异步性;
- 结构性