第4章 存储器、存储管理和高速缓存技术

合集下载

微机原理试题库—已做好了答案

微机原理试题库—已做好了答案

微机原理与接口技术试题库第一章基础知识一、填空1、计算机中采用 2 进制数,尾符用 B 表示。

2、西文字符的编码是ASCII 码,用 1 个字节表示。

3、10111B用十六进制数表示为17 H,八进制数表示为27 O。

4、带符号的二进制数称为真值;如果把其符号位也数字化,称为原码。

5、已知一组二进制数为-1011B,其反码为1100B ,其补码为1101B 。

6、二进制码最小单位是位,基本单位是字节。

7、一个字节由8 位二进制数构成,一个字节简记为1B ,一个字节可以表示256 个信息。

8、用二进制数表示的十进制编码,简称为BCD 码。

9、8421码是一种有权BCD 码,余3码是一种无权BCD 码。

二、选择1、计算机中采用 A 进制数。

A. 2B. 8C. 16D. 102、以下的 C 编码是一种有权码。

A. 循环码B. BCD码C. 8421码D. 余3码3、八进制数的尾符是 B 。

A. BB. OC. DD. H4、与十进制数254等值的数是 B 。

A. 11111110B. 11101111C. 11111011D. 111011105、下列不同数制表示的数中,数值最大的是 C 。

A. 11011101BB. 334OC. 1219DD. DAH6、与十六进制数BC等值的数是 C 。

A. 10111011B. 10111100C. 11001100D. 110010117、下列字符中,ASCII码值最小的是 A 。

A. KB. YC. aD. i8、最大的10位无符号二进制整数转换成十进制数是 C 。

A. 51B. 512C. 1023D. 10249、A的ASCII码值为65D,ASCII码值为68D的字母是C 。

A. BB. CC. DD. E10、下列等式中,正确的是 D 。

A. 1KB=1024×1024BB. 1MB=1024BC. 1KB=1024D. 1MB=1024×1024B第二章微型机系统概述一、填空1、计算机的发展经历了4个时代,微型机属于第 4 代计算机。

操作系统-存储管理(4)段页式虚拟存储

操作系统-存储管理(4)段页式虚拟存储

操作系统-存储管理(4)段页式虚拟存储物理地址:⼜称绝对地址,即程序执⾏所使⽤的地址空间(处理器执⾏指令时按照物理地址进⾏)逻辑地址:⼜称相对地址,即⽤户编程所使⽤的地址空间,从0开始编号,有两种形式:⼀维逻辑地址(地址)⼆维逻辑地址(段号:段内地址)主存储器空间的分配与去配:分配:进程装⼊主存时,存储管理软件进⾏具体的主存分配操作,并设置⼀个表格记录主存空间的分配情况去配:当某个进程撤离或主动归还主存资源时,存储管理软件要收回它所占⽤的全部或者部分存储空间,调整主存分配表信息主存储器空间的共享:多个进程共享主存储器资源:多道程序设计技术使若⼲个程序同时进⼊主存储器,各⾃占⽤⼀定数量的存储空间,共同使⽤⼀个主存储器多个进程共享主存储器的某些区域:若⼲个协作进程有共同的主存程序块或者主存数据块多道程序设计需要复⽤主存:按照分区复⽤:主存划分为多个固定/可变尺⼨的分区,⼀个程序/程序段占⽤⼀个分区按照页架复⽤:主存划分成多个固定⼤⼩的页架,⼀个程序/程序段占⽤多个页架装载程序/加载器(loader)把可执⾏程序装⼊内存的⽅式有:绝对装载可重定位装载动态运⾏时装载地址转换:⼜称重定位,即把可执⾏程序逻辑地址转换成绝对地址,可分为:静态地址重定位:由装载程序实现装载代码模块的加载和地址转换(⽆需硬件⽀持),把它装⼊分配给进程的内存指定区域,其中所有指令代码和数据的逻辑地址在执⾏前⼀次全部修改为内存物理地址。

早期单任务单⽤户OS使⽤。

动态地址重地位:由装载程序实现装载代码模块的加载,把它装⼊进程的内存在指定区域,但对链接程序处理过的应⽤程序逻辑地址不做修改,程序内存起始地址被置⼊重定位寄存器(基址寄存器)。

程序执⾏过程中每当CPU访问程序和数据引⽤内存地址时,由硬件地址转换机构截取此逻辑地址并加上重定位寄存器的值。

运⾏时链接地址重定位存储保护:为避免主存中的多个进程相互⼲扰,必须对主存中的程序和数据进⾏保护。

操作系统复习存储器管理

操作系统复习存储器管理

