操作系统课程学习笔记七

您所在的位置:网站首页 页表中的主要内容包括哪些 操作系统课程学习笔记七

操作系统课程学习笔记七

2024-06-30 13:24| 来源: 网络整理| 查看: 265

第七章 存储管理7.1 简述实际的三级存储器体系的结构(组成)和基本原理?

三级存储器体系的结构

三级存储体系包括Cache(快、小、贵)、内存(适中)、外存(慢、大、廉)。基本原理:当内存太小不够用时,用外存来支援内存;暂时不运行的模块换出到外存上,必要时再换入内存。

7.2 存储管理有哪四大功能?

地址映射:把程序中的地址(虚拟地址/虚地址/逻辑地址)变换成内存的真实地址(实地址/物理地址)的过程;虚拟存储:解决内存过大造成的内存不够和多程序并发时的地址冲突问题;内存分配:为程序运行分配足够内存空间;存储保护:保证内存中的多道程序只能在给定的存储区域中活动并互不干扰。

7.3 有哪三种地址映射方式?

固定地址映射:编程或编译时确定逻辑地址和物理地址映射关系,程序加载时必须放在指定的内存区域,容易产生地址冲突、运行失败,程序装入后不能移动,程序占用连续的内存空间。静态地址映射:程序装入时由操作系统完成逻辑地址到物理地址的映射,程序运行前确定映射关系,程序装入后不能移动,程序占用连续的内存空间。动态地址映射:程序执行过程中把逻辑地址转换为物理地址,程序占用的内存空间可动态变化,不要求占用连续空间,便于多个进程共享,但需要内存管理单元的硬件支持,软件复杂。

7.4 为何需要地址映射功能或者它的的作用是什么?在VS(C/C++)开发环境中,我们用”int i,j ;” 定义的i,j变量与地址是什么关系?

地址映射可以让用户方便的读写物理地址,直接使用物理地址比较繁琐,而且不安全。在VS(C/C++)开发环境执行”int i,j ;”时,编译器将为其分配两块大小为 int型数据所占的内存空间,编译器自动的将其存放在空闲内存空间中。

7.5 何为动态地址映射?有什么特点?

动态地址映射是指程序执行过程中把逻辑地址转换为物理地址。将地址分为逻辑地址VA和基址BA,物理地址MA等于VA+BA,如果程序移动,根据移动后的BA自动计算MA,从而实现动态映射。程序占用的内存空间可动态变化,不要求占用连续空间,便于多个进程共享,但需要内存管理单元的硬件支持,软件复杂。

7.6 什么是分区存储管理?有哪些类型?

分区存储管理是指把用户区内存划分为若干大小不等的分区供不同程序使用,分为两种类型。固定分区:把内存固定地划分为若干个大小不等的分区供各个程序使用,每个分区的大小和位置都固定,系统运行期间不再重新划分。动态分区:在程序装入时创建分区,使分区大小刚好与程序的大小相等,分区动态建立,分区个数和大小可变,存在内存碎片。

7.7 虚拟内存管理的目标是什么?

使大程序可以在小内存中运行;使多个程序可以在小内存中运行;使多个程序并发运行时地址不冲突;使内存利用率高:无碎片,共享方便。

7.8 使用虚拟存储管理功能的操作系统,还需不需要真是的内存?

虚拟内存技术,即匀出一部分硬盘空间来充当内存使用。当内存耗尽时,电脑就会自动调用硬盘来充当内存,以缓解内存的紧张。而计算机并不能自己访问硬盘,只能访问内存或者Cache,虚拟内存技术将程序部分内容放到内存中。本质上还是储存在内存上被CPU使用。

7.9 分区存储管理用在专用的,具有特定工作任务的,嵌入式系统中,可不可行?

可以。如果嵌入式系统大多数时间执行单任务,那就适合不分区,简单,无需复杂硬件支持,也提高了内存利用率。

7.10 何为放置策略?有哪些防止策略?各种防止策略的特点或优点是什么?

