绪论 - 实验室

Download Report

Transcript 绪论 - 实验室

操作系统原理
Principles of Operating System
华中科技大学计算机学院
邵志远
为什么要学习操作系统?
使用过程中的问题

遇到计算机运行或打开硬盘上的程序的速
度变慢,该怎么办?
 原因:硬盘上的卷可能有过多的碎片,
可能是由于最近创建了大量的文件或文件
夹,或安装了新软件。
解决方案:如果必要,分析并整理硬盘
上的卷碎片。
为什么要学习操作系统?
游戏中的现象
基本配置
CPU
内存
显卡
硬盘
Pentium3 800MHz以上
256M以上
GeForce2以上3D加速卡
3G以上
推荐配置
Pentium4 1GHz以上
512M以上
Geforce4 Ti以上3D加速卡
为什么要学习操作系统?
操作系统做什么
#include <stdio.h>
int main(int argc, char *argv[])
{
puts("hello world");
return 0;
}
为什么要学习操作系统?






掌握操作系统的基本理论,具备开发核心系统软
件的技能,设计操作系统或者修改现有的系统
掌握并行处理的思想方法,加深对使用的OS的理
解,有利于深入编程
用户为了开发应用程序必须与操作系统打交道
操作系统中所用的许多概念和技巧可以推广应用
到其他领域
为后继课程打好基础——数据库、网络、分布式
系统
了解当前流行的实际操作系统的使用方法与实现
技术——UNIX、Linux,Windows
操作系统的工作:
(1)程序的执行
操作系统课程特点
(2)完成与硬件有关的工作
涉及面广
(3)完成与应用无关的工作
(4)计算机系统的效率与安全问题
错综复杂
裸机
实践性强
操作系统
应用软件
用户程序 
怎样学习操作系统




深入理解教学内容
独立完成练习题
做好阶段复习
理论联系实际

教材:
操作系统原理(第四、三版) 庞丽萍 华中科技大学出版
社

参考教材:
UNIX操作系统设计 莫里斯 · 贝奇 机械工业出版社
计算机操作系统
汤子瀛等
西安电子科技大学出版
社
现代操作系统
陈向群等译
机械工业出版社
计算机操作系统教程 张尧学 史美林 清华大学出版社
操作系统基础
屠立德 屠祁
清华大学出版社
讲课学时安排
48+16
章节内容
学时
第一章 绪 论
3
第二章 操作系统的逻辑结构
3
第三章 用户界面
3
第四章 并发处理
10
第五章 资源分配与调度
3
第六章 处理机调度
4
第七章 主存管理
8
第八章 输入/输出管理
4
第九章 文件系统
8
机动、复习
2
学习要求与成绩评定

学习要求:
课前预习,认真听讲,课后复习
 遵守课堂纪律


成绩评定:
平时成绩+考试成绩
 闭卷考试

第一章
绪
论
(一) 操作系统在计算机系统中的地位
(二) 操作系统的形成和发展
(三) 操作系统的定义
(四) 操作系统的功能
(五) 操作系统的基本类型
(六) UNIX和Windows
存储程序式计算机的结构和特点
存储程序式计算机(Von Neumann计算机)
 基本部件
CPU、主存储器、I/O设备、控制台
 特点
集中顺序过程控制