第一章 存储器管理4.1 存储器的层次结构—存储器应容量大,便宜,速度跟上处理器4.1.1 多级存储器结构通常有三层,细分为六层,如图4-1, 越往上,速度越快,容量越小,价格越贵; 寄存器和主存又称可执行存储器,进程可直接用指令访问,辅存只能用I/O 访问;4.1.2 主存储器与寄存器1.主存储器---内存,保存进程运行时的程序和数据;CPU与外围设备交换的信息一般也依托于主存储器地址空间;为缓和访存速度远低于CPU 执行指令的速度,在计算机系统中引入了寄存器和高速缓存;2.寄存器---与CPU 协调工作,用于加速存储器的访问速度,如用寄存器存放操作数,或用地址寄存器加快地址转换速度等;4.1.3 高速缓存和磁盘缓存1.高速缓存---根据程序执行的局部性原理将主存中一些经常访问的信息程序、数据、指令等存放在高速缓存中,减少访问主存储器的次数,可大幅度提高程序执行速度;2.磁盘缓存---将频繁使用的一部分磁盘数据和信息,暂时存放在磁盘缓存中,可减少访问磁盘的次数;它依托于固定磁盘,提供对主存储器存储空间的扩充,即利用主存中的存储空间,来暂存从磁盘中读/写入的信息;4.2 程序的装入和链接多道程序运行,需先创建进程;而创建进程第一步是将程序和数据装入内存;将源程序变为可在内存中执行的程序,通常都要经过以下几个步骤:编译---若干个目标模块;链接---链接目标模块和库函数,形成装入模块;装入---图 4-2 对用户程序的处理步骤寄存器高速缓存主存磁盘缓存磁盘可移动存储介质CPU 寄存器主存辅存第一步第二步第三步内存4.2.1 程序的装入——无需连接的单目标模块装入理解装入方式1. 绝对装入方式Absolute Loading Mode ---只适用单道程序环境如果知道程序的内存位置,编译将产生绝对地址的目标代码,按照绝对地址将程序和数据装入内存;由于程序的逻辑地址与实际内存地址完全相同,故不须对程序和数据的地址进行修改;绝对地址:可在编译时给出或由程序员直接赋予;若由程序员直接给出,不利于程序或数据修改,因此,通常是在程序中采用符号地址,然后在编译或汇编时转换为绝对地址;2. 可重定位装入方式Relocation Loading Mode ---适于多道程序环境多道程序环境下,编译程序不能预知目标模块在内存的位置;目标模块的起始地址是0,其它地址也都是相对于0计算的;此时应采用可重定位装入方式,根据内存情况,将模块装入到内存的适当位置,如图4-3 作业装入内存时的情况 ;3.动态运行时装入方式Dynamic Run-time Loading ---适于多道程序环境可重定位装入方式并不允许程序运行时在内存中移动位置;但是,在运行过程中它在内存中的位置可能经常要改变,此时就应采用动态运行时装入方式;动态运行时的装入程序,在把装入模块装入内存后,并不立即把装入模块中的相对地址转换为绝对地址,而是把这种地址转换推迟到程序真正执行时才进行;因此,装入内存后的所有地址都仍是相对地址;问题:程序装入内存后修改地址的时机是什么4.3 连续分配方式4.3.3 动态分区分配——根据进程需要动态分配内存1. 分区分配中的数据结构1 空闲分区表—用若干表目记录每个空闲分区的分区序号、分区始址及分区的大小等数据项;2 空闲分区链--为实现对空闲分区的分配和链接,在每分区起始部分,设置前向指针,尾部则设置一后向指针;为检索方便,在分区前、后向指针中,重复设置状态位和分区大小表目;当分0内存空间区被分配后,把状态位由“0”改为“1”时,前、后向指针失去意义;图 4-5 空闲链结构2. 分区分配算法P1231首次适应算法first-fit —空闲分区链以地址递增次序链接 每次按分区链的次序从头查找,找到符合要求的第一个分区;2 循环首次适应算法—FF 算法的变种从上次找到的空闲分区位置开始循环查找,找到后,修改起始查找指针; 3 最佳适应算法—空闲分区按容量从小到大排序 把能满足要求的、最小的空闲分区分配给作业 4 最坏适应算法——空闲分区按容量从大到小排序 挑选最大的空闲区分给作业使用;5) 快速适应算法—根据容量大小设立多个空闲分区链表3. 分区分配操作1.分配内存请求分区u.size; 空闲分区m.size; m.size-u.size ≤size,说明多余部分太小, 不再切割,将整个分区分配给请求者;否则从该分区中划分一块请求大小的内存空间,余下部分仍留在空闲分区链;如图4-6 内存分配流程;2.回收内存1 回收区与插入点的前一空闲分区F1相邻:合并,修改F1大小;2 回收区与后一空闲分区F2相邻:合并,修改首地址和大小;3 回收区同时与前、后两个分区邻接:合并,修改F1大小,取消F2;4 回收区不邻接:新建表项,填写首地址和大小,并插入链表;如图前向指针N +20N 个字节可用后向指针N +2图 4-6 内存分配流程4.3.6 可重定位分区分配1.动态重定位的引入例:在内存中有四个互不邻接的小分区,容量分别为10KB 、30KB 、14KB 和26KB;若现有一作业要获得40KB 的内存空间,因连续空间不足作业无法装入;可采用的一种解决方法是:通过移动内存中作业的位置,以把原来多个分散的小分区拼接成一个大分区的方法,称为“拼接”或“紧凑;由于用户程序在内存中位置的变化,在每次“紧凑”后,都必须对移动了的程序或数据进行重定位;图 4-8 紧凑的示意4.3.7 对换即中级调度1. 对换Swapping 的引入(a ) 紧凑前(b ) 紧凑后“活动阻塞”进程占用内存空间;外存上的就绪作业不能进入内存运行;所谓“对换”,是指把内存中暂时不能运行的进程或者暂时不用的程序和数据,调出到外存上,以便腾出足够的内存空间;再把已具备运行条件的进程或所需要的程序和数据,调入内存;对换是提高内存利用率的有效措施;根据对换单位可分为:进程对换、页面对换和分段对换;为了能实现对换,系统应具备以下三方面功能:对换空间的管理、进程的换出与换入2. 进程的换出与换入1进程的换出选择阻塞且优先级最低的进程,将它的程序和数据传送到磁盘对换区上;回收该进程所占用的内存空间,并对该进程的进程控制块做相应的修改;2进程的换入找出“就绪” 但已换出到磁盘上时间最久的进程作为换入进程,将之换入,直至已无可换入的进程;4.4 基本分页存储管理方式前面的连续分配方案会形成许多“碎片”,“紧凑”方法可以解决碎片但开销大;是否允许进程离散装入 离散单位不同,称分页式存储和分段式存储;不具备对换功能称为“基本分页式”,支持虚拟存储器功能称为“请求基本分页式”;4.4.1 页面与页表1. 页面1 页面和物理块---将进程的逻辑地址空间分成若干个大小相等的片,称为页面,并为各页编号;相应地把内存空间分成与页面相同大小的若干个存储块,称为物理块,也同样编号;分配时,将进程中的页装入到物理块中,最后一页经常装不满一块而形成 “页内碎片”;2 页面大小---页面的大小应选择适中;页面太小,内存碎片减小,利用率高;但页表过长,占大量内存;页面较大,页表长度小;但页内碎片大;因此,页面的大小应选择得适中,且页面大小应是2的幂,通常为512 B~8 KB;2. 地址结构分页地址中的地址结构如下:31 12 11 0它含有两部分:页号P12~31位,最多有1M 页和页内位移量W0~11位,每页的大小4KB ; 对某特定机器,其地址结构是一定的;若给定一个逻辑地址空间中的地址为A,页面的大小为L,则页号P 和页内地址d 可按下式求得:MODL A d L A INT P ][=⎥⎦⎤⎢⎣⎡=3. 页表---实现从页号到物理块号的地址映射用户程序0 页1 页2 页3 页4 页5 页…n 页页表内存4.4.2 地址变换机构任务:将逻辑地址转换为物理地址;页内地址变换:因页内地址与物理地址一一对应, 可直接转换;页号变换:页表可实现从逻辑地址中页号到内存中物理块号的变换; 1.基本的地址变换机构a. 页表功能可由一组专门的寄存器实现原理;b. 页表大多驻留内存,系统中只设置一页表寄存器来存放页表在内存的始址和页表长度实际操作;c. 进程未执行时,页表始址和长度存放在PCB 中;执行时才将这两个数据装入页表寄存器中过程;图 4-12 分页系统的地址变换机构2. 具有快表的地址变换机构a. 仅用页表寄存器时,CPU 每存取一数据要两次访问内存页表-地址变换-数据;b. 为提高地址变换速度,可在地址变换机构中增设一具有并行查寻能力的特殊高速缓冲寄存器用以存放当前访问的那些页表项,称为“快表”;c. ->在CPU 给出逻辑地址,将页号P 送入快表 ->页号匹配,读物理块号后送物理地址寄存器->无匹配页号,再访问内存中页表,把从页表项中读出的物理块号送地址寄存器;同时,再将此页表项存入到快表中;->如快表已满,则OS 须找到一换出页表项换出; 为什么增加“快表”为了提高地址变换速度,可在地址变换机构中增设一个具有并行查寻能力的特殊高速缓冲寄存器,又称为“联想寄存器”Associative Memory,或称为“快表 “快表”有何缺点越界中断图 4-13 具有快表的地址变换机构4.5 基本分段存储管理方式4.5.1 分段存储管理方式的引入为什么引入推动内存从固定分配到动态分配直到分页存储,主要动力是内存利用率,而引入分段存储管理方式,主要是为了满足用户和程序员的下述一系列需要:1方便编程---把作业按逻辑关系划分为若干段,每段有自己的名字和长度,并从0开始编址;LOAD 1,A|<D>; STORE 1,B|<C>2 信息共享---段是信息的逻辑单位;为实现共享,存储管理应与用户程序分段的组织方式相适应;3 信息保护---对信息的逻辑单位进行保护,应分段管理;4 动态增长---分段存储能解决数据段使用过程中动态增长;5 动态链接---运行过程中动态调入以段为单位的目标程序;4.5.2 分段系统的基本原理1. 分段作业划分为若干段,如图4-16,每个段用段号来代替段名,地址空间连续;段的长度由逻辑信息长度决定,因而各段长度不等;其逻辑地址由段号段名和段内地址所组成,结构如下: 31 16 15 0该地址结构中,允许一个作业最多有64K 个段,每个段的最大长度为64KB;编译程序能自页表寄存器逻辑地址L 物理地址动根据源程序产生若干个段;2.段表,其中每段占一个表项,中;图4-16 利用段表实现地址映射3.分页和分段的主要区别1 页是信息的物理单位,分页是为提高内存的利用率,是为满足系统管理的需要;段则是信息的逻辑单位,分段是为了能更好地满足用户的需要;2 页的大小固定且分页由系统硬件实现;而段的长度不固定,通常由编译程序根据信息的性质来划分;3 分页的作业地址空间是一维的,程序只需一个地址记忆符;而分段的作业地址空间是二维的,程序员既需给出段名,又需给出段内地址;4.5.3 信息共享可重入代码纯代码:允许多个进程同时访问的代码;绝对不允许可重入代码在执行中改变,因此,不允许任何进程修改它;4.5.4 段页式存储管理方式1.基本原理---,,,4KB;作业空间内存空间子程序段数据段(a)段号(S)段内页号(P)页内地址(W)(b)主程序段图4-21 利用段表和页表实现地址映射4.6 虚拟存储器的基本概念前面各种存储器管理方式共同点:它们要求将一个作业全部装入内存后方能运行,于是出现了下面这样两种情况:1 有的作业很大,其所要求的内存空间超过了内存总容量,作业不能全部被装入内存,致使该作业无法运行;2 有大量作业要求运行,但由于内存容量不足以容纳所有这些作业,只能将少数作业装入内存让它们先运行,而将其它大量的作业留在外存上等待;4.5.1 虚拟存储器的引入1.常规存储器管理方式的特征1 一次性;将作业全部装入内存后方能运行,此外有许多作业在每次运行时,并非其全部程序和数据都要用到;一次性装入,造成了对内存空间的浪费;2 驻留性;作业装入内存后一直驻留,直至运行结束;尽管因故等待或很少运行,都仍将继续占用宝贵的内存资源;现在要研究的问题是:一次性及驻留性在程序运行时是否必需;2.局部性原理早在1968年, Denning.P就曾指出:1 程序执行时,除了少部分的转移和过程调用指令外,在大多数情况下仍是顺序执行的;2 过程调用将会使程序的执行轨迹由一部分区域转至另一部分区域,但经研究看出,过程调用的深度在大多数情况下都不超过5;3 程序中存在许多循环结构,这些虽然只由少数指令构成, 但是它们将多次执行;4 程序中还包括许多对数据结构的处理, 如对数组进行操作,它们往往都局限于很小的范围内;局限性主要表现在下述两个方面:1 时间局限性-由于循环操作的存在;如果程序中的指令或数据一旦执行,则不久以后可能再次访问;2 空间局限性-由于程序的顺序执行;程序在一段时间内所访问的地址,可能集中在一定的范围之内;3. 虚拟存储器定义---基于局部性原理程序运行前,仅须将要运行的少数页面或段装入内存便可启动,运行时,如果需要访问的页段尚未调入内存缺页或缺段,用OS提供请求调页段功能调入;如果此时内存已满,则还须再利用页段的置换功能,将内存中暂时不用的页段调至外存,腾出足够的内存空间后,再将要访问的页段调入;所谓虚拟存储器,是指具有请求调入功能和置换功能,能从逻辑上扩充内存容量的一种存储器系统;其逻辑容量由内存容量和外存容量之和所决定,其运行速度接近于内存,成本接近于外存;4.6.3 虚拟存储器的特征1)多次性---一个作业被分成多次调入内存运行,最初装入部分程序和数据,运行中需要时,再将其它部分调入;2)对换性---允许在作业的运行过程中进行换进、换出;换进和换出能有效地提高内存利用率;3)虚拟性---从逻辑上扩充内存容量,使用户所看到远大于实际内存容量;这是虚拟存储器最重要的特征和最重要的目标;4)离散性---是以上三个特性的基础,在内存分配时采用离散分配的方式;备注:虚拟性是以多次性和对换性为基础的,而多次性和对换性又必须建立在离散分配的基础上;4.7 请求分页存储管理方式4.6.1 请求分页中的硬件支持---页表、缺页中断和地址变换请求分页系统是在分页的基础上,增加了“请求调页”和“页面置换”功能,每次调入和换出基本单位都是长度固定的页,实现比请求分段简单;1.页表机制---将用户地址空间中的逻辑地址变换为内存空间中的物理地址,因只将部分调入内存,需增设若干项;在请求分页系统中的每个页表项如下所示:1 状态位P:该页是否已调入内存,供访问时参考;2 访问字段A:记录一段时间内本页被访问的频率,供选择换出页时参考;3 修改位M:页在调入内存后是否被修改过,供置换页面时参考;4 外存地址:指出该页在外存上的地址,即物理块号,供调入该页时参考;4.7.2 内存分配策略和分配算法1.最小物理块数的确定是指能保证进程正常运行所需的最小物理块数,当系统为进程分配的物理块数少于此值时,进程将无法运行;进程应获得的最少物理块数与计算机的硬件结构有关;对于某些简单的机器,所需的最少物理块数为2,分别用于存放指令和数据,间接寻址时至少要有三块;对于某些功能较强的机器,因其指令本身、源地址和目标地址都可能跨两个页面,至少要为每个进程分配6个物理块,以装入这些页面;2. 物理块的分配策略请求分页系统的两种内存分配策略:即固定和可变分配策略;两种置换策略:即全局置换和局部置换;可组合出以下三种策略;1 固定分配局部置换Fixed Allocation, Local Replacement--每进程分配一定数目的物理块,在整个运行期间都不再改变,换入换出都限于这些物理块;每个进程物理块难以确定,太多太少都不好2 可变分配全局置换Variable Allocation, Global Replacement --每进程分配一定数目的物理块,OS 保持一空闲物理块队列;进程缺页时,摘下一空闲块,并将该页装入;3 可变分配局部置换Variable Allocation, Local Replacemen --每进程分配一定数目的物理块;进程缺页时,只允许从该进程内存页中选出一页换出;若缺页中断频繁,再为该进程分配若干物理块,直至缺页率减少;若缺页率特低,则减少该进程的物理块数,应保证缺页率无明显增加;3. 物理块分配算法1 平均分配算法--将所有可供分配的物理块,平均分配给各个进程; 例如,有100个物理块,5个进程,每进程可分20个物理块;未考虑到各进程本身的大小;2 按比例分配算法--根据进程的大小按比例分配物理块;共n 个进程,每进程页面数为si,则页面数的总和为:设可用的物理块为m,每进程分到的物理块数为bi,有:3 考虑优先权的分配算法--为了照顾重要、紧迫的作业尽快完成,为它分配较多的空间;通常采取:把可供分配的物理块分成两部分:一部分按比例分给各进程;另一部分根据优先权分给各进程;有的系统是完全按优先权来分配;4.7.3 调页策略1. 何时调入页面1 预调页策略缺页前 :页面存放连续,用预测法一次调入多个相邻页,预测成功率仅为50%;2 请求调页策略缺页时:运行中,发现不在内存,立即请求,由OS 调入;2. 从何处调入页面请求分页系统中外存分为两部分:文件区和对换区;这样,当发生缺页请求时,系统应从何处将缺页调入内存:1 系统拥有足够的对换区,可以全部从对换区调入所需页面;在进程运行前,须将有关的文件拷贝到对换区;2 系统缺少足够的对换区,这时凡是不会被修改的文件,都直接从文件区调入,由于它们未被修改而不必换出;但对于可能被修改的部分,换出时调到对换区,以后需要时,再从对换区调入;3 UNIX 方式;凡是未运行过的页面,都应从文件区调入;曾运行过但已换出的页面,放在∑==ni iS S 1m SS b ii ⨯=对换区,下次应从对换区调入;4.8 页面置换算法当进程运行时,所访问的页面不在内存而需要将他们调入内存,但内存无空闲时,需要选择一页面换出到对换区,选择算法即页面置换算法;算法评价:页面置换频率低,调出页面将不会或很少访问;4.8.1 最佳置换算法和先进先出置换算法1. 最佳Optimal 置换算法由Belady 于1966年提出的一种理论上的算法;原理:其所选择的被淘汰页面,将是以后永不使用的, 或是在最长未来时间内不再被访问的页面;特点:通常可获得最低的缺页率,但由于进程运行不可预知而无法实现,用来评价其他算法;假定系统为某进程分配了三个物理块,并考虑有以下的页面号引用串:7,0,1,2,0,3,0,4,2,3,0,3,2,1,2,0,1,7,0,1进程运行时,先将7,0,1三页装入内存;当进程要访问页面2时,将会产生缺页中断,此时OS 根据最佳置换算法,将选择页面7予以淘汰;共发生6次页面置换;图 4-25 利用最佳页面置换算法时的置换图 2. 先进先出FIFO 页面置换算法---总是置换最先进入内存的页面;用FIFO 算法共发生12次页面置换;该算法与进程的实际运行规律不相符,有些页面经常被访问全局变量,常用函数;图 4-26 利用FIFO 置换算法时的置换图4.8.2 最近最久未使用Least Recently Used LRU 置换算法1. LRU置换算法 ---在无法预测各页面将来使用情况下,利用“最近过去”作为“最近将来”的近似选择最近最久未使用的页面予以淘汰;用LRU 算法共发生9次页面置换;引用率70770170122010320304243230321201201770101页框(物理块)203图 4-27 LRU 页面置换算法2. LRU 置换算法的硬件支持LRU 算法比较好,但为了快速知道哪一页是最近最久未使用的页面,需要硬件支持:寄存器或栈;1 寄存器为了记录某进程在内存中各页的使用情况,须为每个页面配置一个移位寄存器,可表示为:原理:进程访问某物理块时,先将寄存器的Rn-1位设成1;此时,定时信号将每隔一定时间将寄存器右移一位;若将n 位寄存器的数看做是一整数,那么,具有最小数值的寄存器所对应的页面,就是最近最久未使用的页面;例:某进程在内存中有8个页面,为每页面配置一8位寄存器时的LRU 访问情况,如图4-28图 4-28 某进程具有8个页面时的LRU 访问情况2 栈--利用栈来保存当前使用的各页面的页面号;原理:每当进程访问某页面时,便将该页面的页面号从栈中移出,将它压入栈顶;因此,栈顶始终是最新被访问页面的编号,而栈底则是最近最久未使用页面的页面号;假定现有一进程所访问的页面的页面号序列为:4,7,0,7,1,0,1,2,1,2,6随着进程的访问,栈中页面号的变化情况如图4-29所示;在访问页面6时发生了缺页,此时页面4是最近最久未被访问的页,应将它置换出去;LRU 算法较好,但要求较多硬件支持, 实际使用接近LRU算法-Clock 算法;图引用率70770170122010323104430230321013201770201页框2304204230230127127011474074704170401741074210741207421074621074-29 用栈保存当前使用页面时栈的变化情况。

