- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* 直接加入到空闲区表项里,行不行呢? * 到底放到哪个分区呢? * 如果有空闲区和它相邻,则他们在空闲分区表的位置肯定是相邻的。 缺点: * * 一下破坏掉了最大的分区 不至于像最佳适应法那样会产生很多很小的空闲分区,以至无法利用。 * 到底哪种最好不能一概而论 * 无论是采用哪种放置策略,… * think 紧凑或拼接 涉及到几乎内存中所有进程的一个移动问题,花费时间太多;对比磁盘碎片整理,容量与速度。 如果动态分区分配实现时结合了紧凑技术,则构成新的一种连续分配方式:可重定位分区分配方式。 * 它的分配思想是: 因为如果内存没有申请的size那么大的连续空闲分区存在,按照动态分区分配就无法实现分配,但是在可重定位分区分配中,就可以通过紧凑的方法为这个作业提供足够大的连续区域以实现分配。 * * 1)在静态链接方式下,每个应用模块必须包含这个公用的DLL所对应的目标模块,无法实现共享,而动态链接方式,Os就很容易实现将该目标模块链接到几个应用模块上,实现共享,而且节省内存。 2)….静态链接方式下,把所有的目标模块都链接在一起,一起装入,这种效率是比较低的,因为有些不需要的操作也得装入;而动态链接可以只将运行过程中需要的模块装入,一方面加快了部分装入过程,而且也节省了大量内存空间; 3)在静态链接方式下,如果需要修改和更新其中某个目标模块,必须重新打开装入模块才行,同样效率低;采用动态链接方式每个目标模块是相对独立,分开存放的,所以对它们的修改和更新就比较容易,只要保证函数的接口参数(输入和输出)不变即可 。即修改函数及其DLL,无需对可执行文件重新编译或链接。 * * 不知道到大家还记不记得我们在第一章里曾经学习过若想实现内存管理功能应具备哪些基本子功能? 内存分配与回收 - 内存保护 - 内存扩充 - 地址映射. * 复习与详细说明该完成什么功能: * 比如动态分区分配中的最佳、最先、最坏适应法;分页系统的局部和全局分配策略等。 * 如分页、分段系统中的页面置换算法。 * * think * 绝对装入方式提到的缺点。 * 具体如何实现重定位和具体的存储管理方式相关。 比如动态分区分配,如果是可重定位方式就不需要特殊硬件。而动态运行时装入方式就需要重定位寄存器; 而分页系统就需要页表起始地址寄存器、页表长度寄存器、页表的支撑。 * 某个存储区域是否允许读写、共享。 * 比如说世界上的第一台超级计算机CDC6600就是采用的这种方案。 * When a process is scheduled, two registers will be loaded, and check the instruction during the relocation. * Disadvantage: need to perform an addition and a comparison on every memory reference. 加法的执行要花些时间,因为需要进位。 具体对一些系统因为程序数据和堆栈分开进行存储,所以可能需要两对寄存器。 * (或一小部分) 比如后面的TLB。 大家觉得这可能不够具体,主要是因为没有结合具体存储管理方案。后面学习的思路… 沿存储器管理方式的发展过程,依次讲解每一种是怎么管理内存的,如何实现这些功能的。 * the simplest possible memory management scheme Idea:run just one program at a time; sharing the memory between that program and the operating system * three implementing schemes 那么这三种方案在原来都是用在什么样的系统的呢? 早期的大型机和小型机中,现在已很少使用; 因为是ROM,所以主要用于一些OS和用户程序不会变的、功能很简单的掌上电脑和嵌入式计算机/系统; 最后这种主要用于早期的个人计算机中,比如使用MS-DOS系统的计算机,它的组织内存方式就是这样的。其中放在rom中的这部分还有专门的名字,也是大家熟悉的BIOS(基本输入输出系统)。 * 这就是早期出现的最基本的最简单的存储管理方式,用于单道程序设计的。 在多道程序设计技术出现后,又出现了用于多道程序设计的存储管理方法. 思考哪一种好些? 因为每个分区只装入一道作业,作业大小不等,所以显然分区大小不等更能充分利用内存空间. 对于一个系统处理的业务都是同一类型,大小近似相等的情况,还是可以使用相等方案的。 * Multiprogram system with a fixed-number tasks * * 8 32 64 * 8
文档评论(0)