操作系统 原理
Principles of Operating System
第一章 概述
? 计算机系统概述
? 操作系统的形成与发展
? 多道程序设计
? 操作系统的功能与特性
? 操作系统的类型
? 现代操作系统
1.1 计算机系统概述
硬件组织
软件层次
硬件组织
中央处理机、存储器,I/O设备
软件层次
一,软件分类
? 系统软件, 实现资源的管理和控制程序的执行。
? 应用软件, 按特定需要专门编写的程序,完成
特定功能。
二、虚拟机的概念
通过附加软件,把裸机改造成为功能更强、使用
更为方便的机器。
应用软件
其它系统软件
操 作 系 统
裸 机
三、硬件与软件的层次关系
1,2 操作系统的形成和发展
操作系统的定义
操作系统的发展 阶段
一,操作系统的定义
控制和管理计算机系统资源,方便
用户使用计算机的程序集合。
二,操作系统的形成和发展
控制台 一个用户
? 一次完成一个功能(计算,I/O,用
户思考 /反应)
? 程序通过卡片装入
? 用户在控制台前调试程序
第一阶段:手工操作阶段
硬件非常昂贵,没有操作系统
工作效率非常低
每一用户都要自行编写涉及到硬件的
源代码
工作量大,难度高,易出错,需要大
量人力和物力
第二阶段,
硬件昂贵,人力便宜
简单批处理:装入程序、运行、打印结
果、撤出、再重复
用户把程序(卡片或磁带)交给负责调
度的操作员(系统管理员)
常驻监控程序自动地装入程序、运行,
撤出作业
多道程序批处理,
? 在磁盘上多个作业等待运行
? 多道程序 - 同时运行 多个作业
- 选择若干作业准备运行( 调度 )
并装入内存( 存储管理 )
- 运行一个作业,当它等待时切换至内存中
的另一个作业(如需安装磁带,等键按下)
多道程序设计:多个用户共享系统
增加:存储保护,重定位
利用率高(多个作业)
有必要采用并发程序设计技术
操作系统成为研究焦点:
需要处理复杂性
第 3 阶段
硬件较以前便宜,人力昂贵
交互式 分时处理
? 一台计算机,多个便宜终端
- 所有用户可与系统立即交互
- 调试比较方便
? 成功,
一群计算机迷 ( Tomson,Ritchie )
在贝尔实验室发展出了 UNIX。
第 4 阶段
硬件非常便宜,人力昂贵
目标,
充分利用人和时间
个人计算雏形
? CPU 便宜到可在每台终端上安装,功能强大
有效
- 成为大众的计算机
? 放弃多道程序、并发和保护机制,使 OS 回
归简单
使用户再次与系统交互
增强文件系统
响应时间、保护更为重要
网络
? 允许不同机器很容易共享资源
- 共享,安全
1,3 多道程序设计
多道程序设计的概念
引入多道程序设计的目的
应用程序
操作系统
磁盘
磁带
t
启动磁带




启动磁盘