磁盘存储管理

磁盘存储管理
•一般使用简单的假定测量该值,即使用平均值:将磁盘旋转周期的一半作为旋转延迟 的近似值,该方法在实际应用中也非常实用。因此,一般都将磁盘旋转周期的一半定 义为旋转延迟。
磁盘访问时间
传输时间Tt 这是指把数据从磁盘读出或向磁盘写入数据所经历的时间。
Tt的大小与每次所读/写的字节数b和旋转速度有关:
被访问的下
移动距离
一个磁道号
(磁道数)
55
45
58
3
39
19
18
21
90
72
160
70
150
10
38
112
184
146
平均寻道长度: 55.3
有9个进程先后提出磁盘I/O请求。进程(请求者)按发出请求的先后次序排 队。平均寻道距离为55.3条磁道,该方法平均寻道距离较大,故FCFS算法 仅适用于请求磁盘I/O的进程数目较少的场合。
20
150
132
160
10
184
24
平均寻道长度: 27.5
SSTF算法的平均每次磁头移动距离明显低于FCFS的距离,因而较FCFS 有更好的寻道性能,曾被广泛采用。
FCFS调度算法
磁盘调度
SSTF调度算法
扫描(SCAN)算法
进程“饥饿”现象
SSTF算法虽然能获得较好的寻道性能,但却可能导致某 个进程发生“饥饿”(Starvation)现象。
1b Ta Ts 2r rN
磁盘访问时间
Ta
Ts
1 2r
b rN
• 由上式可以看出,在访问时间中,寻道时间和旋转延迟时间与所读/ 写数据的多少无关,它通常占据了访问时间中的大部分。
• 例如,假定寻道时间和旋转延迟时间平均为20 ms,而磁盘的传输速 率为10 MB/s,如果要传输10 KB的数据,此时总的访问时间为21 ms, 可见传输时间所占比例是非常小的。当传输100 KB数据时,其访问时 间也只是30 ms,即当传输的数据量增大10倍时,访问时间只增加约 50%。

