- 1、本文档共83页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
信号量和p、v操作
其中, 调用了换出过程swapout将数据集复制到外存交换区并返回相应的地址。进程实体中的执行程序并未被复制到交换区,因为执行程序文件尚在外存并未被撤销,但仍要回收它所占用的内存空间(若它未被其它进程共享),这样做的好处是减少了交换时间。 procedure activate(i); begin memallocate(i.datasize,add); if add=NIL then return(false); swapin(i.swapadd,i.datasize,add); i.dataadd:=add; filestate(i.prog,add,size); if add=NIL then begin memallocate(size,add); if add=NIL then begin memrelease(i.dataadd,i.datasize); return(false); end; read(i.prog,size,add); end; i.textadd:=add; i.state:=if i.state=′readys′then′ready′ else′waited′; return(true); end; 3.3 阻塞与唤醒 进程从执行态到等待态以及从等待态到就绪态的过渡分别是通过阻塞原语block和唤醒原语wakeup实现的。 当现行进程需要等待某个事件时, 可调用block原语使自己加入到该事件的等待队列中,调用参数为等待队列指针。操作系统为每类事件设置一个等待队列,当某个事件发生时, 通过wakeup原语移出相应等待队列中的某个进程, 将其送入应绪队列,调用参数也是等待队列指针,下面是block原语和wakeup原语的类PASCAL语言描述: procedure block(q); begin save(EXE); EXE.state:=′waited′; EXE.queue:=q; insert(q,EXE); EXE:=NIL; scheduler; end procedure wakeup(q); begin outqueue(q,i); i.state:=if i.state=′waited′ then ′ready′ else′readys′; i.queue:=RQ; insert(RQ,i); end; §4 进 程 同 步 4.1 同步概念 对同步与互斥的上述解释表明,它们的实质都是对进程在执行时序上的某种限制。因此,可把它们归结为:并发进程在执行时序上的相互制约关系。这就是广义同步概念。故在广义上,互斥是一种特殊的同步。 4.2 临界区 并发进程可以共享系统中的各种资源,但是系统中某些资源具有一次只允许一个进程所使用的属性,我们称这样的资源为临界资源。换言之,若有一进程正在使用某临界资源,那么其他欲使用该资源的进程必须等待,只有当占有者释放后,其他进程才能使用。也就是说,共享临界资源的进程必须互相排斥。 许多物理设备都属于临界资源,如输入机、打印机、磁带机等。还有许多可以被几个进程所修改的共享变量(如公共变量、数据、表格、队列等)也是临界资源。例如,进程A和B共享一个公共变量count,都要对count执行“count:=count+1”操作,但是在许多计算机上完成这一操作,实际上是由三条指令来实现的,如: LD R1,count INC R1 LD count, R1 由于进程A和B异步前进,故A、B中相同的这个指令串可能在逐条指令基础上交叉执行,比如产生序列: A:LD R1,count A:INC R1 B:LD R1,count A:LD count,R1 B:INC R1 B:LD count,R1 count经A、B访问后,只加了1,而不是所希望的2。为了防止发生这种与时间有关的错误,变量count必须按临界资源处理。 系统的同步机构对解决临界区互斥问题应遵循下述准则: (1)当无一进程处于临界区内时,若有一进程要求进入临界区,应让其立即进入-有空让进; (2)当已有进程在临界区内时,其他
您可能关注的文档
- untitled - 教学督导评估中心欢迎您 - 湖南文理学院.pdf
- 车辆煞车碟片热固耦合与疲劳分析.pdf
- 国外自升式悬臂梁钻井平台结构特点 - 海洋石油.pdf
- untitled - 金航数码科技有限责任公司.pdf
- 资料库正规化(normalizaton).ppt
- 圆柱体上微带天线阵的研究.pdf
- 其次为肾癌、肾盂肿瘤.ppt
- 海表面动力和热力过程耦合的重.pdf
- 花生籽仁蛋白质含量近红外光谱模型的建立 - 中国农学通报.pdf
- 63 表面安装技术(smt).ppt
- 2024年江西省高考政治试卷真题(含答案逐题解析).pdf
- 2025年四川省新高考八省适应性联考模拟演练(二)物理试卷(含答案详解).pdf
- 2025年四川省新高考八省适应性联考模拟演练(二)地理试卷(含答案详解).pdf
- 2024年内蒙通辽市中考化学试卷(含答案逐题解析).docx
- 2024年四川省攀枝花市中考化学试卷真题(含答案详解).docx
- (一模)长春市2025届高三质量监测(一)化学试卷(含答案).pdf
- 2024年安徽省高考政治试卷(含答案逐题解析).pdf
- (一模)长春市2025届高三质量监测(一)生物试卷(含答案).pdf
- 2024年湖南省高考政治试卷真题(含答案逐题解析).docx
- 2024年安徽省高考政治试卷(含答案逐题解析).docx
文档评论(0)