华东师范大学期末试卷(软院A卷)
华东师范大学期末试卷(软院A卷)
20012 -2013 学年第二学期
课程名称:操作系统
学生姓名:_____________ 学号:__________________
专业:软件工程年级/班级________________
课程性质:专业必修
一二三四总分阅卷人签名
1、判断题(请判断以下叙述的正误,用T和F表示,并对错误的叙述进行改正,说明理由。20分,每题2分)
()1、线程都保存有各自的栈信息和CPU状态(寄存器、指令计数器等)。T ()2、页表由
各个进程自己管理,进程可在用户态对页表进行更新。F
()3、单CPU环境下由于任何时刻只有一个进程(线程)能够运行,因此操作系统不需要实现同步与互斥支持。F
()4、在微内核结构的操作系统中,进程间通讯可以不在微内核内。F
()5、在抢占式(preemptive)操作系统中,进程不会因为申请、使用资源发生死锁。T
()6、对于像打印机这样的低速设备,采用DMA方式进行数据交换是不合适的;F
()7、在虚存管理时,采用LRU页面替换策略,可能会发生Belady异常(即分配页框越多,缺页率反而越高);F
()8、RAID技术总是以牺牲磁盘访问性能来换取容错性的提高。F
()9、目录文件其实就是文件控制块(FCB)。F
()10、操作系统内核是一个特殊的进程,在系统启动后以运行(running)或者就绪(ready)状态存在。F
2、单选题(20分,每题2分)
1. 当发生抖动(或称为颠簸,thrashing)时,以下哪种现象不会出现?B
A. 处于等待(waiting)状态的进程数增多
B. CPU利用率增高
C. 磁盘I/O增多
D. 长程调度(long-term scheduling)允许更多的进程进入就绪(ready)状态
2. 多CPU共享内存环境下,以下哪种实现临界区的方法无效?C
A. 使用test_and_set机器指令实现“忙等”(busy waiting)
B. Peterson算法
C. 关中断
D. 使用swap机器指令实现“忙等”
3. 以下哪种情况仍然可能会发生死锁?B
A. 资源都是可共享的;
B. 每一种资源的数量都超过单个进程所需这类资源的最大值;
C. 空闲资源能够满足任意一个进程还需要的资源需求;
D. 每个进程必须一次申请、获得所需的所有资源
4. 以下哪种数据结构必须存放在持久存储介质上?C
A. 进程控制块
B. 页表
C. 文件控制块
D. 打开文件列表
5. 以下哪种海量存储技术对于提升存储系统的容错性没有直接帮助?A
A. 无冗余(non-redundant)的条带化(striping)
B. 映像(mirroring)
C. 按位奇偶校验(bit-interleaved parity)
D. 按块奇偶校验(block-interleaved parity)
6. 以下哪一种程序(或程序片段)常通过伪装成其它程序,引诱用户运行,从而威胁系统的安全?B
A. 计算机病毒
B. 特洛伊木马
C. 逻辑
D. 操作系统自举(bootstrap)文件
7. 以下哪一种机制能够帮助系统管理员防止攻击者窃听在公共网络上传输的数据?A
A. 加密
B. 认证
C. 访问控制矩阵
D. 防火墙
8. 以下哪种存储设备不需要进行空闲块管理?A
A. 只读光盘
B. 磁盘
C. 磁带
D. U盘
9. 以下哪个操作不是磁盘格式化进行的?A
A. 划分扇区和磁道
B. 建立空闲FCB列表
软件工程专业课程C. 建立空闲块列表
D. 设定根目录文件
10. 以下哪种数据结构不必以内核态进行访问?D
A. 进程控制块
B. 页表
C. 文件控制块
D. 以上皆非
3、简答题(20分,每题5分)
1. 程序控制输入输出(programmed I/O)和直接内存访问(DMA)哪种对于高速I/O访问效率较高,为什么?。(5')
答:PIO时,CPU需要介入每一次数据交换;DMA方式时,CPU只在数据交换开始/结束时介入,其它时候,由DMA控制器协调I/O设备和内存利用总线进行数据交换。由于此时CPU和I/O设备几乎并行,因此与PIO方式相比,节省了大量中断、CPU介入时间。
2. 请简述在一个支持有向无环图目录结构的文件系统中,链接一个普通文件(非目录文件)时操作系统需要执行哪些操作。(5')
答:查看/更新引用计数,更新目录文件
3. 请问哪种文件块分配方式有利于顺序访问文件的效率,为什么?。(5')
答:顺序分配,因为行为可预测,预取效果好。
4. 请简述磁盘访问效率由哪些部分决定,并分析如何提高文件系统中顺序访问文件的效率。(5')
答:定位时间+传输速度。前者又包括:旋转速度和寻道事件
4、辨析题:请分别解释以下每组的两个名词,并列举他们的区别(25分,每题5分)
1. 死锁(deadlock)与饥饿(starvation)
死锁:多个进程循环等待对方,都无法继续执行
饥饿:某个或某些进程由于无法得到资源长时间无法执行
死锁必然发生饥饿,但是饥饿不一定发生死锁
2. 程序控制输入输出(programmed I/O)与直接内存访问(DMA)
PIO:CPU直接发出对于I/O的指令
DMA:CPU在交换开始、结束时介入,其他时候由DMA控制器协调I/O 设备和内存间利用总线的数据交换。
DMA通常能够节省大量中断和CPU介入的时间,有利于大批量数据的交换
3. 分时(time-sharing)与多道程序(multi-programming)
分时:将时间划分成时间片,进程按时间片轮流执行
多道:系统中存在多个程序同时执行
分时主要针对提高系统的响应速度,改善用户体验;多道主要针对增加系统的利用率。
4. 长程调度(long-term scheduling)与中程调度(mid-term scheduling)
长程调度:操作系统决定到底有多少进程能够从“new”状态进入就绪状态的调度
中程调度:操作系统决定哪些进程的地址空间能够保留在内存中,哪些进程的地址空间需要被交换到外存的调度
长程调度被用于平衡系统资源利用率与并发进程个数;中程调度被用于控制运行与就绪进程有足够的内存、较低的缺页率能够运行。
5. 二级存储(secondary storage)与三级存储(tertiary storage)
二级存储:通常指磁盘,用于存储文件、交换空间、虚存
三级存储:较慢、但具有较大容量的持久存储介质,包括光盘、磁带等,通常用于转储、备份
和三级存储相比,二级存储通常访问速度较快、单位容量价格较高。三级存储通常具有存储介质与存储驱动器分离的特点,所以价格较低,也也导致随机访问速度较慢。
5、设计题(10分)
在一个需要频繁读和追加数据(即写在文件末尾)的场合,有写操作,但没有插入操作。已知每次读或写操作都会读出或写入相当大规模的数据(但未必是磁盘块大小的整数倍),但是开始读或写的位置可能出现在文件的任何地方。
a) 请问:连续磁盘块分配、链接分配、索引分配分别是否适合这一场景,并给出理由(3');
b) 假设在FCB中,还剩余256B的空间,请参考UNIX文件系统的i-node 结构,设计一个多级的包含直接块和间接索引的块管理方式,并分析该方式与以上三种方式相比的优缺点。(7')
答:略
6、证明题(5分)
请证明LRU页面替换策略不会导致Belady异常。
答:略(可用数学归纳法或反证法)
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论