一. 单选题(共10 题,30.0分)
1. (单选题,3.0分)假定下列指令已装入指令寄存器,则执行时不可能导致CPU从用户态变为内核态(系统态)的是( )。
- A.
MOV RO, addr ;把地址addr处的内存数据放入寄存器RO
- B.
NOT RO ;寄存器R0的内容取非
- C.
DIV R0, R1 ; (RO)/(R1)→RO
- D.
INT n ;产生软中断
我的答案:B 正确答案: B
答案解析:
考虑到部分指令可能出现异常(导致中断),从而转到核心态。
DIV有除零异常的可能,中断指令,MOV指令有缺页异常的可能,而NOT指令不会发生异常。
2. (单选题,3.0分)下列调度算法中,不可能导致饥饿现象的是( )。
- A. 静态优先级调度
- B. 时间片轮转
- C. 非抢占式短任务优先
- D. 抢占式短任务优先
我的答案:B 正确答案: B
答案解析:
采用静态优先级调度且系统总是出现优先级高的任务时,优先级低的任务总是得不到处理机而产生饥饿现象;而短任务优先调度不管是抢占式的还是非抢占的,当系统总是出现新来的短任务时,长任务会总是得不到处理机,产生饥饿现象,因此选项B、C、D都错误。
3. (单选题,3.0分)请求分页存储管理中,若把页面尺寸增大一倍而且可容纳的最大页数不变,则在程序顺序执行时缺页中断次数会( )。
- A. 可能增加也可能减少
- B. 减少
- C. 增加
- D. 不变
我的答案:B 正确答案: B
答案解析:
在请求分页存储器中,由于页面尺寸增大,存放程序需要的页帧数就会减少,因此缺页中断的次数也会减少。
4. (单选题,3.0分)提高单机资源利用率的关键技术是( )。
- A. 多道程序设计技术
- B. 虚拟技术
- C. 交换技术
- D. 脱机技术
我的答案:A 正确答案: A
答案解析:
脱机技术用于解决独占设备问题。
虚拟技术与交换技术以多道程序设计技术为前提。
多道程序设计技术由于同时在主存中运行多个程序,在一个程序等待时,可以去执行其他程序,因此提高了系统资源的利用率。
5. (单选题,3.0分)进程自身决定( )。
- A. 从运行态到阻塞态
- B. 从就绪态到运行态
- C. 从阻塞态到就绪态
- D. 从运行态到就绪态
我的答案:A 正确答案: A
答案解析:
只有从运行态到阻塞态的转换是由进程自身决定的。从运行态到就绪态的转换是由于进程的时间片用完,“主动”调用程序转向就绪态。虽然从就绪态到运行态的转换同样是由调度程序决定的,但进程是“被动的”。从阻塞态到就绪态的转换是由协作进程决定的。
6. (单选题,3.0分)在具有通道设备的单处理器系统中实现并发技术后,( )。
- A. 各进程在某一时刻并行运行,CPU与IO设备间并行工作
- B. 各进程在某一时间段内并发运行,CPU与IO设备间并行工作
- C. 各进程在某一时刻并发运行,CPU与IO设备间串行工作
- D. 各进程在某一时间段内并行运行,CPU与IO设备间串行工作
我的答案:B 正确答案: B
答案解析:
由于是单处理器,在某一时刻只有一个进程能获得处理器资源,所以是某一时间段内并发运行。此外,也正是因为CPU和IO设备的并行运行,才使各进程能并发执行。
7. (单选题,3.0分)计算机开机后,操作系统最终被加载到( )。
- A. RAM
- B. BIOS
- C. ROM
- D. EPROM
我的答案:A 正确答案: A
答案解析:
系统开机后,操作系统的程序会被自动加载到内存中的系统区,这段区域是RAM。
8. (单选题,3.0分)
设内存的分配情况如下图所示。若要申请一块40KB的内存空间,采用最佳适应算法,则所得到的分区首址为( )。
- A. 330K
- B. 410K
- C. 100K
- D. 190K
我的答案:A 正确答案: A
9. (单选题,3.0分)
某计算机主存按字节编址,采用二级分页存储管理,地址结构如下:
虚拟地址2050 1225H对应的页目录号、页号分别是( )。
- A. 201H,101H
- B. 081H,401H
- C. 201H,401H
- D. 081H,101H
我的答案:D 正确答案: D
答案解析:
题中给出的是十六进制地址,首先将它转化为二进制地址,然后用二进制地址去匹配题中对应的地址结构。
10. (单选题,3.0分)存储管理的目的是( )。
- A. 提高内存利用率
- B. 增加内存实际容量
- C. 方便用户
- D. 方便用户和提高内存利用率
我的答案:D 正确答案: D
答案解析:
存储管理的目的有两个:一个是方便用户,二是提高内存利用率。
二. 简答题(共5 题,30.0分)
1. (简答题,6.0分)简述逻辑地址和物理地址之间的两个区别。
我的答案:
逻辑地址是CPU生成的地址,不唯一
物理地址是加载到内存地址寄存器中的地址,是唯一的
物理地址是真实的地址,逻辑地址不是
逻辑地址范围0~max,物理地址范围r+0~r+max
正确答案:
(1)逻辑地址不是指实际的物理地址,它指的是抽象地址空间中的抽象地址。物理地址是指内存中的实际物理地址。
(2)逻辑地址由 CPU 生成,并由内存管理单元 (MMU) 转换为物理地址。因此,物理地址由 MMU 生成。
2. (简答题,6.0分)为什么页面大小总是 2 的幂?
我的答案:
因为分页是通过将地址分解成页号和偏移量来实现的,而逻辑地址结构中用二进制表示,为了方便地址转换,最有效的方法是将地址分成x页位和y偏移位
正确答案:
分页是通过将地址分解为页面和偏移量来实现的。将地址按位的方式分解为页号和偏移量在CPU运算中是高效的,而不是对地址进行算术运算获得。因为计算机中位代表 2 的幂,所以页面大小为 2 的幂有利于按位拆分地址。
3. (简答题,6.0分)说明库函数与系统调用的区别和联系。
我的答案:
库函数是语言或应用程序的一部分,可以运行在用户空间中。系统调用是操作系统的一部分,是内核提供给用户的程序接口,运行在内核空间中。
许多库函数都会使用系统调用实现功能。没有使用系统调用的库函数执行效率通常比系统调用高。
正确答案:
库函数是语言或应用程序的一部分,可以运行在用户空间中。
而系统调用是操作系统的一部分,是内核为用户提供的程序接口,运行在内核空间中,而且许多库函数都会使用系统调用来实现功能。
未使用系统调用的库函数,其执行效率通常要比系统调用的高。因为使用系统调用时,需要上下文的切换及状态的转换(由用户态转向核心态)。
4. (简答题,6.0分)考虑一个 64 页的逻辑地址空间,每页 1024 个字节,映射到 32 帧的物理内存。
(1)逻辑地址有多少位?
(2)物理地址有多少位?
我的答案:
正确答案:
(1)6+10=16
(2)5+10=15
5. (简答题,6.0分)父进程创建子进程和主程序调用子程序有何不同?
我的答案:
父进程创建子进程后,父进程与子进程同时执行。
主程序调用子程序后,主程序暂停在调用点,子程序开始执行,直到子程序返回,主程序开始执行。
正确答案:
父进程创建子进程后,父进程与子进程同时执行(并发)。
主程序调用子程序后,主程序暂停在调用点,子程序开始执行,直到子程序返回,主程序才开始执行。
三. 论述题(共2 题,20.0分)
1. (论述题,10.0分)考虑一个系统,其中程序可以分为两部分:代码和数据。CPU 知道它需要的是指令(取指令)还是数据(取数据或存储)。因此,提供了两个基址-界限寄存器对:一对用于指令,一对用于数据。用于指令的基址-界限寄存器对是只读的,因此可以在不同用户之间共享程序。讨论该方案的优缺点。
我的答案:
优点是可以在不同用户之间共享程序。
缺点是存在内存碎片问题。
正确答案:
该方案的主要优点是它是一种有效的代码和数据共享机制。例如,只需要在内存中保存一个应用程序的副本,并且该代码可以由所有需要访问该应用程序代码的进程共享。并且可以保护代码免受恶意修改。
缺点是代码和数据必须分开,一般来说这需要在编译器生成代码时得到处理。
2. (论述题,10.0分)允许页表中的两个页表项指向内存中的同一个页框,这会有什么影响? 并进一步解释:如果将大量内存从一个地方复制到另一个地方会有什么影响?更新一个页面上的某些字节会对另一页面产生什么影响?
我的答案:
节省内存空间,共享代码和数据。
可以通过让不同的页表指向同一个内存位置来实现,减少将大量内存复制所花费的时间。
也会更新这些字节
正确答案:
允许页表中的两个页表项指向内存中的同一个页框,那么用户就可以共享代码和数据。
如果代码是可重入的,则可以通过共享使用大型程序来节省大量内存空间。 “复制”大量内存可能会受到不同页表指向同一内存位置的影响。
共享不可重入代码或数据意味着任何有权访问代码的用户都可以修改它,而这些修改将反映在其他用户的“副本”中。
四. 计算题(共2 题,20.0分)
1. (计算题,10.0分)
有一个CPU和两台外设D1、D2,且在能够实现抢占式优先级调度算法的多道程序环境中,同时进入优先级由高到低的P1、P2、P3三个作业,每个作业的处理顺序和使用资源的时间如下:
P1:D2(30ms),CPU(10ms),D1(30ms),CPU(10ms)
P2:D1(20ms),CPU(20ms),D2(40ms)
P3:CPU(30ms),D1(20ms)
假设忽略不计其他辅助操作的时间,每个作业的周转时间T1、T2、T3分别为多少?CPU和D1的利用率各是多少?
我的答案:
正确答案:
作业P1的优先级最高,周转时间等于运行时间,T1=80ms;
作业P2的等待时间为10ms,运行时间为80ms,周转时间T2=(10+80)ms=90ms;
作业P3的等待时间为40ms,运行时间为50ms,因此周转时间T3= 90ms。
三个作业从进入系统到全部运行结束,时间为90ms。CPU与外设都是独占设备,运行时间分别为各作业的使用时间之和。
CPU运行时间为[(10+10)+20+30]ms=70ms,D1为(30+20+20)ms=70ms,D2为(30+40)ms=70ms,因此利用率均为70/90=77.8%。
2. (计算题,10.0分)
有一个具有两道作业的批处理系统,作业调度采用短作业优先调度算法,进程调度采用抢占式优先级调度算法。作业的运行情况见下表,其中作业的优先数即进程的优先数,优先数越小,优先级越高。
1)列出所有作业进入内存的时间及结束的时间(以分为单位)。
2)计算平均周转时间。
我的答案:
正确答案:
(1)所有作业进入内存的时间及结束的时间
(2)平均周转时间为(70+30+90+ 90)/4= 70min。