第8章 高速缓冲存储器和虚拟存储器

第8章 高速缓冲存储器和虚拟存储器
问Cache的地址,这一过程被叫做Cache的地址变 换。
5
最简单的映射
如果:Cache的标记字段存储该单元在主存的地址 (如16位),而数据字段存储数据(如8位),那 么一个Cache 单元将至少为1(有效位)+16+8=25位。
有效标志1位 标记16位 数据8位 1 1000 0000 0100 1000 3F 0 … 1000 1000 0100 0000 …... 58 …
8
全相联硬件实现举例
特点: 假设CPU要访问0358H 00 0011 0101 1000 Cache利用率高,方式灵活。 4-16 4 译码 成本高,主存:2m块→m位比较电路 Cache:n块→n个比较电路 块号 块号 块号
10位比 较电路 10位比 较电路 128个 10位比 较电路
9
直接映像方式
主存以Cache为单位 分为若干区,则每区 的块数和Cache块数 一样多; 任何一个区内的第n 块只能放在Cache的 128块(每块16字) 第n块中。
Cache128块→主存划分成1024/128=8个区, 对0358H主存单元: 00 0 主存1024块 则主存地址划分为: 区号3位 块号7位 块内字号4位 011 0101 1000

直接写回(Write Through): 简便易行,数据一致性容易保证, 系统运行效率不高,Cache对写操作没有提高性能。 拖后写回(Write Back):一直拖到有另外设备要读内容已过时 的主存单元时,则首先停止读,待写回后再启动暂停的读操作。
问题:如何知道访问过时的内存单元? 回答:通过监视地址总线,记下内存单元地址用于比较。控
页式存储管理的特点


