- 1、本文档共64页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
中国计量大学ppt计算机操作系统第4章〔2016–2017–1〕
int main(void) {int i=0; printf(i son/pa ppid pid fpid/n); for(i=0;i2;i++){ fpid=fork( ); if(fpid==0) printf(%d child %4d %4d %4d/n,i,getppid(),getpid(),fpid); else printf(%d parent %4d %4d %4d/n,i,getppid(),getpid(),fpid); } return 0; } 运行结果是: i son/pa ppid pid fpid 0 parent 2043 3224 3225 0 child 3224 3225 0 1 parent 2043 3224 3226 1 parent 3224 3225 3227 1 child 1 3227 0 1 child 1 3226 0 实验分析(2016-11-4实验) 3. 哈希算法 4.3.5 基于索引搜索的动态分区分配算法 该算法利用哈希快速查找的优点,以及空闲分区在可利用空间表中的分布规律,建立哈希函数,构造一张以空闲分区大小为关键字的哈希表,该表的每一个表项记录了一个对应的空闲分区链表表头指针。 当进行空闲分区分配时,根据所需空闲分区大小,通过哈希函数计算,即得到在哈希表中的位置,从中得到相应的空闲分区链表,实现最佳分配策略。 4.3.6 动态可重定位分区分配 1. 紧凑 紧凑:移动内存中作业的位置,以把原来多个分散的小分区拼接成一个大分区的方法。 地址变换过程是在程序执行期间,随着对每条指令或数据的访问自动进行的,故称为动态重定位。 4.3.6 动态可重定位分区分配 2.动态重定位的实现 图 4-12 动态 重定位 示意图 3. 动态重定位分区分配算法 图4-13 动态分区分配算法流程图 4.4 对换(Swapping) 4.4.1 多道程序环境下的对换技术 1.对换的引入 所谓“对换”,是指把内存中暂时不能运行的进程或者暂时不用的程序和数据调出到外存上,以便腾出足够的内存空间,再把已具备运行条件的进程或进程所需要的程序和数据调入内存。对换是提高内存利用率的有效措施。 (1)整体对换。以整个进程为单位的对换,这种对换被广泛地应用于分时系统中。 (2)页面(分段)对换。对换是以“页”或“段”为单位进行的,则分别称之为“页面对换”或“分段对换”。这种对换方法是为了支持虚拟存储系统。 4.4.1 多道程序环境下的对换技术 2.对换的类型 在每次对换时,是将一定数量的程序或数据换入或换出内存。 4.4.2 对换空间的管理 在具有对换功能的OS中,通常把外存分为文件区和对换区。前者用于存放文件,后者用于存放从内存换出的进程。文件区管理的主要目标是提高文件存储空间的利用率,对文件区采取离散分配方式;对换空间管理的主要目标是提高进程换入和换出的速度,采取的是连续分配方式。 为了对对换区中的空闲盘块进行管理,在系统中配置有相应的数据结构,以记录外存的使用情况。其形式与内存在动态分区分配方式中所用数据结构相似。 1.进程的换出 分两步,(1) 选择被换出的进程。选择处于阻塞状态或睡眠状态的进程,当有多个这样的进程时,选择优先级最低的进程作为换出进程。 4.4.3 进程的换出与换入 (2) 进程换出过程。在选择换出进程后,只能换出非共享的程序和数据段。在进行换出时,先申请对换空间;若申请成功,启动磁盘,将该进程的程序和数据传送到磁盘的对换区上。 系统定时查看所有进程的状态,从中找出“就绪”状态但已换出的进程,将其中换出时间最久(换出到磁盘上)的进程作为换入进程,将之换入,直至已无可换入的进程或无可换出的进程为止。 4.4.3 进程的换出与换入 2.进程的换入 4.5 分页存储管理方式 连续分配方式会形成“碎片”,离散分配方式允许将一个进程直
文档评论(0)