(1) 实现进程同步机制必须遵循哪几条准则,含义是什么?
(2) 假设操作系统采用非抢占调度策略,sys_nc()是主动放弃CPU的系统函数。对于以下程序代码,可能违反什么同步准则?
int a;
进程1 () {
sys_nc();
a=a+1;
}
进程2 () {
a=a-1;
sys_nc();
}
(3) 采用信号量来进行进程同步可以很好地满足进程同步原则。现假设有一个共享数据库,允许进程对数据库进行查询和更新两种操作,规则是查询操作可以允许多个进程同时查询,但更新必须是排他性的,即每次只允许一个进程更新数据库,请信号量和P、V操作来完成这一步进程同步问题(要求:必须首先给出所设置信号量的意义及初值)