资讯详情

操作系统答案

2009年计算机考研真题答案分析--OS

23.D。单处理系统中只有一条指令线和一个多功能操作部件,每个时钟周期只能完成一个指令,因此过程和过程显然不能平行。

24.D。高响应比优先调度算法,考虑每个过程的等待时间和执行时间,选择响应比最高的过程进行执行。响应比R定义如下:响应比R = (等待时间 执行时间) / 执行时间

25.C。K最小值为4,当K为4时,如果每个过程占用2台打印机,就会发生死

26.A。分区分配存储管理模式的保护措施是设置边界地址寄存器。每个过程都有自己独立的过程空间。如果运行过程中产生的地址超过地址空间,则地址越界,即当程序访问内存单元时,硬件检查是否允许,如果允许,否则地址越界中断,操作系统相应处理。

27.C段号占8位,段内地址24位。也就是2^24位,即2^21字节。

28.B。索引结构的特点是随机访问。

29.A。SCAN调度算法就是电梯调度算法,顾名思义就是如果开始时磁头往外就一直要到最外 然后,然后回到里面(磁头号一般是0号增加到外面),就像电梯下去一样 只有下到底层次上升。

30.A。文件控制块通常包含基本信息、访问控制信息和使用信息三种信息。

31.B。在构建符号链接(软链接)时,引用计数值直接复制;构建硬链接时,引用计数值加1。删除文件时,删除操作对符号链接不可见,不影响文件系统。以后通过符号链接访问时,发现文件不存在,直接删除符号链接;但是,硬链接不能直接删除,引用值降低1。如果值不是0,则不能删除文件,因为有其他硬链接指向文件。

32.A。无论有多少物理设备被映射为逻辑设备。程序员认为这些设备没有区别。

45.解答: 定义信号量odd控制P1与P二是同步;even控制P1与P三是同步;empty控制生产者与消费者的同步;mutex缓冲区相互排斥控制过程。程序如下:

semaphore odd = 0, even = 0, empty = N, mutex = 1; P1( ) { x = produce(); ///生成一个数字 P(empty); ∥判断缓冲区是否有空单元 P(mutex); ///缓冲区是否被占用 Put(); V(mutex); //释放缓冲区 if(x%2 == 0) V(even); //如果是偶数,方向P3发出信号 else V(odd); //如果是奇数,方向P2发出信号 } P2( )

{ P(odd); //收到P1发出的信号产生了奇数 P(mutex); //缓冲区是否被占用 getodd(); V(mutex); //释放缓冲区 V(empty); //向P1发信号,多出一个空单元 countodd(); } P3( ) { P(even); //收到P1发出的信号产生了偶数 P(mutext); ∥是否占用缓冲区 geteven();

V(mutex); //释放缓冲区 V(empty); //向P1发信号,多出一个空单元 counteven(); }

46.解答: (1) 根据页面管理的工作原理,首先要考虑页面大小,以分解页面号和页面位移。页面大小为4KB,即2^12.页面位移占虚拟地址的低12位,页面号占剩余高位。三个虚拟地址的页面号P如下(16进制的一位数转换为4位二进制,所以16进制的低三位只是页面位移,最高位是页面号):

2362H:P=2,访问快表10ns,因初始为空,访问页表100ns获取页框号,合成地址后访问主存100ns,共计10ns 100ns 100ns=210ns。

1565H:P=1,访问快表10ns,100个落空访问页面ns缺页中断处理10ns,访问快表10ns,80%物理地址后,访问主存1000ns,共计10ns 100ns 10ns 10ns 100ns=100 000 220ns。

25A5H:P=2.访问快表需要10美元,因为页号已经放入快表,因为第一次访问。ns可合成物理地址,访问主存100ns,10ns 100ns=110ns。

(2) 1565H当缺页中断时,合法停留集为2,页面必须从页面表中淘汰。根据主题的替换算法,0页应该被淘汰,所以1565H对应页号为101H。由此可得1565H物理地址为101565H。

2010年计算机考研真题答案分析--OS

23.A。检查操作系统的接口。 系统调用是一个可以完成特定功能的子程序。当应用程序要求操作系统提供某些服务时,它将调用具有相应功能的系统调用。库函数是一种与系统调用相对应的函数(部分库函数与系统调用无关),旨在隐藏访问管理指令的细节,使系统调用更加方便和抽象。但需要注意的是,库函数属于用户程序,而不是系统调用,是系统调用的上层。

24.C。检查造成创建过程的事件。 创建过程的事件包括:用户登录、操作调度、提供服务、应用请求等,本问题的选项分别对应:Ⅰ 在分时系统中,用户登录成功,系统将为终端建立一个过程。Ⅱ通过在系统中设置相应的数据结构来实现设备分配设备分配,无需创建过程。Ⅲ启动程序执行导致创建过程的典型事件。

25.B。检查信号量的原理。 信号量表示当前可用的相关资源数量。当信号量时K>当信号量为0时,表示仍有K个相关资源可用; K<0时,表示有|K|一个过程在等待资源。因此,该资源的可用数为1,等待该资源的过程数为0。

26.A。调度考试过程。 当过程时间片耗尽时,从执行状态进入就绪状态时,应降低优先级,使其他过程过程进入执行状态。B刚刚完成完成I/O,进入就绪队列后,应等待被处理机的调度,提高优先权;C类似情况;D这个时候不应该减少,时间片用完后应该减少。

27.D。考试过程中的通信和Peterson算法。 该算法实现互斥的主要思想是设置一个turn变量用于过程之间的谦让。 一般情况下,如果进程p设置0试图访问临界资源flag[0]=true,表示希望访问。如果此时进程p如果1没有试图访问临界资源,flag[1]在最后一次访问临界资源退出临界区后,设置为false。所以进程p在执行循环判断条件时,第一个条件不满足,过程p可正常进入临界区,满足互斥条件。我们需要考虑的是两个过程同时试图访问临界资源。注意turn变量的含义:在试图访问过程中,首先设置自己flag变量为true,表示希望访问;但设置;turn由于在循环判断条件下,变量是对方的过程编号,表示谦让turn当你自己编号时,变量不会循环等待。这时,两个过程会互相谦让,但这不会造成饥饿,因为turn变量将有一个最终值,因此必须有一个可以结束循环进入临界区。实际的情况是,先作出“谦让”的进程先进入临界区,后作出“谦让”的进程则需要循环等待。其实这里可以想象两个人进门,每个人进门前都会对对方说你先走。如果进门时没有人,就和空气胡说八道,然后大步进门;如果两个人同时进门,请先问对方,但他们只有一次礼貌,所以礼貌的人邀请对方,等待对方邀请自己,然后光明正大地进门。

28. B。检查动态分区分配。 考生需要理解动态分区分配的四种算法。最佳适配算法是指每次为作业分配内存空间时,总能找到满足空间大小需求的最小空闲分区。内存空闲分区最小。下图显示了该过程主存储空间的变化:灰色部分为分布空间,白色部分为空闲区。这样,很容易发现主存中最大的空闲分区大小为9Mb。

29.B。检查非连续分布的分页存储管理模式。 页大小为2^10字节,页面项大小为2字节,采用二级页面表,一页可存放2字节^逻辑地址空间为9个页面项^16页需要2/2才能使表示整个逻辑地址空间的页面目录表中包含的最少数量= 2= 页面保存128个页面,即页面目录表中至少包含128个页面。

30.C。检查磁盘文件的大小和性质。因为每个磁盘索引块和磁盘数据块的大小都是256字节。所以4个直接地址索引指向的数据块大小为4×256字节。一级间接索引共22个×(256÷4)一个直接地址索引,其指向的数据块大小为2×(256÷4)×256字节。二级间接地址索引中包含的直接地址索引为(256÷4) ×(256÷4),即指向的数据块大小为(256÷4) ×(256÷4) ×256字节。7个地址项指向的数据块总尺寸为4×256 2×(256÷4)×256 (256÷4) ×(256÷4) ×256=1082368字节=1057KB。

31.C。考察当前目录的作用。 当一个文件系统包含多个层次时,每个访问文件都使用从根到叶的整个路径名,包括每个中间节点名。目前的目录也被称为工作目录,每个文件的访问都比目前的目录进行,因此检索速度快于检索整个路径名。

32.B。检查中断处理。 键盘通过中断是典型的I/O当用户输入信息时,计算机响应中断并通过中断处理程序获取输入信息。

45.解答: (1) 用位图表示磁盘的空闲状态。每个磁盘块的空闲状态都需要16个 384/32=512个字=512×4 个字节=2KB,可以放在系统提供的内存中。 (2) 采用CSCAN调度算法,访问磁道的顺序和移动的磁道数如下表所示: 下一个被访问的磁道号 120 30 50 90 移动距离(磁道数)20 90 20 40 移动磁道数为20 90 20 40=170,所以移动磁道的总时间是170ms。 由于转速为6000r/m,平均旋转延迟为5ms,总旋转延迟时间=20ms。 由于转速为6000r/m,在磁道上读取扇区的平均读取时间为0.1ms,读取扇区的平均读取时间是.1ms,总的读取扇区的时间为0.4ms。综上,读取上述磁道上所有扇区所花的总时间为190.4ms。 (3) 采用FCFS(先来先服务)调度策略更高效。因为Flash半导体存储器的物理结构不需要考虑寻道时间和旋转延迟,可直接按I/O请求的先后顺序服务。

46.解答: (1)由于该计算机的逻辑地址空间和物理地址空间均为64KB = 2^16B,按字节编址,且页的大为1K = 2^10,故逻辑地址和物理地址的地址格式均为: 页号/页框号(6位)页内偏移量(10位) 17CAH = 0001 0111 1100 1010B,可知该逻辑地址的页号为000101B = 5  (2)根据FIFO 算法,需要替换装入时间最早的页,故需要置换装入时间最早的0 号页,即将5号页装入7号页框中,所以物理地址为0001 1111 1100 1010B = 1FCAH。 (3)根据CLOCK算法,如果当前指针所指页框的使用位为0,则替换该页;否则将使用位清零,并将指针指向下一个页框,继续查找。根据题设和示意图,将从2号页框开始,前4次查找页框号的顺序为2→4→7→9,并将对应页框的使用位清零。在第5次查找中,指针指向2号页框,因2号页框的使用位为0,故淘汰2号页框对应的2号页,把5号页装入2号页框中,并将对应使用位设置为1,所以对应的物理地址为0000 1011 1100 1010B = 0BCAH。

2011年计算机考研真题答案解析

23.解答:B。响应比=作业响应时间/作业执行时间=(作业执行时间+作业等待时间)/作业执 行时间。高响应比算法,在等待时间相同情况下,作业执行时间越少,响应比越高,优先执 行,满足短任务优先。随着等待时间增加,响应比也会变大,执行机会就增大,所以不会产 生饥饿现象。先来先服务和时间片轮转不符合短任务优先,非抢占式短任务优先会产生饥饿 现象。

24.解答:A。缺页处理程序和时钟中断都属于中断,在核心态执行。进程调度属于系统调 用在核心态执行,命令解释程序属于命令接口,它在用户态执行。

25.解答:D。进程中某线程的栈指针,对其它线程透明,不能与其它线程共享。

26.解答:B。输入/输出软件一般从上到下分为四个层次:用户层、与设备无关软件层、 设备驱动程序以及中断处理程序。与设备无关软件层也就是系统调用的处理程序。所以争取 处理流程为B选项。

27.解答:D。使用银行家算法得,不存在安全序列。

28.解答:D。缺页中断调入新页面,肯定要修改页表项和分配页框,所以I、III可能发 生,同时内存没有页面,需要从外存读入,会发生磁盘I/O。

29.解答:A。在具有对换功能的操作系统中,通常把外存分为文件区和对换区。前者用于 存放文件,后者用于存放从内存换出的进程。抖动现象是指刚刚被换出的页很快又要被访问 为此,又要换出其他页,而该页又快被访问,如此频繁的置换页面,以致大部分时间都花在 页面置换上。撤销部分进程可以减少所要用到的页面数,防止抖动。对换区大小和进程优先 级都与抖动无关。

30.解答:B。编译过程指编译程序将用户源代码编译成目标模块。源地址编译成目标程序 时,会形成逻辑地址。

31.解答:B。单缓冲区下当上一个磁盘块从缓冲区读入用户区完成时下一磁盘块才能开始 读入,也就是当最后一块磁盘块读入用户区完毕时所用时间为150×10=1500。加 上处理最后一个磁盘块的时间50为1550。双缓冲区下,不存在等待磁盘块从缓冲区读 入用户区的问题,也就是100×10+100=1100。

32.解答:C。将P1中3条语句变为1,2,3,P2中3条语句编为4,5,6。则依次执行1,2,3,4,5 得结果1,依次执行1,2,4,5,6,3得结果2,执行4,5,1,2,3,6得结果0。结果-1不可能得 出,选C。

45.semaphore seets = 10, // 有10个坐位的资源信号量 mutex = 1, // 取号机互斥信号量 haveCustom = 0; // 顾客与营业员同步,无顾客时营业员休息 process 顾客 {  P(seets); // 等空位 P(mutex); // 申请使用取号机 从取号机上取号; V(mutex); // 取号完毕 V(haveCustom); // 通知营业员有新顾客到来 等待营业员叫号; V(seets); // 离开坐位 接受服务; }

{   while(True)   {  P(haveCustom); // 没有顾客则休息 叫号; 为顾客服务;  }  }

46.解答: (1)连续更合适,因为一次写入不存在插入问题,连续的数据块组织方式完全可以满足一次 性写入磁盘。同时连续文件组织方式减少了其他不必要的空间开销,而连续的组织方式顺序 查找读取速度是最快的。 (2)FCB集中存储好。目录是存在磁盘上的,所以检索目录的时候需要访问磁盘,速度很 慢;集中存储是将文件控制块的一部分数据分解出去,存在另一个数据结构中,而在目录中 仅留下文件的基本信息和指向该数据结构的指针,这样一来就有效地缩短减少了目录的体 积,减少了目录在磁盘中的块数,于是检索目录时读取磁盘的次数也减少,于是就加快了检 索目录的次数。

2012年计算机考研真题答案解析

23.C。本题关键在于对“在用户态发生”(不是“完成”)的理解。对于A,系统调用是操作系统提供给 用户程序的接口,调用程序发生在用户态,被调用程序在核心态下执行。对于B,外部中断是用户态到核心态的“门”,也是发生在用户态,在核心态完成中断过程。对于C,进程切换属于系统调用执行过程中的事件,只能发生在核心态;对于D,缺页产生后,在用户态发生缺页中断,然后进入核心态执行缺页中断服务程序。

24.B。考查中断处理和子程序调用的区别。 子程序调用只需保护断点,即该指令的下一条指令的地址;中断调用子程序不仅要保护断点,还要保护程序状态字寄存器的内容PSW(有些机器也称标志寄存器FLAGS)。

25.B。考查虚拟存储器的特点。 虚拟内存的实现需要建立在离散分配的内存管理方式的基础上,有以下三种实现方式:①请求分页存储管理;②请求分段存储管理;③请求段页式存储管理。虚拟存储器容量既不受外存容量限制,也不受内存容量限制,而是由CPU的寻址范围决定的。

26.A。考查I/O子系统的层次结构。 输入/输出软件一般从上到下分为四个层次:用户层、与设备无关的软件层、设备驱动程序以及中断处理程序。与设备无关的软件层也就是系统调用的处理程序。

27.D。考查安全序列的计算。 首先求得各进程的需求矩阵Need与可利用资源矢量Available:

初始时进程P1与P3可满足需求,排除A、C。尝试给P1分配资源,则P1完成后Available将变为 (6,3,6),无法满足P0的需求,排除B。尝试给P3分配资源,则P3完成后Available将变为(4,3,7),该向量能满足其他所有进程的需求。所以,以P3开头的所有序列都是安全序列。

28.A。考查read系统调用的过程与特点。 对于Ⅰ,当所读文件的数据不在内存时,产生中断(缺页中断、缺段中断),原进程进入阻塞状态(睡眠等待状态),直到所需数据从外存调入进入内存后,将该进程唤醒,使其变为对于Ⅰ,当所读文件的数据不在内存时,产生中断(缺页中断、缺段中断),原进程进入阻塞状态(睡 眠等待状态),直到所需数据从外存调入进入内存后,将该进程唤醒,使其变为就绪状态。对于Ⅱ,read系统调用通过陷入将CPU从用户态切换到核心态,从而获取操作系统提供的服务。对于Ⅲ,在操作系统中,要读一个文件首先要用open系统调用将该文件打开。open系统调用的参数需要包含文件的路径名与文件名,而read系统调用只需要使用open返回的文件描述符,并不使用文件名作为参数。read系统调用要求用户提供三个输入参数:①文件描述符fd;②buf缓冲区址;③传送的字节数n。read系统调用的功能是试图从fd所指示的文件中读入n 个字节的数据,并将它们送至由指针buf所指示的缓冲区中。 29.B。考查批处理系统的性能计算。

30.C。考查处理机调度的时机。 选项A、B、D显然是可以进行处理机调度的情况。对于C,当进程处于临界区时,说明进程正占 用处理机,只要不破坏临界资源的使用规则,是不会影响处理机调度的,比如,通常访问临界资源可能是慢速的外设(如打印机),如果在进程访问打印机时,不能处理机调度,那么系统的性能将是非常低的。几种不适合进行处理机调度的情况:①在处理中断的过程中;②进程在操作系统内核程序临界区中;③其他需要完全屏蔽中断的原子操作过程中。

31.A。考查进程与线程的区别与联系。 在用户级线程中,有关线程管理的所有工作都由应用程序完成,无需内核的干预,内核意识不到线程的存在。关于进程和线程的其他区别见下表所示: 进程 线程 线程自己基本不拥有系统资源,但它可 资源分配 进程是资源分配和拥有的基本单位 访问所属进程所拥有的全部资源。 在没有引入线程的操作系统中,进程 引入线程后的操作系统中,线程是独立 调度 是独立调度和分派的基本单位。 调度和分派的基本单位。 地址空间 进程的地址空间之间互相独立。 同一进程的各线程间共享进程的地址空间。

32.B。考查影响磁盘设备I/O性能的因素。 对于A,重排I/O请求次序也就是进行I/O调度,从而使进程之间公平地共享磁盘访问,减少I/O完成所需要的平均等待时间。对于C,缓冲区结合预读和滞后写技术对于具有重复性及阵发性的I/O进程改善磁盘I/O性能很有帮助。对于D,优化文件物理块的分布可以减少寻找时间与延迟时间,从而提高磁盘性能。

45.解答: 1)页框号为21。(1分)理由:因为起始驻留集为空,而0页对应的页框为空闲链表中的第三个空闲页框(21),其对应的页框号为21。(1分) 2)页框号为32。(1分)理由:因11>10故发生第三轮扫描,页号为1的页框在第二轮已处于空闲 页框链表中,此刻该页又被重新访问,因此应被重新放回驻留集中,其页框号为32。(1分) 3)页框号为41。(1分)理由:因为第2页从来没有被访问过,它不在驻留集中,因此从空闲页框链表中取出链表头的页框41,页框号为41。(1分) 4)合适。(1分)理由:如果程序的时间局部性越好,从空闲页框链表中重新取回的机会越大,该17策略的优势越明显。(1分)