优点:只要有空白页新页就可以调入内存 只有程序的最后一页可能有零头浪费 缺点:页不是逻辑上的独立程序实体 处理、保护和共享信息不如段式方便

(完整版)计算机操作系统复习知识点汇总

(完整版)计算机操作系统复习知识点汇总

《计算机操作系统》复习大纲第一章绪论1.掌握操作系统的基本概念、主要功能、基本特征、主要类型;2.理解分时、实时系统的原理;第二章进程管理1.掌握进程与程序的区别和关系;2.掌握进程的基本状态及其变化;3.掌握进程控制块的作用;4.掌握进程的同步与互斥;5.掌握多道程序设计概念;6.掌握临界资源、临界区;7.掌握信号量,PV操作的动作,8.掌握进程间简单同步与互斥的实现。

第三章处理机调度1.掌握作业调度和进程调度的功能;2.掌握简单的调度算法:先来先服务法、时间片轮转法、优先级法;3.掌握评价调度算法的指标:吞吐量、周转时间、平均周转时间、带权周转时间和平均带权周转时间;4.掌握死锁;产生死锁的必要条件;死锁预防的基本思想和可行的解决办法;5.掌握进程的安全序列,死锁与安全序列的关系;第四章存储器管理1.掌握用户程序的主要处理阶段;2.掌握存储器管理的功能;有关地址、重定位、虚拟存储器、分页、分段等概念;3.掌握分页存储管理技术的实现思想;4.掌握分段存储管理技术的实现思想;5.掌握页面置换算法。

