监控流程

时间:2015-09-07 05:56:14

标签: c linux multithreading unix operating-system

我有以下代码。问题在于我需要定义变量(台面条件)和函数,以便最多只能有8个进程进行通信(每次1个)。

SesMoni M;

int main() {
...
M.LockoutAccess():

M.FreeAccess():
....
}

Monitor SensorMonitor {
/* Variables???????? */

void LockoutAccess() { /*????????/* }
void freeAccess() { /*????????/* }

到目前为止,我已经获得了基本代码(下面但它仅用于分配单个资源。如何实现此目的,最多允许8个资源将其置于上述代码中?

{
boolean busy;
condition x;

void acquire(int time) {
  if (busy)
    x.wait(time);
}

void release() {
    busy = false;
    x.signal()
}
initialization.code()  {
    busy = false;
    }
}

外部传感器通过串行线连接到计算机。一次只有一个过程可以与传感器通信。串行线路的控制器可以从最多7个进程维持对传感器的访问。 在伪代码中编写监视器以协调对外部传感器的进程访问。

监视器伪代码需要定义监视变量和监视器功能,以便最多只有7个进程实际与传感器通信。

0 个答案:

没有答案