A 银行家算法
B 测试与设置(Test-And-Set)指令
C 时间片轮转算法
D LRU算法
第1题:
阅读以下技术说明和C语言代码,根据要求回答问题1至问题6。
【说明】
有两个进程(编号分别为0和1)需要访问同一个共享资源。为了解决竞争条件(race condition)的问题,需要实现一种互斥机制,使得在任何时刻只能有一个进程访问该共享资源。以下【C代码1】给出了一种实现方法。
【C代码1】
int flag[2]; /+flag数组,初始化为FALSE*/
Enter_Critical_Section(int my_task_id, int other_task_id)
{ while (flag[other_task_id]==TRUE); /*空循环语句*/
flag[my_task_id]=TRUE;
}
Exit_Critical_Section(int my_task_id, int other_task_id)
{ flag[my_task_id]=FALSE;
}
当一个进程要访问临界资源时,就可以调用【C代码1】给出的这两个函数。【C代码2】给出了进程0的一个例子。
【C代码2】
Enter_Critical_Section(0,1);
……使用这个资源……
Exit_Critical_Section(0,1);
……做其他的事情……
什么是临界资源(critical resource)?请用100字以内的文字简要说明。
第2题:
解决进程同步与互斥问题时,对信号量进行P原语操作是在下列哪类代码区完成的?
A.进入区
B.临界区
C.退出区
D.剩余区
第3题:
关于Windwos的同步进制不正确的是 。
A.临界区机制CRITICAL_SECTION可以用于进程间的同步。
B.WaitForMultipleObjects函数可能会使调用线程阻塞。
C.信号量机制Semaphore允许指定个数的线程同时访问临界区。
D.ReleaseSemaphore函数具有P-V操作中的V操作的作用。
第4题:
A.临界资源本身
B.可读写的共享资源
C.访问临界资源的代码
D.只读的共享资源
第5题:
ICMP协议不仅可以用来报告网络错误,也可以用来解决网络问题。