- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Windows NT的文件映射 采用文件映射(file mapping)机制:可以将整个文件映射为进程虚拟地址空间的一部分来加以访问。在CreateFileMapping和OpenFileMapping时可以指定对象名称。 CreateFileMapping为指定文件创建一个文件映射对象,返回对象指针; OpenFileMapping打开一个命名的文件映射对象,返回对象指针; MapViewOfFile把文件映射到本进程的地址空间,返回映射地址空间的首地址; 这时可利用首地址进行读写; FlushViewOfFile可把映射地址空间的内容写到物理文件中; UnmapViewOfFile拆除文件映射与本进程地址空间间映射关系; 随后,可利用CloseHandle关闭文件映射对象; 小结 掌握 程序顺序执行和并行执行的含义和特点 并行执行的表示方法 临界段的定义、目的、设计原则 同步和互斥的含义、实现方式 信号量机制:信号量定义、物理意义、信号量的使用(互斥、同步、生产者/消费者, 阅读者/写入者等)。 进程通信 作业 5.8 5.16 5.18 5.19 生产者、消费者问题 特点 Wait次序不能颠倒,否则会出现死锁 当E=0,F=n时, P:wait(mutex)-p:wait(E)- S:wait(mutex)-S:wait(F) 当E=n,F=0时, S:wait(mutex)-S:wait(F)- P:wait(mutex)-P:wait(E) 生产者和消费者的缓冲指针P、C不能同时移动。即缓冲分配不能同时进行。 可改进:将两个互斥信号量来分别控制对指针P、C的操作。 阅读者、写入者问题 定义:指多个进程对一个共享资源进行读写操作的问题。 阅读者:对共享资源进行读操作的进程。 写入者:对共享资源进行写操作的进程 原则: 任何时候写入者最多只允许1个,阅读者可有多个; 对共享资源的读写操作限制关系包括: “读”-“写” :互斥 “写”-“写”:互斥 “读”-“读”:允许 当无写入者正在访问共享数据集时,阅读者可以进行访问,否则必须等待。 当无阅读者正在访问共享数据集时,写入者可以进行访问,否则必须等待。 阅读者、写入者问题 信号量的考虑: 两个共享资源: Readcount:记录正在读的阅读者人数。 共享数据集 Readcount的访问:对阅读者是互斥的,用mutex作访问的互斥信号量。 共享数据集的访问:对写操作互斥,读写操作互斥,用wrt作访问的互斥信号量。 阅读者、写入者问题 var mutex,wrt:Semaphore; readcount:integer; mutex:=wrt:=1;readcount:=0; parbegin Readeri: begin wait(mutex); readcount:=readcount+1; if readcount=1 then wait(wrt); signal(mutex); 读数据集; wait(mutex); readcount:=readcount-1; if readcount=0 then signal(wrt); signal(mutex); end Writeri: begin wait(wrt); 写数据集; signal(wrt); end; parend 阅读者、写入者问题 特点: 某种程度上,阅读者优先,写入者总在所有阅读者完成后才进行。 各阅读者可并发运行。 练习: 读者优先= 写入者优先 两种情形: 1、写入者封锁后来的阅读者; 2、第一个写入者封锁后来的阅读者,并且后来的写入者可以优先于阅读者; 写入优先 Var v,w,r,mutwx,k:semaphore; RC,WC:integer; begin w:=r:=v:=k:=1;RC:=WC:=0; parbegin READER: begin wait(r);wait(v); if RC=0 then wait(w); RC:=RC+1; signal(v);signal(r); 阅读; wait(v); RC:=RC-1; if RC=0 then signal(w); signal(v); end WRITER: begin wait(k); if WC=0 then wait(r); WC:=WC+1; signal(k); wait(
您可能关注的文档
最近下载
- 飞行中鸟击的危害与防范(共48张PPT).ppt VIP
- 统编版小学语文二年级上册第六单元 先辈伟人 大单元整体学历案教案 教学设计附作业设计(基于新课标教学评一致性).docx VIP
- 历史记载-中西闻见录15.pdf VIP
- 历史记载-中西闻见录13.pdf VIP
- 医疗文书书写及规范.ppt VIP
- 统编版语文二年级上册第六单元 追寻伟人足迹单元任务群整体公开课一等奖创新教学设计.docx VIP
- 合力CPCD35-KU5Y4G3 叉车零件图册l.pdf VIP
- 历史记载-中西闻见录12.pdf VIP
- 课前小游戏-看字说颜色(必须wps打开).pptx VIP
- 历史记载-中西闻见录11.pdf VIP
文档评论(0)