- 1、本文档共108页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
操作系统_第7章_实赖凝分析:UNIX操作系统
第7章 实例分析:UNIX操作系统; UNIX是一个通用、多用户的分时操作系统。本章主要从实现的角度出发,讲述四个方面的内容:
(1)UNIX的进程以及进程调度;
(2)UNIX采用的存储管理策略;
(3)UNIX目录结构的特点以及对磁盘存储空间的管理;
(4)UNIX对块设备及字符设备的管理以及缓冲技术。;7.1 UNIX的处理机管理
7.2 UNIX的存储管理
7.3 UNIX的文件管理
7.4 UNIX的设备管理;7.1 UNIX的处理机管理; 2.数据段
进程运行时用到的数据以及工作区,构成了一个进程的数据段。要注意的是,如果进程执行的程序是不能被共享的,那么也把它归入到数据段中。这样,UNIX进程的数据段分成三个部分:系统数据区、用户数据区和用户栈区。如在基本控制块proc结构中所述,在进程的proc结构中,由p_addr指向该进程数据段的首地址,由p_size给出数据段的长度。其联系如图7-1所示。;Evaluation only.
Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.
Copyright 2004-2011 Aspose Pty Ltd.; 3.共享正文段
为了管理好进程的共享正文段,UNIX在内存专门开辟了一个text结构区域,形成正文段表text[ ]。其中每一个text结构对应一个共享正文段,主要记录关于这个正文段的有关信息,比如共享正文段在磁盘对换区的地址(x_daddr),共享正文段在内存的地址(x_caddr),共享正文段的长度(x_size),共享本正文段的所有进程数目(x_count)等。
综上所述,一个进程的基本控制块proc结构、数据段(包含扩充控制块user结构)以及共享正文段三者之间的关系,可以用图7-2勾画出来。; 在那里一根虚线把图分成两个部分。标有①的部分表示proc[ ]表中进程的proc结构以及text[ ]表中的text结构总是常驻内存。通过proc结构中的p_addr,就能够得到该进程的数据段;通过p_textp,就能够得到该进程共享正文段的text结构,再由这个text结构中的x_caddr或x_daddr就能够得到共享正文段在内存或在磁盘对换区的位置。标有②的部分表示进程的数据段和共享正文段是非常驻内存部分,根据需要和可能,数据段和共享正文段会在内存和磁盘对换区之间换进和换出。另外,通过user结构中的u_procp,可以得到该进程的proc结构的位置。;Evaluation only.
Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.
Copyright 2004-2011 Aspose Pty Ltd.;7.1.2 UNIX的进程状态
UNIX进程在其生命期内,可以处于多种不同的状态,并记录在进程的proc结构中。图7-3给出了进程状态的变迁图。;Evaluation only.
Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.
Copyright 2004-2011 Aspose Pty Ltd.; 当父进程执行系统调用fork创建一个子进程时,被创建进程处于“创建”状态。如果能够为该进程分配到足够的内存空间,则它变为“在内存就绪” 状态;如果当前没有足够的内存空间,则它变为“换出并就绪”状态,被安置在磁盘的对换区。另外,原来已在内存的就绪进程,也可能因为内存紧张而被换出,同样成为“换出并就绪”状态。处于这两种状态的进程,从原则上说都是“就绪”的,都可以参与处理机调度。只是处于“换出并就绪”状态的进程被调度到时,由于它的非常驻内存部分并不在内存,因此要先被换进,才能够真正占用处理机投入运行。; 一个进程被调度到时,就成为“用户态运行”状态。进程在“用户态运行”状态下时,若程序中使用了系统调用或请求输入/输出,就会使进程从“用户态运行”状态改变为“核心态运行”状态。在“核心态运行”状态下的进程是不能被剥夺的。当系统调用执行完毕,就返回到“在内存就绪”状态。如果要等待输入/输出完成,则变成“在内存睡眠”状态;如果是调用了exit而进入“核心态运行”状态,则意味着进程运行结束,于是进入“僵死”状态,所占用的一切资源被释放。如果在“用户态运行”状态下,由于时间片到等原因,就会直接变成“在内存就绪”状态。; 一个进程处于“在内存睡眠”状态时,如果内存使用紧张,就会被从内存换出到磁盘的对换区。这时,该进程处于“睡眠并换出”状态。无论是处于“在内存睡眠”状态还是处于“睡眠并换出
您可能关注的文档
- 彻底卸载广联达计价的软件的方法.doc
- 律师业务与公证(第2的版)-在线作业_D.doc
- 很有意义的十幅画的.ppt
- 得实打印机参数维护的设置.doc
- 德士克员工招募与保的留--格知教育.ppt
- 德赛恩云智能监控资的料.ppt
- 德鲁克管理名言:生的产力篇.ppt
- 德意志的统一及其历的史意义.ppt
- 必修1《信息技术简降拈》ppt课件 高中信息技术.ppt
- 必修1复习-CCM的.ppt
- 2024年沧州市公务员考试行测真题及答案详解(名师系列).docx
- 粮油食品检验人员复习提分资料带答案详解(精练).docx
- 粮油食品检验人员自我提分评估(考点精练)附答案详解.docx
- 粮油食品检验人员全真模拟模拟题附参考答案详解(精练).docx
- 2025年延安市公务员考试行测试卷历年真题附答案详解(突破训练).docx
- 2025年株洲市公务员考试行测试卷历年真题含答案详解.docx
- 2024年枣庄市公务员考试行测真题及完整答案详解1套.docx
- 2024年抚顺市公务员考试行测真题及答案详解(各地真题).docx
- 2025年常州市公务员考试行测真题及一套参考答案详解.docx
- 2023年德州市公务员考试行测试卷历年真题及1套完整答案详解.docx
文档评论(0)