46.解答: 32 1)文件系统中所能容纳的磁盘块总数为4TB/1KB=2 。要完全表示所有磁盘块,索引项中的块号最 少要占32/8=4B。(2分) 而索引表区仅采用直接索引结构,故512B的索引表区能容纳512B/4B=2^7个索引项。每个索引项对应一个磁盘块,所以该系统可支持的单个文件最大长度是128×1KB=128KB。(2分) 【评分说明】过程描述正确,但计算结果不正确,可酌情给分。 2)块号占6B、块数占2B时,共可以表示2个磁盘块,即2^26=64MB;直接索引区共504B/6B=84 26个索引项。所以该系统可支持的单个文件最大长度是2^26B+84KB=65620KB。(2分) 合理的起始块号和块数所占字节数分别为4,4(或1,7或2,6或3,5)。(1分)理由:块数占4B或以 上,就可表示4TB大小的文件长度,达到文件系统的空间上限。(1分)【评分说明】过程描述正确,但计算结果不正确,可酌情给分。只要答出起始块号和块数所占字节数的任何合理值,均可得1分;理由说明正确得1分。

2013年计算机考研真题答案解析  

23. A 解析:删除文件不需要删除文件所在的目录,而文件的关联目录项和文件控制块需要随着 文件一同删除,同时释放文件的关联缓冲区。

24. A 解析:为了实现快速随机播放,要保证最短的查询时间,即不能选取链表和索引结构,因 此连续结构最优。

25. C 解析:计算磁盘号、磁头号和扇区号的工作是由设备驱动程序完成的,答案选C。

26. A 解析:四个选项中,只有A选项是与单个文件长度无关的。

27. C 解析:数据块1从外设到用户工作区的总时间为105,在这段时间中,数据块2没有进行 操作。在数据块1进行分析处理时,数据块2从外设到用户工作区的总时间为105,这段 时间是并行的。再加上数据块2进行处理的时间90,总共是300,答案为C。

