操作系统复习题详解.ppt
文本预览下载声明
49.页面太大或者太小对内存管理的 效率和内存利用率分别有什么影响?系统设计时影响选择页面大小大因素是什么?(理解) 页面大小的选择 在分页系统中页面的大小是由机器的体系结构所决定的,亦即由硬件决定。(如:分页单元把低12位逻辑地址解释为页内偏移地址,则页大小就是4K). (1)页面太小,就会导致进程所需页面多,页表过长,占用大量内存空间;同时,降低页面换入换出效率。 页面小有利于提高内存的利用率,但存(1)所述缺点,页面大,可克服(1)的缺点,但页内碎片大,空间利用率降低 页面的大小 (1)、页面大小是2的幂。 (2)、一般页面大小在512个字节~4K (3)、现在硬件可以支持多种不同的页面大小。页面大小4k 16K 2M 4M 8M 16M等等 50、若给定一个逻辑地址空间的地址为A,系统页面大小为L,请写出A所对应的页号P和页内偏移地址W的运算式;说明分页存储管理的地址映射过程。 答:若A为逻辑地址,L为页面大小,P为页号,W为页内偏移量,有以下计算关系: P=INT(A/L) W= MOD (A/L) 分页存储管理的地址映射过程说明如下: 进程执行,PCB块中页表起始地址和页表长度送页表寄存器。 CPU访问逻辑单元a。 由分页地址变换机构自动将a分为页号和页内地址两部分 由硬件检索机构搜索页表,得到物理块号。 搜索原理:页号对应的页表项地址=页表始地址+页表项长度*页号。(页表项中存有物理块号)。 物理块号和页内地址送物理地址寄存器。 { 内存进程PCB 页表起始地址 页表长度 进程执行时 页表寄存器 硬 件 检 索 搜索 页表 0 3 1 7 2 8 页表 页表始址+页号*页表项长度=页号的页表项在内存中的地址 a的 物理块号 物 理 地 址 寄 存 器 分 页 地 址 变 换 a的 页号 a的 页内地址 进程访存(如:CPU访存从进程提供的逻辑单元中取数时)a为逻辑地址。 a的物理地址(=物理块首地址+页内地址) 物理块首地址=物理块号*块大小 页表起始地址 页表长度 51、什么是快表?说明引入快表后的地址映射过程。(理解) 答:快表是为了提高CPU访存速度而采用的专用缓存,用来存放最近被访问过的页表项。 引入快表后的地址映射过程: (1)CPU产生逻辑地址后,将该逻辑地址所在的页号提交给TLB。 (2)查找TLB,如果找到页号,则把该页所在的物理块号用于形成物理地址。否则(TLB失效),查找内存页表,从内存页表中找到相应的页表项,读取页面所在的物理块号,以形成物理地址。 (3)如果所查找的页表项不在TLB中,在访问完内存页表后,要把找到的页表项中的页号和物理块号写到TLB中。如果TLB中的条目已满,操作系统会根据某种策略(如:最近最少使用替换)选择一个TLB中的条目,用刚访问的页表项信息替换选中的这个TLB条目。 53、请分别说明使用一级页表和二级页表的地址映射过程。 答:使用一级分页的地址映射过程见37题 使用二级页表的地址映射的过程如下: (1)对于给定的逻辑地址A,由硬件从中分离出外部页号p1、外层页内地址p2、页内地址d。 (2)由页表寄存器的值和外部页号p1,从存放外层页表的物理块中找到页表分页所在的物理块号。 (3)、由页表分页所在的物理块号和外层页内地址p2,从存放页表分页的物理块中找到进程页面所在的物理块号。 (4)、由A所在的进程页面的物理块号×物理块大小+页内地址d得到A的物理地址。 54、说明分段存储管理中的地址变换过程。 答:若已知逻辑单元的地址为S:d,求相应物理地址的步骤概括如下: 以段号S做索引,从段表中找到段号为S的段表项。 从找到的段表项中读出S段的基地址和段大小(段界限)。 如果d≤段大小,则将段基址与段内偏移d相加,得到与逻辑单元S:d相应的物理单元地址。 55、分页和分段机制的主要区别是什么? 答:主要区别是: 1、页是按物理单位划分的, 段是按逻辑单位划分的。 2、页的大小是固定的,段的大小不固定。 3、分页的地址空间是一维的,分段的地址空间是二维的。 56.假设一个进程被分成大小相等的4个段,并且系统为每个段建立了一个有8个页表项的页表,假设页的大小为2k,则:1)每个段的最大尺寸为多少?2)该进程的最大逻辑地址空间为多少? 1). 每个段有8个页,每个页2k,每个段最大8*2k=16k 2). 该进程有4个段,每个段最大16k,故进程最大4*16k=64k 57.某系统采用页式存储管理策略,拥有逻辑空间32页,每页2k,拥有物理空间1M。1)请写出逻辑地址的格式。2)若不考虑访问权限,进程的页表有多少页?每页至少有多少位? (1)由于该系统拥有32个逻辑页面,所
显示全部