操作系统经典例题
操作系统经典习题+解释

●假定一个阅览室最多可容纳100人,读者进入和离开阅览室时都必须在阅览室门口的一个登记表上进行登记,而且每次只允许一人进行登记操作,请用记录型信号量机制实现上述问题的同步。
定义信号量sum,mutex,初值分别为100,1。
(3分)则第i个读者的活动描述为:procedure P i(i=1,2,3……)beginwait(sum);wait(mutex);登记;signal(mutex);进入阅览室;阅读;wait(mutex);登记;signal(mutex);离开阅览室;signal(sum);end●请用信号量解决以下的“过独木桥”问题:同一方向的行人可连续过桥,当某一方向有人过桥时,另一方向的行人必须等待;当某一方向无人过桥时,另一方向的行人可以过桥。
将独木桥的两个方向分别标记为A和B;并用整形变量countA和countB分别表示A、B 方向上已在独木桥上的行人数,初值为0;再设置三个初值都1的互斥信号量:SA用来实现对countA的互斥访问,SB用来实现对countB的互斥访问,mutex用来实现两个方向的行人对独木桥的互斥使用。
则具体描述如下:Var SA,SB,mutex:semaphore:=1,1,1;CountA,countB:integer:=0,0:beginparbeginprocess A: beginwait(SA);if(countA=0) then wait(mutex);countA:=countA+1;signal(SA);过独木桥;wait(SA);countA:=countA-1;if (countA=0) then signal(mutex);signa(SA);endprocess B: beginwait(SB);if(countB=0) then wait(mutex);countB:=countB+1;signal(SB);过独木桥;wait(SB);countB:=countB-1;if (countB=0) then signal(mutex);signa(SB);endparendend设公共汽车上,司机和售票员的活动分别是:司机的活动:启动车辆;正常行车;到站停车;售票员的活动:关车门;售票;开车门;请用记录型信号量机制实现上述问题的同步。
操作系统实验题

1、在操作系统中,进程与线程的主要区别是什么?A. 进程是资源分配的基本单位,线程是处理器调度的基本单位B. 进程和线程都是资源分配和处理器调度的基本单位C. 线程是资源分配的基本单位,进程是处理器调度的基本单位D. 进程和线程都不涉及资源分配问题(答案:A)2、以下哪种调度算法可能会导致饥饿问题?A. 先来先服务(FCFS)B. 短作业优先(SJF)C. 时间片轮转(Round Robin)D. 优先级调度(非抢占式)(答案:B)3、在操作系统的存储管理中,分段存储管理方式的主要目的是?A. 提高内存利用率B. 实现内存保护C. 方便用户编程D. 提高程序运行速度(答案:C)4、关于死锁,以下哪个说法是正确的?A. 死锁是指多个进程因竞争资源而无限期等待的现象B. 死锁只可能发生在多道批处理系统中C. 死锁发生时,系统中一定存在多个进程同时处于就绪状态D. 预防死锁的方法之一是破坏“请求和保持”条件,即要求进程一次性申请所有所需资源(答案:A,注:同时D也是预防死锁的一种方法,但题目要求选择正确说法,A更直接描述了死锁的定义)5、在操作系统的文件系统中,目录结构的主要作用是?A. 实现文件的按名存取B. 提高文件存储的效率C. 增强文件系统的安全性D. 便于用户对文件进行备份(答案:A)6、下列哪一项不是虚拟内存技术的优点?A. 扩大内存容量B. 提高内存利用率C. 简化内存管理D. 加快程序运行速度(在某些情况下可能因换页开销而减慢)(答案:D)7、在操作系统的设备管理中,缓冲区的设置主要是为了?A. 提高设备利用率B. 缓和CPU与I/O设备之间速度不匹配的矛盾C. 实现设备的即插即用D. 减少I/O操作的次数(答案:B)8、关于操作系统的中断机制,以下哪个说法是错误的?A. 中断是由硬件或软件发出的,用于请求CPU处理的事件B. 中断处理过程中,CPU会暂停当前程序的执行,转而执行中断处理程序C. 中断向量表是存储中断处理程序入口地址的表D. 在所有情况下,中断处理程序的执行优先级都高于当前正在运行的程序(答案:D,注:中断处理程序的优先级通常较高,但并非在所有情况下都绝对高于所有正在运行的程序,特别是在某些实时系统中可能有更复杂的优先级策略)。
操作系统原理试题及答案