集中控制:由CPU集中管理
顺序性:程序计数器控制
过程性:模拟人们手工操作过程
计算机系统的组成
应用软件
软件
编辑软件、编译软件
系统软件
计算机系统
(层次结构)
操作系统
提高系统效率
方便用户使用
硬件及固件(裸机)
计算机系
统的基础
(一)操作系统在计算机系统中的地位
用户
应
用
软
件
用户
用户
用户
管理信息系统、飞机订票系统、管理信息系统、飞机订票系统、
银行系统、地理信息系统、
银行系统、地理信息系统、
CAD系统、数字计算软件包… CAD系统、数字计算软件包…
语言编译程序、连接装配程序、
系 数据库管理系统、网络软件…
统
操 作 系 统
软
计算机硬件
件
与硬件的关系:
控制CPU的工作、
访问存储器、
设备驱动、中断处理
支
撑
软
件
与用户及应用程序的关系:
提供方便的用户界面、
提供优质的服务
(二)操作系统的形成和发展
操作系统发展是随着计算机硬件技术的发展而发展的。
目标:
充分利用硬件,
提供更好的服务
手工操
作阶段
联机
批处理
脱机
批处理
执行
系统
批处理
多道程序系统
多道批处 分时
理系统 系统
实时系统
操作系统形成
个人计算机操作系统
网络操作系统
分布式操作系统
ENIAC计算机(1946年,美国宾夕法尼亚大学)
运算速度:1000次/每秒, 数万个真空管, 占地100平方米
没有程序设计语言(甚至没有汇
编),更谈不上操作系统. 程序
员提前预约一段时间,然后到机
房将他的插件板插到计算机里
期盼着在接下来的时间中几万个
真空管不会烧断,从而可以计算
自己的题目
第 1 阶段
手工操作阶段
硬件非常昂贵,没有操作系统

特点:





工作效率极低:手工操作的慢速度与机器处理的高速度
每一用户都要自行编写涉及到硬件的源代码
工作量大,难度高,易出错,需要大量人力和物力
独占性、串行性
问题: 人机矛盾
机器速度 计算所需时间 人工操作时间 操作时间 : 机器运行时间
1万次/秒
1小时
3分钟
1 : 20
60万次/秒 1分钟
3分钟
3:1
第2阶段
单道批处理阶段
硬件昂贵,人力便宜,单任务自动批处理

简单批处理:



装入程序、运行、打印结果、撤出、再重复
用户把作业(卡片或磁带)交给负责调度的操作员(系
统管理员),由操作员按作业类型分类编成一个作业序
列,送到输入设备上。
常驻监督程序自动地装入程序、运行、撤出作业
(1)联机批处理
(2)脱机批处理
(3)执行系统
批
处
1. 联机批处理



特点:有监督程序,作业自动过
渡
问题:CPU高速与I/O慢速的矛
盾
解决:由卫星机负责I/O
2. 脱机批处理



特点:主机与卫星机并行操作
问题:调度不灵活,保护问题
解决:硬件技术的发展——
通道技术、中断技术
理
3. 执行系统:

定义:
借助于通道与中断技术,由主机控制I/O工作。原
有的监督程序不仅要负责调度作业自动的运行,而
且还要提供I/O控制功能。它常驻内存,称为执行系
统。


特点:主机、外设并行操作;增加了保护能力
问题:处理机仍有空闲等待现象
通道
一种专用部件,负责外部设备与内存之间信息的传输。
中断
主机接到信号(来自CPU外部或内部)时,立即中止原
来的工作,转去处理这一事件,处理完后,主机又回到原来工作
点继续工作。
第 3 阶段 多道批处理阶段
硬件较以前便宜,人力昂贵

处理过程



在内存中同时存放几道相互独立的程序
在管理程序控制之下,相互穿插地运行,处理机和外
设尽量处于忙碌状态
交互式分时处理

一台计算机,多个便宜终端


所有用户可与系统立即交互
调试比较方便
多道程序设计技术
多道程序设计技术
多道程序设计技术是在计算机内存中同时存放
几道相互独立的程序,在管理程序的控制下相互穿
插地运行。当某道程序因某种原因不能继续运行下
去时(如等待外部设备传输数据),管理程序便将
另一道程序投入运行。
多道运行的特征:
 多道
 宏观上并行
 微观上串行
分时技术与分时处理
①
分时技术:
把处理机的响应时间分成若于个大小相等(或不相等)
的时间单位,称为时间片,每个终端用户获得CPU,就
等于获得一个时间片,该用户程序开始运行,当时间片
到(用完),用户程序暂停运行,等待下一次运行。
②
分时计算机系统:
由于中断技术的使用,使得一台计算机能连接多个用户
终端,用户可通过各自的终端使用和控制计算机,我们
把一台计算机连接多个终端的计算机系统称为分时计算
机系统,或称分时系统。
实时处理