放置策略是指空前区表排序原则。最佳适应法将空闲区表按大小递增排序,优点是尽可能先使用较小空闲区,当需要较大分区时有较大的满足可能性。但在内存中留下许多难以利用的碎片。最坏适应法将空闲区表按大小递减排序,优点是大空闲区分割后剩余部分还是很大,还能装下较大的分区,仅一次查找就可找到所有分区,不易产生碎片,对中小型文件分配分区操作有利。但造成存储器中缺乏大的空闲区,对大型文件的分区分配不利。首次适应法将空闲区表按首址递增排序,尽可能先使用低地址空间,当需要较大分区时在高地址空间有较大的满足可能性,方法易于实现,但每次查找都从低址开始,增加查找开销。

7.11 何为内存覆盖技术(Overlay)?有何缺点?

内存覆盖技术将内存分为多个区间,将程序的不同段按需取用,解决大程序在小内存中的运行问题。缺点:编程复杂,程序员划分程序模块并确定覆盖关系,模块过大无法运行;程序执行时间长,程序从外存装入内存,涉及I/O操作耗时长。

7.12 何为内存交换技术(Swapping)?有何优缺点?

内存交换技术是指当内存不够时将进程写到磁盘(称为换出过程),当进程要运行时重新写回内存(称为换入过程)。优点:增加程序并发数,不考虑程序结构。缺点:换入和换出增加CPU开销,交换单位太大,为整个进程。

7.13 内存交换技术在实现过程,为何要考虑地址重定位的问题?

因为旧模块取出后新模块换入前,原内存位置可能被其他程序占用,所以新模块换入要重新分配内存空间。

7.14 内存在分配过程中产生碎片的本质是什么?有哪些方法可以消除或减轻碎片问题?

产生碎片的本质是: 过小的空闲区满足不了程序所需内存, 而一直得不到利用, 形成了内存碎片。解决办法:规定门限值:分配空闲区时, 如果剩余部分小于门限值, 则将此空闲区整体分配给此程序。内存拼接技术:将内存碎片(所有的空闲区)拼接成一个大的空闲区,但这种方法消耗系统资源。让程序能够在不同内存分区进行运行:把程序分开装入不同的空闲区, 充分利用空闲区,避免造成碎片。

7.15 何为程序运行的局部性?

程序在一个有限的时间段内访问的代码和数据往往集中在有限的地址范围内,把程序的一部分装入内存在较大概率上足够让其运行一小段时间。

7.16 试述页式内存管理方案的概念,进程装入和使用内存的原则?

页式虚拟内存管理把进程空间和内存空间划分成等大小的小片,进程的小片称为页,内存的小片称为页框。进程装入和使用内存的原则:只把程序部分页装入内存便可运行,页在内存中占用的页框不必相邻,需要新页时按需从硬盘中调入内存,不再运行的页及时删除。

7.17 何为页表?描述利用页表完成页式地址映射的过程。

页表记录页与页框的对应关系(起索引作用)。地址映射过程分为三步:从VA分离页号P和页内偏移W;查页表,以P为索引查页框号P’;计算物理地址MA,MA=P’×页大小+W。

7.18 何为快表?描述有快表的情况下页式地址的映射过程。

快表是指页表放在Cache中。

7.19 在有快表的存储管理系统中,一条访存指令要访问到真正的数据,需要访问内存几次?

一次或三次。如果命中Cache中的快表的情况下,从Cache中得到地址,直接去内存取数据,只需访存一次。如果没有命中,需要得到内存中页表的地址,从页表中得到物理地址,最后得到数据,共三次。

7.20 试述页式存储管理系统的页面共享原理。

在不同进程的页表中填上相同的页框号,多个进程能访问相同的内存空间,从而实现页面共享。共享页面在内存中只有一份真实存储,节省内存。

7.21 试述缺页中断的概念和缺页中断响应的过程。

在地址映射过程中,当要访问的目的页不在内存中时,则系统产生异常中断——缺页中断。缺页中断处理程序把所缺的页从页表指出的外存地址调入内存的某个页框中,并更新页表中该页对应的页框号以及修改中断位I。

7.22 页式虚拟内存管理是否适合实时操作系统采用?

不适合。因为采用页式虚拟内存管理时,操作系统所需指令会储存在三种不同的存储介质中,访问时间大小关系:cache



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3