CPU运行
CPU空闲
应用程序 A
操作系统
磁盘
磁带
t
CPU运行
CPU空闲
应用程序 B
启动磁盘
A
A B
A
B A
B
B
例 在有一台 CPU和两台输入 /输出设备磁盘和磁带的多
道程序系统中,同时投入运行 2个程序 A和 B。 这 2个程
序对 CPU和磁盘和磁带的使用顺序和使用时间为,
程序 A,磁带( 30S),CPU( 10S),磁盘( 30S),
CPU( 10S),磁带( 20S)
程序 B,磁盘( 20S),CPU( 30S),磁带( 40S)
假定,CPU,磁盘和磁带都能并行工作
试问,1、程序 A和 B从投入运行到运行完成所用的时间
分别是多少?
2,CPU,磁盘和磁带的利用率是多少?
程序 A 磁带 30S
程序 B 磁盘 20S CPU 20S
空闲 20S
CPU
10S
磁带 40S
磁盘 30S
CPU
10S 磁带 20S
顺序执行时间 A,100S B,90S
并行执行时间 120S
CPU 空闲 20S 使用 40S 空闲 30S
使用
10S 空闲 20S
t
CPU利用率 50 / 120
磁盘利用率 50 / 120
磁盘利用率 90 / 120
1,4 操作系统的功能与特性
一、操作系统的功能
处理机管理
存储管理
设备管理
文件管理
二,操作系统的特性
?并行性, 在计算机系统中同时存在多个程序。
宏观上,这些程序是同时在执行的
微观上,任何时刻只有一个程序在执行
即微观上这些程序在 CPU上轮流执行
? 共享性,
操作系统与多个用户的程序共同使用计算机
系统中的资源
1,5 操作系统的类型
多道批处理操作系统
分时系统
实时系统
网络操作系统
分布式操作系统
嵌入式操作系统
一、多道批处理系统
批处理系统中引入多道程序设计
优点,系统吞吐量大,资源利用率高。
缺点,平均周转时间长,用户不能与自己
作业对话。
三、分时系统
一台主机上连接多个键盘显示终端,用户
可以各自的终端,以交互方式使用计算
机,共享计算机软硬资源。
?时间片,
操作系统将 CPU的时间划分成若干个片段,
称为时间片
操作系统以时间片为单位,轮流为每个终端
用户服务
每次服务一个时间片
分时操作系统特点
? 多路性
? 交互性
?, 独占, 性
? 及时性
同时有多个用户使用一台计算机
宏观上:是多个人同时使用一个 CPU
微观上:多个人在不同时刻轮流使用 CPU 用户根据系统响应结果进一步
提出新请求 (用户直接干预每一步 ) 用户感觉不到计算机为其他人服务
系统对用户提出的请求及时响应
四、实时系统
设计实时操作系统要考虑,
? 快速及时
? 实时时钟管理
? 连续的人机对话
? 过载保护
? 高度可靠性和安全
实时操作系统
分类,
第一类,实时过程控制
第二类,实时通信(信息)处理
五、网络操作系统
?计算机网络
?网络操作系统功能
计算机网络
通过通信设施将物理上分散的具有自治
功能的多个计算机系统互连起来的实现
信息交换、资源共享、可互操作和协作
处理的系统。
网络操作系统
在各种计算机操作系统上,
按网络体系结构协议标准开发的软件,
包括网络管理,通信,安全,资源共享
和各种网络应用。
目标:是相互通信及资源共享
基于两种环境,
多处理器系统
多计算机系统
是网络操作系统的更高级的形式
保持了网络操作系统的全部功能
六、分布式操作系统
分布式操作系统
特征,
1.是一个统一的操作系统
2.资源进一步共享
3.透明性,
资源共享与分布对用户是透明的
4.自治性,
处于分布式系统的多个主机处于平等地位,
无主从关系
5.处理能力增强、速度更快、可靠性增强
网络和分布式的区别
(1) 分布具有各个计算机间相互通讯,
无主从关系;网络有主从关系
(2) 分布式系统资源为所有用户共享;
而网络有限制地共享
(3) 分布式系统中若干个计算机可相互协
作共同完成一项任务
七、嵌入式操作系统
什么是嵌入式系统?
在各种设备、装置或系统中,完成特定功能的软硬件
系统
它们是一个大设备、装置或系统中的一部分,这个大
设备、装置或系统可以不是“计算机”
由于它们被嵌入在各种设备、装置或系统中,因此称
为嵌入式系统
嵌入式操作系统,是运行在嵌入式智能芯片环境中,
对整个智能芯片以及它所操作、控制的各种部件装
置等等资源进行统一协调、调度、指挥和控制的系
统软件
在嵌入式系统中的 OS,称为嵌入式操作系统
典型嵌入式操作系统的特性
? 完成某一项或有限项功能;不是通用型的
? 在性能和实时性方面有严格的限制
? 能源、成本和可靠性通常是影响设计的重要因素
? 占有资源少、易于连接
? 系统功能可针对需求进行裁剪、调整和生成
以便满足最终产品的设计要求
嵌入式操作系统的应用
嵌入计算的各种应用特点
掌上电脑,
运算速度,100 KIPS
在大小上优化、支持手写、低能耗
工业设备,
运算速度,1 MIPS
安全优先,控制流程为主
军事装备
运算速度, 1 GFLOPS
可靠性最重要
1.6 现代操作系统的特点
?微内核结构
?多线程
?对称多处理
?分布式操作系统
?面向对象设计
微内核结构
只给内核分配最基本的功能,
可简化实现,提供灵活性
多线程
把执行一个应用程序的进程划分成可以同
时运行的多个线程。
提高程序的执行效率。
对称多处理
有多个处理器共享同一个主存储器和 I/O设备,
可以执行相同的功能。
提高并行性、可靠性
面向对象技术
提高模块独立性,便于扩展
目前常用的操作系统
1,Microsoft公司的操作系统产品
2,UNIX家庭
3,OS/390
4、自由软件中的操作系统,LINUX
微软 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 XP,.net
? 个人计算机采用 Windows占 90%以上,微软公司成了
垄断 PC行业的同义词
UNIX
? UNIX是现代操作系统的代表。 Unix运行时的安全性、
可靠性以及强大的计算能力赢得广大用户的信赖
促使 UNIX系统成功的因素,
? 首先,由于 UNIX是用 C语言编写,因此它是可移植的,
UNIX 是世界上唯一能在笔记本计算机,PC机、工作
站直至巨型机上运行的操作系统
? 第二,系统源代码非常有效,系统容易适应特殊的
需求
? 最后,它是一个良好的、通用的、多用户、多任务、
分时操作系统
IBM大型计算机操作系统 OS/390
? 90年代末期,电子商务发展刺激对计算能力的要求,
导致大型机市场的再度升温
? 三十年的改进,IBM OS/390已成为有高可靠性、可
扩展性、及安全可用性的现代大型计算机系统
? 支持 UNIX 95标准,UNIX应用程序可在 IBM OS/390
上运行
? 同时还可继续运行 OS/390应用程序,包括 OS/370上
开发的应用程序
? 包括 TCP/IP的多种通信协议,具有高网络安全性
? 采用面向对象程序设计、并行处理、分布式处理以
及客户机 /服务器技术,具有较强的互操作性、可
移植性与可扩展性
? 在 PC机时代,人们曾经估计大型计算机会衰亡
? IBM S/390是大型计算机复活的一个典型
Linux
? 1990年秋天,Linus在芬兰首都赫尔辛基大学学习操
作系统课程,因为上机需要排队等待,Linus买了台
PC机,开发了第一个程序,程序包括两个进程,向
屏幕上写字母,然后用定时器来切换进程
? 编写了从调制解调器上接发信息的程序以及显示器、
键盘和调制解调器的驱动程序
? 然后写了磁盘驱动程序,文件系统,一旦有了进程
切换、文件系统和设备驱动程序,当然就拥有了一
个操作系统原型,或者至少是它的一个内核
? Linux就以这样极其古怪但也极其自然式问世
Linux是一个免费的操作系统,用户可以免费获
得其源代码,并能够随意修改。它是在共用许
可证 GPL( General Public License) 保护下的
自由软件
Linux具有许多 Unix系统的功能和特点,能够兼
容 Unix,但无需支付 Unix高额的费用。
Linux的应用广泛, Sony最新的 PS2游戏机采用
Linux作为系统软件 。 著名的电影《泰坦尼克号
》的数字技术合成工作就是利用 100多台 Linux
服务器来完成的。
?Linux的优点
1、完全免费
?用户可以通过网络或其他途径免费获得,并可
以任意修改其源代码。来自全世界的无数程序
员参与了 Linux的修改、编写工作
2、完全兼容 POSIX 1.0标准
?在 Linux下 可 运行常见的 DOS,Windows的程序
3、多用户、多任务
?Linux支持多用户,各个用户对于自己的文件
设备有自己特殊的权利,保证了各用户之间互
不影响。
?4、良好的界面
?Linux同时具有字符界面和图形界面。
5,丰富的网络功能
?在 Linux中,用户可实现网页浏览、文件传输
、远程登陆等网络工作。并且可以作为服务器
提供 WWW,FTP,E-Mail等服务。
6、可靠的安全、稳定性能
Linux采取了许多安全技术措施,其中有对读、写进行
权限控制、审计跟踪、核心授权等技术,为安全提供
了保障 。
7、支持多种平台
?Linux可以运行在多种硬件平台上,如具有 x86、
680x0,SPARC,Alpha等处理器的平台。
?Linux还是一种嵌入式操作系统,可以运行在掌上电
脑、机顶盒或游戏机上。 2001年 1月份发布的 Linux
2.4版内核已经能够完全支持 Intel 64位芯片架构。同
时 Linux也支持多处理器技术。多个处理器同时工作,
使系统性能大大提高。
Linux的不足
?由于 Windows在个人电脑市场 仍占 很大 份额,多数软
件公司都支持 Windows。 Windows上 的应用软件应有
尽有,而其他操作系统少一些。虽然 Linux具有 DOS、
Windows模拟器,可以运行一些 Windows程序,但
Windows系统极其复杂,模拟器所模拟的运行环境不
可能与真实的 Windows环境一样,这使得一些软件无
法正常运行。
?许多硬件设备面对 Linux的驱动程序也不足,不少硬
件厂商是在推出 Windows版本的驱动程序后才编写
Linux版的。
操作系统领域中新的操作系统
? 有线电视机顶盒领域,PowerTV
? 移动通信领域,EPOC
? 掌上计算机领域,Palm OS
? 数字影像领域,Digita
研究中的新的操作系统
? 哈佛大学的 VINO,使应用得以重用内核构件
? 犹他州大学的 OSKit,提供构造操作系统所需的基础
构件,也提供高层次构件。 OSKit可用来构造新的 OS
? MIT Exokernel,该系统只有一个极小的核。系统抽
象通过 Library Operating System完成
? NASA空间飞行中心 (GSFC)研制 Beowulf项目开始于
1994年,用商业化的微型计算机,Linux和以太网等
构造集群。已有世界各地的约六十个大学和研究机
构在使用
? 加州大学伯克利分校 NOW集群操作系统,100台 Ultra
SPARC-I处理机集群,排名于世界最快的 200台超级
计算机之内
国内操作系统的研制状况
? 60年代末至 70年代初
杨芙清院士主持
我国第一台百万次集成电路计算机( 150)操作系统
支持多道程序运行,在石油勘探领域成功应用
? 70年代中后期
杨芙清院士主持
我国第一个全部用高级语言书写的 DJS240机操作系统
DJS200/XT2
层次管程结构模型,PCM设计方法,活跃管程结构模式
? GX73多机实时操作系统( 1978年)
国防科技大学,1980年装在“远望” -I 号航天测
量船上,完成了向太平洋发射运载火箭、潜水艇
水下发射的测控任务;完成了我国第一颗同步地
球卫星的测控、定轨、控制任务
?,银河” -1 YHOS巨型操作系统( 1983年)国防科
技大学,用于 YH-1,YH-2超级计算机,用于我国
的石油勘探、天气预报和核物理研究
? COSIX v 1.X/2.0 国产 UNIX类操作系统(国家八
五、九五重点科技攻关成果,以中软为首,联合
国内 18个单位共同完成)
? 嵌入式操作系统 Hopen( 女娲计划)
? Linux类操作系统