41本章知识点-欢迎光临舟山广播
电视大学
第4章存储管理辅导与自测
4.1本章知识点
存储器是计算机系统中的关键资源对内存如何处理在很大程度上将影响整个系统的性能。存储管理即对内存的管理存储管理目前仍是人们研究操作系统的中心问题之一 以至操作系统的命名也往往取决于存储管理的策略。
本章的主要知识点为
1本章的重要概念
本章涉及到的概念比较多主要有内存、外存、逻辑地址/相对地址、物理地址/绝对地址、逻辑地址空间/地址空间、 内存空间/物理空间/绝对空间、重
定位、静态重定位、动态重定位、对换技术、碎片、紧缩、虚拟存储器、页面抖动。
存储器作为计算机系统中最主要的组成部分 按照速度、容量和成本划分一个层次结构分别是寄存器、高速缓存、 内存、磁盘和磁带。用户程序必须装入到内存才能运行。进程的地址空间不同于内存的物理空间。经过重定位可以把逻辑地址转变为内存的物理地址。重定位分为静态和动态两种方式现在的计算机系统中都采用动态重定位方法。
对换技术可以利用外存来解决内存不足的问题。现在Linux系统中还采用这种技术。
2分区管理技术
分区分配是为支持多道程序运行而设计的一种最简单的存储管理方式可分为固定分区法和动态分区法。 固定分区就是内存中分区的个数固定不变各个分区的大小也固定不变但不同分区的大小可以不同。每个分区只可装入一个进程。动态分区是在进程要进入内存时才建立的 使其大小恰好适应进程的大小。动态分区法常用的分配策略有两种最先适应算法First-fit和最佳适应算法Best-fit,前者空闲表按位置排列后者空闲表以空闲分区的大小为序。
具有固定大小分配单元的系统如MFT 具有固定任务数的多道程序设计或分页系统会产生内部碎片而具有可变大小分配单元的系统如MVT 具有可变任务数的多道程序设计 会出现外部碎片。
为了有效解决碎片问题实现的方法是移动某些已分配区的内容使所有进程的分区紧挨在一起而把空闲区留在另一端。这种技术称为紧缩。 采用紧缩技术的分区方法称为可重定位分区法。 动态重定位由硬件实现包括基址寄存器和限长寄存器对CPU生成的所有地址进行合法性检查并映像到物理地址。
3 分页技术
除了用紧缩技术解决碎片问题还可以使用分页技术 即允许程序的存储空间不一定连续 可以把一个进程分散地放在各个空闲的内存块中。
分页存储管理的基本方法是逻辑空间分页 内存空间分块块与页的大小相等。页连续而块离散用页号查页表 由硬件作转换。
分页存储管理可以实现页面的共享但是这样做并不实际 因为逻辑上相对完整的内容不见得存在于一个或几个完整的页面中段式存储管理更便于
共享 。此外还可以在页表中设置存取控制字段进行页面保护禁止非法访问。
4 虚拟存储管理
虚拟存储器是用户能作为可编址内存对待的虚拟存储空间它使用户逻辑存储器与物理存储器分离是操作系统给用户提供的一个比真实内存空间大得多的地址空间。
虚拟存储技术允许把大的逻辑地址空间映射到较小的物理内存上这样就提高了多道程序并发执行的程度增加了CPU的利用率。虚拟存储器的特性包括虚拟扩充、部分装入、离散分配和多次对换等。
使用虚拟存储技术的页式管理为请求分页式存储管理。它是根据实际程序执行的顺序动态申请存储块。并不是把所有页面都放入内存。对一个程序的第一次访问将产生缺页中断 转入操作系统进行相应处理。操作系统依据页表确定页面在外存上的位置然后找一个空闲块把该页面从外存上读到内存块中。 同时修改页表有关项目 以反映这种变化产生缺页中断的那条指令被重新启动执行。这种方式允许一个程序即使它的整个存储映像并没有同时在内存中 也能正确运行。只要缺页率足够
低其性能还是很好的。
请求分页可用来减少分配给一个进程的块数 这就允许更多进程同时执行而且允许程序所需内存量超出可用内存总量。
5常用页面置换算法
当总内存的需求量超出实际内存量时为释放内存块给新的页面需要进行页面置换。有各种页面置换算法可供使用。先进先出法FIFO是最容易实现的但性能不是很好。最佳置换法
OPT需要未来知识仅有理论价值。最近最少使用置换法L RU是OP T的近似算法但实现时要有硬件的支持和软件开销。最近未使用置换法
NUR是LRU的近似算法。
置换算法的好坏直接影响系统的性能。好的页面置换算法能够适当降低页面更换频率减少缺页率 尽量避免系统抖动”
6Linux系统的存储管理技术
Linux采用对换和请求分页存储管理技术 页面置换采用L RU算法。对换任务是由内核的对换守护进程kswapd完成 以保证系统中有足够的空闲内存页。 Linux系统采用三级页表的方式 以节省内存资源。采用位图和链表两种方法来管理内存
页。
4.2典型例题解析
【例1】在目标程序装入内存时一次性完成地址修改的方式是 .
A.静态重定位 B.动态重定位C•静态连接D.动态连接
答案A
分析回答这道题需要清楚静态重定位和动态重定位的不同。
静态重定位是在目标程序装入内存时 由装入程序对目标程序中的指令和数据的地址进行修改 即把程序的逻辑地址都改成实际的内存地址。对每个程序来说这种地址变换只是在装入时一次完成在程序运行期间不再进行重定位。 按照静态重定位方式一个程序A装入内存时的情况就变成图4.1所示的样子。
从图中可以看出经过静态重定位原100号单兀中的指令放到内存5100号单兀该指令中的相对地址500相应变成5500。 以后程序A执行时CPU是从绝对地址5500号单元中取出数据12345,装入到寄存器A中。
静态重定位的优点是无须增加硬件地址转换机构便于实现程序的静态连接。在早期计算机系统中大多采用这种方案。它的主要缺点是程序的存储空间只能是连续的一片区域而且在重定位之后就不能再移动这不利于内存空间的有效使用另外各个用户进程很难共享内存中的同一程序的副本。
图4.1静态重定位示意图
动态重定位是在程序执行期间每次访问内存之前进行重定位。这种变换是靠硬件地址变换机构实现的。通常采用一个重定位寄存器其中放有当前正在执行的程序在内存空间中的起始
地址而地址空间中的代码在装入过程中不发生变化。动态重定位的过程如图4.2所示。 这时操作对象的绝对地址就是重定位寄存器中的
内容+操作对象的相对地址
动态重定位的主要优点是程序占用的内存空间动态可变LOA也 A 5不00—必—连续存放在一处 比较容易实现几个进程对同一程序副本的共享使用。它的主要缺点是需要附1加2345的硬件支持增加了机器成本而且实现存储管理的软件算法比较复杂。
以现在一般计算机系统中都采用动态重定位方法。
【例2】动态分区分配按进程的需求量分配内存分区所以 。
A•分区的长度是固定的
近期联通CUVIP的线路(AS4837线路)非常火热,妮妮云也推出了这类线路的套餐以及优惠,目前到国内优质线路排行大致如下:电信CN2 GIA>联通AS9929>联通AS4837>电信CN2 GT>普通线路,AS4837线路比起前两的优势就是带宽比较大,相对便宜一些,所以大家才能看到这个线路的带宽都非常高。妮妮云互联目前云服务器开放抽奖活动,每天开通前10台享3折优惠,另外...
华为云怎么样?华为云用在线的方式将华为30多年在ICT基础设施领域的技术积累和产品解决方案开放给客户,致力于提供稳定可靠、安全可信、可持续创新的云服务,做智能世界的“黑土地”,推进实现“用得起、用得好、用得放心”的普惠AI。华为云作为底座,为华为全栈全场景AI战略提供强大的算力平台和更易用的开发平台。本次年终聚惠618活动相当给力,1核2G内存1m云耀云服务器仅88元/年起,送主机安全基础版套餐,...
ZJI发布了一款7月份特别促销独立服务器:香港邦联四型,提供65折优惠码,限量30台(每用户限购1台),优惠后每月520元起。ZJI是原来Wordpress圈知名主机商家:维翔主机,成立于2011年,2018年9月启用新域名ZJI,提供中国香港、台湾、日本、美国独立服务器(自营/数据中心直营)租用及VDS、虚拟主机空间、域名注册等业务。下面列出这款服务器的配置信息。香港邦联四型CPU:2*E5-2...