计算机操作系统面试知识点整理

发布时间 : 星期二 文章计算机操作系统面试知识点整理更新完毕开始阅读

止(3)祖先进程要求撤销某个子进程。在一般操作系统中进程撤消的系统调用是:kill UNIX系统中是exit() 如果撤销进程有自己的子进程,则撤销原语先撤销其子进程的PCB结构并释放子进程所释放的资源后,再撤销当前进程的PCB结构和释放其资源。 进程的阻塞与唤醒

当一个处在运行状态的进程,因等待某个事件的发生(如等待打印机)而不能继续运行时,将调用进程挂起系统调用,把进程的状态置为阻塞状态,并调用进程调度程序(等于让出处理机)。

进程从运行状态转换成阻塞状态是由进程挂起原语实现的,因此,调用进程挂起操作是在进程处于运行状态下执行的。它的执行将引起等待某事件的队列的改变.

一个正在运行的进程会因等待某事件(例如,等待打印机)的发生,由运行状态转换成阻塞状态,当它等待的事件发生后,这个进程将由阻塞状态转换成就绪状态。这种转换由进程唤醒操作完成。

唤醒一个进程有两种方式:系统进程唤醒、事件发生进程唤醒。

调用进程唤醒操作一般在中断处理、进程通信等过程中。例如,打印机完成中断处理程序, 在完成了打印完成的操作后,就去检查等待打印机的队列,若不为空,则调用进程唤醒操作,唤醒一个(或多个)等待打印机的进程。 4.进程互斥

产生互斥的原因:资源共享、进程合作

★临界资源:一次仅允许一个进程使用的资源称为临界资源。

★临界区:每个进程中访问临界资源的那段程序段称为临界区(临界段)。

间接制约:由于共享某公有资源而引起的在临界区内不允许并发进程交叉执行的现象称为有共享公有资源而造成的对并发进程执行速度的间接制约,简称间接制约。

★互斥:在操作系统中,当某一进程正在访问某临界区时,就不允许其它进程进入,否则就会发生(后果)无法估计的错误。我们把进程之间的这种相互制约的关系称为互斥。 进入临界区的准则:

(1)不能假设各并发进程的相对执行速度;

(2)并发进程中的某个进程不在临界区时,它不能阻止其他进程进入临界区; (3)并发进程中的若干个进程申请进入界区时,只能允许一个进程进入; (4)当有若干个进程欲进入临界区时,应在有限的时间内使其进入。 解决进程互斥的最简单的办法是加锁。 在系统中为每个临界资源设置一个锁位, ? 1 表示资源可用,

? 0 表示资源已被占用(不可用)。

这样当一个进程使用某个临界资源之前必须完成下列操作: 1、考察锁位的值;

2、若原来的值是为“1”,将锁位置为“0”(占用该资源); 3、若原来值是为“0”,(该资源已被别人占用),则转到1。 当进程使用完资源后,将锁位置为“1“,称为开锁操作。 5.信号量与P、V原语

★信号量sem:是一个整数,在sem大于等于零时,代表可供并发资源使用的资源实体数,但sem小于零时则表示正在等待使用临界区的进程数。sem代表资源的实体。在实际应用中应准确地说明sem的意义和初值。 ★P操作: (1)sem减1;

(2)若sem减1后仍大于等于0,则进程继续执行; (3)若结果小于0,则该进程挂起。

注:挂起该进程包括:保留调用进程CPU现场;置“等待”状态;入等待队列;转进程调度;

V操作: (1)s值加1;

(2)若相加结果大于0,进程继续执行;

(3)否则,唤醒一个(或多个)等待该信号灯的进程,然后本进程继续执行或转进程调度。

★ P、V原语实现互斥的原理

当一个进程想要进入临界区时,它必须先执行P原语操作以将信号量sem减1。在一个进程完成对临界资源的操作后,它必须执行V原语操作以释放它占用的临界资源。由于信号量初始值为1,所以,任一进程在执行P原语操作之后将sem的值变为0,表示该进程可以进入临界区。在该进程未执行V原语操作之前如有另一进程想进入临界区的话,它也应先执行P原语操作,从而使sem的值变为-1,因此,第二个进程将会被阻塞,直到

第一个进程执行V原语操作之后,sem的值变为0,从而可唤醒第二个进程进入就绪队列,经调度后进入临界区。在第二个进程执行完V原语操作之后,如果没有其它进程申请进入临界区的话,则sem又恢复到初始值。

用信号量实现两并发进程Pa,Pb互斥的描述如下: (1) 设sem为互斥信号量,其取值范围为(1,0,-1)。

其中sem=1标志进程Pa,Pb都未进入类名为S的临界区,sem=0表示进程Pa,Pb已进入类名为S的临界区,sem=-1表示进程Pa,Pb中,一个进程已进入临界区,而另一进程等待进入临界区。 (2) 描述 Pa: P(sem) V(sem): …………. Pb: P(sem) V(sem):: ………….

联系合同范文客服:xxxxx#qq.com(#替换为@)