网站大量收购独家精品文档,联系QQ:2885784924

操作系统阶段测验题.doc

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
操作系统阶段测验题

操作系统阶段测验题 一、选择题: 1. 当系统正在处理某一中断时,若要防止新发生中断的干扰,可采取手段是()。 A. 关中断 B. 中断返回 C. 中断嵌套 D. 中断响应 2. 进程由多个部分组成,下列项目中不属于进程的组成部分的是()。 A. 进程控制块 B. 程序 C. 就绪队列 D. 数据集合 3. 计算机系统中检测是否有中断事件发生应是在()。 A.进程切换时 B.执行完一条指令后 C.执行P操作后 D.由用户态转入管态时 4. 采用多道程序设计能够()。 A.减少调度次数 B.减少处理器空闲时间 C.缩短每道作业的执行时间 D.避免发生资源竞争现象 5. 一个能被多个用户同时调用执行的程序必须是()。 A.为各个用户提供不同的服务 B.在执行中随用户的要求而发生变化 C.是纯代码/可重入的 D.能分解成多个并行执行的子程序 6. 用户程序是通过()请求操作系统服务的。 A.转移指令 B. 子程序调用指令 C.系统调用 D. 以上三种都可以 7. 下列选项中,在用户态下执行的是: A.命令解释程序 B.缺页处理程序 C.进程调度程序 D.时钟中断处理程序 8. 在支持多线程的系统中,进程P内创建的多个线程不能共享的是: A.进程P的代码段 B. 进程P中打开的文件 C.进程P的全局变量D. 进程P中某线程的栈指针 二、简答题 1. 为什么要引入线程,多线程有何优点? 传统进程存在的问题: 进程创建开销大; 进程切换开销大; 进程间通信不方便效率低; 编写并发程序困难。 操作系统引入线程后,可以简化并发程序的设计,方便在一个进程内实现多个并行处理。 多线程的优点包括:实现进程内并行处理;方便数据共享;降低了切换时的系统开销;提高了CPU的利用率;改善了程序的响应性。 2.对比进程间切换与同一进程内的线程间切换的异同。 进程切换涉及地址空间等的改变,系统开销大;线程切换没有地址空间的改变,开销小; 进程切换必定由操作系统完成,而用户级线程切换可由用户程序自己完成,不需要系统调用,速度快。另外,进程调度的标准由操作系统确定,不能改变,而用户组线程的调度标准和算法都由用户程序决定,比较灵活。 相同之处:都需要保护程序执行环境:指令计数器,寄存器,堆栈等。段测验 第一题 三个进程P1,P2和P3互斥使用一个包含N(N0)个单元的缓冲区。 P1每次用produce()生成一个正整数,并用put()送入缓冲区某一空单元中; P2每次用getodd()从该缓冲区中读出并清空一个奇数,并用countodd()统计奇数个数; P3每次用geteven()从该缓冲区中读出并清空一个偶数,并用counteven()统计偶数个数。三个进程P1,P2和P3互斥使用一个包含N(N0)个单元的缓冲区。 P1每次用produce()生成一个正整数,并用put()送入缓冲区某一空单元中; P2每次用getodd()从该缓冲区中读出并清空一个奇数,并用countodd()统计奇数个数; P3每次用geteven()从该缓冲区中读出并清空一个偶数,并用counteven()统计偶数个数。 三个进程P1,P2和P3 请用信号灯机制实现这三个进程的同步与互斥活动,并说明所定义信号量的含义。程序使用伪代码描述。 第二题 某银行提供 1个服务窗口和 10个供顾客等待的座位。 顾客到达银行时,若有空座位,则到取号机上领取一个号,等待叫号。 取号机每次仅允许一位顾客使用。 当营业员空闲时,通过叫号选取一位顾客,并为其服务。 顾客和营业员的活动过程描述如下: Process 顾客i{ 从取号机获取一个号码; 前往服务窗口; /*等待叫号后*/ 获取服务; } 请添加必要的信号量和 P、V(或 wait()、signal())操作,实现上述过程中的互斥与同步。 要求写出完整的过程,说明信号量的含义并赋初值。 解:第一题:设计如下信号量: semaphore mutex=1; //互斥 semaphore location=N; //同步:空缓冲区单元的个数 semaphore odd=0; //同步:奇数个数 semaphore even=0; //同步:偶数个数 生产者P1进程活动如下: while(1){ produce(); //生成整数 P(location); //缓冲区有无空闲单元 P(mutex); //互斥进入 put(); //送入缓冲区某一空单元中 是偶数? V(even); //唤醒P2或P3否则, V(odd); V(mutex); } 奇数消费者P2进程的活动

文档评论(0)

xcs88858 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档