什么是“实时”


计算机对外来的信息能够以足够快的速度进行处理,
并且在被控对象允许的时间范围内作出快速反应。
实时处理

以快速反应为特征,对实时信号能在截止期限之内处
理并作出反应。
第 4 阶段 操作系统的进一步发展
硬件非常便宜、人力昂贵

单CPU计算机方面
—— 批量操作系统、分时系统

向小型化、微型化计算机发展
—— 个人计算机操作系统

向网络化发展
—— 网络操作系统

向具有并行结构的计算机系统
——多处理机操作系统
集群系统
分布式操作系统
(三)操作系统的定义
操作系统是计算机系统中的一个系统软件,是一
些程序模块的集合——
以尽量有效合理方式组织和管理计算机的软硬件资源,合
理的组织计算机的工作流程,控制程序的执行并向用户提
供各种服务功能,使得用户能够灵活,方便,有效的使用
计算机,使整个计算机系统能高效的运行。

资源共享:多个计算任务对计算机系统资源的共同享用。

资源竞争:多个计算任务对计算机系统资源的争夺。
操作系统的定义
操作系统是一个大型的程序系统,它负责计算
机的全部软、硬件资源的分配、调度工作,控
制并协调并发活动,实现信息的存取和保护。
它提供用户接口,使用户获得良好的工作环境
。操作系统使整个计算机系统实现了高效率和
高度自动化。
操作系统是整个计算机系统的核心。
操作系统的特征

并发:系统中同时存在多个程序处理多个同时性
活动
宏观上:这些程序是同时在执行的
微观上:任何时刻只有一个程序在执行,即微观上这些
程序在CPU上轮流执行

共享:多个计算任务对系统资源的共同享用




操作系统与多个用户的程序共同使用计算机系统中的
资源(共享有限的系统资源)
操作系统要对系统资源进行合理分配和使用
资源在一个时间段内交替被多个进程所用
不确定性:操作系统能处理大量的、随机的事件
序列,使各用户的计算任务正确地完成。
(四)操作系统的功能
虚拟机观点
裸 机 :没有装配任何
软件的计算机称为裸机。
虚拟机:装配有相应软
件的机器称为虚拟机。
命令解释、图形用户界面、
用户程序
系统调用
文件系统
处理机调度、内存管理
设备驱动,中断处理
裸机
操作系统的资源管理功能
把操作系统看成一个资源管理器。换句话说,从资源管
理的角度看操作系统有如下四个功能:
一 处理机分配
1. 制定调度策略(调度原则)
2. 给出调度算法
3. 具体的实施处理机分派
二 存储器管理
1. 存储分配和存储无关性
2. 存储保护
3. 存储扩充
三 设备管理
1. 设备无关性
2. 设备分配
3. 设备的传输控制
四 软件资源管理
为用户提供一种简便的、统一的存取和管理信息的方法,
并要解决信息的共享、数据的存取控制和保密等问题。
操作系统的资源管理功能
系统
资源
处理机
存储器
I/O设备
软件资源
操作系统
功能模块
处理机
管 理
存储器
管 理
设 备
管 理
文 件
系 统
(五)操作系统的类型








批处理操作系统
分时操作系统
实时操作系统
个人计算机操作系统
网络操作系统
分布式操作系统
嵌入式操作系统
自由软件和LINUX操作系统
多道批处理系统

在批处理系统中采用多道程序设计技术,就形成了批
量操作系统。

该系统把用户提交的作业成批地送入计算机内存,然
后由作业调度程序自动地选择作业运行。

优点:
缩短作业之间的交接时间,减少处理机的空闲等待时
间,提高系统的吞吐量

缺点:
用户响应时间较长。用户既不能了解自己程序的运行
情况,也不能控制计算机。
分时操作系统
特点:
 多路调制性:众多联机用户可同时使用同一台计算机
 独占性:各终端用户感觉到自己独占了计算机
 交互性:用户与计算机之间可进行“会话”