28. B 解析:需要在系统内核态执行的操作是整数除零操作和read系统调用函数,答案选B。

29. D 解析:系统开机后,操作系统的程序会被自动加载到内存中的系统区,这段区城是RAM, 答案选D。

30. B 解析:用户进程访问内存时缺页会发生缺页中断。发生缺页中断,系统地执行的操作可能 是置换页面或分配内存。系统内没有越界的错误,不会进行越界出错处理。

31. B 解析:为了合理地设置进程优先级,应该将进程的CPU利用时间和I/O时间做综合考虑, 答案选B。

32. B 解析:银行家算法是避免死锁的方法。利用银行家算法,系统处于安全状态时没有死锁进 程,答案选B。

45.【答案要点】 定义两个信号量 Semaphore empty = 500; / / 博物馆可以容纳的最多人数(2分) Semaphore mutex = 1; / / 用于出入口资源的控制(2分) cobegin  参观者进程i;  {  … P ( empty );  P ( mutex );  进门;  V( mutex );  参观;  P ( mutex );  出门;  V( mutex );  V( empty );  … }  coend(3分)

【评分说明】 ①信号量初值给1分,说明含义给1分,两个信号量的初值和含义共4分。 ②对mutex的P、V操作正确给2分。 ③对empty的P、V操作正确给1分。 ④其他答案,参照①~③的标准给分。

46.【答案要点】 (1)因为页内偏移量是12位,所以页大小为4 KB,(1分) 页表项数为2^32/4K=2^20,该一级页表最大为2^20×4 B=4 MB。(2分) (2)页目录号可表示为:( ( ( unsigned int ) ( LA ) ) >> 22 ) & 0x3FF。(1分) 页表索引可表示为:( ( ( unsigned int ) ( LA ) ) >> 12 ) & 0x3FF。(1分)

2014年计算机考研真题答案解析

23.采用静态优先级调度时,当系统总是出现优先级高的任务时,优先级低的任务会总 是得不到处理机而产生饥饿现象;而短作业优先调度不管是抢占式或是非抢占的,当系统总 是出现新来的短任务时,长任务会总是得不到处理机,产生饥饿现象,因此B、C、D都错 误,选A。

24.三个并发进程分别需要3、4、5台设备,当系统只有(3-1)+(4-1)+(5-1)=9台设备时, 第一个进程分配2台,第二个进程分配3台,第三个进程分配4台。这种情况下,三个进程 均无法继续执行下去,发生死锁。当系统中再增加1台设备,也就是总共10台设备时,这 最后1台设备分配给任意一个进程都可以顺利执行完成,因此保证系统不发生死锁的最小设 备数为10。

25.trap指令、跳转指令和压栈指令均可以在用户态执行,其中trap指令负责由用户态 转换成为内核态。而关中断指令为特权指令,必须在核心态才能执行,选D。

26.进程申请读磁盘操作的时候,因为要等待I/O操作完成,会把自身阻塞,此时进程 就变为了阻塞状态,当I/O操作完成后,进程得到了想要的资源,就会从阻塞态转换到就绪 态(这是操作系统的行为)。而降低进程优先级、分配用户内存空间和增加进程的时间片大 小都不一定会发生,选A。

27.簇的总数为10GB/4KB=2.5M,用一位标识一簇是否被分配,则整个磁盘共需要2.5M 位,即需要2.5M/8=320KB,则共需要320KB/4KB=80个簇,选A。

28.虚实地址转换是指逻辑地址和物理地址的转换。增大快表容量能把更多的表项装入 快表中,会加快虚实地址转换的平均速率;让页表常驻内存可以省去一些不在内存中的页表从磁盘上调入的过程,也能加快虚实地址变换;增大交换区对虚实地址变换速度无影响,因 此I、II正确,选C。

29.一个文件被用户进程首次打开即被执行了Open操作,会把文件的FCB调入内存, 而不会把文件内容读到内存中,只有进程希望获取文件内容的时候才会读入文件内容;C、 D明显错误,选B。

30.只有FIFO算法会导致Belady异常,选A。

31.管道实际上是一种固定大小的缓冲区,管道对于管道两端的进程而言,就是一个文 件,但它不是普通的文件,它不属于某种文件系统,而是自立门户,单独构成一种文件系统, 并且只存在于内存中。它类似于通信中半双工信道的进程通信机制,一个管道可以实现双向 的数据传输,而同一个时刻只能最多有一个方向的传输,不能两个方向同时进行。管道的容 量大小通常为内存上的一页,它的大小并不是受磁盘容量大小的限制。当管道满时,进程在 写管道会被阻塞,而当管道空时,进程读管道会被阻塞,因此选C。

32.多级页表不仅不会加快地址的变换速度,还因为增加更多的查表过程,会使地址变 换速度减慢;也不会减少缺页中断的次数,反而如果访问过程中多级的页表都不在内存中, 会大大增加缺页的次数,也并不会减少页表项所占的字节数(详细解析参考下段),而多级页 表能够减少页表所占的连续内存空间,即当页表太大时,将页表再分级,可以把每张页表控 制在一页之内,减少页表所占的连续内存空间,因此选D。

45.解答: 该题继承了上题中的相关信息,统考中首次引入此种设置,具体考察到程序的运行结果、 Cache的大小和命中率的计算以及磁盘和TLB的相关计算,是一题比较综合的题型。 (1)R2里装的是i的值,循环条件是i<N(1000),即当i自增到不满足这个条件时跳出循 环,程序结束,所以此时i的值为1000。(1分)  (2)C ache共有16行,每块32字节,所以Cache数据区的容量为16*32B=512B。(1分)  P共有6条指令,占24字节,小于主存块大小(32B),其起始地址为0804 8100H,对应 一块的开始位置,由此可知所有指令都在一个主存块内。读取第一条指令时会发生Cache 缺失,故将P所在的主存块调入Cache某一行,以后每次读取指令时,都能在指令Cache 中命中。因此在1000次循环中,只会发生1次指令访问缺失,所以指令Cache的命中率为: (1000×6-1)/(1000×6)=99.98%。(2分)  【评分说明】若考生给出正确的命中率,而未说明原因和过程,给1分。若命中率计算 错误,但解题思路正确,可酌情给分

(3)指令4为加法指令,即对应sum+=A[i],当数组A中元素的值过大时,则会导致这条 加法指令发生溢出异常;而指令2、5虽然都是加法指令,但他们分别为数组地址的计算指 令和存储变量i的寄存器进行自增的指令,而i最大到达1000,所以他们都不会产生溢出异 常。(2分)  只有访存指令可能产生缺页异常,即指令3可能产生缺页异常。(1分)  因为数组A在磁盘的一页上,而一开始数组并不在主存中,第一次访问数组时会导致访 盘,把A调入内存,而以后数组A的元素都在内存中,则不会导致访盘,所以该程序一共 访盘一次。(2分)  每访问一次内存数据就会查TLB一次,共访问数组1000次,所以此时又访问TLB1000 次,还要考虑到第一次访问数组A,即访问A[0]时,会多访问一次TLB(第一次访问A[0] 会先查一次TLB,然后产生缺页,处理完缺页中断后,会重新访问A[0],此时又查TLB), 所以访问TLB的次数一共是1001次。(2分)

