操作系统考研复习 第三章内存管理
- 格式:docx
- 大小:26.38 KB
- 文档页数:7
计算机操作系统中的内存管理和虚拟化技术计算机操作系统是现代计算机体系结构中不可分割的组成部分。
内存管理和虚拟化技术是计算机操作系统的重要功能之一,它们在保证计算机系统性能和安全性方面发挥着重要作用。
一、内存管理技术内存管理技术是操作系统中实现内存资源的高效利用和保护的重要手段。
计算机系统中的内存被划分为多个逻辑单元,各个逻辑单元之间进行切换和管理,以实现多个进程或任务的并发执行。
1. 内存的划分内存划分是内存管理的第一步。
一般情况下,计算机系统将内存划分为操作系统区域和用户区域。
操作系统区域用于存放操作系统内核和相关数据结构,而用户区域用于存放用户程序和数据。
2. 内存映射内存映射是将逻辑地址转换为物理地址的过程。
操作系统通过地址映射表或页表,将逻辑地址映射到实际的物理地址,以实现程序的正确执行和内存的动态管理。
3. 内存分配与回收内存分配与回收是内存管理的核心功能。
操作系统通过内存分配算法,为进程分配内存空间。
而当进程终止或释放内存时,操作系统需要回收这些空间以供其他进程使用。
4. 内存保护内存保护是防止进程之间互相干扰的重要手段。
通过设定访问权限和限制资源的使用,操作系统可以确保每个进程仅能访问自己被分配到的内存空间,从而保护进程的安全性和稳定性。
二、虚拟化技术虚拟化技术是一种将物理资源抽象为逻辑资源,并为不同的用户或应用程序提供独立的逻辑环境的技术。
在计算机操作系统中,虚拟化技术主要包括虚拟内存和虚拟机技术。
1. 虚拟内存虚拟内存是一种将主存和辅助存储器组合使用的技术。
它通过将物理内存的一部分作为虚拟内存空间,将进程的一部分内容从内存转移到硬盘上,以提高内存的利用率和系统的吞吐量。
2. 虚拟机虚拟机技术是将一个物理计算机虚拟为多个逻辑计算机的技术。
通过虚拟化软件的支持,可以在一台物理机上同时运行多个操作系统和应用程序,实现资源的共享和隔离,提高计算机系统的利用率和灵活性。
虚拟化技术在云计算和服务器虚拟化中得到了广泛应用,它极大地提升了计算机系统的效率和灵活性,降低了资源的成本和能源消耗。
考研操作系统-内存与虚拟(三)(总分:212.00,做题时间:90分钟)一、判断题(总题数:11,分数:44.00)1.页式存储管理中,用户应将自己的程序划分成若干大小相等的页面。
A.正确B.错误√用户无需将程序划分为页面,这个工作由操作系统自动完成。
判断下面关于存储器管理功能的论述是否正确:(分数:8.00)(1).即使在多道程序设计环境下,用户也能设计用内存物理地址直接访问内存的程序。
A.正确√B.错误在多道编程时,用户可使用汇编指令或其他特殊指令来分配使用物理内存空间。
(2).为了提高内存保护的灵活性,内存保护通常由软件实现。
A.正确B.错误√内存保护通常由硬件实现,目的是提高内存访问的效率。
(3).交换技术已不是现代操作系统中常用的一种技术。
A.正确B.错误√现代的段式或段页式存储管理仍然使用交换技术。
(4).虚拟存储器能在物理上扩充内存容量。
A.正确B.错误√虚拟存储器并不增加物理上的内存容量,而是增加虚存容量。
2.按最先适应算法分配的分区,一定与作业要求的容量大小最接近。
A.正确B.错误√该算法是分配第一个能够容纳作业的分区,而这个分区并不一定与作业要求的容量大小最接近。
3.对于请求分页式存储管理系统,若把页面的大小增加一倍,则缺页中断次数会减少一半。
A.正确B.错误√页面大小的增加可导致缺页次数的减少,但它们之间的数量关系却并不清楚。
4.在一个分页系统中,根据需要,页面的大小可以不相等。
A.正确√B.错误页面确实可以依据需要进行调整,但一个系统同时使用几种页面尺寸容易导致管理复杂,因此并不常用。
判断以下有关可变分区管理的说法是否正确:(分数:8.00)(1).最差适应算法总是挑选最大的空闲区用于分割,使得剩下的分区仍可使用。
A.正确√B.错误(2).可变分区管理常采用的内存分配算法包括最先适应、最佳适应和最差适应算法。
A.正确√B.错误(3).最先适应算法实现简单,但碎片过多使内存空间利用率降低。
第3章存储管理-习题集一、选择题1.把作业空间中使用的逻辑地址变为内存中物理地址称为()。
【*,★,联考】A. 加载B. 重定位C. 物理化D. 逻辑化2.为了保证一个程序在主存中改变了存放位置之后仍能正确执行,则对主存空间应采用()技术。
【*,★,联考】A. 静态重定位B. 动态重定位C. 动态分配D. 静态分配3.分区分配内存管理方式的主要保护措施是()。
(注:分区包括“固定分区”和“可变分区”)【**,09考研】A. 界地址保护B. 程序代码保护C. 数据保护D. 栈保护4.分区管理要求对每一个作业都分配()的内存单元。
【*,★,联考】A. 地址连续B. 若干地址不连续C. 若干连续的块D. 若干不连续的块5.在固定分区分配中,每个分区的大小是()。
【*,联考】A. 相同B. 随作业长度变化C. 可以不同但预先固定D. 可以不同但根据作业长度固定6.在可变式分区存储管理中的拼接技术可以()。
(注:拼接是指通过移动将多个分散的小分区合并成一个大分区。
)【*,★,联考】A. 集中空闲分区B. 增加内存容量C. 缩短访问周期D. 加速地址转换7.可变式分区存储管理中,采用拼接技术的目的是()。
【*,联考】A. 合并空闲分区B. 合并分配区C. 增加主存容量D. 便于地址转换8.某基于动态分区存储管理的计算机,其主存容量为55MB(初始为空),采用最佳适配算法,分配和释放的顺序为:分配15MB,分配30MB,释放15MB,分配8MB,分配6MB,此时主存中最大空闲分区的大小是()。
【**,★,10考研】A. 7MBB. 9MBC. 10MBD. 15MB9.在分页存储管理中,主存的分配是()。
【*,联考】A. 以块为单位进行B. 以作业的大小分配C. 以物理段进行分配D. 以逻辑记录大小进行分配10.首次适应算法的空闲分区是()。
【**,★,联考】A. 按大小递减顺序连在一起B. 按大小递增顺序连在一起C. 按地址由小到大排列D. 按地址由大到小排列11.最佳适应算法的空闲分区是()。
操作系统第三章存储管理期末测试复习题及答案1、内存管理的主要目的是()A.方便用户B.增加内存物理容量C.方便用户和提高内存利用率D.提高内存利用率正确答案:C2、关于内存管理,下列叙述中正确的是()A.内存保护的目的是限制内存的分配B.若内存为M、用户数量为N,则分时系统中每个用户占用M/N 的内存空间C.在虚拟内存系统中,只要磁盘空间无限大,进程就能拥有任意大的地址空间D.实现虚拟内存管理必须有相应的硬件的支持正确答案:D3、为保证进程空间不被非法访问,内存保护由()完成A.操作系统独立完成B.硬件机构独立完成C.操作系统和硬件机构合作完成D.操作系统或硬件机构独立完成正确答案:C4、为了进程在内存中改变了位置后仍能正确执行,则应采用( )技术。
A.静态重定位B.动态重定位C.编译或汇编D.静态链接正确答案:B5、运行时重定位的缺点是()。
A.进程无法在内存中移动B.进程必须连续存储C.不利于代码共享D.同一逻辑地址,可能需要多次转换为物理地址正确答案:D6、不适合多道程序设计的存储管理技术是()A.单一连续分配B.固定分区分配C.可变式分区分配D.分页存储管理正确答案:A7、可变式分区存储管理中,实施拼接技术的目的是()A.集中空闲分区B.增加物理内存C.缩短访问时间D.简化分配算法正确答案:A8、某动态分区存储管理系统,用户可用内存容量为55MB(初始为空闲)。
若采用最佳适配算法,分配和释放的顺序为:分配15MB,分配30MB,释放15MB,分配8MB,分配6MB,则内存中最大空闲分区的大小是()A.7MBB.9MBC.10MBD.11MB9、若在动态分区中,采用首次适应算法,则空闲分区()A.按大小递减顺序连在一起B.按大小递增顺序连在一起C.按地址由小到大排列D.按地址由大到小排列正确答案:C10、对于动态分区,下列说法错误的是()A.碎片是分区之外的“外零头”B.碎片可以通过“紧凑”技术来消除C.碎片是内存中非常小的无法利用的空闲区D.碎片是产生于分区之内的“内零头”正确答案:D11、若在动态分区中,采用最坏适应分配算法,则空闲分区 ( )。
《现代操作系统第四版》第三章答案第三章内存管理习题1.IBM360有一个设计,为了对2KB大小的块进行加锁,会对每个块分配一个4bit的密钥,这个密钥存在PSW(程序状态字)中,每次内存引用时,CPU都会进行密钥比较。
但该设计有诸多缺陷,除了描述中所言,请另外提出至少两条缺点。
A:密钥只有四位,故内存只能同时容纳最多十六个进程;需要用特殊硬件进行比较,同时保证操作迅速。
2.在图3-3中基址和界限寄存器含有相同的值16384,这是巧合,还是它们总是相等?如果这只是巧合,为什么在这个例子里它们是相等的?A:巧合。
基地址寄存器的值是进程在内存上加载的地址;界限寄存器指示存储区的长度。
3.交换系统通过紧缩来消除空闲区。
假设有很多空闲区和数据段随机分布,并且读或写32位长的字需要10ns的时间,紧缩128MB 大概需要多长时间?为了简单起见,假设空闲区中含有字0,内存中最高地址处含有有效数据。
A:32bit=4Byte===>每字节10/4=2.5ns 128MB=1282^20=2^27Byte 对每个字节既要读又要写,22.5*2^27=671ms4.在一个交换系统中,按内存地址排列的空闲区大小是10MB,4MB,20MB,18MB,7MB,9MB,12MB,和15MB。
对于连续的段请求:(a) 12MB(b) 10MB(c) 9MB使用首次适配算法,将找出哪个空闲区?使用最佳适配、最差适配、下次适配算法呢?A:首次适配算法:20MB,10MB,18MB;最佳适配算法:12MB,10MB,9MB;最差适配算法:20MB;18MB;15MB;下次适配算法:20MB;18MB;9MB;5.物理地址和虚拟地址有什么区别?A:实际内存使用物理地址。
这些是存储器芯片在总线上反应的数字。
虚拟地址是指一个进程的地址空间的逻辑地址。
因此,具有32位字的机器可以生成高达4GB的虚拟地址,而不管机器的内存是否多于或少于4GB。
第三章一、填空1.将作业相对地址空间的相对地址转换成内存中的绝对地址的过程称为地址重定位。
2.使用覆盖与对换技术的主要目的是提高内存的利用率。
3.存储管理中,对存储空间的浪费是以内部碎片和外部碎片两种形式表现出来的。
4.地址重定位可分为静态重定位和动态重定位两种。
5.在可变分区存储管理中采用最佳适应算法时,最好按尺寸法来组织空闲分区链表。
6.在分页式存储管理的页表里,主要应该包含页号和块号两个信息。
7.静态重定位在程序装入时进行,动态重定位在程序执行时进行。
8.在分页式存储管理中,如果页面置换算法选择不当,则会使系统出现抖动现象。
9.在请求分页式存储管理中采用先进先出(FIFO)页面淘汰算法时,增加分配给作业的块数时,缺页中断的次数有可能会增加。
10.在请求分页式存储管理中,页面淘汰是由于缺页引起的。
二、选择1.虚拟存储器的最大容量是由 A 决定的。
A.内、外存容量之和 B.计算机系统的地址结构C.作业的相对地址空间 D.作业的绝对地址空间2.采用先进先出页面淘汰算法的系统中,一进程在内存占3块(开始为空),页面访问序列为1、2、3、4、1、2、5、1、2、3、4、5、6。
运行时会产生 D 次缺页中断。
A.7 B.8 C.9 D.10从图3-8中的“缺页计数”栏里可以看出应该选择D。
图3-8 选择题2配图3.系统出现“抖动”现象的主要原因是由于 A 引起的。
A.置换算法选择不当 B.交换的信息量太大C.内存容量不足 D.采用页式存储管理策略4.实现虚拟存储器的目的是 D 。
A.进行存储保护 B.允许程序浮动C.允许程序移动 D.扩充主存容量5.作业在执行中发生了缺页中断,那么经中断处理后,应返回执行 B 指令。
A.被中断的前一条 B.被中断的那条C.被中断的后一条 D.程序第一条6.在实行分页式存储管理系统中,分页是由 D 完成的。
A.程序员B.用户C.操作员D.系统7.下面的 A 页面淘汰算法有时会产生异常现象。
操作系统(内存管理)习题与答案一、单选题1、下面关于内存管理的叙述,正确的是()A.存储保护的目的是限制内存的分配B.在内存大小为M、有N个用户的分时系统中,每个用户占用M/N 大小的内存空间C.在虚拟内存系统中,只要磁盘空间无限大,作业就能拥有任意大的编址空间D.实现虚拟内存管理必须要有相应的硬件支持正确答案:D2、在虚拟内存管理中,地址变换机构将会把逻辑地址转变为物理地址,而形成该逻辑地址的阶段是()A.程序装载时B.程序链接时C.程序编译时D.源程序编辑时正确答案:B3、动态分区又称为可变分区,它们是系统运行过程中伴随()而动态形成的。
A.作业的完成B.各道作业的装入或完成C.各道作业的创建D.各道作业的装入正确答案:B4、内存保护需要(),以保证整个内存空间不被非法访问。
A.由操作系统和硬件机构共同协作完成B.由操作系统或者硬件机构独立完成C.由硬件机构独立完成D.由操作系统独立完成正确答案:A5、下面的内存管理方案中,()内存管理方式最适宜采用静态重定位。
A.固定分区B.分页C.分段D.动态重定位分区正确答案:A6、在可变分区内存管理方案中,某一进程完成后,系统回收其主存空间并与相邻空闲分区合并,为此需修改空闲分区表,造成空闲分区数减1的情况是回收分区()。
A.前后均无邻接空闲分区B.前后均有邻接空闲分区C.前有邻接空闲分区但后无邻接空闲分区D.前无邻接空闲分区但后有邻接空闲分区正确答案:B7、动态重定位是在程序的()过程中进行的。
A.链接B.装入C.执行D.编译正确答案:C8、在使用对换技术时,如下最适于将对应进程换出到外存的情况是当该进程正()时。
A.处于临界区B.进行复杂计算C.创建D.进行I/O操作正确答案:D9、在内存管理中,采用覆盖与对换技术的根本目的在于()。
A.实现主存共享B.物理上扩充主存容量C.提高CPU效率D.节省主存空间正确答案:D10、分页系统中的页面是为()所感知的。
操作系统概论第三章答案汇总第三章⼀、单项选择题1.基址寄存器和界限寄存器是属于( )A.指令寄存器B.通⽤寄存器C.控制寄存器D.时钟寄存器2.存储管理实际管理的是( )A.辅助存储器B.全部主存储器C.主存储器中的⽤户区D.主存储器中的系统区3.页式存储管理中,若不使⽤快表,则采⽤⼆级页表时,每访问⼀个操作数要访问主存( )A.1次B.2次C.3次D.4次4.可⽤来长期存储⼤量信息的存储器是( )A.寄存器B.⾼速缓冲存储器C.主存储器D.辅助存储器5.可变分区存储管理的主存分配算法中,查找次数最少的是( )A.随机适应分配算法B.最先适应分配算法C.最优适应分配算法D.最坏适应分配算法6.页式存储管理中,作业运⾏时,该作业的页表是放在( )A.磁盘中B.主存系统区中C.主存⽤户区中D.⽤户程序中7、处理器不能直接访问的存储器是()A、寄存器B、⾼速缓冲存储器C、主存储器D、光盘则它的最⼤页号和最⼤页内地址是()A、256和65536B、255和65535C、256和65535D、255和655369.价格昂贵、存取速度最快,但容量较⼩的存储器是()A.寄存器B.⾼速缓冲存储器C.主存储器D.辅助存储器10.程序状态字寄存器是属于()A.指令寄存器B.通⽤寄存器C.控制寄存器D.时钟寄存器11.处理器中仅设置⼀个界限寄存器的存储管理⽅式是()A.页式存储管理B.可变分区存储管理C.固定分区存储管理D.单⽤户连续存储管理12.处理器不能直接访问的存储器是()A.寄存器B.⾼速缓冲存储器C.主存储器D.辅助存储器13.断电停机后,存储信息随之消失的存储器是()A.磁盘B.磁带C.主存储器D.U盘14.处于运⾏状态的操作系统程序应放在()A.寄存器中B.⾼速缓冲存储器中C.主存储器中D.辅助存储器中15、存储管理中的地址转换(重定位)指的是( )A、将绝对地址转换成逻辑地址B、将物理地址转换成逻辑地址C、将逻辑地址转换成绝对地址D、将物理地址转换成相对地址16、页式管理系统中,页⾯调度算法淘汰最近使⽤次数最少的算法是( )A、FIFOB、FILOC、LRUD、LFU17、可以采⽤静态重定位⽅式转换地址的管理内存⽅案是( )A、页式管理B、页式虚拟管理C、可变分区管理D、固定分区管理18.计算机主存储器中,存储单元的编址单位是( )A.⼆进制位B.字节C.字D.块19.计算机系统中,存取速度最快的存储器是( )A.寄存器B.主存储器C.⾼速缓冲存储器D.辅助存储器20.减少可变分区存储管理中碎⽚的措施是( )A.增⼤分区长度B.增加分区数⽬C.采⽤移动技术D.减少分区长度21.可变分区存储管理中,通常分配最快的算法是( )A.最先适应分配B.最优适应分配C.最坏适应分配D.随机分配22.硬件中可没有地址转换机构的存储管理⽅式是()A、页式虚拟B、固定分区C、可变分区D、页式23.空闲区表中起始地址按从⼩到⼤排列的分配算法是()A.随机分配B.最先适应C.最优适应D.最坏适应24.有20位地址的页式存储管理中,如页⾯长度为2048字节,则作业可使⽤的最⼤页⾯数为()A.256 B.512C.1024 D.409625.采⽤两级页表的页式存储管理中,按给定的逻辑地址进⾏读写时,通常需访问主存()A.1次B.2次C.3次D.4次26.淘汰过去⼀段时间⾥被访问次数最少的页的算法是()A.LRUB.LFUC.FIFOD.随机27. 在回收内存时可能出现下述情况:释放区只与插⼊点前⼀空闲分区F1相邻接,此时应( )。
第三章存储器管理1 源程序变为内存中可执行的程序需要经过哪些步骤?这些步骤分别有哪几种方式?A编译:源代码编译成目标模块.objB链接:与库函数链接在一起,形成装入模块(静态链接、装入内存时动态链接、运行时动态链接)C装入:装入内存运行。
有绝对装入(绝对地址)、可重定位装入(静态重定位;装入时地址重定位)、动态运行时装入(动态重定位;运行时地址重定位,需要重定位寄存器支持);2 什么叫重定位?动态重定位特点是什么?(重定位的好处)在存储器管理中什么是重定位?为什么要引进重定位技术?2014当装入程序将可执行代码装入内存时,把逻辑地址转换成物理地址的过程,叫重定位。
(一般没特殊说明,指的就是动态重定位)1将程序分配到不连续的存储器中;2只需投入部分代码即可运行;3运行期间,根据代码需求动态申请内存;4便于程序段的共享,可用向用户提供一个比存储空间大很多大地址空间。
3内存是如何进行保护的?(访问内存的地址是如何识别正确性的?)(内存保护是为了确保操作系统的地址区不受用户进程的影响)使用重定位寄存器(含最小物理地址)和界地址寄存器(逻辑地址)来保护的。
首先将逻辑地址与界地址比较,小于则与重定位地址相加映射成物理地址;大于则出现越界中断。
4什么是覆盖技术、交换技术?覆盖:把用户空间分成一个固定区和若干的覆盖区,经常活跃的放在固定区,其他按需要调入覆盖区。
覆盖优缺点:打破了将进程全部信息装入内存才能运行的限制;当同时运行的程序代码量大于内存仍不能运行、并且用户需给出覆盖区的结构交换:即中级调度的进程的换入和换出。
(现在已经不使用覆盖技术,现在是通过虚拟存储技术来解决的)1内存分配管理有哪些方式?根据作业是否在同一分区划为连续分配和非连续分配。
A连续分配:1单一连续分配、2固定分区、3动态分区。
B非连续分配:1分页、2分段、3段页式(每个又根据是否使用虚拟内存技术分为基本和请求)2简述连续分配管理的方式有哪些?优缺点有什么?A单一连续分配:分为系统区和用户区。
无需内存保护。
优缺点:有内部碎片,内存利用率低,且只适用于单任务单用户的OS中。
B固定分区分配:将内存空间划分为固定大小区域,每个区域只装入一道作业。
缺点:程序太大放不进去、主存利用率低、产生内部碎片。
C动态分区分配:根据进程大小动态建立分区,使分区大小正好适应进程需要。
缺点:刚开始的时候是比较好的,后面会导致外部碎片的产生。
3什么是内部碎片?外部碎片、通过什么技术来解决?内部碎片:程序小于固定分区大小,导致分区内部空间有剩余。
外部碎片:在分区外部产生难以使用的碎片。
外部碎片通过“紧凑”技术来解决。
4动态分区分配的空闲分区的分配策略有哪些?优缺点是什么?首次适应算法First Fit:空闲分区按地址顺序次序链接起来,每次都分配第一个;最佳适应算法Best Fit:空闲分区按从小到大链接起来,每次分配最能适应程序大小的那一个;最坏适应算法Worst Fit:空闲分区按从大到小顺序链接起来,每次分配最大的空间;循环首次适应算法Next Fit:首次适应算法;只不过下一次寻找是从上一次结束位置开始。
First Fit:最简单,且效果最好、最快的。
缺点是内存低址部分出现很多小的分区,且每次查找都要经过这些分区。
Best Fit:实际上比较差,因为每次分配都留下难以利用的内存块,产生最多的碎片。
Worst Fit:导致很快没有可用的大的内存块。
Next Fit:它试图解决首次适应算法的问题,但实际上会导致在内存末尾分配空间。
比首次还差。
1 连续分配的固定分区分配与非连续的分页管理有什么不同?分页在形式上看与固定分区一样,但实际上不一样;分页的大小比固定分区小很多,且分页是按进程分页,内存分块(页框),进程按块为单位申请空间,所以只会在最后一块中产生页内碎片,所以不会产生外部碎片。
这会使一个作业的进程可能被分到了不同的块中。
2什么是页表?分页存储管理系统中,页表的主要作用是什么?现代大多数计算机系统都支持非常大的逻辑地址空间,这给页表设计带来什么问题?(页表太大)2014页表是为了便于在内存中找到进程中每个页面对应的物理块号,系统为每一个进程建立一张页表,记录在内存中物理块号,页表也一般放在内存中。
3分页管理方式存在哪两种主要的问题?每次访问内存需要逻辑地址转化到物理地址,所以转化速度必须快;【快表】每个进程引入页表机制,页表不能太大,否则内存利用率低【多级分页和请求分页】(见下)4页表太大会带来什么问题?解决方法有哪些?难以在内存中找到一块连续的地址,放下这么大的页表。
即便是找到,也会占用内存很大的空间,内存的空间利用率下降。
1采用离散分配方式解决难以找到一块连续的大内存空间;【多级页表】2只需将当前需要的部分页表项调入内存,其余页表项驻留在外存上。
【请求分页】5 页表是什么组成的?分页的地址结构?整张页表,是由一个个页表项组成。
每一个页表项由页号和所对应的块号组成。
分页的地址结构由“页号”+“页内偏移量”组成。
例如地址长度32位(页号31~12,页内偏移11~0)则1“页号”就是整张页表中页表项的偏移量。
(现在页号20位,即能支持的页表项个数为220个。
最大页表项所对应的页号是220-1。
2如果把一页里面放满页表编号(不是页号,页号是一页里面的页表项的偏移量),即该一页中的页号中的一位对应一张页表,就是能支持最大页数。
(地址空间所允许的最大页数为220页)3“页内偏移量”就是一页的大小。
(现在页内偏移量为12位,即212B=4KB。
即现在一页的大小为4KB)6慢表的地址变换过程?(整个过程由硬件自动完成)整个过程就是把逻辑地址的页号替换成物理块号,就变为了物理地址。
(假设页面大小L=1KB,页号2对应物理块8,计算逻辑地址2500的物理地址?)1系统常设“页表寄存器”,存放该页表的内存开始地址F和页表长度M。
(平时放在PCB中,要用时才调入寄存器)(先找到该页表,页表长度为1024B)2根据逻辑地址计算页号P和页内偏移量W ->比较页号P与页表长度M(页号是页表的里面一个页表项的偏移量与页表长度,即总的页表项相比较)->(页号p=逻辑地址/页面大小;页内偏移量W=逻辑地址%页面大小)(现在页号p= 2500/1024B=2;页内偏移量W=2500%1024B=452)3 P<M 在快表中根据页号P查找块号B;大于则产生越界中断;->(2<1024,继续找到2对应8)4 最后形成物理地址(注意:块号在高位上,快内偏移在低位上,不能直接相加,需要把块号*快内偏移最大量+快内偏移)(物理地址=8*1024+452=8644)7什么是快表?有快表和只有慢表访存到次数是多少?页式管理中为什么要设置页表和快表?(加快地址重定位速度,从而加快了存取速度)2011 快表:在高速缓冲器Cache中增设当前访问的若干表项,它是内存中页表(慢表)的一个很小的副本。
只有慢表需访问两次:一次访问内存的页表,转化成物理地址后,再一次访问内存。
(命中的)快表访问一次内存:虽然是一次Cache一次内存,但访问内存只有1次。
8快表地址变换过程?快表计算有些是慢表快表同时查找、有些是先找快表(一般不用同时查找);1快表找到则直接可以形成物理地址。
2快表找不到,则找到慢表中的表项时,同时更新快表。
然后再次从头访问。
如果是请求分页,还可能出现该页(不是页表项)不在内存的情况,需要缺页中断处理,调入该页、并且修改页表。
最后一定要记住分页快表中拿到的是地址,还需要再次访问内存拿到数据。
例:现在记快表访问时间为A,缺页中断处理时间为B,访问内存时间为C 则能命中快表的总的访问时间:A+C(访问A拿到地址,再访问C拿数据)不能命中快表的总的访问时间:A+C+C(访问A失败,访问C拿到地址,再访问C拿数据)不能命中快表且内存中没有该页框:A+C+B+A+C(访问A失败,访问C失败,中断处理B,然后再访问A拿到地址,再访问C拿到数据)9两级分页的地址转换过程?先找顶级页表(只有一张),然后找到对应的页表项,取到二级页表的块号;根据该块号找二级页表,然后找到对应的页表项,取到对应的块号;最后块号与页内偏移形成最终的物理地址。
10 两级分页的地址结构?“顶级页表”+“二级页表”+“页内偏移量”(假设32位地址,31~22顶级页表,21~12二级页表,11~0页内偏移量)1二级分页就是把顶级页表的一页来装二级分页的页表编号,所以顶级页表的一位对应二级分页的一张页表。
2二级页表总的页表项数=顶级页表数目*每一个顶级页表对应的二级页表数目(210*210=220项,就是两个位数相加)3分页:一页大小为aKB,一个页表项大小为bKB,则一页可放a/b个页表项;进程大小为cKB,则该进程可以分为c/a页作为二级页表;固二级页表项有c/a个项,将其分页,可以分为(c/a)/(a/b)=cb/a2页;这些页对应出来的就是就是顶级页表的页表项数cb/a2项。
4 32位系统分页(32位,即232B=4GB,假设一页4KB,页表项大小为4B)则一页可容纳4KB/4B=210个页表项;这些地址空间可以分为4GB/4KB=220个页面,这些页面对应页表项也有这么多,固向上分页可以分出220/210=210个页面,这些页面对应的页表项刚好塞进一页,固只需要二级分页即可。
5 64位系统分页(64位,即264B,假设一页4KB,页表项大小为8B,偏移字段12位)则一页可容纳4KB/8B=29个页表项,即每一次分页占9位;这些地址空间64位=12+(9+9+9+9+9+7),即需要6级分页。
(实际上没有使用全部64位寻址,只用了45位,分了4级页表出来)1基本分页和基本分段异同?分页时从计算机角度考虑的,提高计算机内存利用率,且是通过硬件实现的,对用户完全透明;分段则是从程序员角度考虑的,以满足方便编程、信息保护、信息共享、动态增长、动态链接等多方面需要。
页的大小固定,由机器硬件实现地址重定位;段的大小不固定,由编译程序决定。
分页的作业地址空间是一维的;分段则是二维的,程序员标识一个地址既要给出段名,也要给出段内地址。
2 页表、段表、段页式的页表、段表每一项由什么组成?页表、段表、段页式地址结构由什么组成?A页表项由“页号”、“块号(就是首地址)”段表项由“段号”、“段首地址”、“段长”(因为每一段长度不同)段页式的段表“段号”、“页表首地址”、“段长”段页式的页表(同上页表)B页表地址由“页号”+“页内偏移量”段表地址由“段号”+“段内偏移量(以所有段中的最大段长来设计)”段页式由“段号”+“页号”+“页内偏移量”2什么叫纯代码?或者叫可重入代码?有什么作用?不能进行修改的代码叫纯代码,可重入代码。