操作系统原理试题及答案一、单项选择题(每题2分,共20分)1. 操作系统的主要功能不包括以下哪一项?A. 进程管理B. 存储管理C. 设备管理D. 网络管理答案:D2. 在操作系统中,进程和线程的关系是?A. 线程是进程的一部分B. 进程是线程的一部分C. 进程和线程是完全独立的D. 进程和线程是同一个概念答案:A3. 下列哪项不是操作系统的五大基本功能?A. 文件管理B. 作业调度C. 内存管理D. 网络通信答案:B4. 操作系统的调度算法中,时间片轮转调度算法的特点是?A. 所有进程获得相等的CPU时间B. 进程按到达顺序获得CPU时间C. 进程按优先级获得CPU时间D. 进程按最长运行时间获得CPU时间答案:A5. 在操作系统中,虚拟内存的作用是什么?A. 提高CPU的运行速度B. 提高磁盘的读写速度C. 扩展可用的物理内存D. 减少磁盘的读写次数答案:C6. 下列哪项技术用于实现文件的共享?A. 缓冲技术B. 虚拟存储技术C. 多道程序设计D. 文件系统答案:D7. 在操作系统中,死锁的四个必要条件不包括以下哪一项?A. 互斥条件B. 占有和等待条件C. 不剥夺条件D. 循环等待条件答案:A8. 操作系统中,分页和分段的区别在于?A. 分页是固定大小的,分段是可变大小的B. 分页是可变大小的,分段是固定大小的C. 分页和分段都是固定大小的D. 分页和分段都是可变大小的答案:A9. 下列哪项不是操作系统提供的服务?A. 系统调用B. 设备驱动C. 用户界面D. 编译器答案:D10. 在操作系统中,中断和异常的区别是?A. 中断是由硬件产生的,异常是由软件产生的B. 中断是由软件产生的,异常是由硬件产生的C. 中断和异常都是由硬件产生的D. 中断和异常都是由软件产生的答案:A二、填空题(每题2分,共20分)1. 在操作系统中,_________是操作系统提供给用户和应用程序的接口。
答案:系统调用2. 操作系统的_________是操作系统分配CPU时间给进程的策略和算法。
操作系统经典例题

1、假定访问主存时间为100毫微秒,访问相联存储器时间为20毫微秒,相联存储器为32个单元时快表命中率可达90%,按逻辑地址存取的平均时间为:(100+20)×90%+(100+100+20)×(1-90%)=130毫微秒比两次访问主存的时间100毫微秒×2=200毫微秒下降了四成多。
有效访问内存的时间T=P TLB*(T TLB+T M)+ (1-P TLB)*(T TLB + 2T M)其中,P TLB为快表的命中率,T TLB为快表的访问时间, T M为内存的访问时间2、假设一个分页存储系统具有快表,多数活动页表项都可以存在其中。
如果页表放在内存中,内存访问时间是1us,若快表的命中率是85%,则有效存取时间为多少?若快表的命中率为50%,那么有效存取时间为多少?(1) 0.85*1+(1-0.85)*(1+1)=1.15us(2) 0.5*1+(1-0.5)*(1+1)=1.5us3、设有8页的逻辑空间,每页有1024字节,它们被映射到32块的物理存储区中。
那么,逻辑地址的有效位是(13)位,物理地址至少是(15)位。
某页式存储管理系统中,地址寄存器长度为24位,其中页号占14位,则主存的分块大小应该是(2的10次方),程序最多占有(2的24次方)页。
4、分页存储管理中,页表的功能是什么?当系统中的地址空间变得非常大时,会给页表的设计带来什么样的新问题?请给出一种解决方案,分析它的优点和缺点。
A.页表的作用是实现从逻辑地址中的页号到内存物理块的地址映射。
B.当地址空间变得非常大时,进程的页表也将变得非常大,而且还要求是连续存放的,这样对页表的存储造成困难。
C.采用的解决方案:二级页表。
将页表分页,使每个页面的大小与内存物理块的大小相同,并将它们进行编号,将个页面放在不同的物理块中,或将当前所需的部分页表项装入内存,其余表项驻留在外存,必要时调入。
并为这些离散分配的页表再建立一个外层页表D.二级页表方法适应了地址空间的需要,较好地实现了虚拟存储系统。
操作系统试题及答案

