20200415批次操作系统
1.现代操作系统一般都提供多任务的环境,试回答以下问题。
(1) 为支持多进程的并发执行,系统必须建立哪些关于进程的数据结构?
(2) 为支持进程的状态变迁,系统至少应该供哪些进程控制原语?
(3) 当进程的状态变迁时,相应的数据结构发生变化吗?
(1)为支持多进程的并发执行,系统必须建立哪些关于进程的数据结构?
答:为支持进程的并发执行,系统必须建立“进程控制块(PCB)”,
PCB的组织方式常用的是链接方式。
(2)为支持进程的状态变迁,系统至少应该供哪些进程控制原语?
答:进程的阻塞与唤醒原语和进程的挂起与激活原语。
(3)当进程的状态变迁时,相应的数据结构发生变化吗?
答:创建原语:建立进程的PCB,并将进程投入就绪队列。
;
撤销原语:删除进程的PCB,并将进程在其队列中摘除;
阻塞原语:将进程PCB中进程的状态从运行状态改为阻塞状态,并将进
程投入阻塞队列;
唤醒原语:将进程PCB中进程的状态从阻塞状态改为就绪状态,并将进
程从则色队列摘下,投入到就绪队列中。
现代操作系统一般都提供多进程(或称多任务)运行环境,回答以下问题:
为支持多进程的并发执行,系统必须建立哪些关于进程的数据结构
正确答案
为支持多进程的并发执行,系统为每个进程建立了一个数据结构:进程控制块(PCB),用于进程的管理和控制。
PCB中记录了有关进程的一些描述信息和控制信息,包括进程标识符、进程当前的状态、优先级、进程放弃CPU时的现场信息,以及指示组成进程的程序和数据在存储器中存放位置的信息、资源使用信息、进程各种队列的连接指针和反映进程之间的隶属关系的信息等。
现代操作系统一般都提供多进程(或称多任务)运行环境,回答以下问题:
为支持进程状态的变迁,系统至少应提供哪些进程控制原语
正确答案
在进程的整个生命周期中,会经历多种状态。
进程控制的主要职能是对系统中所有进程实施有效地管理,它具有创建新进程、撤销已有进程、实现进程的状态转换等功能。
在操作系统内核中,有一组程序专门用于完成对进程的控制,这些原语至少需要包括创建新进程原语、阻塞进程原语、唤醒进程原语、终止进程原语等操作。
系统服务对用户开放,也就是说用户可以通过相应的接口来使用它们。
2.将下列左右两列词语连接起来形成意义最恰当的5对。
3.数据传输控制方式有哪几种?试比较它们的优缺点。
数据传送控制方式有哪几种?试比较它们各自的优缺点。
答:外部设备和内存之间的常用数据传送控制方式有四种。
它们是:1)编程控制方式(程序直接控制方式):其特点是控制简单,所需硬件支持少。
其缺点是CPU和外部设备只能串行工作,CPU的利用率低;不能实现设备之间的并行工作;只适用于那些CPU执行速度较慢,而且外部设备较少的系统。
2)中断控制方式:其优点是所需硬件支持较少,与程序直接控制方式相比,使CPU的利用率大大提高并且能支持多道程序和设备的并行操作。
其缺点是消耗的CPU处理时间较多;随着外部I/O设备的增多和速度的提高,可能会造成CPU无法响应中断和出现数据丢失现象。
3)DMA方式:其优点是I/O速度较快,大大减少了CPU进行中断处理的次数;排除了因并行操作设备过多时CPU来不及处理或因速度不匹配而造成数据丢失等现象。
其缺点是所需硬件较多;多个DMA控制器的同时使用会引起内存地址的冲突并使得控制过程进一步复杂化。
4)通道方式:其优点是I/O速度快,进一步减轻了CPU的工作负担和增加了计算机系统的并行工作能力。
其缺点是控制较复杂,所需的硬件最复杂。
总结来说,编程控制方式和中断控制方式都只适用于简单的、外设很少的计算机系统,因为编程控制方式耗费大量的CPU时间,并无法检测与发现设备或其他硬件产生的错误,而且设备和CPU、设备和设备之间只能串行工作。
中断控制方式虽然在某种程度上解决了上述问题,但由于中断次数多,因而CPU仍需要花较多的时间处理中断,而且能够并行操作的设备台数也受到了中断处理时间的限制,中断次数增多会导致数据丢失。
DMA方式和通道方式较好地解决了上述问题。
这两种方式采用了外设和内存直接交换数据的方式。
只有在一段数据传送结束时,这两种方式才发生中断信号,要求CPU做善后处理,从而减轻了CPU的工作负担。
DMA方式与通道控制方式的区别是:DMA方式要求CPU执行设备驱动程序来启动设备,给出存放数据的内存起始地址以及操作方式和传送字节长度等;而通道方式则是在CPU发出I/O启动之后,由通道指令来完成这些工作。
4.批处理操作系统是怎样的一种操作系统?它的特点是什么?
答:批处理操作系统是一种基本的操作系统类型。
在该系统中用户的作业被成批地输入到计算机中,然后在操作系统的控制下,用户的作业自动的执行。
特点是:资源利用率高。
系统吞吐量大。
平均周转时间长。
无交互能力。
5.页式存储管理系统是否产生碎片?如何应对此现象?
答:页式存储管理系统产生的碎片,称为内碎片,它是指一个进程的最后一页没有沾满一个存储块而被浪费的存储空间。
减少内碎片的办法是减少页的大小。
6.什么是动态链接?用哪种存储管理方案可以实现动态链接?
答:动态链接是指进程在运行时,只将进程对应的主程序段装入内存,并与主程序段链接上。
通常一个大的程序是由一个主程序和若干个子程序以及一些数据段组成。
而段式存储管理方案中的段就是按用户的逻辑段自然形成的,因此可实现动态链接。
二、简答题(共道小看,共40分)
1.简述引进线程的好处
(1)以线程作为系统调度的基本单位,减少了系统的时空开销。
以进程为系统调度的基本单位的系统中,进程的切换是很频繁的。
在切换中由于要保留当时的运行环境,还要设置新选中的进程的运行环境,这既花费了处理机的时间,又增加了主存的空间,从而也限制了系统进程的数量和进程的切换速度。
(2)引进线程提高了系统的并行能力。
线程作为进程内的一个可执行实体,减少了并行粒度。
线程作为调度的基本单位而不是资源分配的基本单位,调度更为容易,而且采用线程提高系统的并行能力比采用进程更为有效。
(3)同一进程的线程共享进程的用户地址空间,所以同一进程的线程间的通信更容易实现。
2.用于国家导弹防御系统的计算机系统是一个什么样的系统?
答:用于国家导弹防御系统的计算机系统是实时过程控制系统与实时信息处理系统相结合的系统。
3.为什么说进程同步问题关系到QS的成败
4.当系统内所有的进程都进入睡眠之后,系统还有可能复活吗?
答:只有两种情况下系统可以复活:一种情况是有因等待I/O操作完成而进入睡眠的进程,当相应的I/O操作完成后,I/O中断处理程序唤醒等待本次I/O的进程,而该进程在运行过程中又可能通过释放资源、发送消息等事件而唤醒其他进程,这样整个系统就又活跃起来了;另一种情况是没有等待I/O操作完成的进程,但有定时睡眠的进程,当睡眠时间到期,会由时钟中断将该入睡进程唤醒,从而获得可运行进程,并有可能使系统重新活跃起来。