第五章设备管理1.掌握设备管理功能;2.掌握常用设备分配技术;3.掌握使用缓冲技术的目的;第六章文件管理1.掌握文件、文件系统的概念、文件的逻辑组织和物理组织的概念;2.掌握目录和目录结构;路径名和文件链接;3.掌握文件的存取控制;对文件和目录的主要操作第七章操作系统接口1.掌握操作系统接口的种类;2.掌握系统调用的概念、类型和实施过程。

计算机操作系统复习知识点汇总第一章1、操作系统的定义、目标、作用操作系统是配置在计算机硬件上的第一层软件,是对硬件系统的首次扩充。

设计现代OS的主要目标是:方便性,有效性,可扩充性和开放性.OS的作用可表现为:a. OS作为用户与计算机硬件系统之间的接口;(一般用户的观点)b. OS作为计算机系统资源的管理者;(资源管理的观点)c. OS实现了对计算机资源的抽象.2、脱机输入输出方式和SPOOLing系统(假脱机或联机输入输出方式)的联系和区别脱机输入输出技术(Off-Line I/O)是为了解决人机矛盾及CPU的高速性和I/O 设备低速性间的矛盾而提出的.它减少了CPU的空闲等待时间,提高了I/O速度.由于程序和数据的输入和输出都是在外围机的控制下完成的,或者说,它们是在脱离主机的情况下进行的,故称为脱机输入输出方式;反之,在主机的直接控制下进行输入输出的方式称为联机(SPOOLing)输入输出方式假脱机输入输出技术也提高了I/O的速度,同时还将独占设备改造为共享设备,实现了虚拟设备功能。