操作系统试题及答案一、选择题1. 在操作系统中,进程和程序的主要区别是:A. 进程有程序计数器B. 程序是永久存储的C. 进程具有并发性D. 程序是顺序执行的答案:C2. 分页和分段存储管理方式的主要区别在于:A. 分页有页表,分段没有B. 分页大小固定,分段大小可变C. 分页和分段都需要页表D. 分页和分段的大小都是可变的答案:B二、填空题1. 操作系统的五大基本功能包括________、________、存储管理、设备管理和________。
答案:作业管理;文件系统管理;用户接口2. 死锁的必要条件包括互斥、________、________和循环等待。
答案:占有和请求;不可剥夺性三、简答题1. 简述进程和线程的区别。
答案:进程是操作系统进行资源分配和调度的一个独立单位,是程序的执行实体。
线程是进程中的一个实体,是CPU调度和执行的单位,比进程更小的能独立运行的基本单位。
线程自身基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如执行栈),但它可以与同属一个进程的其他线程共享进程所拥有的全部资源。
2. 描述虚拟内存的工作原理。
答案:虚拟内存是一种内存管理技术,它允许操作系统将虚拟地址空间映射到物理内存。
操作系统通过页面置换算法,将当前不活跃的内存页面交换到磁盘上,从而为当前活跃的页面腾出空间。
这样,应用程序可以使用的地址空间就可以大于实际的物理内存大小。
四、计算题1. 假设一个系统有16个页面,页面大小为4KB,主存大小为256KB。
如果一个程序的页表有32个页表项,计算该系统的页表大小。
答案:每个页表项通常包含一个指向页面的指针,假设指针的大小为4字节。
因此,32个页表项的总大小为32 * 4 = 128字节。
页表大小为128KB。
2. 如果一个系统采用二级页表,主存大小为4GB,页面大小为4KB,计算需要多少个一级页表项和二级页表项。
答案:首先,计算一级页表项的数量:4GB / (4KB * 1024) = 1M个一级页表项。
操作系统试题及答案