【评分说明】 ①对于第1问,若答案中除指令4外还包含其他运算类指令(即指令1、2、5),则给1 分,其他情况,则给0分。 ②对于第2问,只要回答“load指令”,即可得分。 ③对于第3问,若答案中给出的读TLB的次数为1002,同样给分。若直接给出正确的 TLB及磁盘的访问次数,而未说明原因,给3分。若给出的TLB及磁盘访问次数不正确, 但解题思路正确,可酌情给分。

46.解答: 考察文件系统中,记录的插入问题。题目本身比较简单,考生需要区分顺序分配方式和 连接分配方式的区别。 (1)系统采用顺序分配方式时,插入记录需要移动其他的记录块,整个文件共有200条记 录,要插入新记录作为第30条,而存储区前后均有足够的磁盘空间,且要求最少的访问存 储块数,则要把文件前29条记录前移,若算访盘次数移动一条记录读出和存回磁盘各是一 次访盘,29条记录共访盘58次,存回第30条记录访盘1次,共访盘59次。(1分)  F的文件控制区的起始块号和文件长度的内容会因此改变。(1分)  (2)文件系统采用链接分配方式时,插入记录并不用移动其他记录,只需找到相应的记录, 修改指针即可。插入的记录为其第30条记录,那么需要找到文件系统的第29块,一共需要 访盘29次,然后把第29块的下块地址部分赋给新块,把新块存回内存会访盘1次,然后修 改内存中第29块的下块地址字段,再存回磁盘(1分),一共访盘31次。(1分)  4个字节共32位,可以寻址2^32=4G块存储块,每块的大小为1KB,即1024B,其中下块地址部分占4B,数据部分占1020B,那么该系统的文件最大长度是4G×1020B=4080GB。 (2分)  【评分说明】 ①第(1)小题的第2问,若答案中不包含文件的起始地址和文件大小,则不给分。 ②若按1024×2^32B=4096GB计算最大长度,给1分。

2015年计算机考研真题答案解析

23.【参考答案】B 【解析】外部中断处理过程,PC 值由中断隐指令自动保存,而通用寄存器内容由操作系统保 存。

24.【参考答案】C 【解析】部分指令可能出现异常(导致中断),从而转到核心态。指令 A 有除零异常的可能, 指令 B 为中断指令,指令 D 有缺页异常的可能,指令 C 不会发生异常。

25.【参考答案】D 【解析】P(wait)操作表示进程请求某一资源,A、B 和 C 都因为请求某一资源会进入阻塞态, 而 D 只是被剥夺了处理机资源,进入就绪态,一旦得到处理机即可运行。

26.【参考答案】B 【解析】死锁的处理采用三种策略:死锁预防、死锁避免、死锁检测和解除。死锁预防,采用 破坏产生死锁的四个必要条件中的一个或几个,以防止发生死锁。其中之一的“破坏循环等 待条件”,一般采用顺序资源分配法,首先给系统的资源编号,规定每个进程必须按编号递增 的顺序请求资源,也就是限制了用户申请资源的顺序,故I的前半句属于死锁预防的范畴。 银行家算法是最著名的死锁避免算法,其中的最大需求矩阵 MAX 定义了每一个进程对 m 类 资源的最大需求量,系统在执行安全性算法中都会检查此次资源试分配后,系统是否处于安 全状态,若不安全则将本次的试探分配作废。在死锁的检测和解除中,在系统为进程分配资 源时不采取任何措施,但提供死锁的检测和解除的手段,故II、III正确。

27.【参考答案】A 【解析】可以采用书中常规的解法思路,也可以采用便捷法。对页号序列从后往前计数,直 到数到 4(页框数)个不同的数字为止,这个停止的数字就是要淘汰的页号(最近最久未使用 的页),题中为页号 2。

28.【参考答案】A 【解析】磁盘和内存的速度差异,决定了可以将内存经常访问的文件调入磁盘缓冲区,从高 速缓存中复制的访问比磁盘 I/O 的机械操作要快很多。

29.【参考答案】B

【解析】10 个直接索引指针指向的数据块大小为 10×1KB=10KB。每个索引指针占 4B,则 每个磁盘块可存放 1KB/4B=256 个索引指针,一级索引指针指向的数据块大小为: 256×1KB=256KB 二级索引指针指向的数据块大小为:256×256×1KB=216KB=64MB。按字 节编址,偏移量为 1234 时,因 1234B<10KB,则由直接索引指针可得到其所在的磁盘块 地址。文件的索引结点已在内存中,则地址可直接得到,故仅需 1 次访盘即可。偏移量为 307400 时,因 10KB+256KB<307400B<64MB,可知该偏移量的内容在二级索引指针所 指向的某个磁盘块中,索引结点已在内存中,故先访盘 2 次得到文件所在的磁盘块地址,再 访盘 1 次即可读出内容,故共需 3 次访盘。

30.【参考答案】C 【解析】对各进程进行固定分配时页面数不变,不可能出现全局置换。而 A、B、D 是现代操 作系统中常见的 3 种策略

31.【参考答案】C 【解析】位图表示法:⌊409612/(8×1024)⌋=50,还余 12,所以共需要 51 个块。从 32 开 始的话到了 32+51-1=82 号块,因为余下的 12 位,需要占两个字节,从 0 序号开始的话所以 到了 1 序号字节。

32.【参考答案】C 【解析】考查 SCAN 算法就是电梯调度算法。顾名思义,如果开始时磁头向外移动就一直要 到最外侧,然后再返回向内侧移动,就像电梯若往下则一直要下到最底层需求才会再上升一 样。当期磁头位于 58 号并从外侧向内侧移动,先依次访问 130 和 199,然后再返回向外侧移 动,依次访问 42 和 15,故磁头移过的磁道数是:(199-58)+(199-15)=325。

45.解答: semaphore Full_A = x; //Full_A表示A的信箱中的邮件数量 semaphore Empty_A = M-x; // Empty_A表示A的信箱中还可存放的邮件数量 semaphore Full_B = y; //Full_B表示B的信箱中的邮件数量 semaphore Empty_B = N-y; // Empty_B表示B的信箱中还可存放的邮件数量 semaphore mutex_A = 1; //mutex_A用于A的信箱互斥 semaphore mutex_B = 1; //mutex_B用于B的信箱互斥

46.解答: 1)页和页框大小均为4KB。进程的虚拟地址空间大小为2^32/2^12=2^20页。 2)(2^10*4)/2^12(页目录所占页数)+(2^20*4)/2^12(页表所占页数)=1025页。 3)需要访问一个二级也表。因为虚拟地址0100 0000H和0111 2048H的最高10位的值都是4,访 问的是同一个二级页表。

2016年计算机考研真题答案解析

23.【参考答案】A 【解析】批处理系统中,作业执行时用户无法干预其运行,只能通过事先编制作业控制说明 书来间接干预,缺少交互能力,也因此才发展出分时系统,I错误。批处理系统按发展历程 又分为单道批处理系统、多道批处理系统,II正确。多道程序设计技术允许同时把多个程序 放入内存,井允许它们交替在 CPU 中运行,它们共享系统中的各种硬、软件资源,当一道程 序因 I/O 请求而暂停运行时,CPU 便立即转去运行另一道程序,即多道批处理系统的 I/O 设 备可与 CPU 并行工作,这都是借助于中断技术实现的,III正确。

