(2)关于原子指令那句话是对的? B A. 原子指令只能由一条机器指令组成
B. 作为一个单独的,不可以中断的单元执行 C. 不能用于解决临界区问题
(3)一个临界区的解决方案不需要实现下面的哪一条? C A. 互斥 B. 有空让进 C. 原子性 D. 有限等待
(4)当低优先级的进程正在访问一个数据的时候,若一个高优先级的进程需要访问同样的数据,可能发生 A
A. 优先级反转 B. 死锁 C. 竞争条件 D. 临界区
附加题:
1.独木桥问题:某条河上只有一座独木桥,两边都有人要过河,为保证安全,一个方向有人过河另一个方向的人就要等待,并且允许一个方向上的人连续过河。请使用信号量实现正确的管理。
Semaphore s=1;//两岸过河能使用的桥的数量; Semaphore left=1,right=1; Int leftcount=0,rightcount=0; //////////////左岸过河进程 Void Left() {
While(1) {
Wait(left); Leftcount++; If(leftcount==1) Wait(s); Signal(left); 左岸过河; Wait(left); Leftcount--; If(leftcount==0) Signal(s); Signal(left); } }
////////////////右岸进程 Void right() {
While(1) {
Wait(right); Rightcount++; If(rightcount==1) Wait(s); Signal(right); 右岸过河; Wait(right); Rightcount--; If(rightcount==0) Signal(s); Signal(right); } }
第二次作业
一、基础作业
1. 论述短期、中期、长期调度之间的区别
短期调度—从就绪队列中选择进程执行并把CPU分配给它。 中期调度—主要在分时系统中使用。将内存中的作业换出到外存中等到内存允许的情况下再换入到内存中执行。
长期调度—确定把哪个作业放到内存中执行。
它们之间的主要区别是执行的频率不同。短期调度执行频率高而长期调度执行频率低。 2. 两个进程进行上下文切换的操作 通常,操作系统必须保存当前运行进程的状态并恢复下一个要调度的进程的状态。保存一个进程的状态通常包括CPU所有寄存器的值和内存的分配情况。 3. 用户级线程和内核级线程之间的区别?相互对比的优势在哪里? (1)内核不知道用户级线程的存在,但内核知道内核级线程的存在
(2)内核调度内核级线程,而用户级线程则由线程库调度 在要体现系统灵活性的时候使用用户级线程好,因为用户级线程可以自己设计自己的调度。内核级线程则被内核知道,所以可以保证一个线程阻塞时可以调度一个进程的另一个线程,减少系统开销。 三、 补充作业
1.假设有一个进程,它的工作流程是先运行150ms,然后进行I/O,最后执行250ms结束。如果系统中的进程有三个状态,当时间片为200ms时,请写出进程A从被系统接纳到运行结束所经历的状态转换并说明原因。
答:被系统接纳之后:就绪-运行(原因:被调度执行)、运行-阻塞(原因:执行I/O操作)、阻塞-就绪(原因:I/O操作完成)、就绪-运行(原因:被调度执行)、运行-就绪(原因:时间片到)、就绪-运行(原因:被调度执行)、结束。 2. 图中程序的运行结果。 Value=10
3. 图中程序运行完共有多少进程? 8
4. 判断对错
(1)程序是活动的实体,进程是被动的实体。 X
(2)对于一个单处理器系统,最多只能有一个进程处于运行状态。√
(3)状态切换负责保存当前的运行进程并回恢复下一个要运行进程的状态。√ (4)共享内存通常比消息传递要慢。 X (5)命名管道不允许双工通信。 X (6)进程只有一条运行线。 X 5. 选择题
在一个子进程创建的时候,下面关于子进程的话哪一个可能是对的? D A. 子进程与父进程并发执行; B. 子进程调入一个新的程序; C. 子进程是父进程的副本; D. 以上都是
第一次作业
一、基础作业
1.操作系统的两个主要目标是什么
答:操作系统的主要目标是方便性和有效性。方便性指使计算机更易于使用,有效性指操作系统允许以更有效的方式使用计算机系统资源。
2.多道程序设计的主要优点是什么?
答:(1)资源利用率高,多道程序共享计算机资源,从而使各种资源得到充分利用; (2)系统吞吐量大,CPU和其他资源保持“忙碌”状态。
3.监督程序模式和用户模式之间的区别?
答:通过只能在系统模式(或者称为监督程序模式)下执行特权指令可以保证操作系统时刻控制整个计算机系统,并保证关键数据的安全。
4.陷阱与中断之间的区别?
答:中断是一个系统中由硬件产生的用于改变执行流程的信号。一个中断控制程序来处理中断,执行完成后返回被中断的程序指令。
陷阱是一个软件产生的中断。例如可以用陷阱提示I/O操作的完成,或者调用操作系统的系统调用,或者捕获算术运算错误。
5.下面哪些指令是特权指令? a c d e a)设置定时器的值; b)读时钟; c)清除内存; d)关闭中断;
e)从用户模式切换到监督程序模式。 四、 补充作业
1.把下面的应用程序分为交互性和批处理两类: (a)字处理
(b)按月生成银行报表、
(c)计算圆周率到百万分位 (d)飞行模拟器
交互性:字处理、飞行模拟器
批处理:按月生成银行报表、计算圆周率到百万分位 2.判断对错
(1)陷阱可以被硬件触发也可以被软件触发。×
(2)一个操作系统的内核由一台机器上所有的系统软件和应用程序组成。× (3)交互性应用程序在程序运行过程中很少进行输入输出操作。× (4)系统调用既可以在用户模式下运行也可以在系统模式下运行。√