阅读以下技术说明和C语言代码,根据要求回答问题1至问题6。 【说明】 有两个进程(编号分别为0和1)需要访问同一个共享资源。为了解决竞争条件(race condition)的问题,需要实现一种互斥机制,使得在任何时刻只能有一个进程访问该共享资源

admin2009-02-15  36

问题 阅读以下技术说明和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),如打印机、共享变量和表格等。
转载请注明原文地址:https://jikaoti.com/ti/HkW7FFFM
0

相关试题推荐
最新回复(0)