24.【参考答案】B 【解析】这类调度题目最好画图。因 CPU、输入设备、输出设备都只有一个,因此各操作步 骤不能重叠,画出运行时的甘特图后就能清楚地看到不用作业的时序关系,如下表所示

25.【参考答案】C 【解析】对于本题,先满足个进程的资源需求,再看其他进程是否能出现死锁状态。因为 P4 只甲请一个资源,当将 R2 分配给 P4 后,P4 执行完后将 R2 释放,这时使得系统满足死锁的条 件是 R1 分配给 P1,R2 分配给 P2,R3 分配给 P3(或者 R2 分配给 P1,R3 分配给 P2,R 分配 给 P3)。穷举其他情况如 P1 申请的资源 R1 和 R2,先都分配给 P1,运行完并释放占有的资源 后,可以分别将 R1、R2 和 R3 分配给 P3、P4 和 P2,也满足系统死锁的条件。各种情况需要使得处于死锁状态的进程数至少为 3。

26.【参考答案】A 【解析】改进型的 CLOCK 置换算法执行的步骤如下:(1)从指针的当前位置开始,扫描帧 缓冲区。在这次扫描过程中,对使用位不做任何修改。选择遇到的第一个帧(A = 0,M = 0)用 于替换。(2)如果第(1)步失败,则重新扫描,查找(A = 0, M = 1)的帧。选择遇到的第一个 这样的帧用于替换。在这个扫描过程中,对每个跳过的帧,把它的使用位设置成 0。(3)如果 第(2)步失败,指针将回到它的最初位置,井且集合中所有帧的使用位均为 0。重复第 1 步, 并且如果有必要,重复第 2)步。这样将可以找到供替换的帧。从而,该算法淘汰页的次序为 (0,0),(0,1),(1,0),(1,1),即 A 正确。

27.【参考答案】B 【解析】当进程退出临界区时置 lock 为 FALSE,会负责唤醒处于就绪状态的进程,A 错误。 若等待进入临界区的进程会直停留在执行 while(TSL(&lock))的循环中,不会主动放弃 CPU, B 正确。让权等待,即当进程不能进入临界区时,应立即释放处理器,防止进程忙等待。通过 B 选项的公析中发现上述伪代码并不满足“让权等待”的同步准则,C 错误。若 while(TSL(&lock))在关中断状状态下执行,当 TSL(&lock)一直为 true 时,不再开中断,则系 统可能会因此终止,D 错误。

28.【参考答案】D 【解析】分段系统的逻辑地址 A 到物理地址 E 之间的地址变换过程如下。

1从逻辑地址 A 中取出前几位为段号 S,后几位为段内偏移量 W,注意段式存储管理的题目 中,逻辑地址一般以二进制给出,而在页式存储管理中,逻辑地址般以十进制给出,各位读 者要具体问题具体分析。 2比较段号 S 和段表长度 M,若 S≥M,则产生越界异常,否则继续执行。

3段表中段号 S 对应的段表项地址=段表起始地址 F+段号 S×段表项长度,取出该段表项的 前几位得到段长 C。若段内偏移量≥C,则产生越界异常,否则继续执行。从这句话我们可以 看出,段表项实际上只有两部分,前几位是段长,后几位是起始地址。 4取出段表项中该段的起始地址 b,计算 E=b+W,用得到的物理地址 E 去访问内存。题目中 段号为 2 的段长为 300,小于段内地址为 400,故发生越界异常,D 正确。 

29.【参考答案】A

【解析】在任一时刻 t,都存在一个集合,它包含所有最近 k 次(该题窗口大小为 6)内存访问所访问过的页面。这个集合w(k,t)就是工作集。该题中最近 6 次访间的页面分别为6,0,3,2,3.2, 再去除重复的页面,形成的工作集为(6,0,3,2)。

30.【参考答案】C 【解析】P1 中对 a 进行赋值,并不影响最终的结果,故 a=1 与 a=2 不需要互斥执行;a=x 与 b=x 执行先后不影响 a 与 b 的结果,无须互斥执行;x+=1 与 x+=2 执行先后会影响 x 的结果, 需要互斥执行;P1 中的 x 和 P2 中的 x 是不同范围中的 x,互不影响,不需要互斥执行。 

31.【参考答案】D

【解析】SPOOLing 是利用专门的外围控制机,将低速 I/O 设备上的数据传送到高速磁盘上, 或者相反。SPOOLing 的意思是外部设备同时联机操作,又称为假脱机输入/输出操作,是操 作系统中采用的一项将独占设备改造成共享设备的技术。高速磁盘即外存,A 正确。 SPOOLling 技术需要进行输入/输出操作,单道批处理系统无法满足,B 正确。SPOOLing 技 术实现了将独占设备改造成共享设备的技术,C 正确。设备与输入/输出井之间数据的传送是 由系统实现的,D 错误。

32.【参考答案】A 【解析】管程是由一组数据以及定义在这组数据之上的对这组数据的操作组成的软件模块, 这组操不可作能初始化并改变管程中的数据和同步进程。管程不仅能实现进程间的互斥,而 且能实现进程达,间的同步,故 A 错误、B 正确。管程具有特性:1局部于管程的数据只能被 局部于管程内的过程所访问;2一个进程只有通过调用管程内的过程才能进入管程访问共享 数据;3每次仅允许一个进程在管程内执行某个内部过程,故 C 和 D 正确。

45.【答案解析】 (1)页大小为 8KB,页内偏移地址为 13 位,故 A=B=32-13=19;D=13;C=24-13=11;主 存块大小为 64B,故 G=6。2 路组相联,每组数据区容量有 64 B×2=128B,共有 64KB/128B=512 组,故 F=9;E = 24-G-F = 24-6-9 = 9。 因而 A=19,B=19,C=11,D=13,E=9,F=9,G=6。(各 1 分,共 7 分) TLB 中标记字段 B 的内容是虚页号,表示该 TLB 项对应哪个虚页的页表项。(1 分) (2)块号 4099=00 0001 0000 0000 0011B,因此,所映射的 Cache 组号为 0 0000 0011B=3, (1 分)对应的 H 字段内容为 0 0000 1000B。(1 分) (3)Cache 缺失带来的开销小,而处理缺页的开销大。(1 分)因为缺页处理需要访问磁盘, 而 Cache 缺失只要访问主存。(1 分)【评分说明】对于(3)中第 2 问,若考生回答因为缺页需要软件实现而 Cache 缺失用硬件 实现,则同样给分。 (4)因为采用直写策略时需要同时写快速存储器和慢速存储器,而写磁盘比写主存慢得多。 所以,在 Cache-主存层次,Cache 可以采用直写策略,而在主存-外存(磁盘)层次,修改页面 内容时总是采用回写策略。(2 分)

