操作系统内存管理.ppt
《操作系统内存管理.ppt》由会员分享,可在线阅读,更多相关《操作系统内存管理.ppt(54页珍藏版)》请在优知文库上搜索。
1、内存管理内存管理目的目的l详细描述内存硬件的各种组织方法l讨论各种内存管理技术,包括分页和分段l详细描述 Intel Pentium 芯片,它支持纯分段和带分页的分段背景背景l为了运行程序必须把程序从磁盘载入到内存l内存和寄存器是CPU唯一能直接访问的存储器l寄存器的访问时间 vs 内存的访问时间 缓存l为了确保正常运行必须保护内存l首先讨论:l符号内存地址到实际物理地址的绑定l逻辑地址与物理地址的区别l动态装载、动态链接代码及共享库 在计算机科学中,库库是用于开发软件的子程序集合。库和可执行文件可执行文件的区别是,库不是独立程序,他们是向其他程序提供服务的代码。 库链接库链接是指把一个或多个
2、库包括到程序中,有两种链接形式:静态链接静态链接和动态链接动态链接,相应的,前者链接的库叫做静态库后者的叫做动态库。l静态链接静态链接是由链接器在链接时将库的内容加入到可执行程序中的做法。链接器是一个独立程序,将一个或多个库或目标文件(先前由编译编译器器或汇编器汇编器生成)链接到一块生成可执行程序。l静态链接的最大缺点是生成的可执行文件太大,需要更多的系统资源,在装入内存时也会消耗更多的时间。l动态链接动态链接,在可执行文件装载时装载时或运行时运行时,由操作系统的装载程序装载程序加载库。大多数操作系统将解析外部引用(比如库)作为加载过程的一部分。 基地址寄存器和界限地址寄存器基地址寄存器和界限
3、地址寄存器l一个进程使用的内存地址范围是由一对基地址寄存器和界限地址寄存器来定义一个用户程序的多步骤处理一个用户程序的多步骤处理地址绑定地址绑定l地址绑定是从一个地址空间到另一个地址空间的映射l将指令与数据绑定到内存,有以下几种情况不知道驻留地址不知道驻留地址逻辑地址空间和物理地址空间逻辑地址空间和物理地址空间l逻辑地址:CPU所生成的地址 (虚拟地址)l物理地址:从内存单元所看到的地址绑定绑定内存管理单元(MMU)内存管理单元(内存管理单元(MMU)l映射虚拟地址为物理地址的硬件设备l用户进程所生成的地址在送交内存之前,都将加上重定位寄存器(基地址寄存器)的值l用户程序决不会看到真正的物理地
4、址库的链接及加载库的链接及加载l静态链接l动态链接 (dynamic link)l动态加载 (dynamic loading)动态加载动态加载l直到被调用之前,程序不会被载入到内存,即加载延迟到运行时l优点l不使用的程序不会载入到内存, 既而内存使用率高l适合用户用大量代码来操作不常发生事件时l不需要操作系统的特别支持,由程序员来设计动态链接动态链接l链接延迟到执行时l小程序, stub(存根), 用来定位适当的内存驻留库程序,或如果该程序不在内存时应如何装入库l存根会用子程序地址来替换自己,并开始子程序l存根首先检查所需子程序是否在内存中,如果不在,就将子程序装入内存。l动态链接通常适用于系
5、统库l需要操作系统的帮助2. 交换(交换(swapping)l进程可以暂时从内存中交换到备份存储(backing store)上,当需要再次执行时再调回到内存lbacking store 通常是快速磁盘l优先级调度算法中使用l滚出(roll out), 滚入(roll in)l交换时间l转移时间,而转移时间与交换内存空间量成正比l问:将交换出的进程再交换(调回)回来的时候,应调回哪个内存空间(编译时,加载时,执行时)连续分配连续分配l内存通常分为两个区域:一个用于驻留操作系统,常与中断向量一起放在低内存另一个用于用户进程,常放在高内存。l单分区分配方法(Single-partition all
6、ocation)重定位寄存器方案用来保护用户进程之间,用户进程与操作系统之间不会相互修改代码与数据重定位寄存器包含了最小的物理地址;界限寄存器包含了逻辑地址的范围,每个逻辑地址必须小于界限寄存器重定位和界限寄存器的硬件支持重定位和界限寄存器的硬件支持l多分区分配方法孔(Hole):一块可用内存称为孔。不同大小的孔分布在内存的不同地方。当有新进程需要内存时,为该进程查找足够大的孔。操作系统维护的信息包括:l已分配分区l空闲分区(hole)动态存储分配问题动态存储分配问题l根据一组空闲孔来分配大小为n的请求。首次适应(First-fit)最佳适应(Best-fit)最差适应(Worst-fit)l
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 操作系统 内存 管理