存储器管理(广东工业大学操作系统)ppt课件.ppt

存储器管理(广东工业大学操作系统)ppt课件.ppt

ID:58874632

大小:2.83 MB

页数:72页

时间:2020-09-30

存储器管理(广东工业大学操作系统)ppt课件.ppt_第1页
存储器管理(广东工业大学操作系统)ppt课件.ppt_第2页
存储器管理(广东工业大学操作系统)ppt课件.ppt_第3页
存储器管理(广东工业大学操作系统)ppt课件.ppt_第4页
存储器管理(广东工业大学操作系统)ppt课件.ppt_第5页
资源描述:

《存储器管理(广东工业大学操作系统)ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第四章   存储器管理(1)第四章    存储器管理4.1存储器的层次结构4.2程序的装入和链接4.3连续分配方式第四章    存储器管理4.1存储器的层次结构4.1.1存储器的层次结构1.存储器的层次结构在现代计算机系统中,存储器是信息外理的来源与归宿,占据重要位置。但是,在现有技术条件下,任何一种存储装置,都无法同时从速度与容量两方面,满足用户的需求。实际上它们组成了一个速度由快到慢,容量由小到大的存储装置层次。存储器的层次结构图4-1计算机系统存储层次示意2.各种存储器高速缓存Cache:少量的、非常快速

2、、昂贵、易变的内存RAM(可执行存储器):若干G字节、中等速度、中等价格、易变的磁盘:数百G字节、低速、价廉、不易变的由操作系统协调这些存储器的使用4.1.2存储管理的目的1)主存的分配和管理:当用户需要内存时,系统为之分配相应的存储空间;不需要时,及时回收,以供其它用户使用。2)提高主存储器的利用率:不仅能使多道程序动态地共享主存,提高主存利用率,最好还能共享主存中某个区域的信息。存储管理的目的(续)3)“扩充”主存容量:为用户提供比主存物理空间大得多的地址空间,以至使用户感觉他的作业是在这样一个大的存储器中

3、运行。4)存储保护:确保多道程序都在各自分配到存储区域内操作,互不干扰,防止一道程序破坏其它作业或系统文件的信息。4.1.3.基本概念1.定位(存储分配):为具体的程序和数据等分配存储单元或存储区工作。2.映射:把逻辑地址转换为相应的物理地址的过程。3.隔离:按存取权限把合法区与非法区分隔,实现存储保护。4.名空间程序员在程序中定义的标识符程序符号集合由程序员自定义没有地址的概念符号指令数据说明I/O说明地址空间及存储空间5.地址空间程序用来访问信息所用地址单元的集合逻辑(相对)地址的集合由编译程序生成6.存储

4、空间主存中物理单元的集合物理(绝对)地址的集合由装配程序等生成地址映射LoadA2003456。。1200物理地址空间LoadAdata1data13456源程序LoadA20034560100200编译连接逻辑地址空间BA=1000图4-1名空间、地址空间、存储空间7.逻辑地址与物理地址逻辑地址(相对地址,虚地址):用户的程序经过汇编或编译后形成目标代码,目标代码通常采用相对地址的形式,其首地址为0,其余指令中的地址都相对于首地址而编址。不能用逻辑地址在内存中读取信息物理地址(绝对地址,实地址)内存中存储单元

5、的地址,可直接寻址8.存储共享内存共享:两个或多个进程共用内存中相同区域目的:节省内存空间,提高内存利用率实现进程通信(数据共享)共享内容:代码共享,要求代码为纯代码数据共享9.存储保护与安全保护目的:为多个程序共享内存提供保障,使在内存中的各道程序,只能访问它自己的区域,避免各道程序间相互干拢,特别是当一道程序发生错误时,不致于影响其他程序的运行。通常由硬件完成保护功能,由软件辅助实现。(特权指令不能完成存储保护。)1)存储保护保护系统程序区不被用户侵犯(有意或无意的)不允许用户程序读写不属于自己地址空间的数

6、据(系统区地址空间,其他用户程序的地址空间)2)保护过程---防止地址越界每个进程都有自己独立的进程空间,如果一个进程在运行时所产生的地址在其地址空间之外,则发生地址越界。即当程序要访问某个内存单元时,由硬件检查是否允许,如果允许则执行,否则产生地址越界中断,由操作系统进行相应处理。10.内存“扩充”通过虚拟存储技术实现用户在编制程序时,不应该受内存容量限制,所以要采用一定技术来“扩充”内存的容量,使用户得到比实际内存容量大的多的内存空间具体实现是在硬件支持下,软硬件相互协作,将内存和外存结合起来统一使用。通过

7、这种方法把内存扩充,使用户在编制程序时不受内存限制第四章    存储器管理4.2程序的装入和链接在多道程序环境下,要使程序运行,必须先为之创建进程。而创建进程的第一件事,便是将程序和数据装入内存。如何将一个用户源程序变为一个可在内存中执行的程序,通常都要经过以下几个步骤:首先是要编译,由编译程序(Compiler)将用户源代码编译成若干个目标模块(ObjectModule);其次是链接,由链接程序(Linker)将编译后形成的一组目标模块,以及它们所需要的库函数链接在一起,形成一个完整的装入模块(LoadMod

8、ule);最后是装入,由装入程序(Loader)将装入模块装入内存。4.2程序的装入和链接4.2程序的装入和链接图4-2-1对用户程序的处理步骤在编译时,如果知道程序将驻留在内存的什么位置,那么,编译程序将产生绝对地址的目标代码。绝对装入程序按照装入模块中的地址,将程序和数据装入内存。装入模块被装入内存后,由于程序中的逻辑地址与实际内存地址完全相同,故不须对程序和数据的地址进行修改。4

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。