计算机操作系统原理第一章习题
1.什么是操作系统?OS的作用可表现在哪几个方面?
2. 设计现代OS的主要目标是什么?
3. 实现分时系统的关键问题是什么? 应如何解决?
4.什么是实时系统?什么是硬实时任务和软实时任务?
5.操作系统的特征?其最基本的特征是什么?
6.操作系统的主要任务是什么?
7.什么是时分复用技术? 举例说明它能提高资源利用率的根本原因是什么?
8.试说明推动多道批处理系统形成和发展的主要动力是什么?
9.典问题分析题:有三个进程A、B、C,他们使用同一个设备进行I/O操作,并且按A、B、C的指定次序执行。进程A共计运行180ms,每隔40ms需要进行I/O操作,I/O时间是20ms。进程B共计运行150ms,每隔20ms需要进行I/O操作,I/O时间是10ms,进程C共计运行160ms,每隔20ms需要进行I/O操作,I/O时间是20ms。假设调度的时间可以忽略,且同时到达内存,请画出在单道环境和多道程序环境下运行的时间关系图,并比较两者的效率。
1.什么是操作系统?OS的作用可表现在哪几个方面?
答:操作系统是一组能有效组织和管理计算机硬件和软件资源,合理地对各类作业进行调度,以及方便用户使用计算机的程序的集合。
OS的作用可表现在以下几个方面:
(1)操作系统是用于计算机硬件系统之间的接口。用户并不直接与计算机硬件打交道,而是通过操作系统提供的命令、系统调用以及图形化接口来使用计算机。
(2)操作系统是计算机资源的管理者。处理的分配和控制,内存的分配和回收,I/O设备的分配和操纵,文件的存取、共享和保护工作都是由操作系统来完成的。
(3)、操作系统实现了对计算机资源的抽象。操作系统是辅设在裸机上的多层软件,它不仅增强了系统的功能,而且还隐藏了对硬件操作的细节,从而实现了对计算机资源的抽象。
2. 设计现代OS的主要目标是什么?
答:方便性:方便用户使用计算机;
有效性:有效使用操作系统,让系统的资源利用率高,吞吐量高;
可扩充性:方便增加新功能和模块,以及修改老的功能和模块以适应计算机硬件、体系结构和应用发展的要求;
开放性:遵循设计标准规范,让操作系统与系统兼容,满足跨平台性要求。
3. 实现分时系统的关键问题是什么? 应如何解决?
答:分时系统最关键的问题是及时接收和及时处理的问题。
及时接收问题用一个多路卡实现。及时处理采用作业直接进入内存,然后采用轮转运行方式进行处理。
4.什么是实时系统?什么是硬实时任务和软实时任务?
答:实时系统:能及时响应外部事件的请求,在规定的时间内完成对该事件的处理,并控制所有实时任务协调一致地运行的计算机系统,分为实时控制系统和实时事务处理系统。
硬实时任务:系统必须满足任务对截止时间的要求,否则会出现难以预测的后果。
软实时任务:它也联系着一个截止时间,但并不严格,若错过了任务的截止时间,对系统产生的影响不会太大。
5.操作系统的特征?其最基本的特征是什么?
答:(1)并发性:宏观上,指系统中有多个进程在一个时间段内同时运行;微观上,多个进程在单处理机上交替运行。
(2)共享性:宏观上,指多个进程可以同时使用的系统资源;微观上,指多个进程可以交替使用系统中的某个资源。
(3)虚拟性:指将一个物理上的实体变为若干个逻辑上的对应物。如采用分时技术,将一台处理机虚拟为若干台虚拟机。还可以虚拟存储、虚拟设备、虚拟通道、虚拟文件、虚拟用户组以及虚拟网络等。
(4)异步性:多道程序环境下,进程彼此竞争资源,获得资源可以运行,否则就等待。因此,进程的运行呈现“运行-暂停-运行”的特点,即以异步方式执行。
操作系统的基本特征是并发。
6.操作系统的主要任务是什么?
答:操作系统的主要任务就是管理系统资源、协调多道程序运行、方便用户使用计算机。具体表现在以下几方面:
管理处理机;管理存储器;管理输入/输出设备;管理数据文件;提供网络通信服务、提供接口服务等。
7.什么是时分复用技术? 举例说明它能提高资源利用率的根本原因是什么?
答:时分复用是指计算机资源通过分时使用的方式供若干进程共享,从而提高资源利用率。
它能提高资源利用率的根本原因是它利用某设备为一用户服务的空闲时间又转去为其他用户服务,使设备得到最充分的利用。例如:在分时系统中,通过划分时间片的方式把一个CPU虚拟成若干CPU,让若干进程轮流使用CPU。宏观上,在用户能够承受的延迟范围内,多个用户感觉自己有一个处理机专门为其服务。这样,即满足了多个用户同时使用计算机的要求,同时又CPU处于忙碌状态,提高了CPU利用率。
8.试说明推动多道批处理系统形成和发展的主要动力是什么?
答:在单道批处理系统中,内存中仅有一道程序运行,每当该程序在运行中发出I/O请求后,CPU便处于等待状态,必须在其I/O完成后才继续运行。其次,每次程序运行完成后,调度新作业进入内存过程中,也会造成CPU等待。第三,内存中只有一道程序运行,造成内存利用率低。以上原因造成系统中的资源得不到充分的利用。
因此,若在内存中同时装入多道程序,那么当一个程序因I/O操作暂时不能运行时,可以把CPU分配给其他程序,让CPU处于忙碌状态,从而提高CPU利用率;同时让I/O设备与CPU同时工作,设备的利用率也可进一步提高。另一方面,在内存中装入多道程序,既提高了内存的利用率,同时也减少了程序调入调出过程造成的CPU空闲时间,提高CPU利用率。正是不断提高资源利用率,不断提高系统吞度量的需要,成为了推动多道批处理系统的形成和发展的主要动力。
9.典问题分析题:有三个进程A、B、C,他们使用同一个设备进行I/O操作,并且按A、B、C的指定次序执行。进程A共计运行180ms,每隔40ms需要进行I/O操作,I/O时间是20ms。进程B共计运行150ms,每隔20ms需要进行I/O操作,I/O时间是10ms,进程C共计运行160ms,每隔20ms需要进行I/O操作,I/O时间是20ms。假设调度的时间可以忽略,且同时到达内存,请画出在单道环境和多道程序环境下运行的时间关系图,并比较两者的效率。
答:(1)单道环境下的时间关系图如下:
(2)多道环境下的时间关系图如下:
在单道情况下,运行完成三个进程所需要的时间是490ms,在多道情况下, 运行完成三个进程所需要的时间是310ms,所以多道比单道的效率高。
单道CPU的利用率是300/490=61.2%;多道CPU的利用率是300/310=97%。多道程序环境下的系统效率明显比单道高。