操作系统作业2023/10/15

1.什么是前趋图?请画出下列4条语句的前趋图。

S1: a=x+y;S2: b=z+l;S3: c=a-b;S4: w=c+l;

2. 什么是进程?OS中为什么要引入进程? 它会产生什么样的影响?

1.进程是一段可并发执行的具有独立功能的程序,是关于某个数据集的一次执行过程。也是OS进行资源分配和保护的基本单位。

2.在OS中引入进程,是为了实现多个程序的并发执行。传统的程序与其他程序并发执行时,执行结果不可再现。因此,传统的程序不能与其他程序并发执行,只有在为之创建进程后,其才能与其他程序(进程)并发执行。这是因为并发执行的程序“停停走走”地执行,只有在为它创建进程后,在它停下时,方能将其CPU现场信息保存在它的PCB(processing control block,进程控制块)中待下次被调度执行时再从PCB中恢复CPU现场而继续执行,但传统的程序却无法满足上述要求。

3.建立进程所带来的好处是多个程序能并发执行,这极大地提高了资源利用率和系统吞吐量。但管理进程也须付出一定的代价,包括PCB及协调各运行机构所占用的内存空间开销,以及为进行进程间的切换、同步与通信等所付出的时间开销。

6.(考研真题)请给出 PCB 的生要内容。描述当进程状态发生转换(就绪-运行、运行-阻塞)时,OS需要使用/修改PCB的哪些内容?

(1)PCB主要用于描述进程的基本情况以及进程的运行变化过程,是进程存在的唯一标志。PCB的内容可以分成调度信息和现场信息两部分。①调度信息供进程调度时使用,描述了进程当前所处的状况,包括进程名、进程号、存储信息、优先级、当前状态、资源清单、家族关系、消息队列指针、进程队列指针和当前打开文件的情况等。②现场信息用于保留运行进程发生状态转换时所要保存的CPU现场信息,以保证当该进程重新恢复运行时能恢复CPU现场从断点处继续运行。常用的现场信息包括通用寄存器的内容、控制寄存器的内容、用户堆栈指针、系统堆栈指针等。

(2)OS需要使用/改的PCB内容包括“就绪-运行”和“运行-就绪”。①就绪-运行是将PCB当前的就绪态改为运行态,修改PCB的队列指针,将PCB从就绪队列中移出等;利用PCB中的CPU现场信息,布置CPU现场并投入运行。②运行-就绪是将CPU的当前状态(各寄存器的内容)保存到PCB中,将进程状态由“运行”改为“就绪”,并修改PCB中相应的队列指针信息,然后将其放入PCB就绪队列中。

16.为什么要在OS中引入线程?

在OS中引人线程是为了减少进程在并发执行时所付出的时空开销,使OS具有更好的并发性,提高CPU的利用率、进程是分配资源的基本单位,而线程则是系统调度的基本单位。由于进程是资源的拥有者,因此在其创建、撤销、切换操作中需要较大的时空开销,限制了并发程度的进一步提高。为减少进程切换的开销,通常把进程作为资源分配单位和调度单位这两个属性进行分开处理,即进程还是作为资源分配的基本单位,但是不作为调度的基本单位(很少调度或切换),把调度执行与切换的责任交给“线程”。这样做的好处是不但可以提高系统的并发度,还能使系统适应新的对称多处理机环境,充分发挥其性能。


评论

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注