操作系统课程作业答案

  • 格式:doc
  • 大小:2.36 MB
  • 文档页数:40

下载文档原格式

  / 40
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第一次作业

复习题1.2 定义处理器寄存器的两种主要类别

用户可见寄存器:优先使用这些寄存器,可以使机器语言或者汇编语言的程序员减少对主存储器的访问次数。对高级语言而言,由优化编译器负责决定把哪些变量应该分配给主存储器。一些高级语言,如C语言,允许程序言建议编译器把哪些变量保存在寄存器中。

控制和状态寄存器:用以控制处理器的操作,且主要被具有特权的操作系统例程使用,以控制程序的执行。

习题1.6 内存层次的各个元素间的特征是什么?

a)CPU定期检查FGI.如果FGI=1,CPU将把数据接收后,被储存在INPR 里面,PR里面的内容传送至AC,并把FGI置为0. 当CPU需要传送数据到打字机时,它会检查FGO.如果FGO=0,CPU处于等待.如果FGO =1,CPU将把AC的内容传送至OUTER并把FGO置为0.当数字符号打印后,打字机将把FGI置为1.

b)在a描述的过程非常浪费.速度远高于打字机的CPU必须反复不断的检查FGI和FGO.如果中断被使用,当打字机准备接收或者发送数据时,可以向CPU 发出一个中断请求.IEN计数器可以由CPU设置(在程序员的控制下).

复习题2.1操作系统设计的三个目标

方便Convenience:操作系统使计算机更易于使用.

有效Efficiency:操作系统允许以更有效的方式使用计算机系统资源.

扩展的能力Ability to evolve:在构造操作系统时,应该允许在不妨碍服务的前提下有效地开发、测试和引进新的系统功能.

复习题2.9解释单体内核和微内核的区别

单体内核(single kernel)是一个提供操作系统应该提供的功能的大内核,包括调度、文件系统、网络、设备驱动程序、存储管理等。内核的所有功能成分都能够访问它的内部数据结构和程序。典型情况下,这个大内核是作为一个进程实现的,所有元素都共享相同的地址空间。

微内核(microkernel )是一个小的有特权的操作系统内核,只提供包括进程调度、内存管理、和进程间通信等基本功能,要依靠其他进程担当起和操作系统内核联系作用。

习题2.1

习题2.3

a)简单批处理系统发展为多道批处理系统的原因

I/O设备的时间相对于处理器速度太慢,在简单批处理系统中,一次只有一个程序执行处理器大部分时间处于空闲,效率低下。多道批处理在多个程序之间切换,同时处理多个批作业,可以使批处理变得更加有效。

b)多道批处理系统发展为分时系统的原因

分时系统给所有进程一个较短的处理时间,避免多道批处理系统中某

些作业占用处理器时间长而导致其他作业等待,有效减小响应时间。

第二次作业

Review Questions

1.For the processing model of Figure 3.6, briefly define each state.

新建new:刚刚创建的进程,操作系统还没有把它加入到可执行进程组中。

就绪ready:进程做好了准备,只要有机会就开始执行。

运行running:该进程正在执行。

阻塞blocked :进程在某些事件发生前不能执行,如I/O操作完成。

退出exit:进程从可执行进程组中释放。

2. List three general categories of information in a process control block.

1)进程标识信息process identification

2)处理器状态信息processor state information

3)进程控制信息process control information

3. What are the steps performed by an OS to create a new process?

1)给进程分配一个唯一的进程标识符

Assign a unique process identifier to the new process.

2)给进程分配空间

Allocate space for the process.

3)初始化进程控制块

Initialize the process control block.

4)设置正确的连接

Set the appropriate linkages.

5)创建或扩充其他数据结构

Create or expand other data structures.

4. What is the difference between a mode switch and a process switch?

模式切换(mode switch )是指内核态与用户态之间的切换,发生模式切换可以不改变当前正处于运行态的进程的状态。发生进程切换(processswitch )时,一个正在执行的进程被中断,操作系统指定另一个进程为运行态。进程切换需要保存更多的状态信息。

Problems

1. Consider a computer with N processors in a multiprocessor

configuration.

•a. How many processes can be in each of the Ready, Running, and Blocked states at one time?

•b. What is the minimum number of processes that can be in each of the Ready, Running, and Blocked states at one time?

• a. 在就绪和阻塞状态的进程数量是没有限制的,只与内存用于存放不同状态进程的空间有关。而执行中的进程最多有N个,每个处理器最多有一个进程在执行。

•b.如果所有进程都处于运行或者就绪态,没有处于阻塞状态的进程,这是可能的。反过来,也有可能所有进程都处于阻塞状态,等待某个事件的发生,没有就绪态和执行态的进程

2. Figure

3.9b contains seven states. In principle, one could draw a

transition between any two states, for a total of 42 different transitions.

•a. List all of the possible transitions and give an example of what could cause each transition.

•b. List all of the impossible transitions and explain why.