第一章 操作系统引论
1.1 操作系统的目标、作用和模型
1.2 操作系统的发展过程
1.3 操作系统的基本特性
1.4 操作系统的主要功能
1.5 操作系统的结构
1.1 操作系统的目标、作用
- OS的目标
方便性:用户无需了解底层硬件,无需用0、1机器语言操作。(可以说不用手,用工具,进入石器时代了。)
有效性:CPU、I/O、存储等的管理专门、合理地被组织管理起来,提高资源的利用率。
可扩充性:扩充应用软件;适应硬件和体系结构发展,扩充底层管理功能模块等。
开放性:网络环境,遵循开放互联标准。 - OS的作用
- 作为用户与计算机硬件系统之间的接口
- 达成了方便性的目标。*
用户通过OS来使用计算机系统。或者说,用户在OS帮助下,能够方便、快捷、安全、可靠地操纵计算机硬件和运行自己的程序。
提供三种供用户操作OS的方式,如下图:
2)OS作为计算机系统资源的管理者
3)OS用作扩充机器 - 系统软件以及更上层的用户应用软件在操作系统虚拟机上运行:计算机成为功能更强大的多层虚拟机。
- 操作系统附加在裸机上第一层,对裸机的首次扩充: “虚拟机”
-
- 最低层:物理“裸机”
总结:
目标 作用
方便性: 1) 作为用户与计算机硬件系统之间的接口
有效性:
可扩充性: 2)OS作为计算机系统资源的管理者
开放性:
3)OS用作扩充机器
- 最低层:物理“裸机”
1.2 操作系统的发展过程
推动OS萌芽、发展、变化的主要动力:
方便用户
提高计算机资源利用率
硬件器件不断更新换代:8bit ->16,32
计算机体系结构的不断发展:单CPU,多CPU,网络
- 人工操作方式
1946-50年代中:电子管时代,计算机速度慢,无操作系统,计算机资源昂贵;
工作方式:
用户:既是程序员又是操作员;用户是计算机专业人员;
编程语言:机器语言;
输入输出:纸带或卡片;
计算机工作特点:
用户独占全机,资源利用率极低;
CPU等待用户,计算前,手工装入纸带或卡片;计算完成后,手工卸取纸带或卡片;CPU利用率低;
主要矛盾:
人机矛盾----人工操作严重降低了计算机资源的利用率
提高效率的途径:
脱机输入/输出技术。
- 脱机输入/输出(Off-Line I/O)方式:
等待人工操作纸带输入数据的不是CPU,而是外围机,一定程度上解决人机矛盾。
脱机I/O方式的主要优点:
减少了CPU的空闲时间
提高I/O速度
脱机I/O方式的主要缺点:
系统开销大!
- 单道批处理系统(Simple Batch Processing System)
作业成批、脱机方式输入到磁带或磁盘上
进一步减少脱机I/O中装卸磁带等耗时操作
系统监督程序(Monitor)控制作业自动过渡,一个接一个的连续处理。
单道批处理系统:作业成批处理 内存中只有一道。
特征:
单道性
顺序性
自动性
优点: 一定程度解决人机矛盾,CPU与I/O速度矛盾;提高了资源利用率和系统吞吐量;算做OS的前身,但还不是现在所理解的OS;
- 多道批处理系统
用户作业、外存上排队,称为“后备队列”;
作业调度程序、按一定的算法、从后备队列中选择若干作业 调入内存
入内存的作业、共享CPU和系统中的各种资源,自动批量处理。
- 一个重要思想诞生:多道程序设计 *
“多道”程序有什么好处?
CPU利用率提高:减少了CPU等待时间(正在运行的程序若因为I/O操作暂停,可调度其他程序执行,不必装卸。)
内存利用率提高:容量尽可能多的被利用
多种I/O设备并发被使用,也提高了利用率
总体系统吞吐量增加(虽然CPU总是串行的,但一段时间内被运行的作业数相对要多)
1)多道批处理系统的特征:
多道性
无序性
作业入内存由算法决定,不按提交顺序。入内存后顺序执行。
调度性
包括作业调度、进程调度
2)多道批处理系统的优缺点:
优点:
资源利用率高:CPU和内存利用率较高;
系统吞吐量大:单位时间内完成的工作总量大;
缺点:
平均周转时间长:短作业的周转时间显著增长;
无交互能力:整个作业完成后或中间出错时,才与用户交互,不利于调试和修改;
3)多道批处理系统解决的五大问题:
处理机管理问题
内存管理问题
I/O设备管理问题
文件管理问题
作业管理问题
操作系统定义
操作系统是:
一组控制和管理计算机硬件和软件资源,合理地对各类作业进行调度(多道),方便用户使用的程序的集合。
5.分时系统(time-sharing system)
1)分时系统的产生
用户的新需求是主要动力:人—机交、共享主机、便于用户上机
2)分时系统实现中的关键问题
交互:当用户在自己的终端上键入命令时,系统应能及时接收并及时处理该命令,再将结果返回给用户。
共享:强调即使有多个用户同时通过自己的键盘键入命令,系统也应能全部地及时接收并处理。
(1)及时接收:多路卡,缓冲区
(2)及时处理:终端请求作业直接进入内存,设置时间片
3)分时系统的实现方法
改变批处理系统的运行方式:多个用户连接主机
请求的作业发送到主机后,直接进入主机内存以快速响应
系统采用时间片轮转方式处理服务请求
**响应时间RT(response time)≈时间片×用户数**
时间片:就是分配给进程运行的一段时间(time slice)
ps: 分时系统是指在一台主机上连接了多个带有显示器和键盘的终端,同时允许多个用户通过自己的终端,以交互方式使用计算机,共享主机中的资源。
分时系统是多道程序的逻辑扩充
4)分时系统的特征:
多路、独立、及时、交互
多路性:多个用户同时使用一台计算机,共享CPU和其他资源,充分利用系统资源。
宏观上:是多个人同时使用一个CPU
微观上:多个人在不同时刻轮流使用CPU
独立性:用户感觉不到计算机为其他人服务,各用户独立操作,互不干扰。
及时性:通过时间片技术和轮转调度算法保证及时响应。
交互性:系统及时响应用户的请求,显著提高调试和修改程序的效率:缩短了周转时间。
- 实时系统(Real-Time System)
实时系统是指:
系统能及时(或即时)响应外部事件的请求,在规定的时间内完成对该事件的处理,并控制所有实时任务协调一致地运行。
实时系统的引入
(1)实时控制
如:火箭发射随时停止,实时根据采集数据进行处理
(2)实时信息处理
订票系统等,短时间内为用户做出正确回答
实时系统的实现
系统必修有能够保证其承担的多个任务在规定的时间完成,调度和能力是关键。
按任务执行时是否呈现周期性来划分:
周期性实时任务
非周期性实时任务——截止时间
根据对截止时间的要求来划分:
硬实时任务
软实时任务
分布式OS与网络OS的比较
1、分布性(控制和处理都是分布的)
分布式OS不是集中地驻留在某一个站点,而是较均匀地分布在系统的各个站点上,所以OS的处理和控制功能是分布式的。
计算机网络也具有分布处理功能,但网络的控制功能,是集中在某个主机或网络服务器中,或说控制方式是集中式的。处理是分布的。
2、并行性
分布式处理系统,具有多个处理单元,分布式OS的任务分配程序可将多个任务分配到多个处理单元上,使这些任务并行执行,从而加速了任务的执行。
计算机网络中,每个用户的一个或多个任务通常都在自己(本地)的计算机上处理,所以,在网络OS中无任务分配功能。
3、透明性
分布式OS能很好地隐藏系统内部的实现细节,如:对象的物理位置,并发控制,系统故障等,对用户都是透明的。
当用户访问某个文件时,只需提供文件名而无须知道它是驻留在哪个站点上,即可对它进行访问,即物理位置是透明的。
网络OS,也有一定的透明性,但主要是指在操作实现上的透明性。如:当用户要访问服务器上的文件时,只需发出相应的文件存取命令,而无须了解对该文件的存取是如何实现的。
4、共享性
分布式系统中,分布在各个站点上的软、硬件资源,可供全系统中的所有用户共享,并能以透明方式对它们进行访问。
网络OS也能提供资源共享,但所共享的资源大多是设置在主机或网络服务器中,而在其它机器上的资源,只能由使用该机的用户独占。
5、健壮性
分布式系统的处理和控制功能是分布的,任何站上的故障,都不会给系统造成太大的影响,并且,当某设备出现故障时,可通过容错技术实现系统重构,使系统能正常运行,所以,系统具有健壮性,即具有较好的可用性和可靠性。
网络OS中,其控制功能大多集中在主机或服务器中,使系统具有潜在的不可靠性,此外,系统的重构功能也较弱。