当你早上起不来,说明你想睡觉。
第一章
一、简答题
1.在计算机系统上配置OS的目标是什么?作用主要表现在哪几个方面?
主要目标是实现方便性、有效性、可扩充性、开放性。
作用主要表现在以下几个方面:
<1>OS作为用户与计算机硬件系统之间的接口
<2>OS是计算机系统硬件与软件资源的管理者
<3>OS实现了对计算机资源的抽象
2.试说明OS与硬件、其他系统软件以及用户之间的关系。
OS是配置在计算机硬件上的第一层软件,是对硬件系统的首次扩充,其主要作用是管理硬件设备,提高它们的利用率和系统吞吐量,并为用户和应用程序提供一个简单的接口,以便用户和应用程序使用硬件设备。OS是现代计算机系统中最基本和最重要的系统软件,应用软件都直接依赖于OS的支持,需要取得OS提供的服务。
计算机硬件全部安装好之后就是我们所谓的裸机。裸机组装好之后用户并不能快速上手使用。所以我们需要安装OS,去调配整个计算机系统的硬件与软件资源。在安装好操作系统之后,就可以安装各种应用程序,它们会提供图形化界面给用户使用。用户可以通过图形化界面,使用应用程序,间接的去操控计算机资源。
3.试说明推动OS发展的主要动力是什么。
<1>不断提高计算机系统资源的利用率
<2>方便用户
<3>器件不断更新换代
<4>计算机体系结构不断发展
<5>不断提出新的应用需求
4.在OS中,何谓脱机I/O方式和联机/O方式?
脱机IO方式是指事先将装有用户程序和数据的纸带或卡片装入纸带输入机或卡片机,在外围机的控制下,把纸带或卡片上的数据或程序输入到磁带上。该方式下的输入输出由外围机控制完成,是在脱离主机的情况下进行的。
联机IO方式:程序和数据的输入输出都是在主机的直接控制下运行。
5.试说明推动分时系统形成和发展的主要动力是什么。
更好的满足用户的需求。
我们再来回忆一下:
人工操作方式:纸袋打孔,计算机读取【效率低耗时长,所以搞一个单批道处理系统】
单批道处理系统:先打孔,再通过外围机输入到磁带上,最后计算机读取【还是慢了,所以研发一个多批道处理系统】
多批道处理系统:多道程序设计技术,就是多道程序一起运行【效率跟上来了,马马虎虎,但是没有用户交互,所以搞一个分时系统】
分时系统:分时复用技术/空间复用技术【不能分任务紧急性,所以搞一个实时系统】
实时系统:硬实时/软实时/周期实时/非周期实时【时代发展了,搞一个微机系统】
微机系统:单用户单任务/单用户多任务/多用户多任务
6.实现分时系统的关键问题是什么?应如何解决?
<1>关键问题:
- 使用户能与自己的作业进行交互,即当用户在自己的终端上键入命令时,系统应能及时接收并及时处理该命令,并在用户能接受的时延内将结果返回给用户。
<2> 解决方法:
**及时接收**:在系统中设置多路卡,使主机能同时接收用户从各个终端上输入的数据;为每个终端配置缓冲区,暂存用户键入的命令或数据。
**及时处理**:所有的用户作业都直接进入内存,并且为每个作业分配一个时间片,允许作业只在自己的时间片内运行,采用轮转运行的方式。这样在不长的时间内,能使每个作业都运行一次。
7.为什么要引入实时系统?
实时操作系统是指系统能及时响应外部事件的请求,在规定时间内完成对该事件的处理,并控制所有实时任务协调一致的运行。引入实时操作系统是为了满足应用的需求,更好的满足实时控制领域和实时信息处理领域的需要。
8.什么是HRT任务和SRT任务?试举例说明。
HRT任务【硬实时任务】:系统必须满足任务对截止时间的要求。否则可能出现难以预测的后果。比如导弹控制系统。
SRT任务【软实时任务】:偶尔错过系统的截止时间,对系统的影响也不大。比如12306售票系统和信息查询系统。
9.试从及时性、交互性及可靠性方面对分时系统与实时系统进行比较。
- 及时性:
实时信息处理系统对实时性的要求与分时系统类似,都是以人所能接受的等待时间来确定,而实时控制系统的及时性,是以控制对象所要求的开始截止时间或完成截止时间来确定的,一般为秒级到毫秒级。
- 交互性:
实时信息处理系统具有交互性,但人与系统的交互仅限于访问系统中某些特定的专用服务程序,不像分时系统那样能向终端用户提供数据和资源共享服务。-
-可靠性:
分时系统要求系统可靠,实时系统要求系统高度可靠,任何差错都会造成无法预料的灾难性后果。
10.微机OS按运行方式来分,可以分为哪几类?举例说明。
<1>单用户单任务 比如CP/M(8位)
<2>单用户多任务 比如windows3.1
<3>多用户多任务 比如UNIX系统
11.OS具有哪几大特征?它们之间有何关系?
OS具有四大特征,分别是并发、共享、虚拟、异步
并发和共享是使多用户OS最基本的两个特征,它们互为对方存在的条件。
这个还需要补充,不全面,课本上没有详细说明。
12.是什么原因使OS具有异步特征?
- 现代计算机系统使用中断机制来响应外部事件,如用户输入、硬件设备的I/O操作、定时器信号等。这些中断是异步发生的,意味着它们可以在任何时候打断CPU的当前执行流程。
- 操作系统需要同时管理多个任务(进程或线程),这些任务的执行是并发的,它们可以独立于彼此运行,从而表现出异步性。
- 在多用户或多任务环境中,操作系统需要异步地处理资源竞争和调度问题。
- 异步操作可以提高系统效率,因为它允许系统在等待某个操作完成时继续执行其他任务。
13.何谓OS内核?OS内核的主要功能是什么?
现代OS一般会划分为若干层次,再将不同功能分别设置在不同层次中。通常将一些与硬件紧密相关的模块、各种常用设备的驱动程序、运行频率较高的模块以及许多模块所公用的一些基本操作,都安排在紧靠硬件的层次中,并将它们常驻内存。它们通常被称为OS内核。
主要功能:支撑功能【中断处理、时钟管理、原语操作】、资源管理功能【进程管理、存储器管理、设备管理】
14.何谓原语?何谓原子操作?
原语:在操作系统中,原语是一组不可分割的操作序列,它们作为一个整体被执行,中间不能被任何中断打断。原语通常用于实现同步机制,保证数据的一致性和系统的稳定性。
原子操作:原子操作是一组操作,它们要么全部执行,要么全部不执行,不存在中间状态。这意味着在原子操作执行过程中,不可能被其他进程或中断打断。
15.简要描述处理机的双重工作模式。
处理机至少需要两种单独运行模式:用户态和内核态
- 用户态:在这种模式下,处理器执行用户程序,权限受限,不能直接访问某些硬件资源和执行特权指令。
- 内核态:在这种模式下,处理器执行操作系统内核代码,拥有完全的硬件访问权限和执行所有指令的能力,用于执行需要高权限的操作,如系统调用处理、中断处理等。
当存在系统引导时,硬件会从内核态开始工作,OS接着加载,然后在用户态下执行用户程序。一旦有中断或者陷阱,硬件就会从用户态切换到内核态。
16.简述中断处理过程。
- 中断请求:外部设备或内部事件向CPU发送中断信号。
- 中断识别:CPU识别中断源,并保存当前任务的状态(如程序计数器和寄存器)。
- 中断响应:CPU暂停当前任务,切换到内核模式,准备处理中断。
- 中断服务:执行中断服务程序(ISR),处理中断事件。
- 中断返回:中断处理完成后,恢复被中断任务的状态,并返回到用户模式继续执行。
17.处理机管理有哪些主要功能?它们的主要任务是什么?
主要功能:进程控制、进程同步、进程通信和处理机调度。
主要任务:
进程控制:为作业创建进程,撤销已结束进程,控制进程在运行过程中的状态转换。
进程同步:为多个进程的运行进行协调。
进程通信:用来实现在相互合作的进程之间的信息交换。
调度:(1)作业调度:从后备队列里按照一定的算法,选出若干个作业,为他们分配运行所需的资源(首选是分配内存)。
(2)进程调度:从进程的就绪队列中,按照一定算法选出一个进程,把处理机分配给它,并设置运行现场,使进程投入执行。
18.存储器管理有哪些主要功能?它们的主要任务是什么?
- 内存分配和回收
- 任务:为运行中的程序分配必要的内存空间。提高存储器的利用率,尽量减少不可用的内存空间。允许正在运行的程序申请附加的内存空间,以适应程序和数据动态增长的需要。
- 内存保护:
- 任务:确保每个程序只能访问其分配的内存空间,防止内存访问冲突。
- 地址映射:
- 任务:将程序的逻辑地址空间映射到物理内存地址空间。
4.内存扩充:
- 任务:借助虚拟存储技术,从逻辑上扩大内存容量。
19.设备管理有哪些主要功能?它们的主要任务是什么?
主要功能: 缓冲管理、设备分配和设备处理以及虚拟设备等。
主要任务: 完成用户提出的I/0请求,为用户分配I/O设备;提高CPU和I/O设备的利用率;提高I/O速度;以及方便用户使用I/O设备。
20.文件管理有哪些主要功能?它们的主要任务是什么?
主要功能: 文件存储空间的管理、目录管理、文件的读/写管理和保护。
主要任务: 管理用户文件和系统文件,方便用户使用,保证文件安全性。
21.现代OS的新功能有哪些?
<1>保障系统安全
<2>支持用户通过联网获取服务
<3>可处理多媒体信息
22.什么是微内核OS?它具有哪些优点?
<1>足够小的内核
<2>基于客户/服务器模式
<3>应用机制与策略分离原理
<4>采用面向对象技术
23.外核OS的基本思想是什么?
内核不提供传统OS中的进程、虚拟存储器等抽象事物,而是专注于物理资源的隔离(保护)与复用。具体来说,在基于外核结构的OS中,一个非常小的内核负责保护系统资源,而硬件资源的管理职责应委托给应用程序。
24.什么是系统调用?系统调用与一般用户程序和库函数有何区别?
什么是系统调用?
系统调用在本质上是应用程序请求OS内核完成某一功能时的一种过程调用,但它是一种特殊的过程调用。
系统调用与一般用户程序的区别:
系统调用与一般用户程序的最大区别就在于,系统调用的调用程序运行在用户态,被调用程序运行在内核态。
系统调用与库函数的区别:
- 系统调用在操作系统内核空间执行,具有较高的权限,可以直接访问硬件资源和操作系统服务。而用户程序在用户空间执行,权限受限,不能直接访问硬件资源,必须通过系统调用来请求操作系统服务。
- 系统调用由操作系统内核实现,通常在内核空间。而库函数由程序员或第三方库提供,可以在用户空间实现。
- 系统调用涉及用户空间到内核空间的切换,有一定的性能开销。而库函数通常在用户空间执行,性能开销较小。
- 库函数是比系统调用更高一层次的抽象。
二、计算题
25.设有3道程序A、B、C,它们按照优先次序(A→B→C)顺序执行,它们的计算时间和 I/O操作时间如表1-1所示,假设3道程序以串行方式使用相同的设备进行IO操作,试画出单道程序运行和多道程序运行的时间关系图,并计算完成这3道程序所须花费的时间。
表1-1 时间表
在单道程序运行模式下,程序依次执行,一个程序执行完毕后,下一个程序才开始执行。因此,程序的执行时间是它们各自计算时间和I/O操作时间的总和。
#运行顺序: 程序A: 计算(30) -> I/O(40) -> 计算(10) 程序B: 计算(60) -> I/O(30) -> 计算(10) 程序C: 计算(20) -> I/O(40) -> 计算(20)
总时间 = 30 + 40 + 10 + 60 + 30 + 10 + 20 + 40 + 20 = 260
在多道程序运行模式下,程序可以并行执行,但I/O操作是串行的。这意味着,当一个程序在进行I/O操作时,其他程序可以继续进行计算,但I/O操作必须按顺序进行。
时间线: 0-30: 程序A计算 30-70: 程序A I/O, 程序B计算 70-80: 程序A计算, 程序B计算 80-110: 程序B I/O, 程序C计算 110-130: 程序B计算, 程序C计算 130-170: 程序C I/O
总时间 = 170
26.(考研真题)--个多道批处理系统中仅有P:和P2两个作业,P2比 P:晚5ms到达,它们的计算和I/O操作顺序如下。
P::计算 60ms,1/O操作80ms,计算20ms。 P2:计算 120ms,1/O操作40ms,计算40ms。
不考虑调度和切换时间,请计算完成两个作业需要的最少时间。
0ms:P1开始计算(60ms)。
5ms:P2到达,开始计算(120ms)。
60ms:P1完成第一次计算,开始I/O操作(80ms)。
125ms:P2完成计算,开始I/O操作(40ms)。
180ms:P1完成I/O操作,开始第二次计算(20ms)。
200ms:P1完成第二次计算。
220ms:P2完成I/O操作,开始第二次计算(40ms)。
260ms:P2完成第二次计算。
完成两个作业需要的最少时间是260ms.
三、综合应用题
27.OS的概念、特征和功能是什么?
OS是配置在计算机硬件上的第一层软件,是对硬件的首次扩充。主要作用是管理硬件设备,提高它们的利用率和系统吞吐量,并为用户和应用程序提供一个简单的接口,以便用户和应用程序使用硬件设备。
特征有并发、共享、虚拟、异步。
功能有处理机管理功能、存储器管理功能、文件管理功能、设备管理功能、接口管理功能。
28.(考研真题)若某计算问题的执行情况如图1-14所示。
则请回答下列问题。
(1)叙述该计算问题中处理机、输入机和打印机是如何协同工作的。
(2)计算在图1-14所示的执行情况下处理机的利用率。
(3)简述处理机利用率不高的原因。
(4)请画出能提高处理机利用率的执行方案。
(1) 关于该计算问题中处理机、输入机和打印机是如何协同工作的。
输入阶段:输入机首先读取数据,时间为0到100ms。处理机在这段时间内可能处于等待状态,直到输入完成。
处理阶段:处理机开始处理数据,从100ms到120ms和160ms到260ms。这意味着处理机在这段时间内执行计算任务。
输出阶段:处理完毕后,结果需要被输出。打印机从260ms开始工作,直到320ms完成打印任务。
(2) 处理机的利用率=处理机实际工作时间/总时间
处理机工作时间:120ms + 100ms = 220ms
总时间:320ms
处理机利用率 = (处理机工作时间 / 总时间) * 100% = (220ms / 320ms) * 100% ≈ 68.75%
(3) 简述处理机利用率不高的原因。
I/O等待:处理机在等待输入或输出操作完成时处于空闲状态,这降低了处理机的利用率。
处理时间不足:处理机实际处理数据的时间相对较短,大部分时间可能在等待I/O操作。
资源竞争:如果有多个任务竞争同一资源,可能导致处理机在等待资源时闲置。
(4) 请画出能提高处理机利用率的执行方案。
并行I/O操作:允许输入和输出操作与其他任务并行执行,减少处理机的等待时间。
重叠I/O和处理:在处理机等待I/O操作完成时,可以开始处理下一个任务或执行其他任务。
在以下方案中,处理机在等待I/O操作完成的同时开始处理下一个任务,从而减少了空闲时间,提高了利用率。这种方案需要操作系统支持并行I/O和有效的任务调度策略。
时间 0-100ms: 输入操作 100-120ms: 处理操作1 120-160ms: I/O操作与处理操作2并行 160-260ms: 处理操作2 260-320ms: 输出操作