46.【答案解析】 (1)由于采用了静态优先数,当就绪队列中总有优先数较小的进程时,优先数较大的进程一 直没有机会运行,因而会出现饥饿现象。(2 分) (2)优先数 priority 的计算公式为:priority = nice+k1×cpuTime -k2×waitTime,其中 k1>0, k2>0,用来分别调整 cpuTime 和 waitTime 在 priority 中所占的比例。(3 分)waitTime 可使长 时间等待的进程优先数减小,从而避免出现饥饿现象。(1 分) 【评分说明】1公式中包含 nice 给 1 分,利用 cpuTime 增大优先数给 1 分,利用 waitTime 减少优先数给 1 分; 部分正确,酌情给分。2若考生给出包含 nice、cpuTime 和 waitTime 的其他合理的优先数计算方法,同样给分。

2017年计算机考研真题答案解析

23.【参考答案】D 【解析】先来先服务调度算法是作业来得越早,优先级越高,因此会选择 J1。短作业优先调 度算法是作业运行时间越短,优先级越高,因此会选择 J3。所以选项 D 正确。 

24.【参考答案】C 【解析】执行系统调用的过程是这样的,正在运行的进程先传速系统调用参数,然后由陷入 (trap)指令负责将用户态转化为内核态,并将返回地址压入堆栈以备后用,接下来 CPU 执行 相应的内核态服务程序,最后返回用户态。所以选项 C 正确。

25.【参考答案】B 【解析】回收起始地址为 60K、大小为 140KB 的分区时,它与表中第一个分区和第四个分区 合井,成为起始地址为 20K、大小为 380KB 的分区,剩余 3 个空闲分区。在回收内存后,算 法会对空闲分区链按分区大小由小到大进行排序,表中的第二个分区排第一。所以答案选 B。 

26.【参考答案】D 【解析】绝大多数操作系统为改善磁盘访问时间,以簇为单位进行空间分配,因此答案选 D。 

27.【参考答案】B 【解析】进程切换带来系统开销,切换次数越多,开销越大,选项 A 正确。当前进程的时间 片用完后它的状态由执行态变为就绪态,选项 B 错误。时钟中断是系统中特定的周期性时钟 节拍。操作系统通过它来确定时间间隔,实现时间的延时和任务的超时,选项 C 正确。现代 操作系统为了保证性能最优,通常根据响应时间、系统开销、进程数量、进程运行时间、进程 切换开销等因素确定时间片大小,选项 D 正确。

28.【参考答案】D 【解析】多道程序系统通过组织作业(编码或数据)使 CPU 总有一个作业可执行,从而提高了 CPU 的利用率、系统吞吐量和 I/O 设备利用率,I、III、IV是优点。但系统要付出额外的开 销来组织作业和切换作业,II错误。所以答案选 D。

29.【参考答案】B 【解析】一个新的磁盘是一个空白版,必须分成扇区以便磁盘控制器能读和写,这个过程称 为低级格式化(或物理格式化)。低级格式化为磁盘的每个扇区采用特别的数据结构,包括校验 码,III错误。为了使用磁盘存储文件,操作系统还需要将其数据结构记录在磁盘上这分为两 步,第一步是将磁盘分为由一个或多个柱面组成的分区,每个分区可以作为一个独立的磁盘, I错误。在分区之后,第二步是逻辑格式化(创建文件系统)。在这一步,操作系统将初始的文 件系统数据结构存储到磁盘上,这些数据结构包括空内和已分配的空间及一个初始为空的目 录,II、IV正确。所以答案选 B。

30.【参考答案】D 【解析】可以把用户访问权限抽象为一个矩阵,行代表用户,列代表访问权限。这个矩阵有 4行 5 列,1 代表 true,0 代表 false,所以需要 20 位,答案选 D。

31.【参考答案】B 【解析】硬链接指通过索引节点进行连接,一个文件在物理存储器上有一个索引结点号。存 在多个文件名指向同一个索引节点,II正确。两个进程各自维护自己的文件描述符,III正确, I错误。所以答案选 B。

32.【参考答案】B 【解析】在开始 DMA 传输时,主机向内存写入 DMA 命令块,向 DMA 控制器写入该命令块 的地址,启动 I/O 设备。然后,CPU 继续其他工作,DMA 控制器则继续下去直接操作内存总 线,将地址放到总线上开始传输。当整个传输完成后,DMA 控制器中断 CPU。因此执行顺序 2,3,1,4,答案选 B。

45.【答案解析】 (1)函数 f1 的代码段中所有指令的虚拟地址的高 20 位相同,因此 f1 的机器指令代码在同 一页中,仅占用 1 页。(1 分)页目录号用于寻找页目录的表项,该表项包含页表的位置。页 表索引用于寻找页表的表项,该表项包含页的位置。 (2)push ebp 指令的虚拟地址的最高 10 位(页目录号)为 00 0000 0001,中间 10 位(页 表索引)为 00 0000 0001,所以,取该指令时访问了页目录的第 1 个表项,(1 分)在对应的 页表中访问了第 1 个表项。(1 分) (3)在执行 scanf( )的过程中,进程 P 因等待输入而从执行态变为阻塞态。(1 分)输入结束 时,P 被中断处理程序唤醒,变为就绪态。(1 分)P 被调度程序调度,变为运行态。(1 分)CPU 状态会从用户态变为内核态。(1 分)

46.【答案解析】 先找出线程对在各个变量上的互斥、并发关系。如果是一读一写或两个都是写,那么这就是 互斥关系。每一个互斥关系都需要一个信号量进行调节。 semaphore mutex_y1=1;//mutex_y1 用于 thread1 与 thread3 对变量 y 的互斥访问。(1 分) semaphore mutex_y2=1;//mutex_y2 用于 thread2 与 thread3 对变量 y 的互斥访问。(1 分) semaphore mutex_z=1; //mutex_z 用于变量 z 的互斥访问。(1 分)

2018年计算机考研真题答案解析

23.【参考答案】C 【解析】多任务操作系统可以在同一时间内运行多个应用程序,故I正确。多个任务必须互 斥地访问共享资源,为达到这一目标必须对共享资源进行必要的保护,故II正确。现代操作 系统都是多任务的(主要特点是并发和并行),多 CPU 并非是多任务操作系统的必备硬件, 但 CPU 可运行多任务,III错误。综上所述,I、II正确,III错误,故选 C。

 24.【参考答案】D 【解析】进程运行的顺序为 P2、P3、P1,P2 的周转时间为 15μs+1μs+24μs =40μs,P3 的周 转时间为(18+1+24+1+36)μs=80μs,P1 的周转时间为(30+1+24+1+36+1+12)μs=105μs, 系统的平均周转时间为 75μs。

25.【参考答案】B

【解析】仔细阅读两个线程代码可知,thread1 和 thread2 均是对 x 进行加 1 操作,x 初始值 为 0,若要使得最终 x=2,只有先执行 thread1 再执行 thread2,或先执行 thread2 再执行 thread1,故只有 2 种可能,选 B。 26.【参考答案】A

【解析】此时可用资源数为 1,即使 P3 可以获得并运行,但 P1 和 P2 无法获得足够资源而永 远等待。

27.【参考答案】C 【解析】I、II都是申请资源的,容易发生阻塞,III只会让进程进入就绪队列,等高优先级的 进程退出 CPU 时 P 仍可获得 CPU。

