网站大量收购闲置独家精品文档,联系QQ:2885784924

操作系统chpter4.ppt

  1. 1、本文档共252页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
操作系统chpter4

第四章????存储器管理 今天虽然主存价格已相当便宜,但主存容量仍然是计算机四大硬件资源中最关键的资源。因此对主存的管理和有效使用仍然是今天操作系统十分重要的内容。 许多操作系统之间最明显的区别特征之一往往是所使用的存储管理方法不同。 存储管理功能 存储分配和回收 分配回收对象 内存、外存(相同方法) 分配回收时刻 进程创建、撤销、交换、长度变化 存储共享 目的:节省内存、相互通讯 内容:代码、数据 存储保护 防止地址越界 防止操作越权 存储管理功能 存储扩充 内存、外存结合,虚拟存储体系 速度接近内存,容量相当外存 地址映射 逻辑地址=物理地址 硬件支持 基址寄存器(base)、限长寄存器(limit)、快表; 使用上述寄存器完成地址映射过程; 不能正常完成地址映射时产生中断。 4.1 存储器的层次结构 4.1.1 多级存储器结构 对于通用计算机而言,存储层次至少应具有三级:最高层为CPU寄存器,中间为主存,最底层是辅存。在较高档的计算机中,还可以根据具体的功能分工细划为寄存器、高速缓存、主存储器、磁盘缓存、固定磁盘、可移动存储介质等。 4.1.1 多级存储器结构 4.1.2 主存储器与寄存器 1.主存储器   主存储器(简称内存或主存)是计算机系统中一个主要部件,用于保存进程运行时的程序和数据,也称可执行存储器。CPU的控制部件只能从主存储器中取得指令和数据,数据能够从主存储器读取并将它们装入到寄存器中,或者从寄存器存入到主存储器。CPU与外围设备交换的信息一般也依托于主存储器地址空间。 2.寄存器 寄存器访问速度最快,完全能与CPU协调工作,但价格却十分昂贵,因此容量不可能做得很大。 寄存器用于加速存储器的访问速度,如用寄存器存放操作数,或用作地址寄存器加快地址转换速度等。 4.1.3 高速缓存和磁盘缓存 1.高速缓存 高速缓存是现代计算机结构中的一个重要部件,其容量大于或远大于寄存器,而比内存约小两到三个数量级左右。 根据程序执行的局部性原理,将主存中一些经常访问的信息存放在高速缓存中,减少访问主存储器的次数,可大幅度提高程序执行速度。 2.磁盘缓存 磁盘的I/O速度远低于对主存的访问速度,因此将频繁使用的一部分磁盘数据和信息,暂时存放在磁盘缓存中,可减少访问磁盘的次数。磁盘缓存本身并不是一种实际存在的存储介质,它依托于固定磁盘,提供对主存储器存储空间的扩充。 4.2 程序的装入和链接 在多道程序环境下,要使程序运行,必须先为之创建进程。而创建进程的第一件事,便是将程序和数据装入内存。如何将一个用户源程序变为一个可在内存中执行的程序,步骤如下: 编译,由编译程序源代码编译成若干个目标模块 链接,由链接程序将目标模块和它们所需要的库函数链接在一起,形成一个完整的装入模块 装入,由装入程序将装入模块装入内存。 4.2.1 程序的装入 将一个模块装入内存时,可采用三种方式: 绝对装入方式 重定位装入方式 动态运行时装入方式 如果在编译时知道程序驻留在主存的具体位置,则编译程序将产生物理地址的目标代码.模块装入后,由于程序中的逻辑地址与实际主存的地址完全相同,故不需要对程序和数据的地址进行修改. 指内存分配是在作业运行之前各目标模块连接后,把整个作业一次性全部装入内存,并在作业的整个运行过程中,不允许作业再申请其他内存,或在内存中移动位置。 绝对装入方式只能将目标模块装入到主存事先指定的固定位置,只适用于单道程序环境. 重定位(Relocation) ★逻辑地址空间:任何一个程序的逻辑地址空间都是以地址0起始的逻辑地址的集合,逻辑地址空间的地址称为逻辑地址。 ★物理存储空间:一个程序在执行时所占用的内存空间称作它的物理存储空间。 ★重定位:在一般情况下,一个作业在装入时分配到的存储空间和它的地址空间是不一致的。由于不一致所引起的对有关地址部分的调整过程,就是我们所说的地址重定位。 3.动态运行时装入方式 存储管理为作业分配存储区域后,装入程序把作业直接装入到所分配的区域中,并把该主存区域的起始地址存入相应进程的PCB中.当进程被调度占用CPU时,作业所占的主存区域的起始地址也被存放到基址寄存器中.进程执行时,CPU每执行一条指令都会把指令中的逻辑地址与基址寄存器中的值相加得到相应的物理地址,然后按物理地址访问存储器. 4.2.2 程序的链接 根据链接时间的不同,可把链接分成如下三种: (1) 静态链接。 (2) 装入时动态链接。 (3) 运行时动态链接。 1 静态链接方式 在程序运行之前,先将各个目标模块及他们所需的库函数,链接成一个完整的装入模块,运行时直接装入内存。这种事先进行链接,以后不再拆开的链接方式称之静态

文档评论(0)

linjuanrong + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档