操作系统试题及答案一、选择题1. 操作系统的主要功能是()A. 实现计算机与外部设备的交互B. 管理计算机的硬件资源C. 控制计算机的运行流程D. 以上答案都正确答案:D2. 下列哪个不属于操作系统的基本功能()A. 进程管理B. 文件管理C. 硬件管理D. 内存管理答案:C3. 操作系统的进程是指()A. 计算机运行的一个程序B. 计算机运行的多个程序C. 计算机运行的最核心程序D. 计算机运行的最后一个程序答案:B4. 下列哪个不是进程状态()A. 运行态B. 就绪态C. 阻塞态D. 结束态答案:D5. 操作系统的调度算法是指()A. 确定进程的执行顺序B. 操作系统的启动顺序C. 进程与外设的交互顺序D. 确定进程的创建顺序答案:A二、填空题1. 操作系统内核是指()。
答案:操作系统的核心部分,负责管理计算机的硬件资源和提供基本的系统调用接口。
2. 进程的状态包括()。
答案:运行态、就绪态、阻塞态。
3. 进程调度算法的目标是()。
答案:提高系统的吞吐量、减少响应时间、提高系统的公平性。
4. 死锁是指进程()。
答案:由于竞争有限的资源而陷入无法继续执行的状态。
5. 虚拟内存是一种()。
答案:将进程的部分或全部地址空间放在磁盘上,以此扩充实际内存的技术。
三、简答题1. 请简要说明进程和线程的区别。
答案:进程是计算机运行的一个程序,包括代码、数据和运行状态等;线程是进程的一部分,是程序执行的最小单位。
一个进程可以包含多个线程,它们共享进程的资源,但拥有各自的执行路径和栈空间。
线程之间的切换开销较小,可以提高系统的并发性。
2. 简述死锁的条件以及解决死锁的方法。
答案:死锁的条件包括互斥、持有并等待、不可剥夺和循环等待。
解决死锁的方法有预防、避免、检测和恢复等。
预防死锁可以通过破坏死锁条件来实现,如破坏循环等待;避免死锁可以通过资源分配策略来避免产生死锁;检测死锁可以通过资源分配图等方法来检测死锁的发生;恢复死锁可以通过资源抢占和进程终止等方式来解除死锁。
操作系统习题(附参考答案)
操作系统习题(附参考答案)一、单选题(共100题,每题1分,共100分)1、下列存储器中,速度最快的是()。
A、内存B、寄存器C、CacheD、磁盘正确答案:B2、时钟中断事件属于()中断事件。
A、程序B、自愿性C、外部D、输入/输出正确答案:C3、可变分区存储管理系统中,若采用最佳适应分配算法,“空闲区表”中的空闲区可按()顺序排列。
A、大小从大到小B、大小从小到大C、地址从大到小D、地址从小到大正确答案:B4、从静态的角度看,下列选项中哪一个是进程必须拥有而程序所没有的?()A、常量数据B、全局变量C、进程控制块D、代码正文正确答案:C5、()不是管程的组成部分。
A、对局部于管程内的数据结构设置初始值的语句B、对管程内数据结构进行操作的一组过程C、局部于管程的共享数据结构D、管程外过程调用管程内数据结构的说明正确答案:D6、下列关于父进程和子进程的叙述中,正确的是()。
A、子进程执行完了,父进程才能执行B、父进程创建了子进程,因此父进程执行完了,子进程才能执行C、撤销子进程时,应该同时撤销父进程D、撤销父进程时,应该同时撤销子进程正确答案:D7、某计算机系统中有8台打印机,有K个进程竞争使用,每个进程最多需要3台打印机。
该系统可能会发生死锁的K的最小值是()。
A、3B、4C、2D、5正确答案:B8、分页虚拟存储管理系统中,若采用FIFO页面置换算法,则当分配的物理页面数增加时,缺页中断的次数()。
A、减少B、可能增加也可能减少C、增加D、不变正确答案:B9、产生内存抖动的主要原因是()。
A、内存空间太小B、CPU运行速度太慢C、CPU调度算法不合理D、页面置换算法不合理正确答案:D10、()存储管理兼顾了段式在逻辑上清晰和页式在存储管理上方便的优点。
A、分页B、段页式C、可变分区D、分段正确答案:B11、发生死锁的必要条件有四个,要预防死锁的发生,可以破坏这四个必要条件,但破坏()条件是不太实际的。
操作系统例题汇总
1.2例题精选例1.1如何理解虚拟机的概念?解:一台仅靠由硬件组成的计算机一般被称为裸机,不易使用。
操作系统为用户使用计算机提供了许多服务,从而把一台难于使用的裸机改造成了功能更强大、使用更方便的计算机系统,这种计算机系统称为虚拟机。
所谓虚拟,是指把一个物理上的实体变为若干个逻辑上的对应物。
前者是实际存在的,而后者是虚的,只是用户的一种感觉。
在单CPU的计算机系统中能同时运行多道程序,好像每个程序都独享一个CPU,这就是虚拟。
在构造操作系统时,把操作系统分成若干层,每层完成特定的功能,从而形成一个虚拟机。
下层的虚拟机为上层的虚拟机提供服务,这样逐次扩充以完成操作系统的功能。
讨论“虚拟”的概念体现在操作系统的方方面面。
例如,虚拟存储器,使一台只有4MB 内存的计算机可以运行总容量远远超过4 MB的程序;虚拟外设,能够使多个用户同时访问该外设等。
例1.2什么是多道程序设计,它的主要优点是什么?解: 所谓多道程序设计是指把一个以上的程序存放在内存中,并且同时处于运行状态,这些程序共享CPU和其他计算机资源。
其主要优点是:(1)CPU的利用率高:在单道程序环境下,程序独占计算机资源,当程序等待I/O操作时CPU空闲,造成CPU资源的浪费。
在多道程序环境下,多个程序共享计算机资源,当某个程序等待I/O操作时,CPU可以执行其他程序,这大大地提高了CPU的利用率。
(2)设备利用率高:在多道程序环境下,内存和外设也由多个程序共享,无疑也会提高内存和外设的利用率。
(3)系统吞吐量大:在多道程序环境下,资源的利用率大幅度提高,减少了程序的等待时间,提高了系统的吞吐量。
讨论多道程序在计算机中并发地运行是现代计算机系统的重要特征。
早期的单道批处理系统与人工操作相比自动化程度大大提高,但系统中仍有较多的空闲资源,系统的性能较差。
多遭批处理系统虽有很多优点,但这种系统交互能力差,作业的平均周转时间长。
多道程序处理系统要解决的主要问题是,如何使多个程序合理、有序地共事处理机、内存、外设等资源。
操作系统练习题+参考答案
操作系统练习题+参考答案一、单选题(共100题,每题1分,共100分)1、若系统中有5个并发进程涉及某个相同的变量A,则变量A的相关临界区由()个临界区构成。
A、1B、3C、5D、6正确答案:C2、在分页虚拟存储管理系统中,采用某些页面置换算法,会出现Belady 异常现象,即进程的缺页次数会随着分配给该进程的页面数量的增加而增加。
下列算法中,可能出现Belady现象的是()。
①LRU算法②FIFO 算法③OPT算法A、仅2B、仅1、2C、仅1、3D、仅2、3正确答案:A3、下列关于管道通信的叙述中,正确的是()。
A、一个管道可以实现双向数据传输B、管道的容量仅受磁盘容量大小的限制C、进程对管道进行读操作和写操作都可能被阻塞D、一个管道只能有一个读进程或一个写进程对其操作正确答案:C4、不属于基本操作系统的是()。
A、网络操作系统B、实时操作系统C、分时操作系统D、批处理操作系统正确答案:A5、采用SPOOLing技术的目的是()。
A、提高独占设备的利用率B、提高程序的运行速度C、提高主机的效率D、减轻用户的编程负担正确答案:A6、在()的控制下,计算机系统能及时处理由过程控制反馈的数据,并作出响应。
A、分时操作系统B、实时操作系统C、批处理操作系统D、多处理机操作系统正确答案:B7、在分页虚拟存储管理中,当发现要访问的页面不在主存时,则由硬件发出()。
A、输入输出中断B、时钟中断C、缺页中断D、越界中断正确答案:C8、()可以用来解决临界区问题。
A、时间片轮转算法B、银行家算法C、LRU算法D、Test正确答案:D9、可变分区存储管理系统中,若采用最佳适应分配算法,“空闲分区表”中的空闲区应该按()顺序排列。
A、地址从大到小B、大小从大到小C、地址从小到大D、大小从小到大正确答案:D10、进程从运行状态转换到阻塞状态可能是由于()。
A、现运行进程执行了signal操作B、现运行进程时间片用完C、现运行进程执行了wait操作D、进程调度程序的调度正确答案:C11、()不是进程的特征。
操作系统试题库(经典版)
操作系统试题库一, 选择题第一部分:操作系统概述1.在计算机系统中,操作系统是( B ).A. 一般应用软件B.核心系统软件C.用户应用软件D.系统支撑软件2.( D )不是基本的操作系统.A,批处理操作系统B,分时操作系统C,实时操作系统D,网络操作系统3.(C )不是分时系统的基本特征:A,同时性B,独立性C,实时性D,交互性4.关于操作系统的叙述(D)是不正确的.A."管理资源的程序"B."管理用户程序执行的程序"C."能使系统资源提高效率的程序"D."能方便用户编程的程序"5.操作系统的发展过程是(A )A.设备驱动程序组成的原始操作系统,管理程序,操作系统B.原始操作系统,操作系统,管理程序C.管理程序,原始操作系统,操作系统D.管理程序,操作系统,原始操作系统6.设计批处理多道系统时,首先要考虑的是( B)A.灵活性和可适应性B.系统效率和吞吐量C.交互性和响应时间D.实时性和可靠性7.操作系统是一种(B ).A, 应用软件B, 系统软件C, 通用软件D, 工具软件8.计算机系统的组成包括(B ).A,程序和数据B, 计算机硬件和计算机软件C,处理器和内存D,处理器,存储器和外围设备9.下面关于计算机软件的描述正确的是(B ).A,它是系统赖以工作的实体B,它是指计算机的程序与文档C,位于计算机系统的最外层D,分为系统软件和支撑软件两大类10.财务软件是一种(C).A,系统软件B,接口软件C,应用软件D,用户软件11.世界上第一个操作系统是(B).A,分时系统B,单道批处理系统C,多道批处理系统D,实时系统12.批处理操作系统提高了计算机的工作效率,但(B ).A,系统吞吐量小B,在作业执行时用户不能直接干预C,系统资源利用率不高D,不具备并行性13.允许多个用户以交互使用计算机的操作系统是(A).A,分时系统B,单道批处理系统C,多道批处理系统D,实时系统14.下面关于操作系统的叙述正确的是(A ). A,批处理作业必须具有作业控制信息B,分时系统不一定都具有人机交互功能C,从响应时间的角度看,实时系统与分时系统差不多D,由于采用了分时技术,用户可以独占计算机的资源15.操作系统是一组(C ).A,文件管理程序B,中断处理程序C,资源管理程序D,设备管理程序16.现代操作系统的两个基本特征是(C)和资源共享.A,多道程序设计B, 中断处理C,程序的并发执行D, 实现分时与实时处理17.(D)不是操作系统关心的主要问题. A, 管理计算机裸机B, 设计,提供用户程序与计算机硬件系统的界面C, 管理计算机系统资源D, 高级程序设计语言的编译器18.引入多道程序的目的是(D ).A,为了充分利用主存储器B,增强系统的交互能力C,提高实时响应速度D,充分利用CPU,减少CPU的等待时间19.在多道程序设计的计算机系统中,CPU(C ).A,只能被一个程序占用B,可以被多个程序同时占用C,可以被多个程序交替占用D,以上都不对20.多道程序设计是指(B ).A,有多个程序同时进入CPU运行B,有多个程序同时进入主存并行运行C,程序段执行不是顺序的D,同一个程序可以对应多个不同的进程21.从总体上说,采用多道程序设计技术可以( )单位时间的算题量,但对每一个算题,从算题开始到全部完成所需的时间比单道执行所需的时间可能要(B).A,增加,减少B,增加,延长C,减少,延长D,减少,减少22.(A)没有多道程序设计的特点.A,DOS B,UNIX C,WINDOWS D,OS/223.下列四个操作系统中,是分时系统的为(C ).A,MS-DOS B,WINDOWS 98C,UNIX D,OS/2系统24.在分时系统中,时间片一定,( B),响应时间越长.A,内存越多B,用户数越多C,后备队列D,用户数越少25.批处理系统的主要缺点是(B ).A,CPU的利用率不高B,失去了交互性C,不具备并行性D,以上都不是26.在下列性质中,哪一个不是分时系统的特征.( C )A, 交互性B, 多路性C, 成批性D, 独占性27.实时操作系统追求的目标是( C). A,高吞吐率B,充分利用内存C, 快速响应D, 减少系统开销28.以下(C)项功能不是操作系统具备的主要功能.A,内存管理B,中断处理C,文档编辑D,CPU调度29.操作系统程序结构的主要特点是(C). A, 一个程序模块B,分层结构C, 层次模块化D,子程序结构30.操作系统负责为方便用户管理计算机系统的(C ).A, 程序B, 文档资料C, 资源D, 进程31.计算机在接受用户请求后处理数据以与在数据处理结束时,将结果送到终端显示器.例如,导弹控制系统应选择安装(C )A,批处理操作系统B,分时操作系统C,实时操作系统D,网络操作系统32.操作系统的基本职能是(A).A.控制和管理系统内各种资源,有效地组织多道程序的运行B.提供用户界面,方便用户使用C.提供方便的可视化编辑程序D.提供功能强大的网络管理工具33.分布式操作系统与网络操作系统本质上的不同在于(D ).A.实现各台计算机之间的通信B.共享网络中的资源C.满足较大规模的应用D.系统中若干台计算机相互协作完成同一任务34.Linux操作系统是著名的(B )。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1、假定访问主存时间为100毫微秒,访问相联存储器时间为20毫微秒,相联存储器为32个单元时快表命中率可达90%,按逻辑地址存取的平均时间为:
(100+20)×90%+(100+100+20)×(1-90%)=130毫微秒比两次访问主存的时间100毫微秒×2=200毫微秒下降了四成多。
有效访问内存的时间
T=P TLB*(T TLB+T M)+ (1-P TLB)*(T TLB + 2T M)其中,P TLB为快表的命中率,T TLB为快表的访问时间, T M为内存的访问时间
2、假设一个分页存储系统具有快表,多数活动页表项都可以存在其中。
如果页表放在内存中,内存访问时间是
1us,若快表的命中率是85%,则有效存取时间为多少?若快表的命中率为50%,那么有效存取时间为多少?
(1) 0.85*1+(1-0.85)*(1+1)=1.15us
(2) 0.5*1+(1-0.5)*(1+1)=1.5us
3、设有8页的逻辑空间,每页有1024字节,它们被映射到32块的物理存储区中。
那么,逻辑地址的有效位是(13)位,物理地址至少是(15)位。
某页式存储管理系统中,地址寄存器长度为24位,其中页号占14位,则主存的分块大小应该是(2的10次方),程序最多占有(2的24次方)页。
4、分页存储管理中,页表的功能是什么?当系统中的地址空间变得非常大时,会给页表的设计带来什么样的新问题?请给出一种解决方案,分析它的优点和缺点。
A.页表的作用是实现从逻辑地址中的页号到内存物
理块的地址映射。
B.当地址空间变得非常大时,进程的页表也将变得
非常大,而且还要求是连续存放的,这样对页表
的存储造成困难。
C.采用的解决方案:二级页表。
将页表分页,使每
个页面的大小与内存物理块的大小相同,并将它
们进行编号,将个页面放在不同的物理块中,或
将当前所需的部分页表项装入内存,其余表项驻
留在外存,必要时调入。
并为这些离散分配的页
表再建立一个外层页表
D.二级页表方法适应了地址空间的需要,较好地实
现了虚拟存储系统。
但也增加了地址变换的开销
和系统管理的复杂性。
“重定位”,在实际上指的是这样相互联系的两件事情:一是确定一个待执行程序在内存中的位置;二是将程序中的逻辑地址转换成物理地址。
静态重定位,指的是在程序装入时实现的重定位。
就是将程序装入内存后,立即根据其装入位置将程序中需重定位的逻辑地址转换成物理地址。
这种“定位”的特点是“定位”之后,内存中的代码发生了变化,程序不能在内存移动,CPU按物理地址运行程序。
动态重定位,是在程序执行的过程中,根据执行的需要动态地装入、链接和定位。
这种方法主要特点是重定位后,内存中的代码没有发生变化,允许程序执行的过程中在内存移动位置,这种位置移动提高内存空间的利用率。
6、在分页、分段和段页式存储管理中,当访问一条指令或一项数据时,需要访问内存几次?各做什么处理?
A.在分页存储管理中,当访问一条指令或数据时,
系统需要访问内存2次。
其中,第1次需要访问
存放在内存中的页表,并实现地址变换,求得物
理地址;第2次是访问内存中所需的指令或数据。
B.在分段存储管理中,当访问一条指令或数据时,
系统需要访问内存2次。
其中,第1次需要访问
存放在内存中的段表,并实现地址变换,求得物
理地址;第2次是访问内存中所需的指令或数据。
C.在段页式存储管理中,当访问一条指令或数据时,
需要访问内存3次。
第1次访问内存中的段表,
查找段号对应的页表基地址;第2次访问内存中
的页表,实现地址转换;第3次访问所需的指令
和数据。
7.在采用页式存储管理的系统中,某作业J的逻辑地址空间为4页(每页2048字节),且已知该作业的页面映像表(即页表)如下。
试借助地址变换图(要求画出地址变换图)求出有效逻辑地址4865所对应的物理地址。
8、哲学家吃饭问题分析:
最多允许4个哲学家同时坐在桌子周围仅当一个哲学家左右两边的筷子都可用时,才允许他拿筷子( )给所有哲学家编号,奇数号的哲学家必须首先拿左边的筷子,偶数号的哲学家则反之。
semaphore fork[5] = {1,1,1,1,1};
semaphore room =4;
int i;
void philosopher (int i);
{while ⑴
{ think( );
wait (room);
wait (fork[i]);
wait (fork [(i+l) %5]);
eat( );
signal (fork [(i+l) % 5]);
signal (fork[i]);
signal (room);
}}
void main( )
{ for(int i=0;i<5;i++)
cobegin
philosopher (i);
coend }
采用AND信号量集解决哲学家就餐问题
设fork[5]为5 个信号量,初值为均1
Philosopher(i)
while (1)
{ 思考;
Swait( fork[i], fork[(i+1) % 5] );
进食;
Ssignal( fork[i], fork[(i+1) % 5] );
}
semaphore fork[5] = {1,1,1,1,1};
int i;
void philosopher (int i);
{ while ⑴
{ think( );
if(i/2 ==0)
{ wait(fork[i]);
wait(fork [(i+l) %5]);
} else
{wait (fork [(i+l)% 5]);
wait (fork[i]);
}
eat( );
signal(fork [(i+l) % 5]);
signal(fork[i]);
}
}。