实时操作系统

实时操作系统:对用户(外部)的请求,实时操作系统能在
规定的时间内处理完毕。
响应时间
指用户发出命令,到系统开始执行命令所需的时间。



批处理操作系统
分时操作系统
实时操作系统
没有
秒级(一般情况)
微秒级 甚至更小(经典说法)
系统满足用户时限(deadline)的
要求 (现代)
实时操作系统

实时操作系统的类型:
实时控制:
工业过程控制、防空系统等
 实时信息处理:情报检索和查询、飞机订票系统


实时操作系统特点:
系统对外部的信号必须能及时响应
 要求高可靠性和安全性,效率则放在第二位
 系统整体性强
 不要求很强的“会话”能力

网络操作系统

计算机网络:
计算机技术与通信技术相结合的产物,是互连起来的计算机的
集合。
主机:组成网络的独立自主的计算机系统。
子网:将入网主机连接起来的实体,任务是在入网主机之
间传递信息,以提供通信服务。
网络协议:网络中各主机之间传递信息的规则的集合。
计算机网络的组成
 网络操作系统:
在通常的操作系统中增加了实现网络低
层协议功能和网络设备管理功能的操作
系统称为网络操作系统。
分布式系统

分布式系统是网络操作系统的更高级的形式,它保持了网
络操作系统的全部功能。

从硬件上讲,它与计算机局域网没有任何区别。关键是软
件。

特征:
1.统一性:
2.共享性:
3.透明性:
4.自治性:

一个统一的操作系统
资源进一步共享
在用户眼中分布式计算机就是一台计算机
处于分布式系统的多个主机处于平等地位
网络操作系统与分布式操作系统的主要不同是:网络操作
系统可构架于不同的操作系统之上,即在异构系统上通过
网络协议实现网络资源的统一配置,并不要求透明访问。
分布式系统

集群是分布式系统的一种。
集群(Cluster):由高速局域网连接多台计算机组成的
虚拟计算机系统。
嵌入式操作系统
什么是嵌入式系统?




在各种设备、装置或系统中,完成特定功能的软硬件系统
它们是一个大设备、装置或系统中的一部分,这个大设备、
装置或系统可以不是“计算机”
通常工作在反应式或对处理时间有较严格要求环境中
由于它们被嵌入在各种设备、装置或系统中,因此称为嵌入
式系统
手持系统
在嵌入式系统中的OS,称为嵌入式操作系统
嵌入式操作系统的应用
电话交换设备
印刷机
零售设备
移动通信
智能卡
复印机
机顶盒
计算机外设
互联网服务器
手持系统的特性
• 完成某一项或有限项功能;不是通用型的
•内存少,处理机速度慢,屏幕小
• 为了减少手持设备尺寸,使用耗电更小,体积更小,
速度更慢的处理器;
• 操作系统和应用程序的设计不能加重处理器的负担
• 有些手持设备可使用无线技术,允许远程访问电子邮
件和浏览网页
个人计算机操作系统

Microsoft Windows系统

32位多任务操作系统
MS-DOS
Windows 2000/2003 Windows NT Windows XP

Unix系统

32位多用户分时操作系统
惠普计算机上的HP-UX IBM小型机上的AIX
苹果Mac上的AUX
Linux
Minix和FreeBSD
(六)UNIX和Windows
UNIX系统是一个交互式的多用户分时操
作系统
Windows是一个图形化的多任务操作系统
UNIX操作系统的发展
•
1965年:麻省理工学院、BELL实验室、通用电器公司组
成MAC课题组联合研制Multics操作系统。
•
1969年Multics在GE645计算机上运行,但它既没有提供预
定的综合计算服务,也不知什么时候算达到开发的目标。
•
BELL实验室退出了该课题组。
•
Multics操作系统设计目标是要向大的用户团体提供对计
算机的同时访问,支持强大的计算能力与数据存储,以
及允许用户在需要的时候容易共享他们的数据——“满
足所有用户的所有要求”。
UNIX操作系统的发展
•
UNIX系统的作者:操作系统的设计不应也不可能做到
“满足所有用户的所有要求”,而应为广大的计算机
用户提供一种良好的程序设计环境。
•
1969年K. Thompson和 D. Ritchie 为了改善他们的程序
设计环境,设计了宇宙旅行的游戏,后来演化成unix系
统早期的版本。
•
Dennis Ritchie(创造了C语言)用C语言改写了早期的
UNIX系统。
•
1974 年 在 《ACM 通 信 》 上 发 表 了 “ The unix TimeSharing System”的论文,unix正式公布于世。
UNIX操作系统的发展