1-3-4-5计算机组成原理课后习题答案

第一章计算机系统概论习题答案1、答:计算机系统由硬件和软件两大部分组成。

硬件即指计算机的实体部分,它由看得见摸的着的各种电子元器件,各类光电、机设备的实物组成,如主机、外设等。

软件时看不见摸不着的,由人们事先编制成具有各类特殊功能的信息组成,用来充分发挥硬件功能,提高机器工作效率,便于人们使用机器,指挥整个计算机硬件系统工作的程序集合。

软件和硬件都很重要。

2、答:从计算机系统的层次结构来看,它通常可有五个以上的不同级组成,每一个上都能进行程序设计。

由下至上可排序为:第一级微程序机器级,微指令由硬件直接执行;第二级传统机器级,用微程序解释机器指令;第三级操作系统级,一般用机器语言程序解释作业控制语句;第四级汇编语言机器级,这一级由汇编程序支持和执行;第五级高级语言机器级,采用高级语言,由各种高级语言编译程序支持和执行,还可以有第六级应用语言机器级,采用各种面向问题的应用语言。

3、答:机器语言由0、1代码组成,是机器能识别的一种语言。

汇编语言是面向机器的语言,它由一些特殊的符号表示指令,高级语言是面向用户的语言,它是一种接近于数学的语言,直观,通用,与具体机器无关。

4、答:计算机组成是指如何实现计算机体系结构所体现的属性,它包含了许多对程序员来说是透明的硬件细节。

计算机体系结构是指那些能够被程序员所见到的计算机系统的属性,即概念性的结构与功能特性,通常是指用机器语言编程的程序员所看到的传统机器的属性,包括指令集、数据类型、存储器寻址技术、I/O机理等等,大都属于抽象的属性。

5、答:特点是:(1) 计算机由运算器、存储器、控制器和输入设备、输出设备五大部件组成(2) 指令和数据以同等的地位存放于存储器内,并可以按地址寻访(3) 指令和数据均可以用二进制代码表示(4) 指令由操作码和地址码组成,操作码用来表示操作的性质,地址码用来表示操作数所在存储器中的位置(5) 指令在存储器内按顺序存放。

通常,指令是顺序执行的,在特定情况下,可根据运算结果或根据设定的条件改变执行顺序(6) 机器以运算器为中心,输入输出设备与存储器的数据传送通过运算器。

MIS-4技术基础


