1
School of Management
Tianjin University SLIDE 2
第一章:操作系统概论
1.1 操作系统概观
1.2 操作系统的形成和发展
1.3 操作系统的基本特性
1.4 操作系统的主要功能
1.5 操作系统的结构与设计
School of Management
Tianjin University SLIDE 3
1.1 操作系统概观
• 认识OS
• OS的定义
• OS目标
• OS作用
School of Management
Tianjin University SLIDE 4
系统的视图
OS作为接口的计算机系统层状示意图
计算机硬件
操作系统
系统调用,命令,图标,窗口
应用程序及实用程序
系统设计者
程序员
用户
School of Management
Tianjin University SLIDE 5
系统的视图
• 硬件层提供了基本的可计算性资源,包括处理器、寄存
器、存储器,以及各种I/O设施和设备,是操作系统和上
层软件赖以工作的基础。
• 操作系统层通常是最靠近硬件的软件层,对计算机硬件
作首次扩充和改造,主要完成资源的调度和分配,信息
的存取和保护,并发活动的协调和控制等许多工作。
• 系统程序层的工作基础建立在操作系统改造和扩充过的
机器上,利用操作系统提供的扩展指令集,可以较为容
易地实现各种各样的语言处理程序、数据库管理系统和
其他系统程序。
• 应用程序层解决用户特定的或不同应用需要的问题。
School of Management
Tianjin University SLIDE 6
操作系统的地位
• 操作系统的地位:
–作为用户与计算机硬件系统之间的接口
• 引入操作系统的目的:
–有效性(系统管理人员的观点):管理和分配
硬件、软件资源,合理地组织计算机的工作流
程
–方便性(用户的观点):提供良好的、一致的
用户接口,弥补硬件系统的类型和数量差别
–可扩充性(开放的观点):硬件的类型和规
模、操作系统本身的功能和管理策略、多个系
统之间的资源共享和互操作
School of Management
Tianjin University SLIDE 7
没有操作系统的时候…
• 对于多数计算机而言,在机器语言一级的体系结
构上编程是很困难的,尤其是输入输出操作。
• 例如
– 使用多数PC机采用的NEC PD765控制器芯片来进行软
盘I/O操作。PD765有16条命令,它通过向一个设备寄
存器装入特定的数据来执行这些命令,命令数据长度
从1到9字节不等,其中包括:读写数据、移动磁头
臂、格式化磁道、初始化、检测磁盘状态、复位、校
准控制器及设备等。
• 显然,程序员不想涉及硬件的这些具体细节。他
需要的是一种简单的高度抽象的设备。
– 一种典型的抽象是一张磁盘包含了一组命名的文件,
每个文件可以被打开,然后进行读写,最后被关闭。
其中的一些细节如数据
记录
混凝土 养护记录下载土方回填监理旁站记录免费下载集备记录下载集备记录下载集备记录下载
格式、当前步进电机的开
启状态等则对用户隐藏。
2
School of Management
Tianjin University SLIDE 8
有了操作系统的时候…
• 操作系统作为虚拟机
–虚拟机模型是一种自顶向下的观点
• 操作系统作为资源管理器
–虚拟机模型是一种自底向上的观点
School of Management
Tianjin University SLIDE 9
操作系统作为虚拟机
• 虚拟机模型是一种自顶向下的观点。
–这种将硬件细节与程序员隔离开来、同时提
供一个简洁的命名文件方式的程序,就是操
作系统。
–它还隐藏了其他许多低层硬件的特性,包括
中断、时钟、存储器等。总之,操作系统提
供的每一种抽象都较低层硬件本身更简单、
更易用。
• 从这个角度看,操作系统的作用是为用户
提供一台等价的扩展计算机,或称虚拟
机,它比低层硬件更容易编程。
School of Management
Tianjin University SLIDE 10
操作系统作为资源管理器
• 按照自底向上的观点,操作系统则用
来管理一个复杂系统的各个部分。
–现代计算机都包含处理器、存储器、时
钟、磁盘、鼠标、网络接口、激光打印
机以及其他许多设备,从这个角度看,
操作系统的任务是在相互竞争的程序间
有序地控制这些设备的分配。
• 进行有效的资源管理
School of Management
Tianjin University SLIDE 11
操作系统作为资源管理器
• 资源管理的一个实例
– 设想在一台计算机上运行的三个程序同时试图在一台打印机上
输出计算结果,那么可能头几行是程序1的输出,接下来几行是
程序2的输出,然后又是程序1的输出等等,最终打印结果将是
一团糟。
– 操作系统采用将打印输出缓冲到磁盘上的方法可以避免这种混
乱。当一个程序结束后,操作系统将暂存在磁盘文件上的输出
结果送到打印机,同时,其他程序可以继续运行产生新的输出
结果,而这些程序并不知道这些输出没有立即送至打印机。
• 当一台计算机有多个用户时,因为用户间可能相互影
响,所以管理和保护存储器、设备以及其他设备的需求
随之增加;而且用户往往不仅需要共享硬件,还要共享
信息。
• 多道程序环境下,操作系统的首要任务是跟踪资源的使
用状况、满足资源请求、提高资源利用率、以及协调各
程序和用户对资源的使用冲突。
School of Management
Tianjin University SLIDE 12
1.1.1 操作系统的定义
• 操作系统是管理系统资源、控制程序
执行,改善人机界面,提供各种服
务,合理组织计算机
工作流程
财务工作流程表财务工作流程怎么写财务工作流程图财务工作流程及制度公司财务工作流程
和为用
户有效使用计算机提供良好运行环境
的一种系统软件。
• 它可被看作是用户和计算机硬件之间
的一种接口,是现代计算机系统不可
分割的重要组成部分。
School of Management
Tianjin University SLIDE 13
1.1.2 操作系统的主要目标
• 有效性
–管理系统资源,提高系统资源利用率
–提高系统的吞吐量以提高系统效率
• 方便用户使用
• 可扩充性
– OS必须具有很好的可扩充性,方能适应计算
机硬件、体系结构以及应用发展的要求。
• 构筑开放环境
– OS应用环境已由单机封闭环境转向开放的网
络环境,它必须能提供统一的开放环境,进
而要求OS具有开放性(遵循OSI
标准
excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载
)。
3
School of Management
Tianjin University SLIDE 14
1.1.3 操作系统的作用
• OS 作为用户与计算机硬件系统之间
的接口
• OS 作为虚拟计算机
• OS 作为计算机系统的资源管理者
School of Management
Tianjin University SLIDE 15
(1) 作为用户与计算机硬件系统的接口
• 操作系统能
–改造硬件设施,使之更易使用;
–提供系统调用,扩展机器功能;
–组织工作流程,提供运行环境。
• 这些功能难于由硬件直接实现。
• 操作系统改造和扩充过的计算机不但功能
更强,使用也更为方便,用户可直接调用
系统提供的各种功能,而无需了解软硬件
本身的细节,对于用户来讲操作系统便成
为它与计算机硬件之间的一个接口(软件
接口)。
计算机硬件
操作系统
系统调用,命令,图标,窗口
应用程序及实用程序
系统设计者
程序员
用户
School of Management
Tianjin University SLIDE 16
(1)作为用户与计算机硬件系统的接口(续)
• 用户可通过以下三种方式使用计算机:
–命令方式
–系统调用
–图形、窗口方式
图1-1 OS作为接口的示意图
用 户
应用程序
系统调用 命令 图标、窗口
操作系统
计算机硬件
School of Management
Tianjin University SLIDE 17
(2) 作为计算机系统的资源管理者
• 在操作系统中,能分配给用户使用的
硬件和软件设施总称为资源,包括两
大类:硬件资源和信息资源。
–硬件资源又分:处理器、存储器、I/O
设备等;
–信息资源又分:程序和数据等。
• 相应地,OS的主要功能也正是针对这
四类资源进行有效的管理。
–流行观点:OS作为计算机系统的资源管
理者。
School of Management
Tianjin University SLIDE 18
(3)实现对计算机资源的抽象
如何把硬件复杂性与用户隔离开来?
• 基本方法是在计算机裸机上加上一
层又一层软件来组成整个计算机系
统。
• 每当在计算机上复盖一层软件,提
供了一种抽象,系统的功能便增加一
点,使用就更加方便一点,用户可
用的运行环境就更加好一点。
School of Management
Tianjin University SLIDE 19
(3)实现对计算机资源的抽象(续)
1. 裸机极难使用,虽有很强的指令系
统,从功能上来说局限性很大。加
上软件后,就可在硬件基础上,对
其功能和性能进行扩充和完善。
2. 软件之间的关系,采用同样办法,
一些软件的运行以另一些软件的存
在并为其提供运行支撑作为基础,
新添加的这些软件是在原来那些软
件基础上的扩充和完善
4
School of Management
Tianjin University SLIDE 20
(3)实现对计算机资源的抽象(续)
• 例1:在裸机上加上虚拟存储管理软
件,用户就可有硕大的编程空间,不
必涉及物理存储空间的容量、地址转
换、程序重定位等物理细节。虚拟存
储器是现代操作系统对计算机系统中
多级物理存储体系进行高度抽象的结
果。
School of Management
Tianjin University SLIDE 21
(3)实现对计算机资源的抽象(续)
• 例2:如果加上一层I/O设备管理软件,用户就可使
用I/O命令来进行数据的I/O,不必涉及显示器、打
印机、扫描仪、键盘和鼠标等的物理细节。
图1-2 I/O软件隐藏了I/O操作实现的细节
物理接口
硬件
用户
用户
I/O软件
物理接口
硬件
机器指令
虚机器
I/O操作命令
(Read,Write)
School of Management
Tianjin University SLIDE 22
(3)实现对计算机资源的抽象(续)
• 又例如:如果加上一层文件管理软
件,它将磁盘抽象成一组命名的文
件,用户通过文件操作,按文件名来
存取信息,不必涉及诸如数据物理地
址、磁盘记录命令、移动磁头臂 、搜
索物理块及设备驱动等物理细节,便
于使用、效率又高。
School of Management
Tianjin University SLIDE 23
(3)实现对计算机资源的抽象(续)
• 总之,操作系统是紧靠硬件的第一层
软件,计算机上覆盖操作系统后,可
扩展基本功能,为用户提供一台功能
显著增强,使用更加方便,安全可靠
性好,效率明显提高的机器,称为虚
拟计算机,或操作系统虚机器
(Virtual Machine)。
• 通过对计算机资源的抽象,隐藏具体
的物理接口实现细节,从而使用户更
容易地使用计算机硬件资源。
School of Management
Tianjin University SLIDE 24
1.1.4 推动操作系统发展的主要动力
• 不断提高计算机资源的利用率
–多道批处理、Spooling、虚拟存储等
• 方便用户
–多用户、GUI等
• 器件的不断更新换代
–微机芯片、磁盘系统、多种外设等
• 计算机体系结构的不断发展
School of Management
Tianjin University SLIDE 25
1.2 操作系统的发展和形成
1.2.1 OS的形成
1.2.2 OS的主要类型
5
School of Management
Tianjin University SLIDE 26
1.2.1 OS的形成
• 粗略地讲,OS的发展是由手工操
作阶段过渡到早期单道批处理阶
段而具有其雏形,而后发展到多
道程序系统(多道批处理系统)
时才逐渐完善的。
School of Management
Tianjin University SLIDE 27
1. 人工操作阶段
1. 人工把源程序用穿孔机穿制在卡片或纸带上;
2. 将准备好的汇编解释程序或编译系统装入计算
机;
3. 汇编程序或编译系统读入人工装在输入机上的
穿孔卡或穿孔带;
4. 执行汇编过程或编译过程,产生目标程序,并
输出目标卡片迭或纸带;
5. 通过引导程序把装在输入机上的目标程序读入
计算机;
6. 启动目标程序执行,从输入机上读入人工装好
的数据卡或数据带;
7. 产生计算结果,执行结果从打印机上或卡片机
上输出。
School of Management
Tianjin University SLIDE 28
严重缺点(人机矛盾):
– 用户上机独占全机资源,造成资源利
用率不高,系统效率低下。
– CPU等待人工操作:手工操作多,浪
费CPU处理时间,也极易发生差错。
人工操作阶段
School of Management
Tianjin University SLIDE 29
脱机输入/输出方式(OFF-Line I/O)
• 成因
– 随着CPU速度的提高和系统规模的扩大,人机矛盾变
得日趋严重。
– 此外,随着CPU速度的迅速提高而I/O设备的速度却
提高缓慢,这又使CPU与I/O设备之间速度不匹配的
矛盾更加突出。
– 为了缓和此矛盾,曾先后出现了通道技术、缓冲技
术,但都未能很好地解决上述矛盾,直至后来又引入
了脱机输入/输出技术,才获得了较为令人满意的结
果。
• OFF-Line I/O
– 由于程序和数据的输入和输出都是在外围机的控制下
完成的,或者说,它们是在脱离主机的情况下进行
的,故称为脱机输入/输出方式。
School of Management
Tianjin University SLIDE 30
脱机输入/输出方式(OFF-Line I/O)
• 优点:
– 减少了CPU的空闲时间;
– 提高了I/O速度。
图1-3 脱机I/O示意图
输入设备 外围机 磁盘
主机
外围机 输出设备
School of Management
Tianjin University SLIDE 31
2. 管理程序阶段(批处理)
• 单道批处理:
–通常是把一批作业以脱机方式输入到磁带
上,并在系统中配上管理程序(Monitor),在
它的控制下使这批作业能一个接一个地连续
处理。
• 工作流程如下:
–操作员集中一批用户提交的作业,由monitor
将这批作业从纸带或卡片机输入到磁带上,
每当一批作业输入完成后,管理程序自动把
磁带上的第一个作业装入内存,并把控制权
交给作业。当该作业执行完成后,作业又把
控制权缴回管理程序,管理程序再调入磁带
上的第二个作业到内存执行。
6
School of Management
Tianjin University SLIDE 32
3. 多道程序设计与操作系统形成
• 多道程序设计是指允许多个程序同时
进入一个计算机系统的主存储器并启
动进行计算的方法。
• 处理流程:
–用户提交的作业先放在外存上并排成队
列,称为“后备队列”;
–然后,由作业调度程序按一定的算法从
后备队列中选择若干个作业调入内存,
使他们共享CPU和系统中的各种资源。
School of Management
Tianjin University SLIDE 33
多道程序设计与操作系统形成
• 操作系统中引入多道程序设计的优点是:
–提高了CPU的利用率,
–提高了内存和I/O设备的利用率,
–改进了系统的吞吐率,
–充分发挥了系统的并行性。
• 其主要缺点是:
–作业周转时间延长。
–作业的平均周转是指从作业进入系统开始,
直到运行完成退出系统所经历的时间。
School of Management
Tianjin University SLIDE 34
多道程序设计与操作系统形成
• 实现多道程序设计必须解决以下几个
问题:
–作业管理
–处理机管理
–内存管理
–I/O设备管理
–文件管理
School of Management
Tianjin University SLIDE 35
1.2.2 操作系统的主要类型
• 批处理操作系统
–单道批处理系统
–多道批处理系统
• 分时操作系统
• 实时操作系统
• 微机操作系统
三大代表性OS
School of Management
Tianjin University SLIDE 36
1. 批处理操作系统
• 批处理系统
–用户把要计算的应用问题编成程序,连同数
据和作业说明书一起交给操作员,操作员集
中一批作业,输入到计算机中。然后,由操
作系统来调度和控制作业的执行。这种批量
化处理作业方式的操作系统称为批处理操作
系统(Batch Operating System)。
• 批处理系统的主要特征
–用户脱机工作
–成批处理作业
–多道程序运行
–作业周转时间长
School of Management
Tianjin University SLIDE 37
单道批处理系统
• 系统对作业的处
理都是成批地进
行的,且在内存
中始终只保持一
道作业,故称此
系统为单道批处
理系统(Simple
Batch Processing
System)。
图1-4 单道批处理系统的处理流程
把下一个作业的
源程序转换为目
标程序
源程序
有错吗?
否
装 配
目标程序
还有下
一个作业?
是
否
停止
运 行
目标程序
是
开始
7
School of Management
Tianjin University SLIDE 38
单道批处理系统(续)
• 单道批处理系统的特征
–自动性
• 在顺利情况下,在磁带上的一批作业能自
动地逐个地依次运行,而无需人工干预。
–顺序性
• 磁带上的各道作业是顺序地进入内存,各
道作业的完成顺序与它们进入内存的顺
序,在正常情况下应完全相同,亦即先调
入内存的作业先完成。
–单道性
School of Management
Tianjin University SLIDE 39
多道批处理系统
• 在单道批处理系统中,内存中仅有一
道作业,它无法充分利用系统中的所
有资源,致使系统性能较差。
• 为了进一步提高资源的利用率和系统
吞吐量,在20世纪60年代中期又引入
了多道程序设计技术,由此而形成了
多道批处理系统(Multiprogrammed
Batch Processing System)。
多道批处理系统
图1-5 单道和多道程序运行情况
t1 t2 t3 t4 t5 t6 t7 t8
结束中断
I/O 完成启动 I/O
I/O 中断请求
I/O 完成启动 I/O
I/O 中断请求用户程序
监督程序
I/O 操作
(a) 单道程序运行情况
程序A
程序A I/O 请求 程序A I/O 完成
程序B
程序B I/O 请求
程序C
程序C I/O 请求
程序D
程序D I/O 请求
C I/O 完成 C 再被调度
程序B I/O 完成
程序A再被调度
程序A
程序B
程序C
程序D
调度程序
(b) 四道程序运行情况
A完成
结束中断
School of Management
Tianjin University SLIDE 41
多道批处理系统
• 多道批处理系统的主要优缺点如下:
– (1) 资源利用率高
– (2) 系统吞吐量大
– (3) 平均周转时间长
– (4) 无交互能力
School of Management
Tianjin University SLIDE 42
2. 分时操作系统
• 允许多个联机用户同时使用一台计算机系统进行计算的
操作系统称分时操作系统(Time Sharing Operating
System)。
• 关键问题:
– 及时接收、及时处理
• 处理方式
– 规定每个作业只运行一个很短的时间(例如0.1秒钟,通常把这段
时间称为时间片),然后便暂停该作业的运行,并立即调度下一
个程序运行。(一个时间片的时间),便可使每个用户都能及时地
与自己的作业交互,从而可使用户的请求得到及时响应。
• 分时系统的主要特性:
– 多路性
– 独立性
– 及时性
– 交互性
School of Management
Tianjin University SLIDE 43
3. 实时操作系统
• 实时操作系统(Real Time Operating System)
– 指当外界事件或数据产生时,能接收并以足够快的速
度予以处理,处理的结果又能在规定时间内来控制监
控的生产过程或对处理系统作出快速响应,并控制所
有实时任务协调一致运行的操作系统。
• 应用需求
– 实时控制
– 实时信息处理
• 实时任务
– 按任务执行是否呈现周期性来划分
– 根据对截至时间的要求来划分
• 硬实时任务
• 软实时任务
8
School of Management
Tianjin University SLIDE 44
实时系统与分时系统的比较
• (1) 多路性
– 实时信息处理系统也按分时原则为多个终端用户服务。实时控制系统
的多路性则主要表现在系统周期性地对多路现场信息进行采集,以及
对多个对象或多个执行机构进行控制。而分时系统中的多路性则与用
户情况有关,时多时少。
• (2) 独立性
– 实时信息处理系统中的每个终端用户在向实时系统提出服务请求时互
不干扰;而实时控制系统中,对信息的采集和对对象的控制也都是彼
此互不干扰。
• (3) 及时性
– 实时信息处理系统对实时性的要求与分时系统类似,都是以人所能接
受的等待时间来确定的;而实时控制系统的及时性,则是以控制对象
所要求的开始截止时间或完成截止时间来确定的,一般为秒级到毫秒
级,甚至有的要低于100微秒。
• (4) 交互性
– 实时信息处理系统虽然也具有交互性,但这里人与系统的交互仅限于
访问系统中某些特定的专用服务程序。它不像分时系统那样能向终端
用户提供数据处理和资源共享等服务。
• (5) 可靠性
– 相比之下,实时系统则要求系统具有高度的可靠性。
School of Management
Tianjin University SLIDE 45
4. 微机操作系统
• 新一代微机操作系统具有以下功能:
GUI、多用户和多任务、虚拟存储管
理、网络通信支持、数据库支持、多
媒体支持、应用编程支持API。
• 具有以下特点:
–(1)开放性
–(2)通用性
–(3)高性能
–(4)采用微内核结构
School of Management
Tianjin University SLIDE 46
微机OS
• 1.单用户单任务操作系统
–单用户单任务操作系统的含义是,只允
许一个用户上机,且只允许用户程序作
为一个任务运行。这是最简单的微机操
作系统,主要配置在8位和16位微机
上。最有代表性的单用户单任务微机操
作系统是CP/M和MS-DOS。
School of Management
Tianjin University SLIDE 47
微机OS
• 2.单用户多任务操作系统
–单用户多任务操作系统的含义是,只允
许一个用户上机,但允许用户把程序分
为若干个任务,使它们并发执行,从而
有效地改善了系统的性能。
–目前在32位微机上配置的操作系统基本
上都是单用户多任务操作系统,其中最
有代表性的是由微软公司推出的
Windows。
School of Management
Tianjin University SLIDE 48
微机OS
• 3.多用户多任务操作系统
–多用户多任务操作系统的含义是,允许多个
用户通过各自的终端使用同一台机器,共享
主机系统中的各种资源,而每个用户程序又
可进一步分为几个任务,使它们能并发执
行,从而可进一步提高资源利用率和系统吞
吐量。
–在大、中和小型机中所配置的大多是多用户
多任务操作系统,而在32位微机上也有不少
是配置的多用户多任务操作系统,其中最有
代表性的是UNIX OS。
–现在最有影响的两个能运行在微机上的UNIX
操作系统的变型是Solaris OS和Linux OS。
School of Management
Tianjin University SLIDE 49
1.3 操作系统的基本特性
第一个特性--并发性
第二个特性--共享性
第三个特性--异步性
第四个特性--虚拟性
9
School of Management
Tianjin University SLIDE 50
1、并发性
• 并发与并行
– 并发性(Concurrence)指两个或两个以上的事件或
活动在同一时间间隔内发生。
– 并行性是指两个或多个事件在同一时刻发生。
• OS的并发性
– 在多道程序环境下,并发性是指在一段时间内宏观上
有多个程序在同时运行,但在单处理机系统中,每一
时刻却仅能有一道程序执行,故微观上这些程序只能
是分时地交替执行。
– 倘若在计算机系统中有多个处理机,则这些可以并发
执行的程序便可被分配到多个处理机上,实现并行执
行,即利用每个处理机来处理一个可并发执行的程
序,这样,多个程序便可同时执行。
School of Management
Tianjin University SLIDE 51
并发性
• 并发性的例子
–内存中同时有多个用户程序
–或内存中同时有操作系统程序和用户程
序被启动交替、穿插地执行。
• 并发性会… …
–并发性能够消除系统中部件和部件之间
的相互等待,有效地改善系统资源的利
用率,改进系统的吞吐率,提高系统效
率。
School of Management
Tianjin University SLIDE 52
并发性
• 为了实现并发操作系统中引入重要概念--进程
– 进程能清晰刻划操作系统中的并发性,实现并发活动
的执行。
• 进程(Process)
– 通常的程序是静态实体(Passive Entity),在多道程序
系统中,它们是不能独立运行的,更不能和其它程序
并发执行。为使多个程序能并发执行,系统必须分别
为每个程序建立进程(Process),它是一个动态实体,
可以理解为程序的一次执行。
– 简单说来,进程是指在系统中能独立运行并作为资源
分配的基本单位,它是由一组机器指令、数据和堆栈
等组成的,是一个能独立运行的活动实体。
– 多个进程之间可以并发执行和交换信息。一个进程在
运行时需要一定的资源,如CPU、存储空间及I/O设
备等。
School of Management
Tianjin University SLIDE 53
并发性
• 为了实现更好地并发,OS中引入的另一个重要
概念—线程
– 进程比较“大”,在多个进程并发执行时它们之间切换
造成的系统开销比较大(如保存、恢复执行状态等)
– 在引入线程的OS中,一个进程中可以包含若干个线
程,它们可以利用进程所拥有的资源。通常都是把进
程作为分配资源的基本单位,而把线程作为独立运行
和独立调度的基本单位。由于线程比进程更小,基本
上不拥有系统资源,故对它的调度所付出的开销就会
小得多,能更高效地提高系统内多个程序间并发执行
的程度。
– 因而近年来推出的通用操作系统都引入了线程,以便
进一步提高系统的并发性,并把它视作现代操作系统
的一个重要标致。
School of Management
Tianjin University SLIDE 54
并发性
• 采用并发技术的系统称为多任务系
统(Multitasking),
• 并发的实质是一个物理CPU(也可以
多个物理CPU) 在若干道程序之间多
路复用,并发性是对有限物理资源
强制行使多用户共享以提高效率。
School of Management
Tianjin University SLIDE 55
2、共享性
• 共享指操作系统中的资源可被多个并发执
行的进程所使用。
• 可分成两种资源共享方式:
–互斥访问 : 系统中的某些资源同一时间内只允
许一个进程(或线程)访问,许多物理设
备,以及某些数据和表格都是互斥共享的资
源。把在一段时间内只允许一个进程访问的
资源称为临界资源或独占资源。
–同时访问:系统中还有许多资源,允许同一
时间内多个进程(或线程)对它进行访问,
这里“同时”是宏观上的说法。典型的可供多
进程同时访问的资源是磁盘,可重入程序也
可被同时访问。
10
School of Management
Tianjin University SLIDE 56
共享性
• 与共享性有关的问题是资源分配、信息保
护、存取控制等,必须要妥善解决好这些
问题。
• 并发和共享是OS的两个最基本的特征,它
们又是互为存在的条件。
–一方面,资源共享是以程序(进程)的并发执行
为条件的,若系统不允许程序并发执行,自
然不存在资源共享问题;
–另一方面,若系统不能对资源共享实施有效
管理,协调好诸进程对共享资源的访问,也
必然影响到程序并发执行的程度,甚至根本
无法并发执行。
School of Management
Tianjin University SLIDE 57
3、异步性
• 异步性
–在多道程序环境下允许多个进程并发执行,
但只有进程在获得所需的资源后方能执行。
由于资源等因素的限制,使进程的执行通常
都不是“一气呵成”,而是以“停停走走”的方
式运行。
–进程是以人们不可预知的速度向前推进,此
即进程的异步性(Asynchronism)
–尽管如此,但只要在操作系统中配置有完善
的进程同步
机制
综治信访维稳工作机制反恐怖工作机制企业员工晋升机制公司员工晋升机制员工晋升机制图
,且运行环境相同,作业经
多次运行都会获得完全相同的结果。因此,
异步运行方式是允许的,而且是操作系统的
一个重要特征。
School of Management
Tianjin University SLIDE 58
异步性
• OS中的异步性(Asynchronism)处处可见 :
– 一个进程在CPU上运行一段时间后,由于等待资源满
足或事件发生,被暂停执行,CPU转让给另一个进程
执行。系统中的进程何时执行?何时暂停?怎样的速
度向前推进?进程总共要多少时间执行才能完成?这
些都是不可予知的,或者说该进程是以异步方式运行
的。
• OS中异步性的其他例子:
– 作业到达系统的类型和时间是随机的
– 程序运行发生错误或异常的时刻是随机的
– 各种各样硬件和软件中断事件发生的时刻是随机的
School of Management
Tianjin University SLIDE 59
异步性
• 异步性给系统带来潜在危险,有可能导
致与时间有关的错误。
• 操作系统的一个重要任务是必须确保
捕捉任何一种随机事件,正确处理可
能发生的随机事件,正确处理任何一
种产生的事件序列,否则将会导致严
重后果。(同步机制)
School of Management
Tianjin University SLIDE 60
4、虚拟性
• 虚拟性是指操作系统中的一种管理技
术,它是把物理上的一个实体变成逻
辑上的多个对应物,或把物理上的多
个实体变成逻辑上的一个对应物的技
术,显然,前者是实际存在的而后者
是虚构假想的。
School of Management
Tianjin University SLIDE 61
虚拟性
• 虚拟性的例子:
–通过多道程序和分时使用CPU技术,物理上
的一个CPU变成逻辑上的多个CPU。
–通过Spooling技术可把物理上的一台独占设备
变成逻辑上的多台虚拟设备
–通过窗口技术可把物理上的一个屏幕变成逻
辑上的多个虚拟屏幕,
– IBM的VM技术把物理上的一台计算机变成逻
辑上的多台计算机。
–虚拟存储器则是把物理上的多个存储器(主存
和辅存)变成逻辑上的一个(虚存)的例子。
11
School of Management
Tianjin University SLIDE 62
虚拟技术
• 1.时分复用技术(分时使用方式)
–时分复用技术是利用资源(处理机等)的空
闲时间来运行其它的程序,使资源的利用率
得以提高。
–虚拟处理机技术
• 利用多道程序设计技术,把一台物理上的处理机
虚拟为多台逻辑上的处理机,在每台逻辑处理机
(用户所感觉到的处理机)上运行一道程序。
–虚拟设备技术
• 将一台物理I/O设备虚拟为多台逻辑上的I/O设
备,并允许每个用户占用一台逻辑上的I/O设备,
这样便可使原来仅允许在一段时间内由一个用户
访问的设备(即临界资源),变为在一段时间内允
许多个用户“同时”访问的共享设备。(打印机)
School of Management
Tianjin University SLIDE 63
虚拟技术
• 2.空分复用技术(空间划分)
–虚拟磁盘技术
• 磁盘分区将一个物理磁盘映射成几个逻辑驱动
器。
–虚拟存储器技术
• 空分复用主要是利用存储器的空闲空间来存放其
它的程序,以提高内存的利用率;但单纯的空分
复用存储器只能提高内存的利用率,并不能实现
在逻辑上扩大存储器容量的功能,必须引入虚拟
存储技术才能达到此目地。
• 在本质上就是使内存分时复用。它可以使一道程
序通过时分复用方式,在远小于它的内存空间中
运行。例如,一个100 MB的应用程序可以运行在
20 MB的内存空间。
School of Management
Tianjin University SLIDE 64
1.4 操作系统的主要功能
• 处理机管理
• 存储管理
• 设备管理
• 文件管理
• 用户接口
School of Management
Tianjin University SLIDE 65
1、处理机管理
• 处理器管理的第一项工作是处理中断
事件,第二项工作是处理器调度。
• 处理器管理具体包括:
–进程控制和管理
–进程同步和互斥
–进程通信和死锁
–处理器调度
• 作业调度
• 进程调度
School of Management
Tianjin University SLIDE 66
2、存储管理
• 存储分配
– 为每道程序(静态或动态)分配内存空间,使它们
“各得其所”;提高存储器的利用率,以减少不可用的
内存空间。
• 存储保护
– 确保每道用户程序都只在自己的内存空间内运行,彼
此互不干扰
• 地址转换与映射
– 将地址空间中的逻辑地址转换为内存空间中与之对应
的物理地址。
• 存储扩充
– 并非是去扩大物理内存的容量,而是借助于虚拟存储
技术,从逻辑上去扩充内存容量,提高系统性能。
School of Management
Tianjin University SLIDE 67
3、设备管理
• 缓冲管理
– 缓和CPU与I/O设备速度不匹配的矛盾,提高CPU的
利用率,进而提高系统吞吐量。
• 设备分配
– 根据用户进程的I/O请求、系统的现有资源情况以及
按照某种设备的分配策略,为之分配其所需的设备。
• 设备处理
– 用于实现CPU和设备控制器之间的通信,即由CPU向
设备控制器发出I/O命令,要求它完成指定的I/O操
作;反之,由CPU接收从控制器发来的中断请求,并
给予迅速的响应和相应的处理。
• 设备独立性
• 实现虚拟设备
12
School of Management
Tianjin University SLIDE 68
4、文件管理
• 文件存储空间管理
– 为每个文件分配必要的外存空间,提高外存的利用
率,并能有助于提高文件系统的存、取速度。
• 目录管理
– 为每个文件建立其目录项,并对众多的目录项加以有
效的组织,以实现方便的按名存取。
– 其次,目录管理还应能实现文件共享。
– 提供快速的目录查询手段
• 文件的读/写管理和保护
– 该功能是根据用户的请求,从外存中读取数据,或将
数据写入外存。
– 有效的存取控制功能。
School of Management
Tianjin University SLIDE 69
5、用户接口
• 为了方便用户使用操作系统,OS又向
用户提供了“用户与操作系统的接
口”。
• 该接口通常可分为两大类:
–用户接口。它是提供给用户使用的接
口,用户可通过该接口取得操作系统的
服务;
–程序接口。它是提供给程序员在编程时
使用的接口,是用户程序取得操作系统
服务的惟一途径。
School of Management
Tianjin University SLIDE 70
1.5 操作系统的结构与设计
• 随着操作系统的发展,功能越强,OS自身代码量越大-
-采用良好的结构:有利于保证正确性以及自身修改和
扩充。
• 操作系统的设计原则
– 可维护性:容易修改与否称为可维护性,有三种可能的维护:
• 改错性维护:改正已发现的错误;
• 适应性维护:修改软件,使之适应新的运行环境(硬件环境和软件
环境);如:操作系统的移植。
• 完善性维护:增加新功能;
– 可靠性(两方面评价)
• 正确性:正确实现所要求的功能和性能;
• 稳健性:对意外(故障和误操作)作出适当的处理;
– 可理解性
• 易于理解,以方便测试、维护和交流;
– 性能
• 有效地使用系统资源;尽可能快地响应用户请求;
School of Management
Tianjin University SLIDE 71
1.5.1 OS的系统结构
• 模块化结构
• 分层式结构
• 客户/服务器模式
• 微内核结构
School of Management
Tianjin University SLIDE 72
1、模块化结构
• 整个系统按功能进行设计和模块划分。系统是一
个单一的、庞大的的软件系统。这种结构思想来
源于服务功能观点,而不是资源管理的观点。
图1-6 模块化结构的操作系统
进程控制 … 进程调度 内存分配 内存保护 磁盘管理 目录管理
进程管理 存储器管理 文件管理
操作系统
模块
子模块
… …
School of Management
Tianjin University SLIDE 73
模块化结构(续)
• 模块结构的特点
–模块由众多服务过程(模块接口)组成,可
以随意调用其他模块中的服务过程--如
UNIX系统(注意:OSF/1不是)
• 优点
–具有一定灵活性,在开发及运行中的高效
率。
• 缺点
–功能划分和模块接口难保正确和合理;模块
之间的依赖关系(功能调用关系)复杂(调
用深度和方向),降低了模块之间的相对独
立性--不利于修改。
13
School of Management
Tianjin University SLIDE 74
2、层次式结构
• 层次式结构是把操作系统划分为内核和若干模块
(或进程),这些模块(或进程)按功能的调用
次序排列成若干层次,各层之间只能是单向依赖
或单向调用关系,这样不但系统结构清晰,而且
不构成循环。
• 优点:
– 功能明确,调用关系清晰(高层对低层单向依赖),
有利于保证设计和实现的正确性。
– 低层和高层可分别实现(便于扩充);高层错误不会
影响到低层;避免递归调用。
• 缺点:降低了运行效率
• 各系统对具体划分多少层次有不同的看法。
School of Management
Tianjin University SLIDE 75
层次式结构(续)
• 分层原则
–为进程的正常运行创造环境和提供条件
的内核程序应该尽可能放在底层,
–把与机器硬件有关的程序模块放在最底
层,
–反映系统外特性的软件放在最外层,
–按照实现操作系统命令时模块间的调用
次序或按进程间单向发送信息的顺序来
分层。
School of Management
Tianjin University SLIDE 76
层次式结构(续)
• 例如:
–第0层完成中断处理、定时器管理和处理器调
度。
–第1层内存和磁盘管理,为进程分配内存空
间,并自动实现内存和磁盘对换区的数据交
换。
–第2层处理进程与操作员间的通信,为每个进
程生成虚操作员控制台。
–第3层I/O管理,管理信息缓冲区。
–第4层用户(进程)层。
–第5层系统操作员(进程)层。
School of Management
Tianjin University SLIDE 77
3、客户/服务器
• 把操作系统分成若干分别完成一组特
定功能的服务进程,等待客户提出请
求;而系统内核只实现操作系统的基
本功能(如:虚拟存储、消息传递)。
• C/S模式优点
–数据的分布处理和存储
–便于集中管理
–灵活性和可扩充性
–易于改编应用软件
School of Management
Tianjin University SLIDE 78
4、微内核结构
• 微内核(micro-kernel):
–将更多操作系统功能放在核心之外,作为独
立的服务进程运行;其最基本的思想是要保
持内核尽量小。
–微内核技术是指精心设计的、能实现现代OS
核心功能的小型内核,它运行在核心态,且
开机后常驻内存。
• 微内核的基本功能:
– (1) 进程(线程)管理
– (2) 低级存储器管理
• 如地址映射
– (3) 中断及陷入处理
School of Management
Tianjin University SLIDE 79
微内核结构(续)
• 微内核模式优点:
– 良好的扩充性:只需添加支持新功能的服务进程即
可。
– 可靠性好:调用关系明确,执行转移不易混乱。
– 可移植性:运行于不同计算机硬件平台。
– 便于网络服务,实现分布式处理:以同样的调用形
式,在下层可通过核心中的网络传送到远方服务器上
(远地过程调用 RPC, Remote Procedure Call)
– 融入面向对象技术
• 微内核模式缺点:
– 消息传递比直接调用效率要低一些 (但可以通过提高
硬件性能来补偿 )。
14
School of Management
Tianjin University SLIDE 80
操作系统的结构
1) 分层结构内核 2) 微内核
进程管理
硬件
存储管理
设备管理
文件管理
作业管理
内
核
模
式
微内核
硬件
客
户
进
程
安
全
服
务
虚
存
管
理
器
文
件
服
务
器
设
备
驱
动
程
序
用
户
模
式
School of Management
Tianjin University SLIDE 81
本章小结
操作系统的定义、作用及目标
操作系统的形成和发展
操作系统的基本特性
操作系统的主要功能
操作系统的结构与设计