惠普计算机上的HP-UX

IBM小型机上的AIX

苹果Mac上的AUX

Minix和FreeBSD

Linux
UNIX操作系统的主要特点
UNIX系统的成功有以下三个方面的原因
1. 设计思想正确合理


为广大的计算机用户提供一个良好的程序设计环境。
代码有效,容易适应特殊的需求。
2. 生逢其时、选择恰当

生逢其时 人们盼望有一个大小适中、功能齐全、使用方便的分时
操作系统见世,就在人们翘首以待的时候,UNIX系统产生了。

选择恰当,C语言编写,可移植。在PDP-11系列的计算机上实现,
该系统当时占据小型计算机的主要市场。
3. 特色明显、品质优良

良好的、通用的、多用户、多任务、分时操作系统
UNIX操作系统的主要特点
主要特点是:
⑴ 系统用高级语言编写
⑵
一个简单的用户界面---shell
⑶ 树形结构的文件系统
⑷ 文件、设备统一处理
⑸ 内核和核外程序的有机结合
⑹
丰富的核外系统程序
Linux操作系统




1990年秋天,Linus在芬兰首都赫尔辛基大学学习操作系统
课程,因为上机需要排队等待,Linus买了台PC机,开发了
第一个程序,程序包括两个进程,向屏幕上写字母,然后用
定时器来切换进程.
Linus需要终端仿真程序来存取Usenet新闻组的内容,于是
他写了从调制解调器上接发信息的程序以及显示器、键盘和
调制解调器的驱动程序,然后写了磁盘驱动程序,文件系统,
一旦有了进程切换、文件系统和设备驱动程序,当然就拥有
了一个操作系统原型,或者至少是它的一个内核.
Linux是自由软件,并在专用网站上公布源代码。这样引起
了全世界操作系统爱好者的兴趣,不断对其进行修改、补充
和完善,这使得Linux日趋完善和成熟。
Slackware Linux、 Redhat Linux、 红旗Linux
Windows操作系统

微软公司

MS-DOS

Win32, Win95

Windows 2000/2003

Windows NT

Windows XP

......
一波三折的微软Windows操作系统
•
•
•
•
1983年10月,PC机竞争厂家的图形界面相关产品
上市
面对市场压力,比尔.盖茨在1983年11月10日宣布
推出Windows操作系统
然而宣布容易,交货就不简单了,Windows交货期
的灾难,成了当年计算机界的笑柄
直到1985年11月20日,Windows 1.0才正式上市
Windows的历史记录
•
Windows在当时微软历史上创了几个记录:延迟交货次数最多,
投入开发人员最多,开发时间最长,更换主管人员最多
•
不过几年之后,Windows终于创造了销售成绩最佳的历史记录
•
1992年4月,推出Windows 3.1, 1993年5月,发表Windows NT
•
Windows 95,Windows CE,Windows 98,Windows 2000
•
个人计算机采用Windows占90%以上,微软公司成了垄断PC行
业的同义词
第一章
1.
2.
3.
4.
5.
小
结
存储程序式计算机的结构与特点
操作系统在计算机系统中的地位
操作系统的基本概念:定义、特征
操作系统的基本功能
操作系统的基本技术:多道程序设计技
术、分时技术
6. 操作系统的基本类型