28.【参考答案】D 【解析】“条件变量”是管程内部说明和使用的一种特殊变量,其作用类似于信号量机制中的 “信号量”,都是用于实现进程同步的。需要注意的是,在同一时刻,管程中只能有一个进程 在执行。如果进程 A 执行了 x.wait( )操作,那么该进程会阻塞,并挂到条件变量 x 对应的阻 塞队列上。这样,管程的使用权被释放,就可以有另一个进程进入管程。如果进程 B 执行 x.signal( )操作,那么会唤醒对应的阻塞队列队头进程。在 Pascal 语言的管程中,规定只有一 个进程要离开管程时才能调用 signal( )操作。

29.【参考答案】D 【解析】时钟中断的主要工作是处理和时间有关的信息以及决定是否执行调度程序,和时间 有关的所有信息,包括系统时间、进程的时间片、延时、使用 CPU 的时间、各种定时器,故 I、II、III均正确,选 D。

30.【参考答案】A 【解析】当系统总是持续出现某个磁道的访问请求时,均持续满足最短寻道时间优先、扫描 算法和循环扫描算法的访问条件,会一直服务该访问请求。因此,先来先服务按照请求次序 进行调度比较公平,故选 A。

31.【参考答案】D 【解析】II和IV显然均能提高文件访问速度。对于I,提前读是指在读当前盘块时,将下一 个可能要访问的盘块数据读入缓冲区,以便需要时直接从缓冲区中读取,提高了文件的访问 速度。对于III,延迟写是先将写数据写入缓冲区,并置上“延迟写”标志,以备不久之后访 问,当缓冲区需要再次被分配出去时才将缓冲区数据写入磁盘,减少了访问磁盘的次数,提 高了文件的访问速度,III也正确,答案选 D。

32.【参考答案】C 【解析】硬件方法实现进程同步时不能实现让权等待,故 B、D 错误,Peterson 算法满足有 限等待但不满足让权等待,故 A 错误;记录型信号量由于引入阻塞机制,消除了不让权等待 的情况,故 C 正确。

45.【答案解析】 (1)由图可知,地址总长度为 32 位,高 20 位为虚页号,低 12 位为页内地址。且虚页号高 10 位为页目录号,低 10 位为页号。展开成二进制则表示为:0000 0001 1000 0000 0110 0000 0000 1000 B 故十六进制表示为 0180 6008H。 (2)PDBR 为页目录基址地址寄存器(Page-Directory Base Register),其存储页目录表物 理内存基地址。进程切换时,PDBR 的内容会变化;同一进程的线程切换时,PDBR 的内容 不会变化。每个进程的地址空间、页目录和 PDBR 的内容存在一一对应的关系。进程切换时, 地址空间发生了变化,对应的页目录及其起始地址也相应变化,因此需要用进程切换后当前 进程的页目录起始地址刷新 PDBR。同一进程中的线程共享该进程的地址空间,其线程发生 切换时,地址空间不变,线程使用的页目录不变,因此 PDBR 的内容也不变。 (3)改进型 CLOCK 置换算法需要用到使用位和修改位,故需要设置访问字段(使用位)和 修改字段(脏位)。

46.【答案解析】 (1)簇大小为 4KB,每个地址项长度为 4B,故每簇有 4KB/4B = 1024 个地址项。最大文件 的物理块数可达 8+1×1024+1×10242+1×10243,每个物理块(簇)大小为 4KB,故最大文 件长度为(8+1×1024+1×10242+1×10243)×4KB = 32KB+4MB+4GB+4TB。 (2)文件索引节点总个数为 1M×4KB/64B = 64M,5600B 的文件占 2 个簇,512M 个簇可 存放的文件总个数为 512M/2 = 256M。可表示的文件总个数受限于文件索引节点总个数,故 能存储 64M 个大小为 5600B 的图像文件。 (3)文件 F1 大小为 6KB<4KB×8 = 32KB,故获取文件 F1 的最后一个簇的簇号只需要访 问索引节点的直接地址项。文件 F2 大小为 40KB,4KB×8<40KB<4KB×8+4KB×1024, 故获取 F2 的最后一个簇的簇号还需要读一级索引表。综上,需要的时间不相同。

2019年计算机考研真题答案解析

23.【参考答案】B 【解析】应用程序没有进行线程管理的代码,只有一个到内核级线程的编程接口,内核为进 程及其内部的每个线程维护上下文信息,调度也是在内核中由操作系统完成的,选项 A 正确。 在多线程模型中,用户级线程和内核级线程的连接方式分为多对一、一对一、多对多,“操作 系统为每个用户线程建立一个线程控制块”属于一对一模型,选项 B 错误。用户级线程的切 换可以在用户空间完成,内核级线程的切换需要操作系统帮助进行调度,故用户级线程的切 换效率更高,选项 C 正确。用户级线程的管理工作可以只在用户空间中进行,故可以在不支 持内核级线程的操作系统上实现,选项 D 正确。

24.【参考答案】C 【解析】当被阻塞进程等待的某资源为可用时,进程将会被唤醒。I/O 结束后,等待该 I/O 结 束而被阻塞的有关进程就会被唤醒,I正确;某进程退出临界区后,之前因需要进入该临界 区而被阻塞的有关进程就会被唤醒,II正确,当前进程的时间片用完后进入就绪队列等待重 新调度,优先级最高的进程将获得处理机资源从就绪态变成执行态,III错误。 

25.【参考答案】C 【解析】用户可以在用户态调用操作系统的服务,但执行具体的系统调用服务程序是处于内 核态的,I正确:设备管理属于操作系统的职能之一,包括对输入/输出设备的分配、初始化、 维护等,用户程序需要通过系统调用使用操作系统的设备管理服务,II正确:操作系统不同, 底层逻辑、实现方式均不相同,为应用程序提供的系统调用接口也不同,III错误:系统调用是 用户在程序中调用操作系统提供的子功能,IV正确。

26.【参考答案】B

【解析】传统的文件系统管理空间磁盘的方法包括空闲表法、空闲链表法、位示图和成组链 接法,I、III正确。文件分配表(FAT)的表项与物理磁盘块一一对应,并且可以用一个特殊的 数字-1 表示文件的最后一块,用-2 表示这个磁盘块是空闲的(当然,规定用-3、-4 来表示也是 可行的)。因此文件分配表(FAT)不仅记录了文件中各个块的先后链接关系,同时还标记了空闲 的磁盘块,操作系统可以通过 FAT 对文件存储空间进行管理,IV正确。索引结点是操作系统 为了实现文件名与文件信息分开而设计的数据结构,存储了文件描述信息,索引结点属于文 件目录管理部分的内容,II错误。

27.【参考答案】C 【解析】进程 P1、P2 依次创建后进入队列 Q1,根据时间片调度算法的规则,进程 P1、P2 将依次被分配 10m 的 CPU 时间,两个进程分别执行完一个时间片后都会被转入队列 Q2,就 绪队列 Q2 采用短进程优先调度算法,此时 P1 还需要 20ms 的 CPU 时间,P2 还需要 10ms 的 CPU 时间,所以 P2 会被优先调度执行,10ms 后进程 P2 执行完成,之后 P1 再调度执 行,再过20ms后P1也执行完成。平均等待时间=(P1等待时间+P2

标签: 4080连接器9a传速表传感器

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台