Download presentation
Presentation is loading. Please wait.
1
操作系统原理 Principles of Operating System
2
教师信息 姓名: 胡贯荣 单位: 计算机学院 研究方向:智能控制与嵌入式系统
3
课程信息 课时 64学时(52上课、12上机) 教材 《操作系统原理》第四版 考核方式 笔试×80%+平时成绩×20%
庞丽萍 华中科技大学出版社 考核方式 笔试×80%+平时成绩×20% 平时成绩=3次上机+5次作业+2次课堂
4
学习操作系统的重要性 加深对OS的理解,有利于深入编程 编程时借鉴操作系统的设计思想和算法
要开发正确高效的应用程序,必须深入了解操作系统的内部实现机制 编程时借鉴操作系统的设计思想和算法 操作系统中所用的许多概念和技巧可以推广应用到其他领域
5
学习操作系统的重要性(续) 选择购买操作系统 设计操作系统或者修改现有的系统 我们并不总使用 Win98/NT/2000/XP
存在人们意识不到的大量“操作系统” 嵌入式系统(Embedded OS)
6
操作系统课程的特点 抽象性(从实践总结出原理) 涉及面广(并行程序,性能问题,结构问题,程序方法论,软件工程,等等) 错综复杂,纵横交叉
7
如何学习操作系统 掌握操作系统的基本概念、基本原理及实现技术 操作系统实例分析 UNIX LINUX
8
第一章 绪 论 (一) 操作系统的地位和作用 (二) 操作系统的形成和发展 (三) 操作系统的定义 (四) 操作系统的功能
第一章 绪 论 (一) 操作系统的地位和作用 (二) 操作系统的形成和发展 (三) 操作系统的定义 (四) 操作系统的功能 (五) UNIX操作系统简介 (六) 常用操作系统
9
(一) 操作系统的地位和作用 一、计算机系统的组成 二、操作系统的地位 三、引入操作系统的目标 四、操作系统的作用
10
一、计算机系统的组成 存储程序式计算机--Von Neuman 型计算机 1. 基本部件 CPU (运算器、控制器) 主存储器
I/O设备(输出设备、输入设备) 2. 特点:集中顺序过程控制 集中控制:由CPU集中管理 顺序性:程序计数器控制 过程性:模拟人们手工操作过程
11
一、计算机系统的组成(续) 1、硬件 组成计算机系统的所有的电子的、机械的、磁性的、光学的装置和部件称为硬件。包括:CPU、(中央处理机)、内存储器和各种外部设备。 2、软件 软件是为方便用户和充分发挥计算机系统资源的效率的各种程序的总称。
12
一、计算机系统的组成(续) 计算机系统 (组成) 软 件 硬 件 应用软件 系统软件 编译软件 操作系统 CPU 存储器 输入输出设备
汇编程序
13
计算机系统的层次结构 二、操作系统的地位 用户1 用户2 用户3 用户4 用户n 财务系统 航空订票 上网浏览 电子商务 科学计算
(应用程序) 编译程序 汇编程序 编辑程序 数据库 (系统程序) 操作系统 计算机 硬件 …
14
不同级别用户
15
三、引入操作系统的目标 有效性(系统管理人员的观点):管理和分配硬件、软件资源,合理地组织计算机的工作流程。
方便性(用户的观点):提供良好的、一致的用户接口,弥补硬件系统的类型和数量差别。 可扩充性(开放的观点):硬件的类型和规模、操作系统本身的功能和管理策略、多个系统之间的资源共享和互操作。
16
四、操作系统的作用(1) OS是计算机软硬件资源的管理者 管理的对象:CPU、存储器、外部设备、信息(数据和软件);
管理的内容:资源的当前状态(数量和使用情况)、资源的分配、回收和访问操作,相应管理策略(包括用户权限)。
17
例1,用户想把一批信息存储到某个设备上,必须先弄清楚该设备的存储格式、读写命令和各种情况下的中断处理步骤。而让用户了解设备的物理细节将会十分困难,甚至束手无策。
例2,三个需要打印输出信息的应用程序在同时运行,打印机上三个程序的输出结果会交错夹杂、混乱不堪。一种解决方案:程序输出时,先把各自的结果存在磁盘上 ,等到某程序生成的输出全部存入后,才启动打印机输出。
18
四、操作系统的作用(2) OS是用户使用系统软硬件的接口 系统命令(命令行、菜单式、命令脚本式、图形用户接口GUI);
系统调用(形式上类似于过程调用,在应用编程中使用)。
19
四、操作系统的作用(3) OS是扩展机(extended machine)/虚拟机(virtual machine)
在裸机上添加:设备管理、文件管理、存储管理(针对内存和外存)、处理机管理(针对 CPU); 另外,为合理组织工作流程:作业管理、进程管理。
20
例1,在裸机上加上虚拟存储管理软件,用户就可有硕大的编程空间,不必涉及物理存储空间的容量、地址转换、程序重定位等物理细节。
例2,如果加上一层窗口管理软件,由该软件把一台物理屏幕改造成多窗口,每个应用可以在各自的窗口中操作,用户可以在窗口环境中方便地与计算机交互。
21
(二)操作系统的形成和发展 批处理 手工操 作阶段 联机 脱机 执行 系统 操作系统形成 实时系统 个人计算机操作系统 网络操作系统
分布式操作系统 多道程序系统 多道批 分时 处理系统 系统
22
计算机元件工艺的演变: 电子管时代 (46-58) 晶体管 (58-64) 集成电路 (46-58) 大规模集成电路时代(70年代中至今)
晶体管 (58-64) 集成电路 (46-58) 大规模集成电路时代(70年代中至今) 巨型、微型、 网络化、智能化几个方向发展
23
(二)操作系统的形成和发展(续) 一、手工操作阶段(1946-50) 步1 人工把源程序用穿孔机穿制在卡片或纸带上;
计算机系统的资源管理和控制由人工负责: 步1 人工把源程序用穿孔机穿制在卡片或纸带上; 步2 将准备好的汇编解释程序或编译系统装入计算机;
24
步5 通过引导程序把装在输入机上的目标程序读入计算机;
步3 汇编程序或编译系统读入人工装在输入机上的穿孔卡或穿孔带; 步4 执行汇编过程或编译过程,产生目标程序,并输出目标卡片迭或纸带; 步5 通过引导程序把装在输入机上的目标程序读入计算机;
25
步6 启动目标程序执行,从输入机上读入人工装好的数据卡或数据带;
步7 产生计算结果,执行结果从打印机上或卡片机上输出。
26
1. 特点:无任何软件 2. 问题:人— 机矛盾 有人工干预:手工操作多,浪费处理机时间,也极易发生差错。
独占性:用户上机独占全机资源,造成资源利用率不高,系统效率低下。 串行性:程序运行前的准备时间过长。 2. 问题:人— 机矛盾 机器 作业在机器上 人工操 操作时间与机器 速度 计算所需时间 作时间 有效运行时间之比 1万次/秒 小时 分钟 :20 60万次/秒 分钟 分钟 :1
27
(二)操作系统的形成和发展(续) 批处理 手工操 作阶段 联机 批处理 脱机 批处理 执行 系统
28
二、批处理阶段(50末-60中) 1. 联机批处理 为了缓和早期使用计算机时存在的人-机速度严重不匹配的矛盾,提高资源利用率,人们开始利用计算机系统中的软件来代替操作员的部分工作,从而产生了最早的OS ––– 早期批处理系统 ––– (联机批处理)
29
工作流程如下: 设计一个常驻内存的管理程序(monitor, 监督程序),操作员集中一批用户提交的作业,由管理程序将这批作业从纸带或卡片机输入到磁带上,每当一批作业输入完成后,管理程序自动把磁带上的第一个作业装入内存,并把控制权交给作业。当该作业执行完成后,作业又把控制权缴回管理程序,管理程序再调入磁带上的第二个作业到内存执行。
30
特点:有监督程序; 作业自动过渡 问题:CPU高速与 I/O慢速的矛盾 解决:由卫星机负责 I/O
31
二、批处理阶段(续) 2. 脱机批处理 特点:主机与卫星机并行操作 问题:调度不灵活;保护问题 解决:硬件技术的发展(通道技术、中断技术)
32
输入机 打印机 卫星机 输出带 输入带 主 机 脱机批处理图示
33
脱机批处理操作系统 Early batch system bring cards to 1401 read cards to tape
put tape on 7094 which does computing put tape on 1401 which prints output
34
二、批处理阶段(续) 3. 执行系统 借助于通道与中断技术,由主机控制I/O工作。原有的监督程序不仅要负责调度作业自动地运行,而且还要提供I/O控制功能。它常驻主存,称为执行系统。 特点:主机外设并行操作,增强了保护能力 问题:处理机仍有空闲等待现象
35
(二)操作系统的形成和发展(续) 批处理 手工操 作阶段 联机 脱机 执行 系统 操作系统形成 多道程序系统 多道批 分时 处理系统 系统
多道批 分时 处理系统 系统 实时系统
36
三、操作系统的形成(60中至今) 1. 多道程序设计技术与多道成批处理(60年代中-70年代中) (1) 单道程序的工作情况 用户程序
监督程序 I/O操作 计算 请求输入 启动I/O I/O完成 继续计算 结束中断
37
1. 多道程序设计技术与多道成批处理 (2) 多道程序的工作情况 程序B 程序A 中央处理机 输入 结束 打印 输出 输出结束 外部设备
光标记 阅读输入 绘图 输出结束 程序A 输入结束
38
1. 多道程序设计技术与多道成批处理 (3) 什么是多道程序设计技术
在计算机主存中同时存放几道相互独立的程序。这些程序在管理程序控制之下,相互穿插地运行。当某道程序因某种原因不能继续运行下去时(如等待外部设备传输数据),管理程序便将另一道程序投入运行。
39
1. 多道程序设计技术与多道成批处理 (4) 多道运行的特征 多道
宏观上并行:对于一个单处理机系统来说,作业同时处于运行状态只是一宏观的概念,其含义是指每个作业都已开始运行,但尚未完成。 微观上串行:在任一特定时刻,在处理机上运行的作业只有一个。
40
1. 多道程序设计技术与多道成批处理 (5) 多道成批处理 作业成批输入; 由作业调度程序根据资源条件及调度原则对其进行选择;
进入系统的作业交替运行。
41
批量操作系统: 特点: 是操作系统的一种类型。该系统把用户提交的作业成批送入计算机,然后由作业调度程序自动选择作业,在系统内多道运行。
系统吞吐率高:脱机操作、多道运行、合理搭配作业; 作业周转时间长,用户使用不方便。
42
2. 分时技术与分时系统(70中至今) (1) 分时技术
所谓分时技术,是把处理机时间划分成很短的时间片(如几百毫秒)轮流地分配给各个联机作业使用,如果某个作业在分配的时间片用完之前计算还未完成,该作业就暂时中断,等待下一轮继续计算。
43
2. 分时技术与分时系统(续) CPU (2) 分时系统 采用分时技术的系统称为分时系统。一台计算机与许多终端设备连接,终端用户以联机方式使用计算机。 t PRG1 PRG2 … PRG1 PRG2 … 未完
44
分时系统 N 主机 终端 1 终端 2 终端 n
45
1962年第一个分时系统CTSS,运行在IBM 7094机上,支持32个交互式用户同时工作。
1965年IBM公布360机上的分时系统TSS/360,这是一个失败的系统,由于太大太慢,没有用户愿意使用。
46
1965年在美国国防部支持下,MIT、BELL和GE公司开发“公用计算服务系统”,支持波士顿地区分时用户,这个系统就是MULTICS (MULTiplexed Information and Computing Service) 。它运行在GE635、GE645计算机上使用高级语言PL/1编程。
47
MULTICS引入许多现代操作系统概念雏形,如分时处理、远程联机、段页式虚拟存储器、文件系统、多级反馈调度、保护环安全机制、多CPU管理,多种程序设计环境等,对后来操作系统设计有着极大影响
48
分时操作系统的定义: 分时操作系统的特点:
是操作系统的一种类型。它一般采用时间片轮转的办法,使一台计算机同时为多个终端用户服务。该系统对每个用户都能保证足够快的响应时间,并提供交互会话功能。 分时操作系统的特点: 多路调制性 独占性 交互性
49
分时操作系统和批处理操作系统存在下列不同点:
目标不同 适应作业的性质不同 资源使用率不同 作业控制方式不同
50
3.实时操作系统 1、实时操作系统的定义 2、实时操作系统的特点 3、实时操作系统的类型
操作系统的一种类型。实时操作系统对外部输入的信息,能够在规定的时间内处理完毕并作出反应。 2、实时操作系统的特点 及时响应 高可靠性和安全性 3、实时操作系统的类型 实时控制:生产过程控制、作战指挥。 实时信息处理:订购机票、情报检索。
51
(二)操作系统的形成和发展(续) 批处理 手工操 作阶段 联机 脱机 执行 系统 操作系统形成 实时系统 多道程序系统 多道批 分时
多道批 分时 处理系统 系统 个人计算机操作系统 网络操作系统 分布式操作系统
52
1.个人计算机操作系统 1、磁盘操作系统 2、 Windows系统 代表是MS-DOS 设备管理、文件系统功能 图形用户界面 多任务、多线程
可剥夺式调度 段页式虚拟存储管理技术 动态连接
53
2.计算机网络与网络操作系统 1、什么是计算机网络 2、计算机网络的结构
利用通信线路将一些独立自治的计算机相互连接形成的一个集合体称为计算机网络。 2、计算机网络的结构 若干个主机:承担数据处理与事务处理 一个通信子网:由一些专用的结点计算机(又称通信处理机)和连接这些结点的通信链路所组成。
54
2.计算机网络与网络操作系统 3、计算机网络的功能 信息传递 资源共享 易于实现分布处理 提高计算机的可靠性和可用性
55
2.计算机网络与网络操作系统 4、网络操作系统 网络操作系统具备一般操作系统应具有的功能模块(如系统核心、设备管理、存储管理、文件系统等),还要增加一个网络通信模块。该模块由通信接口中断处理程序、通信控制程序以及各级网络协议软件组成。 例如:UNIX、Netware、Windows NT
56
3.嵌入式操作系统 1、嵌入式软件 •3C:计算机是贯穿社会信息化的核心技术,网络和通信是社会信息化赖以存在的基础设施,电子消费产品是人与社会信息化的主要接口。
57
• 3C合一的产物是信息电器;同时,计算机微型化和专业化趋势把计算机技术渗透到各行各业,应用到各个领域、嵌入到各种设备,开发出各种产品,奠定了坚实的物质基础。
•共同需求:计算机嵌入式应用。嵌入式(计算机)系统硬件不再以物理上独立的装置或设备形式出现,而是大部分甚至全部都隐藏和嵌入到各种应用系统中。
58
•嵌入式(计算机)系统的应用环境带来了对嵌入式(计算机)系统的软件、即嵌入式软件(embedded software)的要求。
•嵌入式操作系统是嵌入式软件的基本支撑,形成了现代操作系统的一个类别-嵌入式操作系统。
59
指运行在嵌入式(计算机)环境中,对整个系统及所有操作的各种部件、装置等资源进行统一协调、处理、指挥和控制的系统软件。
2、嵌入式操作系统 指运行在嵌入式(计算机)环境中,对整个系统及所有操作的各种部件、装置等资源进行统一协调、处理、指挥和控制的系统软件。
60
嵌入式操作系统具有通常操作系统的功能,包括:与硬件相关的底层软件、操作系统核心功能(文件系统、存储管理、设备管理、进程管理、处理器管理和中断处理)、功能强大的还提供图形界面、通信协议、小型浏览器等设施。
61
(三) 操作系统的定义 一、资源共享与资源竞争 1. 资源共享 指多个计算任务对计算机系统资源的共 同享用。 2. 资源竞争
指多个计算任务对计算机系统资源的共 同享用。 2. 资源竞争 多个计算任务对计算机系统资源的争夺。
62
二、什么是操作系统 中央 存储器 处理机 操作命令 用 户 1 绘图仪 打印机 用 户 n 显示器 键 盘 系统调用 应用程序 1
键 盘 网 卡 Modem 文 件 应 用 程 序 操作系统 应用程序 1 应用程序 n 用 户 1 用 户 n 操作命令 系统调用
63
二、什么是操作系统(续) 操作系统是一个大型的系统程序,它负责计算机的全部软、硬资源的分配、调度工作,控制和协调并发活动,实现信息的存取和保护。它提供用户接口,使用户获得良好的工作环境。 操作系统使整个计算机系统实现高度自动化、高效率、高利用率、高可靠性。 操作系统是整个计算机系统的核心。
64
操作系统特性 并发性(Concurrence)指两个或两个以上的事件或活动在同一时间间隔内发生,在计算机系统中同时存在多个程序,程序间发生切换。 发挥并发性能够消除系统中部件和部件之间的相互等待,有效地改善系统资源的利用率,改进系统的吞吐率,提高系统效率
65
共享性:操作系统与多个用户的程序共同使用计算机系统中的资源。
同时访问 : 系统中还有许多资源,允许同一时间内多个进程对它进行访问,这里“同时”是宏观上的说法。典型的可供多进程同时访问的资源是磁盘,可重入程序也可被同时访问。 与共享性有关的问题是资源分配、信息保护、存取控制等,必须要妥善解决好这些问题。
66
操作系统采用的关键技术 -操作系统中的并行处理
操作系统采用的关键技术 -操作系统中的并行处理 多用户、多任务同时执行(并发执行) 如何描述任务 如何控制任务状态的变化 多任务关系如何协调 多任务如何调度 进程的引入与进程概念 进程状态及控制 同步与互斥 进程调度
67
-操作系统中的虚拟技术 用户的逻辑视图与操作系统所管理的物理视图分离 逻辑视图与物理视图的映射 虚拟技术示意图
应用程序1,应用程序2, 应用程序n CPU1 CPU2 虚拟主存1 打印机1 打印机2 虚拟主存2 CPU 主存 打印机 分时 主存管理 假脱机打印 软件 硬件
68
操作系统中不确定性的例子: 不确定性:操作系统必须随时对以不可预测的次序发生的事件进行响应 (1)作业到达系统的类型和时间是随机的;
(2)操作员发出命令或按按钮的时刻是随机的; (3)程序运行发生错误或异常的时刻是随机的; (4)各种各样硬件和软件中断事件发生的时刻是随机的 。
69
操作系统的性能指标 系统的可靠性 系统吞吐率 系统响应时间 系统资源利用率 可移植性 系统发现、诊断和恢复软硬件故障的能力
系统在单位时间内所处理的信息量 系统响应时间 从系统接收数据到输出结果的时间间隔 系统资源利用率 系统中各部件、各种设备的使用程度 可移植性 操作系统从一个硬件环境转移到另一个硬件环境仍能正常工作的能力
70
操作系统应解决的基本问题 1、提出解决各种冲突的策略 2、协调活动的关系 3、保证数据的一致性 4、实现数据存取控制
71
(四) 操作系统的功能 一、处理机管理 二、存储器管理 三、设备管理 四、软件资源管理
72
一、处理机管理 1. 制订调度策略(调度原则) 2. 给出调度算法 3. 具体的实施处理机分派
决定将CPU先分给哪个程序,它占用多长时间,下一个又该轮到哪个程序运行等问题。 2. 给出调度算法 3. 具体的实施处理机分派 在调度时机到来时,进行处理机分派。
73
二、存储器管理 1. 存储分配和存储无关性 2. 存储保护 3. 存储扩充
确定各应用程序在主存中的位置及所占区域的大小;应用程序无需关心存储细节,由存储管理模块提供地址重定位能力。 2. 存储保护 系统提供基址、界限寄存器等存储保护方法,使各应用程序相互隔离。 3. 存储扩充 系统提供虚拟存储技术,扩大逻辑主存。
74
三、设备管理 1. 设备无关性 2. 设备分配 3. 设备的传输控制
用户向系统申请和使用的设备与实际操作的 设备无关,以达到方便用户、提高设备利用率的目的。 2. 设备分配 向个应用程序和运行实体分配各种设备。设备分配通常采用三种基本技术:独享、共享及虚拟技术。 3. 设备的传输控制 启动设备、中断处理、结束处理等。
75
四、软件资源管理 为用户提供一种简便的、统一的存取和管理信息的方法,并要解决信息的共享、数据的存取控制和保密等问题。 信息组织 存取方法
文件共享 文件安全 文件完整性 磁盘空间分配
76
(四) 操作系统的功能(续) 系 统 资 源 处理机 存储器 I/O 设备 软件 资源 操作系统 功能模块 管 理 设 备 管 理 文 件
77
(五) UNIX操作系统简介 UNIX系统是一个交互式的分时操作系统 UNIX操作系统的发展
1965年:麻省理工大学、BELL实验室、通用电器公司组成MAC课题组联合研制Multics操作系统。 Multics操作系统设计目标是要向大的用户团体提供对计算机的同时访问,支持强大的计算能力与数据存储,以及允许用户在需要的时候容易共享他们的数据。
78
UNIX操作系统的发展(续) 1969年Multics在GE645计算机上运行了,但它既没有能提供预定的综合计算服务,而且连它自己也不清楚究竟什么时候算达到开发的目标。 BELL实验室退出了该课题组。 Multics操作系统开发失败的原因是当时操作系统设计的指导思想所导致的。 当时操作系统设计的指导思想是“满足所有用户的所有要求”。
79
UNIX操作系统的发展(续) UNIX系统的作者认为:操作系统的设计不应也不可能做到“满足所有用户的所有要求”,而应为广大的计算机用户提供一种良好的程序设计环境。 1969年K. Thompson和 D. Ritchie 为了改善他们的程序设计环境,设计了一个纸面的文件系统设计,这个设计后来演化成UNIX系统早期的版本,并在PDP-11计算机上实现。
80
UNIX操作系统的发展(续) D. Ritchie创造了C语言,并用C语言改写了早期的UNIX系统。1974年在《ACM通信》上发表了“The UNIX Time-Sharing System”的论文,UNIX正式公布于世。 由于UNIX生逢其时、品质优秀,很快风靡全球,成为各种计算机系统的主流操作系统。
81
UNIX操作系统的不同版本 BSD UNIX AT&T UNIX SVR 4.X SCO UNIX 惠普计算机上的HP-UX
IBM小型机上的AIX 苹果Mac上的AUX SUN 工作站的Solaris
82
UNIX操作系统的主要特点 该系统用高级语言编写,使之易读、易懂、易修改、易移植到别的计算机上 它有一个简单的用户界面 — shell
使用了在维护上容易的、实现上高效的树形结构的文件系统 文件、设备统一处理 内核和核外程序的有机结合 丰富的核外系统程序
83
(六)其它常见操作系统 1 DOS是配置在IBM-PC及兼容机上的磁盘操作系统。 单用户、单任务
( DOS: Disk Operating System ) 用于控制和管理计算机系统的软、硬件资源,DOS于1981年公布以来,其功能不断增强,版本不断更新DOS 6.22。
84
2. OS/2 单用户、多任务 是一个克服了DOS最大缺陷,并且有多任务处理功能的操作系统。
3. MAC System OS 是 Apple 公司著名的微机 macintosh 上的操作系统,具有类 Windows 功能。
85
4 Windows 单用户、多任务 是一个具有非常新颖用户界面和多媒体处理功能的系统。
从Windows 3.03.195、98视窗/windows NT->Win2000/XP/.NET->Windows 7,不断发展与完善,现在许多软件都基于 Windows 下开发,Delphi, VB, VC 面向对象的程序设计。
86
5. NOS 网络OS,在微机局部网络环境中,具有代表性的Netware、LAN manager 和 Vines。近年来最优秀的Nos 是Novell 公司 Netware 3.11, 3.12, 4.10。 6.嵌入式操作系统 Windows CE ,嵌入式Linux/uClinux VxWorks, QNX, Palm OS等
87
本章小结 1. 操作系统在计算机系统中的地位 2. 操作系统的基本概念:定义、特征 3. 操作系统的基本功能
4. 操作系统的基本技术:多道程序设计技术、分时技术 5. 操作系统的基本类型
Similar presentations