内存41本章知识点-欢迎光临舟山广播电视大学

欢迎光临本店  时间:2021-03-19  阅读:()

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的近似算法。

置换算法的好坏直接影响系统的性能。好的页面置换算法能够适当降低页面更换频率减少缺页率 尽量避免系统抖动”

6Linux系统的存储管理技术

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•分区的长度是固定的

tmhhost(100元/季)自带windows系统,香港(三网)cn2 gia、日本cn2、韩国cn2、美国(三网)cn2 gia、美国cn2gia200G高防

tmhhost可谓是相当熟悉国内网络情况(资质方面:ISP\ICP\工商齐备),专业售卖海外高端优质线路的云服务器和独立服务器,包括了:香港的三网cn2 gia、日本 cn2、日本软银云服务器、韩国CN2、美国三网cn2 gia 云服务器、美国 cn2 gia +200G高防的。另外还有国内云服务器:镇江BGP 大连BGP数据盘和系统盘分开,自带windows系统,支持支付宝付款和微信,简直就是专...

RAKsmart 2021新年新增韩国服务器及香港美国日本VPS半价

RAKsmart 商家我们肯定不算陌生,目前主要的营销客户群肯定是我们。于是在去年的时候有新增很多很多的机房,比如也有测试过的日本、香港、美国机房,这不今年有新增韩国机房(记得去年是不是也有增加过)。且如果没有记错的话,之前VPS主机也有一次磁盘故障的问题。 这不今天有看到商家新增韩国服务器产品,当然目前我还不清楚商家韩国服务器的线路和速度情况,后面我搞一台测试机进行...

LOCVPS:VPS主机全场8折,德国/荷兰/美国KVM终身7折

LOCVPS发来了针对元旦新年的促销活动,除了全场VPS主机8折优惠外,针对德国/荷兰KVM #1/美国KVM#2 VPS提供终身7折优惠码(限量50名,先到先得)。LOCVPS是一家成立于2012年的国人VPS服务商,提供中国香港、韩国、美国、日本、新加坡、德国、荷兰、俄罗斯等地区VPS服务器,基于KVM或XEN架构(推荐优先选择KVM),均选择直连或者优化线路,国内延迟低,适合建站或远程办公使...

欢迎光临本店为你推荐
3.2网易yeahflashwind谁能教我怎么在360里下载个flashwind?asp.net空间哪里可以申请asp空间的?企业信息查询系统查企业信息哪个的软件好?flashfxp下载怎样用FlashFXP从服务器下载到电脑上?flashftp下载《蔓蔓青萝(全)》.TXT_微盘下载加多宝和王老吉王老吉和加多宝是什么关系3g手机有哪些什么样的手机属于3G手机?123456hd有很多App后面都有hd是什么意思网站后台密码破解如何破解网站后台密码
本网站服务器在美国维护 香港加速器 fastdomain 精品网 监控宝 网页背景图片 网通服务器ip 百兆独享 七夕促销 东莞数据中心 南通服务器 河南移动m值兑换 免费智能解析 网游服务器 卡巴斯基免费试用版 drupal安装 中国电信测速网站 香港打折信息 性能测试工具 neobux 更多