操作系统2:CPU调度,同步和死锁

您所在的位置:网站首页 假设有n个进程,m个资源 操作系统2:CPU调度,同步和死锁

操作系统2:CPU调度,同步和死锁

2024-07-16 06:11| 来源: 网络整理| 查看: 265

需要有一定的机制去维持一致性

比如上一节提到的有限缓冲区问题中,我们维护一个counter来记录缓冲区中item的个数,其中两个进程producer和customer分别需要执行counter++和counter--,但是这两种操作需要满足原子性(运行的时候不允许被中断),如果两个进程producer和customer都想要改变counter,就可能导致数据的不一致性

一个counter++的操作编译成汇编语言可能就是,counter--同理,区别是寄存器不同 123regiter1 = counter;register1 = register1 + 1;counter = register1;

一个神奇的题目:

12345678910111213有两个进程P1、P2,它们分别执行下面的程序体,其中total是两个进程都能访问的共享变量,初值为0(可理解为共享存储段中的存储单元),count是每个进程的私有变量。假设这两个进程并发执行,并可自由交叉(interleave),则这两个进程都执行完后,变量total可能得到的最小取值是A. 50 B. 1 C. 2 D. 3;P1: { int count; for ( count =1; count


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3