4.2.8 数据库管理系统
管 理 信 息 系 统
人们将越来越多的资料存入计算机中,并 通过一些编制好的计算机程序对这些资料 进行管理,这些程序后来就被称为“数据 库管理系统”,它们可以管理输入到计算 机中的大量数据,就像图书馆的管理员。Biblioteka 目前主要有两种数据库管理系统:
管 理 信 息 系 统
1.大型数据库管理系统:Oracle,SQL Server,DB2等。 2.中小型数据库管理系统:FoxPro, Paradox,Access等。
1000 600 2000
30000 12000 4000
4.2.5 E-R 图
管 理 信 息 系 统
概念
概念模型的表示方法很多,最常用的是实体—联 系方法。该方法用E-R 图来描述现实世界的概念模 型。E-R 图提供了表示实体型、属性和联系的方法。
实体
属性
实体间的联 系
连接各个图形
实体(Entity) 属性 联系(Relation) 一对一联系(1:1) 一对多联系(1:n) 多对多联系(m:n)
管 理 信 息 系 统
4.3 计算机网络
4.3.1 基本概念
管 理 信 息 系 统
计算机网络是现代通信技术与计算机技术 相结合的产物。 所谓计算机网络,就是把分布在不同地理 区域的计算机与专门的外部设备用通信线 路互联成一个规模大、功能强的网络系统, 从而使众多的计算机可以方便地互相传递 信息,共享硬件、软件、数据信息等资源。
器技术,面向对象的程序设计技术,人工 智能等技术的结合与渗透。
4.2.2 数据管理的发展过程
管 理 信 息 系 统
1. 人工管理阶段 2. 文件管理阶段 3. 数据库系统管理阶段

计算机存储器类型与层次结构解析

计算机存储器类型与层次结构解析计算机存储器是计算机中的一个关键组成部分,用于存储和读取数据。

根据存储介质和访问速度的不同,计算机存储器可以分为不同的类型和层次结构。

本文将详细解析计算机存储器的类型与层次结构,帮助读者更好地理解计算机存储器的工作原理。

一、计算机存储器的类型1. 内部存储器(主存储器):内部存储器是计算机中直接与中央处理器(CPU)相连的部分,用于存储程序和数据。

它是计算机中最快的存储器,也是最重要的存储器之一。

内部存储器的容量较小,价格相对较高。

2. 外部存储器(辅助存储器):外部存储器是计算机中与中央处理器间接连接的存储器,用于大容量和长期存储数据。

外部存储器的容量较大,价格相对较低。

常见的外部存储器包括硬盘驱动器(HDD)、固态硬盘(SSD)和光盘。

二、计算机存储器的层次结构1. 高速缓存存储器(Cache Memory):高速缓存存储器位于内部存储器和中央处理器之间,用于提供更快的访问速度。

它采用了较小但更快的存储器芯片,并通过存储和取回最常用的数据和指令,以减少中央处理器的等待时间。

2. 主存储器(Main Memory):主存储器是内部存储器的一种,是计算机存储器的核心部分。

它以字节为单位存储数据和程序,并可以直接被中央处理器访问。

主存储器通常采用随机存取存储器(RAM)技术。

3. 辅助存储器(Secondary Storage):辅助存储器是外部存储器的一种,用于存储大量的数据和程序。

辅助存储器通常采用磁盘或固态存储技术,并具有较大的存储容量。

它的访问速度相对较慢,但可以长期保持数据。

三、计算机存储器的工作原理1. 数据存储:计算机存储器通过将数据以二进制形式存储在内存或磁盘中。

每个数据单元在存储器中都有一个唯一的地址,计算机可以通过地址来访问特定的数据单元。

2. 数据读取:计算机可以根据指令从存储器中读取数据。

读取数据的过程是通过计算机总线进行的,总线将数据传输到中央处理器中进行处理。

微型计算机技术及应用4版戴梅萼史嘉权

段页两级存储管理机制、指令系统,以及液晶 显示器,鼠标……。
• PCI总线技术,作为重点更新内容,反复推敲、 修改12遍之多。 • 汇编语言部分完全按照Pentium指令系统编写。
第4版的改进2
• 最后一章介绍Pentium微型机系统的整体结构, 其中对系统控制芯片组和BIOS进行重点讲解, 前者是联系计算机系统各部件的枢纽,后者是 联系硬件和软件的纽带,由此使学生建立关于 微型机系统的整体观念。
第2版教材的成绩和不足
• 被国内400多所院校使用。
• 获北京市高等教育教学成果一等奖和国家级高 等教育教学成果二等奖。
• 受到了同行的好评,也由此与很多国内同行有 了联系,能够听到许多同行的建议和意见。
• 32位机成为主流机型。
• 微型机技术的飞速发展,使得在微型机技术的 教学中,具体知识和综合能力(包括创新、跟 踪新技术)两者的关系处理成了一个关键点和 难点。
第4版 内容安排的考虑2
③ 对于32位微型机的先进技术,先用概述 性语言讲述,再对最重要的技术仔细讲 述。
④ 对输入/输出设备,针对自学安排进行 编写,所以,叙述比较详细,又不太深。 但如果读者从事这方面的深入工作,又 起到了引导和入门作用。
⑤ 最后讲述当前的Pentium微型机系统。
一共16章内容1
• Pentium占领市场,80386的技术在Pentium中 得到更多优化,书中叙述不够。
• 总线部分对PCI叙述不够。 • Pentium微型机系统的整体结构变化较多,归
纳不够。
第4版的改进1
• 删除了第3版中有关16位微型机的大部分内容。 • Pentium的中断机制、描述符机制、保护技术、
• 对第3版的所有保留的章节,从文字上进行三 遍以上修改,以期望更加条理清晰、更加深入 浅出。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档