Download presentation
Presentation is loading. Please wait.
1
操作系统教程(第3版) 第一章 操作系统概论 面向21世纪课程教材 高等教育出版社出版 2003年8月
2
第一章 操作系统概论 1.1 操作系统概观 1.2 操作系统的形成和发展 1.3 操作系统提供的服务和用户接口 1.4 操作系统的结构
第一章 操作系统概论 1.1 操作系统概观 1.2 操作系统的形成和发展 1.3 操作系统提供的服务和用户接口 1.4 操作系统的结构 1.5 流行操作系统简介
3
1.1操作系统概观 1.1.1 操作系统的定义和目标 1.1.2 操作系统的作用和功能 1.1.3 操作系统的主要特性
4
1.1.1操作系统的定义和目标 操作系统是管理系统资源、控制程序执行,改善人机界面,提供各种服务,合理组织计算机工作流程和为用户有效使用计算机提供良好运行环境的一种系统软件。 它可被看作是用户和计算机硬件之间的一种接口,是现代计算机系统不可分割的重要组成部分。
5
计算机系统的层次结构(1) 用户1 用户2 用户3 用户4 用户n 财务系统 航空订票 上网浏览 电子商务 科学计算 (应用程序) 编译程序
汇编程序 编辑程序 数据库 (系统程序) 操作系统 计算机 硬件 …
6
计算机系统的层次结构(2) 硬件层 操作系统层 系统程序层 应用层
7
操作系统的主要目标 方便用户使用 扩大机器功能 管理系统资源 提高系统效率 构筑开放环境
8
1.1.2操作系统的作用与功能 操作系统的作用 OS作为用户与计算机硬件之间的接口 OS作为虚拟计算机 OS作为计算机系统的资源管理者
9
(1)OS作为用户与计算机硬件 之间的接口(1)
操作系统能: •改造硬件设施,使之更易使用; •提供系统调用,扩展机器功能; •组织工作流程 ,提供运行环境。 这些功能难于由硬件直接实现。
10
OS作为用户与计算机硬件 之间的接口(2) 操作系统改造和扩充过的计算机不但功能更强,使用也更为方便,用户可直接调用系统提供的各种功能,而无需了解软硬件本身的细节,对于用户来讲操作系统便成为他与计算机硬件之间的一个接口。
11
(2)OS为用户提供虚拟计算机(1) 基本方法是在计算机裸机上加上一层层软件来组成整个计算机系统。
如何把硬件复杂性与用户隔离开来? 基本方法是在计算机裸机上加上一层层软件来组成整个计算机系统。 每当在计算机上复盖一层软件,提供了一种抽象,系统的功能便增加一点,使用就更加方便一点,用户可用的运行环境就更加好一点。 CH-3
12
OS为用户提供虚拟计算机(2) 操作系统是紧靠硬件的第一层软件,计算机上覆盖操作系统后,可扩展基本功能,为用户提供一台功能显著增强,使用更加方便,安全可靠性好,效率明显提高的机器,称为虚拟计算机,或操作系统虚机器(Virtual Machine)。
13
(3)操作系统作为计算机系统的资源管理者(1)
操作系统中,能分配给用户使用的硬件和软件设施总称为资源,包括两类:硬件资源和信息资源。 硬件资源又分:处理器、存储器、I/O设备等; 信息资源又分:程序和数据等。 CH-2
14
操作系统作为计算机系统的 资源管理者(2) 也可把操作系统定义为:是能使诸用户有效、方便地共享一套计算机系统资源的一种系统软件。
15
操作系统作为计算机系统的 资源管理者(3) 操作系统的重要任务之一(1) 对资源进行抽象研究,找出各种资源共性和个性,有序地管理计算机中的硬件、软件资源,跟踪资源使用情况,监视资源的状态,满足用户对资源的需求,协调各程序对资源的使用冲突;
16
操作系统作为计算机系统的 资源管理者(4) 操作系统的重要任务之一(2) 研究使用资源的统一方法,让用户简单、有效的使用资源,最大限度地实现各类资源的共享,提高资源利用率,从而,使得计算机系统的效率有很大提高。
17
操作系统的功能 处理机管理 存储管理 设备管理 文件管理 网络与通信管理 用户接口
18
处理机管理 进程控制和管理 进程同步和互斥 进程通信和死锁 线程控制和管理 处理器调度,分作业调度,中 程调 度,低级调度等
处理器管理具体包括: 进程控制和管理 进程同步和互斥 进程通信和死锁 线程控制和管理 处理器调度,分作业调度,中 程调 度,低级调度等
19
存储管理 存储管理具有四大功能: 存储分配 存储共享 地址转换与存储保护 存储扩充
20
设备管理 设备管理具有以下功能: 设备分配 缓冲管理 设备驱动 设备独立性 实现虚拟设备
21
文件管理 提供文件逻辑组织方法 提供文件物理组织方法 提供文件的存取方法 提供文件的使用方法 实现文件的目录管理 实现文件的存取控制
文件管理要完成以下任务: 提供文件逻辑组织方法 提供文件物理组织方法 提供文件的存取方法 提供文件的使用方法 实现文件的目录管理 实现文件的存取控制 实现文件的存储空间管理
22
网络与通信管理 网上资源管理功能 数据通信管理功能 网络管理功能 ,包括: 故障管理、安全管理、性能管理、记帐管理和配置管理。
联网操作系统应具有以下功能: 网上资源管理功能 数据通信管理功能 网络管理功能 ,包括: 故障管理、安全管理、性能管理、记帐管理和配置管理。
23
1.1.3操作系统的主要特性 第一个特性--并发性 第二个特性--共享性 第三个特性--异步性 第四个特性--虚拟性
24
操作系统中的并发性(1) 并发性(Concurrence)指两个或两个以上的事件或活动在同一时间间隔内发生
发挥并发性能够消除系统中部件和部件之间的相互等待,有效地改善系统资源的利用率,改进系统的吞吐率,提高系统效率
25
操作系统中的并发性(2) 如何从一个活动切换到另一个活动? 怎样将各个活动隔离开来,使之互不干扰,免遭对方破坏?怎样让多个活动协作完成任务?
并发性使系统变得复杂化 如何从一个活动切换到另一个活动? 怎样将各个活动隔离开来,使之互不干扰,免遭对方破坏?怎样让多个活动协作完成任务? 怎样协调多个活动对资源的竞争? 如何保证每个活动的资源不被其它进程侵犯? 多个活动共享文件数据时,如何保证数据的一致性?
26
操作系统中的并发性(3) 采用并发技术的系统称为多任务系统(Multitasking),
并发的实质是一个物理CPU(也可以多个物理CPU) 在若干道程序之间多路复用,并发性是对有限物理资源强制行使多用户共享以提高效率。 结论:实现并发技术的关键之一是如何对系统内的多个活动(进程)进行切换的技术
27
操作系统中的并发性(4) •并行的事件或活动一定是并发的,但反之并发的事件或活动未必是并行的。
•并行性指(Parallelism)指两个或两个以上的事件或活动在同一时刻发生 •并行的事件或活动一定是并发的,但反之并发的事件或活动未必是并行的。 •并行性是并发性的特例,而并发性是并行性的扩展。
28
操作系统中的共享性 互斥访问 : 同时访问 : 与共享性有关的问题:资源分配、信息保护、存取控制等,必须要妥善解决好这些问题。
共享指操作系统中的资源可被多个并发执行的进程所使用 ,分成两种资源共享方式: 互斥访问 : 同时访问 : 与共享性有关的问题:资源分配、信息保护、存取控制等,必须要妥善解决好这些问题。
29
操作系统中的异步性(1) 操作系统中的异步性处处可见 : (1)进程何时执行?何时暂停?怎样的速度向前推进?都是异步(随机)的。
(2)作业到达系统的类型和时间是随机的; (3)操作员发出命令或按按钮的时刻是随机的; (4)程序运行发生错误或异常的时刻是随机的; (5)各种各样硬件和软件中断事件发生的时刻是随机的
30
操作系统中的异步性(2) •异步性给系统带来潜在危险,有可能导致与时间有关的错误。 •操作系统的一个重要任务是必须确保捕捉任何一种随机事件,正确处理可能发生的随机事件,正确处理任何一种产生的事件序列,否则将会导致严重后果。
31
操作系统中的虚拟性 虚拟性是指操作系统中的一种管理技术,它是把物理上的一个实体变成逻辑上的多个对应物,或把物理上的多个实体变成逻辑上的一个对应物的技术,显然,前者是实际存在的而后者是虚构假想的。
32
虚拟性的例子 通过多道程序和分时使用CPU技术,物理上的一个CPU变成逻辑上的多个CPU。
通过Spooling技术可把物理上的一台独占设备变成逻辑上的多台虚拟设备, 通过窗口技术可把物理上的一个屏幕变成逻辑上的多个虚拟屏幕, IBM的VM技术把物理上的一台计算机变成逻辑上的多台计算机。 虚拟存储器则是把物理上的多个存储器(主存和辅存)变成逻辑上的一个(虚存)的例子。
33
1.2 操作系统的发展和形成 1.2.2 管理程序阶段 1.2.3 多道程序设计与操作系统的形成 1.2.4 操作系统的分类
1.2.1 人工操作阶段 1.2.2 管理程序阶段 1.2.3 多道程序设计与操作系统的形成 操作系统的分类
34
1.2.1 人工操作阶段 算题过程 人工把源程序用穿孔机穿制在卡片或纸带上 将准备好的汇编解释程序或编译系统装入计算机
人工操作阶段 算题过程 人工把源程序用穿孔机穿制在卡片或纸带上 将准备好的汇编解释程序或编译系统装入计算机 汇编程序或编译系统读入人工装在输入机上的穿孔卡或穿孔带 执行汇编过程或编译过程,产生目标程序,并输出目标卡片迭或纸带 通过引导程序把装在输入机上的目标程序读入计算机 启动目标程序执行,从输入机上读入人工装好的数据卡或数据带 产生计算结果,执行结果从打印机上或卡片机上输出
35
人工操作阶段的缺点 用户上机独占全机资源,造成资源利用率不高,系统效率低下 手工操作多,浪费处理机时间,也极易发生差错
数据的输入,程序的执行、结果的输出均联机进行,从上机到下机的时间拉得非常长
36
1.2.2管理程序阶段(1) 工作流程如下: 操作员集中一批用户提交的作业,由管理程序将作业从纸带或卡片机输入到磁带上,每当一批作业输入完成后,管理程序自动把磁带上的第一个作业装入内存,并把控制权交给作业。当该作业执行完成后,作业又把控制权缴回管理程序,管理程序再调入磁带上的第二个作业到内存执行 CH-5
37
管理程序阶段(2) 管理程序内存组织 . 中 断 处 理 设 备 驱 动 作 业 定 序 命令和JCL语言解释器 用 户 程 序 区
38
管理程序阶段(3) 自动控制和处理作业流 提供一套操作命令 提供设备驱动和I/O控制功能 提供库程序和程序装配功能 提供简单的文件管理功能
管理程序Monitor的主要功能: 自动控制和处理作业流 提供一套操作命令 提供设备驱动和I/O控制功能 提供库程序和程序装配功能 提供简单的文件管理功能
39
管理程序阶段 (4) 程序算题过程 管理程序 还有未处理 作业 结束 读Job卡登记新作业 取下一个作业步控制卡 End 作业卡 执行作业步
管理程序阶段 (4) 程序算题过程 管理程序 还有未处理 作业 取下一个作业步控制卡 读Job卡登记新作业 End 作业卡 回收资源撤离作业 执行作业步 作业步 正常结束 分析原因 作相应处理 作业继续执行 转向某作业步 S F 结束
40
1.2.3多道程序设计与操作系统形成(1) 1. 多道程序设计的概念
1.2.3多道程序设计与操作系统形成(1) 1. 多道程序设计的概念 多道程序设计是指允许多个程序同时进入一个计算机系统的主存储器并启动进行计算的方法 从宏观上看: 从微观上看: 引入多道程序设计技术的目的: 例:计算某个数据处理问题,输入500个字符(化78ms),经CPU处理52ms后,将结果2000个字符存到磁带上(化20ms) ,重复进行,直至输入数据全部处理完毕 CH-6
41
多道程序设计例(1) 单道算题运行时处理器的使用效率
78 输入机 处理器 磁带机 130 150 228 280 300 378 430 450 时 间
42
多道程序设计例(2) 为提高效率,让计算机同时接受两道算题,当第一道程序在等待外围设备的时候,让第二道程序运行,降低CPU空等时间,处理器利用率显然可以有所提高 例如,计算机还接受了另一算题:从另一台磁带机上输入2000个字符,经42毫秒的处理后,从行式打印机上输出两行(约化 88ms)
43
多道程序设计例(3) 两道算题运行时处理器的使用效率
78 输入机 处理器 磁带机1 130 150 228 280 300 378 430 450 时 间 磁带机2 打印机 P1 P2
44
多道程序设计的效果(1) 52 /(78十52十20)≈ 35% (52+42)/ 150 ≈ 63%
45
多道程序设计的效果(2) 采用多道程序设计提高了效率,即增长了单位时间的算题量,但对每道程序来说,却延长了计算时间。 多道程序设计技术提高资源利用率和系统吞吐率是以牺牲用户的响应时间为代价的。
46
多道程序设计与操作系统形成 2 多道程序设计的道数问题
多道程序设计与操作系统形成 2 多道程序设计的道数问题 •多道程序设计的道数多少不是任意的 •例如,两道程序都要用打印机,若系统只有一台,就算它们同时接受进入计算机内存运行,未必能提高效率。 •内存储器的容量和用户的响应时间等因素也影响多道程序道数的多寡。
47
多道程序设计与操作系统形成 多道程序设计的道数问题(续)
假如一道程序等待I/O操作的时间占其运行时间的比例为p,当内存中有n道程序时,所有程序都等待I/O的概率是pn,那么, CPU利用率=1-pn n称多道程序的道数或度数,可见CPU的利用率是n的函数
48
多道程序设计的优点与缺点 提高了CPU的利用率 提高了内存和I/O设备的利用率 改进了系统的吞吐率 充分发挥了系统的并行性
其主要缺点是: 作业周转时间延长
49
多道程序设计与操作系统形成 3 多道程序设计系统与多重处理系统
多重处理系统是指配置了多个物理CPU,能真正同时执行多道程序的系统。要有效地使用多重处理系统,必须采用多道程序设计技术;反过来,多道程序设计不一定要求有多重处理系统支持。
50
多道程序设计与操作系统形成 实现多道程序设计必须妥善地解决三个问题: 存储保护与程序浮动; 处理器的管理和调度; 系统资源的管理和调度。
51
多道程序设计与操作系统形成 操作系统资源管理水平和操作自动化程度进一步提高,表现在: 1. 实现了计算机操作过程自动化。
1. 实现了计算机操作过程自动化。 2. 资源管理水平有了提高。 3. 提供虚存管理功能。 4. 支持分时操作。 5.文件管理功能有改进。 6. 多道程序设计趋于完善。
52
1.2.4操作系统的发展与分类 三种基本的操作系统类型: 1 批处理操作系统 2 分时操作系统 3 实时操作系统
53
批处理操作系统 用户把要计算的应用问题编成程序,连同数据和作业说明书一起交给操作员,操作员集中一批作业,输入到计算机中。然后,由操作系统来调度和控制作业的执行。这种批量化处理作业方式的操作系统称为批处理操作系统(Batch OS) 批处理系统的主要特征: 用户脱机工作 成批处理作业 多道程序运行 作业周转时间长
54
分时操作系统 允许多个联机用户同时使用一台计算机系统进行计算的操作系统称分时操作系统 (Time Sharing Operating System) 分时系统的特征 同时性 独立性 及时性 交互性
55
分时与批处理操作系统的区别 目标不同 适应作业的性质不同 资源使用率不同 作业控制方式不同
56
实时操作系统(1) 三种典型的实时系统: 过程控制系统(生产过程控制) 信息查询系统(情报检索) 事务处理系统(银行业务)
57
实时操作系统(2) 实时操作系统(Real Time OS)指当外界事件或数据产生时,能接收并以足够快的速度予以处理,处理的结果又能在规定时间内来控制监控的生产过程或对处理系统作出快速响应,并控制所有实时任务协调一致运行的操作系统 实时控制操作系统的处理流程: • 数据采集 • 加工处理: • 操作控制: • 反馈处理:
58
操作系统的进一步发展 操作系统发展的主要动力: 1.器件快速更新换代。 2.计算体系结构不断发展。 3.提高计算机系统资源利用率的需要。
4.让用户使用计算机越来越方便的需要。 5.满足用户新要求,提供给用户新服务。
59
微机操作系统 新一代微机操作系统具有以下功能:GUI、多用户和多任务、虚拟存储管理、网络通信支持、数据库支持、多媒体支持、应用编程支持API
具有以下特点 (1)开放性 (2)通用性 (3)高性能 (4)采用微内核结构 CH1-12
60
并行操作系统 计算机的应用每前进一步都要求增加计算机的处理能力。为达到极高性能,除提高元器件速度外,必须改进计算机系统结构,这主要采用增加同一时间间隔内的操作数量,通过并行处理(Parallel processing)技术,研究并行计算机
61
网络操作系统 为了使网络中的计算机能方便地传送信息和共享网络资源而加到网络中的计算机上的操作系统称网络操作系统(Network Operating System) 网络操作系统应该具有的功能: 1)网络通信 2)资源管理 3)网络管理 4)网络服务
62
分布式操作系统 分布式计算机系统由多台分散的计算机经互连网络连接而成, 具备四项基本功能 进程通信 资源共享 并行计算 网络管理
分布式操作系统与单机集中式操作系统的主要区别在于: 资源管理 进程通信: 系统结构:
63
嵌入式操作系统(1) •3C:计算机是贯穿社会信息化的核心技术,网络和通信是社会信息化赖以存在的基础设施,电子消费产品是人与社会信息化的主要接口。 嵌入式(计算机)系统的应用环境带来了对嵌入式系统软件 (embedded software)的要求
64
嵌入式操作系统(2) 嵌入式OS指运行在嵌入式(计算机)环境中,对整个系统及所有操作的各种部件、装置等资源进行统一协调、处理、指挥和控制的系统软件 嵌入式OS具有通常操作系统的功能,包括:与硬件相关的底层软件、操作系统核心功能(文件系统、存储管理、设备管理、进程管理、处理器管理和中断处理)、功能强大的还提供图形界面、通信协议、小型浏览器等设施
65
嵌入式操作系统特征 微型化: 可定制: 实时性: 可靠性: 易移植性: 开发环境:
66
嵌入式操作系统实例 Windows CE是微软开发的,用于通信、娱乐和移动式计算设备的操作系统(平台) ,它是微软“维纳斯” 计划的核心。CE是具有开放性的,32位多任务、多线程嵌入式操作系统 Personal Java是SUN公司开发的用于家庭、办公室和移动信息电器创建连网应用的Java应用环境,适宜更新换代快的信息电器的应用开发 SUN公司又开发出专门用于信息电器应用开发的实时操作系统Java OS for Consumers 和适用于存储空间有限的专用实时操作系统Embedded Java
67
1.2 操作系统的发展和形成 1.2.2 管理程序阶段 1.2.3 多道程序设计与操作系统的形成 1.2.4 操作系统的分类
1.2.1 人工操作阶段 1.2.2 管理程序阶段 1.2.3 多道程序设计与操作系统的形成 操作系统的分类
68
1.2.1 人工操作阶段 算题过程 人工把源程序用穿孔机穿制在卡片或纸带上 将准备好的汇编解释程序或编译系统装入计算机
人工操作阶段 算题过程 人工把源程序用穿孔机穿制在卡片或纸带上 将准备好的汇编解释程序或编译系统装入计算机 汇编程序或编译系统读入人工装在输入机上的穿孔卡或穿孔带 执行汇编过程或编译过程,产生目标程序,并输出目标卡片迭或纸带 通过引导程序把装在输入机上的目标程序读入计算机 启动目标程序执行,从输入机上读入人工装好的数据卡或数据带 产生计算结果,执行结果从打印机上或卡片机上输出
69
人工操作阶段的缺点 用户上机独占全机资源,造成资源利用率不高,系统效率低下 手工操作多,浪费处理机时间,也极易发生差错
数据的输入,程序的执行、结果的输出均联机进行,从上机到下机的时间拉得非常长
70
1.2.2管理程序阶段(1) 工作流程如下: 操作员集中一批用户提交的作业,由管理程序将作业从纸带或卡片机输入到磁带上,每当一批作业输入完成后,管理程序自动把磁带上的第一个作业装入内存,并把控制权交给作业。当该作业执行完成后,作业又把控制权缴回管理程序,管理程序再调入磁带上的第二个作业到内存执行 CH-5
71
管理程序阶段(2) 管理程序内存组织 . 中 断 处 理 设 备 驱 动 作 业 定 序 命令和JCL语言解释器 用 户 程 序 区
72
管理程序阶段(3) 自动控制和处理作业流 提供一套操作命令 提供设备驱动和I/O控制功能 提供库程序和程序装配功能 提供简单的文件管理功能
管理程序Monitor的主要功能: 自动控制和处理作业流 提供一套操作命令 提供设备驱动和I/O控制功能 提供库程序和程序装配功能 提供简单的文件管理功能
73
管理程序阶段 (4) 程序算题过程 管理程序 还有未处理 作业 结束 读Job卡登记新作业 取下一个作业步控制卡 End 作业卡 执行作业步
管理程序阶段 (4) 程序算题过程 管理程序 还有未处理 作业 取下一个作业步控制卡 读Job卡登记新作业 End 作业卡 回收资源撤离作业 执行作业步 作业步 正常结束 分析原因 作相应处理 作业继续执行 转向某作业步 S F 结束
74
1.2.3多道程序设计与操作系统形成(1) 1. 多道程序设计的概念
1.2.3多道程序设计与操作系统形成(1) 1. 多道程序设计的概念 多道程序设计是指允许多个程序同时进入一个计算机系统的主存储器并启动进行计算的方法 从宏观上看: 从微观上看: 引入多道程序设计技术的目的: 例:计算某个数据处理问题,输入500个字符(化78ms),经CPU处理52ms后,将结果2000个字符存到磁带上(化20ms) ,重复进行,直至输入数据全部处理完毕 CH-6
75
多道程序设计例(1) 单道算题运行时处理器的使用效率
78 输入机 处理器 磁带机 130 150 228 280 300 378 430 450 时 间
76
多道程序设计例(2) 为提高效率,让计算机同时接受两道算题,当第一道程序在等待外围设备的时候,让第二道程序运行,降低CPU空等时间,处理器利用率显然可以有所提高 例如,计算机还接受了另一算题:从另一台磁带机上输入2000个字符,经42毫秒的处理后,从行式打印机上输出两行(约化 88ms)
77
多道程序设计例(3) 两道算题运行时处理器的使用效率
78 输入机 处理器 磁带机1 130 150 228 280 300 378 430 450 时 间 磁带机2 打印机 P1 P2
78
多道程序设计的效果(1) 52 /(78十52十20)≈ 35% (52+42)/ 150 ≈ 63%
79
多道程序设计的效果(2) 采用多道程序设计提高了效率,即增长了单位时间的算题量,但对每道程序来说,却延长了计算时间。 多道程序设计技术提高资源利用率和系统吞吐率是以牺牲用户的响应时间为代价的。
80
多道程序设计与操作系统形成 2 多道程序设计的道数问题
多道程序设计与操作系统形成 2 多道程序设计的道数问题 •多道程序设计的道数多少不是任意的 •例如,两道程序都要用打印机,若系统只有一台,就算它们同时接受进入计算机内存运行,未必能提高效率。 •内存储器的容量和用户的响应时间等因素也影响多道程序道数的多寡。
81
多道程序设计与操作系统形成 多道程序设计的道数问题(续)
假如一道程序等待I/O操作的时间占其运行时间的比例为p,当内存中有n道程序时,所有程序都等待I/O的概率是pn,那么, CPU利用率=1-pn n称多道程序的道数或度数,可见CPU的利用率是n的函数
82
多道程序设计的优点与缺点 提高了CPU的利用率 提高了内存和I/O设备的利用率 改进了系统的吞吐率 充分发挥了系统的并行性
其主要缺点是: 作业周转时间延长
83
多道程序设计与操作系统形成 3 多道程序设计系统与多重处理系统
多重处理系统是指配置了多个物理CPU,能真正同时执行多道程序的系统。要有效地使用多重处理系统,必须采用多道程序设计技术;反过来,多道程序设计不一定要求有多重处理系统支持。
84
多道程序设计与操作系统形成 实现多道程序设计必须妥善地解决三个问题: 存储保护与程序浮动; 处理器的管理和调度; 系统资源的管理和调度。
85
多道程序设计与操作系统形成 操作系统资源管理水平和操作自动化程度进一步提高,表现在: 1. 实现了计算机操作过程自动化。
1. 实现了计算机操作过程自动化。 2. 资源管理水平有了提高。 3. 提供虚存管理功能。 4. 支持分时操作。 5.文件管理功能有改进。 6. 多道程序设计趋于完善。
86
1.2.4操作系统的发展与分类 三种基本的操作系统类型: 1 批处理操作系统 2 分时操作系统 3 实时操作系统
87
批处理操作系统 用户把要计算的应用问题编成程序,连同数据和作业说明书一起交给操作员,操作员集中一批作业,输入到计算机中。然后,由操作系统来调度和控制作业的执行。这种批量化处理作业方式的操作系统称为批处理操作系统(Batch OS) 批处理系统的主要特征: 用户脱机工作 成批处理作业 多道程序运行 作业周转时间长
88
分时操作系统 允许多个联机用户同时使用一台计算机系统进行计算的操作系统称分时操作系统 (Time Sharing Operating System) 分时系统的特征 同时性 独立性 及时性 交互性
89
分时与批处理操作系统的区别 目标不同 适应作业的性质不同 资源使用率不同 作业控制方式不同
90
实时操作系统(1) 三种典型的实时系统: 过程控制系统(生产过程控制) 信息查询系统(情报检索) 事务处理系统(银行业务)
91
实时操作系统(2) 实时操作系统(Real Time OS)指当外界事件或数据产生时,能接收并以足够快的速度予以处理,处理的结果又能在规定时间内来控制监控的生产过程或对处理系统作出快速响应,并控制所有实时任务协调一致运行的操作系统 实时控制操作系统的处理流程: • 数据采集 • 加工处理: • 操作控制: • 反馈处理:
92
操作系统的进一步发展 操作系统发展的主要动力: 1.器件快速更新换代。 2.计算体系结构不断发展。 3.提高计算机系统资源利用率的需要。
4.让用户使用计算机越来越方便的需要。 5.满足用户新要求,提供给用户新服务。
93
微机操作系统 新一代微机操作系统具有以下功能:GUI、多用户和多任务、虚拟存储管理、网络通信支持、数据库支持、多媒体支持、应用编程支持API
具有以下特点 (1)开放性 (2)通用性 (3)高性能 (4)采用微内核结构 CH1-12
94
并行操作系统 计算机的应用每前进一步都要求增加计算机的处理能力。为达到极高性能,除提高元器件速度外,必须改进计算机系统结构,这主要采用增加同一时间间隔内的操作数量,通过并行处理(Parallel processing)技术,研究并行计算机
95
网络操作系统 为了使网络中的计算机能方便地传送信息和共享网络资源而加到网络中的计算机上的操作系统称网络操作系统(Network Operating System) 网络操作系统应该具有的功能: 1)网络通信 2)资源管理 3)网络管理 4)网络服务
96
分布式操作系统 分布式计算机系统由多台分散的计算机经互连网络连接而成, 具备四项基本功能 进程通信 资源共享 并行计算 网络管理
分布式操作系统与单机集中式操作系统的主要区别在于: 资源管理 进程通信: 系统结构:
97
嵌入式操作系统(1) •3C:计算机是贯穿社会信息化的核心技术,网络和通信是社会信息化赖以存在的基础设施,电子消费产品是人与社会信息化的主要接口。 嵌入式(计算机)系统的应用环境带来了对嵌入式系统软件 (embedded software)的要求
98
嵌入式操作系统(2) 嵌入式OS指运行在嵌入式(计算机)环境中,对整个系统及所有操作的各种部件、装置等资源进行统一协调、处理、指挥和控制的系统软件 嵌入式OS具有通常操作系统的功能,包括:与硬件相关的底层软件、操作系统核心功能(文件系统、存储管理、设备管理、进程管理、处理器管理和中断处理)、功能强大的还提供图形界面、通信协议、小型浏览器等设施
99
嵌入式操作系统特征 微型化: 可定制: 实时性: 可靠性: 易移植性: 开发环境:
100
嵌入式操作系统实例 Windows CE是微软开发的,用于通信、娱乐和移动式计算设备的操作系统(平台) ,它是微软“维纳斯” 计划的核心。CE是具有开放性的,32位多任务、多线程嵌入式操作系统 Personal Java是SUN公司开发的用于家庭、办公室和移动信息电器创建连网应用的Java应用环境,适宜更新换代快的信息电器的应用开发 SUN公司又开发出专门用于信息电器应用开发的实时操作系统Java OS for Consumers 和适用于存储空间有限的专用实时操作系统Embedded Java
101
1.3操作系统提供的服务和 用户接口 1.3.2 操作系统提供的用户接口 1.3.3 程序接口与系统调用 1.3.4 操作接口与系统程序
1.3.1 操作系统提供的基本服务 1.3.2 操作系统提供的用户接口 1.3.3 程序接口与系统调用 1.3.4 操作接口与系统程序
102
1.3.1操作系统提供的基本服务 •创建程序 •执行程序 •数据I/O •信息存取 •通信服务 •错误检测和处理
还具有另外一些功能:资源分配,统计, 保护。
103
1.3.2操作系统提供的用户接口 系统调用 操作命令 或 JCL 操 作 系 统 裸 机 (操作接口) (程序接口)
104
操作系统提供的程序接口(1) 程序接口又称应用编程接口API(Application Programming Interface),允许运行程序调用操作系统的服务和功能 程序接口由一组系统调用(System Call))组成,用户程序使用“系统调用”就可获得操作系统的底层服务,使用或访问系统的各种软硬件资源 在程序设计语言(如C语言)中,往往提供与各系统调用对应的库函数,应用程序可通过对应的库函数来使用系统调用 库函数的目的是隐藏访管指令细节,使系统调用更象过程调用,但一般地说,库函数属于用户程序而非系统程序
105
操作系统提供的用户接口(2) UNIX/Linux系统程序、库函数、系统调用的分层关系
(进程管理、存储管理、文件管理、设备管理等) 标准库函数 (打开、关闭、读、写、创建、撤销等) 标准系统程序(实用程序) (汇编、编译、编辑、Shell等) 用户 用户接口 库函数 接口 系统调用 硬件 (处理器、存储器、磁盘、打印机、终端等) 用 户 态 核 心
106
操作系统提供的操作接口 操作接口又称作业级接口,操作系统为用户提供的操作控制计算机工作和提供服务手段的集合,通常有操作控制命令、图形操作界面(命令)、以及批处理系统提供的作业控制语言(命令)等等。
107
1.3.3 程序接口与系统调用 系统调用的分类 (1)进程和作业管理: (2)文件操作: (3)设备管理: (4)内存管理:
系统调用的分类 (1)进程和作业管理: (2)文件操作: (3)设备管理: (4)内存管理: (5)信息维护: (6)通信:
108
系统调用的实现要点 二. 是设计一张系统调用入口地址表,每个入口地址都指向一个系统调用的处理程序,有的系统还包含系统调用自带参数的个数;
一. 是编写系统调用处理程序; 二. 是设计一张系统调用入口地址表,每个入口地址都指向一个系统调用的处理程序,有的系统还包含系统调用自带参数的个数; 三. 是陷入处理机制需开辟现场保护区,以保存发生系统调用时的处理器现场。
109
系统调用的处理过程 系统调用陷入机构 System Call 用户程序 系统调用处理子程序 取系统功能号 找入口地址表 相应入口地址
SUB0 SUB1 SUBi SUBn A1 Ai An … 系统调用处理子程序 取系统功能号 找入口地址表 相应入口地址 结束处理 恢复现场 保护CPU现场 陷入指令 系统调用陷入机构 入口地址表
110
系统调用的参数传递 一是由访管指令或陷入指令自带参数, 直接参数 间接参数 二是通过CPU的通用寄存器传递参数,或
在内存的一个块或表中存放参数,其首地址送入寄存器,实现参数传递。 三是在内存中开辟专用堆栈区域传递参数。
111
操作接口与系统程序 操作接口又称作业(或功能)级接口,是操作系统为用户操作控制计算机工作和提供服务的手段的集合,通常可借助操作控制命令、图形操作界面(命令)、以及作业控制语言(命令)等来实现 作业控制方式 联机作业控制方式与作业控制语言 脱机作业控制方式与操作控制命令
112
联机用户接口—操作控制命令 •命令行方式 •批命令方式 •图形化方式
113
脱机用户接口—作业控制语言 •批处理接口:作业控制语言JCL( Job Control Language)
114
1.4 操作系统的结构设计 1.4.1 操作系统的构件 1.4.2 整体式结构的操作系统 1.4.3 层次式结构的操作系统
1.4.4 虚拟机结构的操作系统 1.4.5 客户/服务器与微内核结构的操作系统 1.4.6 操作系统的运行模型 1.4.7 Windows 2000/ XP的客户/服务器结构
115
1.4.1 操作系统的结构设计 操作系统设计呈现出以下特征: 复杂程度高, 生成周期长, 正确性难保证 。 操作系统结构设计有两层含义
研究操作系统程序的数据结构和控制结构 组成操作系统程序的构造过程和方法。采用不同的构件和构造方法可组成不同结构的操作系统
116
操作系统的构件 内核 进程 线程 类程 管程
117
操作系统的内核 内核不是进程,是提供支持系统运行的基本功能的一组程序模块,有了内核的支撑,进程运行环境得到改善,安全性得到保证,系统效率就能提高。 分类:微内核和单内核。 Linux是单内核操作系统 ,Mach是微内核操作系统 ,Windows2000/XP改进的C/S结构 。
118
内核的基本功能及属性 2)短程调度 3)原语管理 基本属性: 1)内核是由中断驱动的 2)内核的执行是连续的 3)内核在屏蔽中断状态下执行
基本功能: 1)中断处理 2)短程调度 3)原语管理 基本属性: 1)内核是由中断驱动的 2)内核的执行是连续的 3)内核在屏蔽中断状态下执行 4)内核可以使用特权指令
119
虚拟机具有的特性 1)虚拟机没有中断, 2)虚拟机为每个进程提供了一台虚拟处理器, 3)虚拟机为进程或模块提供了功能较强的指令系统。
内核和裸机组成了一台虚拟机具有以下特性: 1)虚拟机没有中断, 2)虚拟机为每个进程提供了一台虚拟处理器, 3)虚拟机为进程或模块提供了功能较强的指令系统。
120
内核被触发和内核处理流程 运行进程 发现中 发现中断源 装配中断码 交换PSW 自愿中断事件 保护现场 分析和传递参数 原语? 原语处理
创建系统进程 系统调用处理 强迫中断事件 机器故障中断处理 I/O中断处理 程序中断处理 队列调整 低级调度 是 否 管态 目态 硬件完成 操作系统内核完成 外中断处理 内核被触发和内核处理流程
121
操作系统体系结构分类 整体式结构 层次式结构 虚拟机结构 客户服务器及微内核结构
122
1.4.2 整体式结构的操作系统 •主要设计思想: •主要设计步骤: •主要优点和缺点:
操作系统的整体式结构又叫模块组合法,早期操作系统(如IBM操作系统)采用这种结构设计方法, •主要设计思想: •主要设计步骤: •主要优点和缺点:
123
1.4.3 层次式结构的操作系统 层次结构的全序和半序式 层次结构的由底向上方法和自顶向下方法
层次式结构是把操作系统的实现划分为若干模块,这些模块按功能的调用次序排列成若干层次,各层之间只能是单向依赖或单向调用关系,这样不但系统结构清晰,而且不构成循环。 层次结构的全序和半序式 层次结构的由底向上方法和自顶向下方法
124
层次式结构的操作系统的分层原则 1)把与机器硬件有关的程序模块放在最底层 2)反映系统外特性的软件放在最外层
3)按照实现操作系统命令时模块间的调用次序或按进程间单向发送信息的顺序来分层 4)为进程的正常运行创造环境和提供条件的内核程序应该尽可能放在底层
125
层次式结构的操作系统特征 层次结构的优点:整体问题局部化,系统的正确性可通过各层正确性来保证。增加、修改或替换层次不影响其他层次,有利于系统的维护和扩充 层次结构是分层单向依赖的,必须要建立模块(进程)间的通信机制,系统花费在通信上的开销较大,系统的效率也就会降低
126
层次式结构的操作系统例 THE系统第一次提出层次结构设计方法 第0层完成中断处理、定时器管理和处理器调度
第1层内存和磁鼓管理,为进程分配内存空间,并自动实现内存和磁鼓对换区的数据交换 第2层处理进程与操作员间的通信,为每个进程生成虚操作员控制台 第3层I/O管理,管理信息缓冲区 第4层用户(进程)层 第5层系统操作员(进程)层
127
1.4.4 虚拟机结构的操作系统 物理计算机资源通过多重化和共享技术可改造成多个虚拟机。
基本做法:通过用一类物理设备来模拟另一类物理设备,或通过分时地使用一类物理设备,把一个物理实体改变成若干个逻辑上的对应物。物理实体是实际存在的,而逻辑上的对应物是虚幻的、感觉上的。
128
虚拟机结构的操作系统示例 进程 程序设 计接口 内核 虚机器 硬件 虚拟机概念结构 370虚拟机 系统调用 CMS CMS CMS 陷入
I/O指令 运行CMS的VM370虚拟机器 虚拟机概念结构 370裸机 VM370
129
1.4.5 客户/服务器与微内核结构操作系统 将操作系统分成两大部分 运行在用户态并以C/S方式活动的进程; 运行在核心态的内核
运行在核心态的内核把该消息传给服务器;服务器执行相应操作,再通过内核用消息把结果返回给用户。内核实现极少任务,主要起信息验证、交换的作用,因而,称微内核(Microkernel),这种OS结构也就称为客户/服务器与微内核结构
130
客户/服务器与微内核结构操作系统示意 1) 分层结构内核 2) 微内核 进程管理 硬件 存储管理 设备管理 文件管理 作业管理 内 核 模
式 微内核 客户进程 安全服务 虚存管理器 文件服务器 设备驱动程序 用 户
131
客户/服务器与微内核 结构操作系统的优点 1)一致性接口 2)可扩充性 3)可移植性 4)可靠性 5)支持分布式系统
6)支持面向对象的操作系统
132
1.4.6 操作系统的运行模型 操作系统本身是一组程序,也在处理器上运行,那么,操作系统程序是否组织成进程?它是如何控制的、怎样执行的呢?它在什么模式下运行呢? 从操作系统的运行方式来看,可分成:非进程内核模型、OS功能(函数)在用户进程内执行的模型和OS功能(函数)作为进程执行的模型。
133
操作系统的运行模型示例(1) 1)非进程内核模型
操作系统内核 P1 P2 … Pn
134
操作系统运行模型示例(2) 2)OS功能在用户进程内执行的模型
进程切换函数 OS func P1 P2 … Pn
135
操作系统运行模型示例(3) OS功能在用户进程内执行模型 的进程映像
进程控制块 用户堆栈 用户私有地址空间 (程序、数据) 共享地址空间 内核堆栈
136
操作系统的运行模型示例(4) 3)OS功能作为独立进程执行的模型
进程切换函数 P1 P2 … Pn OS1 OS2 OSm
137
Windows2000/XP客户/服务器结构(1) 结构简框
系统 进程 服务 应用 程序 环境子系统 子系统动态链接库 用户态 核心态 执行体 核心 设备驱动程序 硬件抽象层 图形 引擎
138
Windows2000/ XP客户/服务器结构(2)
系统线程 NTDLL.DLL Service.exe RPC Spooler 事件日志 服务进程 任务管理器 IE浏览器 用户程序 子系统DLL 应用程序 POSIX OS2 WIN32 环境子系统 服务管理器 安全验证 Win登录 会话管理器 系统进程 核 心 态 用 户 Win32 User GDI 图形驱动器 硬件抽象层(HAL) 设备驱动程序 内核 对象管理器 核心态可调用接口(执行程序API) 系统服务调度进程 I/O 管理器 文件缓存管理 进程线 程管理 安全访问监视 虚存 管理 局部过 程调用 注册表配 置管理器 电源 即插即用管理 硬件接口(总线、I/O、时钟、计时器、中断、DMA、CACHE控制器)
139
系统程序(1) 系统程序又称标准程序或实用程序(Utilities),虽非操作系统的核心,但却必不可少,为用户程序的开发、调试、执行、和维护解决带有共性的问题或执行公共操作, 操作系统以外部操作命令形式向用户提供系统程序。它的功能和性能很大程度上反映了操作系统的功能和性能。
140
系统程序(2) 系统程序的分类: •文件管理 •状态信息 •程序设计语言支持 •程序的装入和执行支持 •通信 •其它软件工具
141
1.5流行操作系统简介 1.5.1 D O S 操作系统 1.5.2 Windows操作系统 1.5.3 UNIX操作系统
1.5.4 自由软件和Linux操作系统 1.5.5 IBM系列操作系统 1.5.6 其他流行的操作系统
142
1.5.1 D O S 操作系统 DOS:单用户单任务的微机操作系统
DOS的主要功能有:命令处理、文件管理、设备管理、及简单的CPU调度和内存管理 DOS的主要特点:系统开销小,运行效率高,适用于微型机 DOS的主要缺点:无法发挥硬件能力,缺乏对数据库、网络通信的支持,没有通用的应用程序接口,用户界面不友善
143
1.5.2 Windows操作系统 (1) Windows操作系统概况 (2)Windows的主要特点 (3)Windows 95/98
(4) Windows NT (5) Windows 2000 (6) Windows XP (7) Windows CE
144
UNIX操作系统(1) 1 雏形阶段 2成型阶段 3商业化阶段 4标准化阶段
145
U N I X 操作系统 家族(2) V1(71年) V3(73年) V6(75年) V9 V10(89年) Plan9 4.2BSD
PWB PWB2 systemⅢ systemⅤ Ⅴ.2(84年) Ⅴ.3(87年) Ⅴ.3.2 SVR4(89) Xenix Xenix2 SCO IBM AIX SUN OS Solaris OSF1 Mach Dec OSF Digital UNIX Tur64 UNIX HP UX Linux U N I X 操作系统 家族(2)
146
UNIX操作系统(3) UNIX的体系结构 •包含四个基本成分: 内核(Kernel)、 Shell、 文件系统 公用程序
147
UNIX操作系统(4) •UNIX的主要特点 •UNIX的发展趋势
•计算机发展史上,没有哪个程序设计语言像C那样得到如此广泛的流行,也没有哪个操作系统像UNIX那样获得普遍的青睐和应用,对整个软件技术和软件产业都产生了深远的影响, • 1983年Ritcchie和Thompson共同获得了ACM图灵奖和软件系统奖。
148
UNIX类操作系统(1) Solaris操作系统
SUN Microsystem开发的Solaris是具有完全SMP和多线程支持的32位分布式计算环境的UNIX操作系统变种。 Solaris2.x基于SPARC和Intel平台,可移植到任何新的主流平台上。 1998年10月,SUN公司推出64位操作系统Solaris7.0,在网络特性、可靠性、兼容性、互操作性、易于配置和管理方面均有很好改进。
149
UNIX类操作系统(2) SUN NFS(Network File System)
NFS提供在异种机、异种操作系统的网络环境下共享文件的有效方法。基于C/S模式,使用UDP/FP协议和RPC机制,主要特点: ①透明的文件访问和传送,使用本地或远程文件没有区别,真正实现了分布式数据处理; ②易于扩充新的资源或软件,不需改变现有工作环境; ③性能高、可靠性好、具有可伸缩性。
150
1.5.4自由软件和Linux操作系统 商业软件 共享软件 自由软件
商业软件 共享软件 自由软件 自由软件是指遵循通用公共许可证GPL(General public License)规则,保证您有使用上的自由、获得源程序的自由,可以自己修改的自由,可以复制和推广的自由,也可以有收费的自由的一种软件 GNU的含义是GNU is not UNIX的意思,由自由软件的倡导者Richard stallman先生指导并启动的一个组织成立了自由软件基金会 GNU写出一套和UNIX兼容,但又是自由软件的UNIX系统,GNU 完成了大部分外围工作,包括外国命令gcc/ gcc++, shell等,最终Linux内核为GNU工程划上了一个完美句号
151
Linux操作系统 Linux是由芬兰藉科学家Linus Torvalds于1991年编写完成的操作系统内核。
许多人对Linux进行改进、扩充、完善,做出 了关 键 性 贡 献。Linux由最初一个人写的原型变成在Internet上由无数志同道合的程序高手们参与的一场运动
152
Linux操作系统的技术特点 继承了UNIX的优点,有许多改进,是集体智慧的结晶,能紧跟技术发展潮流,具有极强的生命力;
通用操作系统,可作为Internet上的服务器;网关路由器;可用做文件和打印服务器;也可供个人使用; 内置通信联网功能,可让异种机联网; 开放源代码,有利于发展各种特色的操作系统; 符合POSIX标准,各种UNIX应用可方便地移植到Linux下 提供庞大的管理功能和远程管理功能; 支持大量外部设备; 支持32种文件系统, 提供GUI,有图形接口X-Windows,有多种窗口管理器; 支持并行处理和实时处理,能充分发挥硬件性能; 可自由获得源代码,在Linux平台上开发软件成本低
153
1.5.5 IBM系列操作系统 S/390企业级服务器 ,运行OS/390、VM和DOS/VSE操作系统
RS/6000系列UNIX服务器及SP结点群集计算机 ,运行AIX操作系统 S/390企业级服务器 ,运行OS/390、VM和DOS/VSE操作系统 Definity通用服务器,运行基于Intel的Windows NT、Netware等操作系统 AS/400服务器 首次采用64位RISC技术,运行OS400操作系统。 PC微型机,运行Windows9x、OS2、MS-DOS等操作系统。
154
1.5.6 其它流行的操作系统 Mach操作系统 · Mach的发展历史 · Mach的设计目标 · Mach采用的主要技术
155
Macintosh操作系统 美国Apple公司推出Macintosh机操作系统。MAC是全图形化界面和操作方式的鼻祖。由于它拥有全新的窗口系统、强有力的多媒体开发工具和操作简便的网络结构而风光一时 MAC操作系统的主要特点有 1)采用面向对象技术; 2)全图形化界面; 3)虚拟存储管理技术; 4)应用程序间的相互通信; 5)强有力的多媒体功能; 6)简便的分布式网络支持; 7)丰富的应用软件。
156
Netware操作系统 Netware是Novell公司开发的网络操作系统。具有高性能文件系统、支持DOS、OS/2、MAC、及UNIX文件格式;具有三级容错,可靠性高;安全保密性好;提供开放的开发环境。 Netware lite是廉价点对点NOS,支持25个用户,每个结点可作为对等机。Netware2.2是为小单位和工作组开发的NOS,满足工作组用户的各种需要 Netware3.1x是32位NOS,更能发挥高档PC的计算能力,支持用户可达256个,能支持DOS,Windows、Macintosh、OS/2和UNIX工作站访问Netware服务器。 Netware4.xx是其NOS新版,增强了网络目录服务,支持用户数可达1000个。
157
MINIX操作系统 荷兰Vrije大学计算机系教授Andrew S. Tanenbavm开发了一个与UNIX兼容,然而内核全新的操作系统
Minix没有借用AT & T一行代码,学生可以通过它来剖析一个操作系统,研究其内部如何运作,其名称源于‘小UNIX’,因为它非常简洁,短小,故称Minix Minix用C语言编写,着眼于可读性好,代码中加入了数千行注释。可运行在IBM PC,Macintosh,Sparc,Amiga,Atari等许多平台上 Minix恪守“Small is Beautiful”的原则,早期Minix没有硬盘就能运行。目前常用的是Minix2.0,具有多任务处理能力,可支持三个用户同时工作,支持TCP/IP,支持4GB内存。提供5个编辑器、200个实用程序
Similar presentations