
华东师范大学月考试卷.doc
6页华东师范大学软件学院月考试卷【参考答案】(2014—2015学年第二学期) 得分 课程名称 操作系统 课程性质 (专业必修) 学生姓名 学号 学生系别 专业 年级 班级 一、 判断题(15分,每小题3分)判断下列每句话是否正确,如错误请说明理由1. 线程都保存有各自的栈信息、CPU状态(寄存器、指令计数器等)、堆信息,以及打开文件列表等线程保存栈信息、CPU状态;而堆信息,以及打开文件列表等是进程保存的线程实现了资源和调度单位相分离)2. 对于内核支持的线程,当该线程执行系统调用被阻塞时,不仅该线程被阻塞,而且同一进程内的所有线程都会被阻塞用户态线程被阻塞,该进程中的所有线程将被阻塞;但当前内核态线程被阻塞时,操作系统容许该进程中的其他线程继续执行3. 在微内核结构的操作系统中,进程间通讯可以不在微内核内进程通讯是内核的核心功能,对微内核系统,也在微内核内实现4. 向操作系统传递参数只能通过寄存器实现。
错还可以通过堆栈传递等5. 当前运行进程发生缺页中断,进程将进入Ready队列错进入waiting队列二、不定项选择题(15分,每小题3分)每题有一个或多个答案,答错、少选、多选均不给分1. 以下哪些(个)操作会使得一个进程从运行(running)状态转换为就绪(ready)状态( ABD ) A. 在可占先(preemptive)系统中,高优先级进程被创建 B. 分时系统中,时间片到 C. 当前运行进程发生缺页中断 D. 当前运行进程调用yield( ),主动放弃使用CPU2.当从“新建(new)”状态进入“就绪(ready)”状态的进程增多时,下面哪种情况不会发生( D ) A. I/O操作的频度升高; B. CPU利用率下降 C. CPU利用率上升 D. 进程的平均响应时间减少3. 以下描述正确的是( BC ) A. 中断处理程序(interrupt handler)是进程的一部分,在进程的地址空间运行 B. 中断处理程序(interrupt handler)必须运行在内核态 C. 微内核体系结构下,进程间通讯(inter-processing communication)必须在微内核内 D. 分时(time sharing)的目的是提高CPU和I/O的并行度4. 以下哪些(个)对于微内核操作系统的描述是正确的?( B ) A. Microsoft Windows是微内核操作系统,但Linux不是; B. 进程间通信必须在微内核内实现; C. 因为用户进程不应访问页表,因此虚存应该在微内核内实现; D. 操作系统设计时采用微内核结构可以提高操作系统执行的效率。
5. 以下对于线程的描述哪些(个)是错误的( C ) A. 一个用户态线程的阻塞(block)会引起它所属的整个进程(包括其中的其它线程)的阻塞; B. 同一个进程的不同线程可以共享地址空间中的堆; C. 线程间通信必须通过内核态系统调用进行; D. 同一个进程的不同线程必须维护各自的调用栈和CPU状态三、辨析题(30分,每小题6分)分别解释以下每组的两个名词,并列举他们的区别1. 分时(time-sharing)与多道程序(multi-programming) 分时:将时间划分成时间片,进程按时间片轮流执行 多道:系统中存在多个程序同时执行 区别:分时主要针对提高系统的响应速度,改善用户体验;多道主要针对增加系统的利用率2. 长程调度(long-term scheduling)与中程调度(mid-term scheduling) 长程调度:面向进程的调度策略,操作系统决定到底有多少进程能够从“new”状态进入就绪状态的调度 中程调度:面向内存的进程调度策略,操作系统决定哪些进程的地址空间能够保留在内存中,哪些进程的地址空间需要被交换到外存的调度 区别:长程调度被用于平衡系统资源利用率与并发进程个数;中程调度被用于控制运行与就绪进程有足够的内存、较低的缺页率能够运行。
3. 中断(Interrupt)和陷阱(Trap)中断主要指由I/O、时钟等外设产生的,它的产生是不可以预期的,与进程执行异步陷阱(trap)是由软件或者程序自己产生的,是程序员可以预期的中断两者都终止正在运行的进程,进行上下文切换,等待I/O或者相应事件被触发后,通过恢复上下文,进程被重新载入CUP继续执行4. 微内核和模块化内核微内核:操作系统内核只包含最基本的功能(进程调度和进程间通讯)模块化内核:操作系统内核的一些功能可以作为模块挂载区别:微内核中内核和其它操作系统的功能模块(如虚存管理)在不同的地址空间运行,模块化内核中它们在一个地址空间 5. 核心态和用户态核心态:操作系统内核执行的受保护的状态用户态:用户进程执行所在的状态区别:处于用户态只能访问进程的地址空间,用户态需要通过中断或系统调用才能进入核心态四、综合题(40分)1. 请简要说明“机制(mechanism)”和“策略(policy)”分离的优点5分)机制,是指实现某一功能的具体方式;而策略,则是在机制的基础上,借助于某些参数和算法来实现该功能的优化,或达到不同的功能目标例如,定时器结构是一种CPU保护机制,但是对于不同用户则将定时器设置成不同时间,则是一个策略问题。
通常机制处于系统基层,而策略处于系统的高层机制和策略分离的好处:(1)使得系统更容易被维护;在机制不变的情形下,可以通过策略的变化适应新的需求;(2)使得系统更具灵活性;通过通用机制的设计,最大化系统灵活性2. 调度队列有哪几种?请简单说明(5分)Ready 队列已经调入内存在Ready状态等待执行的进程队列I/O队列在特定的I/O设备资源上等待资源的出现的队列每个I/O设备都有一个相应的队列3. 进程创建时(如在类UNIX操作系统中,连续执行fork()和exec()系统调用),操作系统所需要进行那些工作,它们的代价如何(大,中,小)为什么线程创建比进程快,它主要节省了以上哪个步骤的代价?(10分)a. 构造PCB,代价小 b. 设置地址空间映射,代价中 c. 复制父进程地址空间内容,代价大 d. 复制I/O状态,代价中(2)为什么线程创建比进程快,它主要节省了以上哪个步骤的代价?(4分) 答:同一进程的不同线程共享资源,因此以上b, c, d三项代价几乎都可节省4、请详细描述一个用户态线程调用sleep()系统调用后,操作系统所执行的任务8分) 1、系统调用过程:mode-switch, 查表(syscall handling), 执行系统调用代码。
2、sleep() 将当前进程放入waiting队列(设置alarm) 3、CPU调度(context switch) 4、系统调用结束,返回,mode-switch5.假设某操作系统进程有5个状态,分别为:new, ready, running,waiting,terminated请画出其状态转移图,需标注进程转换的条件12分) 。






![河南新冠肺炎文件-豫建科[2020]63号+豫建科〔2019〕282号](http://img.jinchutou.com/static_www/Images/s.gif)





