试比较进程与程序的异同。
答:进程和程序是紧密相关而又完全不同的概念。
(1)每个进程实体中包含了程序段、数据段这两个部分,因此说进程和程序是紧密相关的。
但从结构上看,进程实体中除了程序段和数据段外,还必须包含一个数据结构,即进程控制块PCB。
(2)进程是程序的一次执行过程,因此是动态的;动态性还表现在进程由创建产生、由调度而执行、由撤销而消亡,即它具有一定的生命周期。
而程序则只是一组指令的有序集合,并可永久地存放在某种介质上,其本身不具有动态的含义,因此是静态的。
(3)多个进程实体可同时存放在内存中并发执行,其实这正是引入进程的目的。
而程序的并发执行具有不可再现性,因此程序不能正确地并发执行。
(4)进程是一个能够独立运行、独立分配资源和独立接受调度的基本单位。
而因程序不具有PCB,所以它是不可能在多道程序环境下独立运行的。
(5)进程和程序不一一对应。
同一个程序的多次运行,将形成多个不同的进程;同一个程序的一次执行也可以产生多个进程;而一个进程也可以执行多个程序。
什么是进程控制块?它有什么作用?答:进程控制块PCB是一个记录进程属性信息的数据结构,是进程实体的一部分,是操作系统中最重要的数据结构。
当操作系统要调度某进程执行时,需要从该进程的PCB中查询其现行状态和优先级调度参数;在调度到某进程后,要根据其PCB中保存的处理机状态信息去设置和恢复进程运行的现场,并根据其PCB 中的程序和数据的内存地址来找到其程序和数据;进程在执行过程中,当需要与其它进程通信时,也要访问其PCB;当进程因某种原因而暂停执行时,又需要将断点的现场信息保存在其PCB中。
系统在建立进程的同时就建立了该进程的PCB,在撤销一个进程时也就撤销其PCB。
由此可知,操作系统根据PCB来对并发执行的进程进行控制和管理,PCB是进程存在的惟一标志。
什么是原语?答:原语是由若干条机器指令构成的一段程序,用以完成特定的功能。
这段程序在执行期间不可分割。
也就是说,原语的执行不能被中断,所以原语操作具有原子性。
进程和线程的主要区别是什么?答:从调度、并发性、系统开销、拥有资源等方面来比较线程和进程:⑴调度。
在传统的操作系统中,独立调度、分派的基本单位是进程。
而在引入线程的操作系统中,则把线程作为调度和分派的基本单位。
⑵并发性。
在引入线程的操作系统中,不仅进程之间可以并发执行,而且在一个进程中的多个线程之间亦可并发执行,因而使操作系统具有更好的并发性,从而能更有效地使用系统资源和提高系统吞吐量。
⑶拥有资源。
不论是传统的操作系统,还是设有线程的操作系统,进程都是拥有资源的一个独立单位,它可以拥有自己的资源。
一般地说,线程自己不拥有系统资源(也有一点必不可少的资源),但它可以访问其隶属进程的资源。
⑷系统开销。
由于在创建、撤销或切换进程时,系统都要为之分配或回收资源,保存CPU现场。
因此,操作系统所付出的开销将显著地大于在创建、撤销或切换线程时的开销。
产生死锁的四个必要条件是什么?答:⑴互斥条件。
进程要求对所分配的资源进行排它性控制,即在一段时间内某资源仅为一进程所占有。
⑵请求和保持条件。
当进程因请求资源而阻塞时,对已获得的资源保持不放。
⑶不剥夺条件。
进程已获得的资源,在未使用完之前,不能被剥夺,只能在使用完时由自己释放。
⑷环路等待条件。
在发生死锁时,必然存在一个进程——资源的环形链。
一、单项选择题1.下面对进程的描述中,错误的是(D )。
A、进程是动态的概念B、进程执行需要处理机C、进程是有生命周期的D、进程是指令的集合2.进程的组成部分中( A)是进程存在的惟一标志。
A、PCBB、数据集合C、共享程序D、非共享程序3.进程从运行状态到阻塞状态可能是由于( A)。
A、现运行进程执行了P操作B、现运行进程时间片用完C、现运行进程执行了V操作D、进程调度程序的调度4.进程从运行态到阻塞态不可能是由于现运行进程(D )。
A、出现缺页中断B、发生越界中断C、申请磁带读/写D、执行了V操作5.在进程管理中,当( C)时,进程从阻塞状态变为就绪状态。
A、进程被进程调度程序选中B、等待某一事件C、等待的事件发生D、时间片用完6.引入多道程序设计技术的目的在于(A)。
A、充分利用CPU,增加单位时间内的算题量B、充分利用存储器C、有利于代码共享,减少主、辅存信息交换量D、提高每一个算题的速度8.已经获得了除( C)以外的所有运行所需资源的进程处于就绪状态。
A、存储器B、打印机C、CPUD、磁盘空间9.下列进程变化状态中,(C )变化是不可能发生的。
A、运行->就绪B、运行->阻塞C、阻塞->运行C、阻塞->就绪10.时间片轮转调度算法经常用于(C )。
A、单用户操作系统B、实时系统C、分时操作系统D、批处理系统11.抢占式的优先数调度算法在(D)中很有用。
A、网络操作系统B、分布式系统C、批处理系统D、实时系统12.系统可把等待资源的进程组织成等待队列,这样的等待队列有(D)。
A、0个B、1个C、2个D、1个或多个13.进程调度的关键问题是(B)A、时间片大小B、进程调度算法C、CPU速度D、内存空间利用率14.一次中断后可能引起若干个进程状态的变化,因此中断处理后,由(A )来决定哪个进程可占用处理器。
A、进程调度B、页面调度C、移臂调度D、作业调度15.采用时间片轮转调度算法是为了(A )A、多个终端用户能得到系统的及时响应B、先来先服务.C、需CPU最短的进程先执行D、优先级高的进程能得到及时调度17.在操作系统中,进程是一个具有独立运行功能的程序在某个数据集合上的一次(B )。
A、等待过程B、运行过程C、单独过程D、关联过程18.多道程序环境下,操作系统分配资源以(D)为基本单位。
A、程序B、指令C、作业D、进程19.两个进程合作完成一个任务。
在并发执行中,一个进程要等待其合作伙伴发来消息,或者建立某个条件后再向前执行,这种制约性合作关系被称为进程的(A )。
A、同步B、执行C、互斥D、调度20、按用途文件可分为用户文件、库文件和(C )。
A. 只读文件B. 只写文件C. 系统文件D. 索引文件21、硬件在中断过程中参与的一项工作是(A)A. 交换PSWB. 修改信号量C. 保留现场D. 恢复现场22、分页式存储管理系统中,地址的构成为(C )A. 页号B. 页内地址C. 页号和页内地址D. 页号23、发生死锁的必要条件有四个,要预防死锁的发生,可以破坏这四个必要条件,但破坏(A )条件是不太实际的。
A. 互斥B. 请求和保C. 不剥夺D. 环路等待24、在操作系统中,进程是一个具有独立运行功能的程序在某个数据集合上的一次(B )。
A. 等待过程B. 运行过程C. 单独过程D. 关联过程25、(A)优先权是在创建进程的时候确定的,确定之后在整个进程运行期间不再改变。
A. 静态B. 短作业C. 动态D. 高响应比26.启动外设前必须组织好通道程序,通道程序是由若干( A )组成。
A. CCWB. CSWC. CAWD. PSW27、两个进程合作完成一个任务。
在并发执行中,一个进程要等待其合作伙伴发来消息,或者建立某个条件后再向前执行,这种制约性合作关系被称为进程的(A )。
A. 同步B. 执行C. 互斥D. 调度填空题:1、对待死锁,一般应考虑死锁的预防、避免、检测和解除四个问题。
典型的银行家算法是属于避免死锁,破坏环路等待条件是属于预防死锁,而剥夺资源是解除死锁的基本方法。
2、死锁产生的四个必要条件是互斥、请求和保持、不剥夺和环路等待。
3、进程的调度方式有两种,一种是剥夺式,另一种是费剥夺式。
4、在先来先服务调度算法中,按照进程进入就绪队列的先后顺序来分配处理机。
5、进程间的高级通信机制可归结为3大类,分别是共享存储器系统、消息传递系统和管道通信。
6、信号量的物理意义是当前信号量的值大于零时表示可用资源的数目;当信号量值小于零时,其绝对值表示因请求该资源而被阻塞的进程数目。
7、进程调度算法常用的有先来先服务、短进程优先、时间片轮转调度算法等几种。
8、线程是进程中可独立执行的子任务,一个进程中可以有一个或多个线程,每个线程都有一个惟一的标识符。
9、进程完成任务后,系统收回进程占用的资源和取消进程控制块(PCB)后就撤销了该进程。
10、进程主要由程序段、数据段、进程控制块(PCB三部分内容组成,其中进程控制块(PCB)是进程存在的惟一标志。
11、临界资源的概念是多个进程必须互斥访问的资源,而临界区是指进程中访问临界资源的那部分代码。
12、把一个程序在某个数据集合上的一次执行称为一个进程。
13、进程的基本特征有动态性、并发性、独立性、异步性和结构特征。
14、按进程执行过程中不同时刻的不同状况定义三种基本状态为就绪态、运行态、阻塞态。
把相同状态的进程链接在一起构成队列,以便管理和调度。
P就是请求资源,V就是释放资源。
问题1 一个司机与售票员的例子在公共汽车上,为保证乘客的安全,司机和售票员应协调工作:停车后才能开门,关车门后才能行车。
用PV操作来实现他们之间的协调。
S1:是否允许司机启动汽车的变量S2:是否允许售票员开门的变量driver()//司机进程{while (1)//不停地循环{P(S1);//请求启动汽车启动汽车;正常行车;到站停车;V(S2); //释放开门变量,相当于通知售票员可以开门}}busman()//售票员进程{while(1){关车门;V(S1);//释放开车变量,相当于通知司机可以开车售票P(S2);//请求开门开车门;上下乘客;}}注意:busman() driver() 两个不停循环的函数问题2一家四人父、母、儿子、女儿围桌而坐;桌上有一个水果盘;当水果盘空时,父亲可以放香蕉或者母亲可以放苹果,但盘中已有水果时,就不能放,父母等待。
当盘中有香蕉时,女儿可吃香蕉,否则,女儿等待;当盘中有苹果时,儿子可吃,否则,儿子等待。
解设信号量:SE=1 (空盘子);SA=0 (放了苹果的盘子);SB=0 (放了香蕉的盘子)父亲REPEAT剥香蕉P(SE)放香蕉V(SB)UNTIL FALSE 母亲REPEAT削苹果P(SE)放苹果V(SA)UNTILFALSE儿子P(SA)拿苹果V(SE)吃苹果女儿P(SB)拿香蕉V(SE)吃香蕉。