第1章 操作系统导言
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
现代操作系统的演化
个人计算和工 作站
分时
网 络 OS
系统软 件 人 -机 界 面
批处理
嵌入式
客
内存 管理
户 -服
协
调度
议
保护
管
务
器
现 代 OS
存储 网络 管理 资源
实
时
调
内 保 调 护
模
度
存 理
小
件
备
1.3
小结
计算机通过应用软件所提供的功用性来证 明其价值的. 系统软件为应用程序员提供了抽象接口,包 括各种硬件资源和低层系统软件的抽象接 口. 操作系统的发展过程源于单用户计算机,经 过批处理多道程序设计系统,分时系统,个人 计算机和工作站系统,网络互连系统,发展到 现在的嵌入式系统,小型通用计算机系统.
程序
程序
输出结果
程序
时分复用共享:一个进程可以在一个短的时间片内 独立使用整个资源 多道程序设计 虚拟机1 虚拟机2 虚拟机3
P1内存
OS资源共享
P2内存 …… P3内存
时分复用物理处理器
空分复用物理内存
多道程序设计:不能提升任何单个进程的性能,但它 能提高整个系统的性能.(如加速洗汽车) 真空吸尘 水洗 擦干
个人计算机和工作站
工作站拥有足够的资源,采用了分时系 统技术,特别是多道程序设计技术
对现代操作系统技术的贡献
个人计算机和工作站的广泛应用极大的 刺激了支持个人计算机应用的系统软件的 增长.
示例:微软操作系统家族
W IN 32 API W in 3 2 A P I子 集 W in 3 2 A P I 子 集
嵌入式系统放弃大而全的操作,在需要 一些原始的功能或需要某种形式的实时处 理时,其他操作系统也采取了类似于嵌入式 系统的设计技术.
示例:VxWorks结构
应用 VxWorks运行时 系统 VxWorks可配置 核心操作系统扩 展 Wind Microkernel
小型通信计算机(SCC)
如:可便携式MP3播放器,可上网的移动电话等.
W in d o w s C E (P o ck et P C )
W in d o w s 9 5 /9 8 /M e
W in d o w s N T /2 0 0 0 /X P
嵌入式系统 包含了计算机的复杂设备. 如:操纵导弹的计算机,控制核核反应堆冷 却过程的计算机等.
对现代操作系统技术的贡献
第一章
导言
前言 本章讲解什么是操作系统极其发展与 现状.首先,将触及所有软件环境,从而使你看 到操作系统在其中的地位.然后,将介绍现代 操作系统的要求-----抽象和共享,以及它们 出现后的情况.最后,考察流行操作系统的策 略,看一下它们是如何影响现代操作系统提 供的服务.
1.1 1.2 1.3 1.4
资源抽象:系统软件隐藏了下层硬件的操作 细节. 如:C语言程序员只需知道printf()函数和 stdio类库,不用了解所有其他细节. 抽象简化了应用程序员控制硬件方式,但也限 制了操纵特定硬件的灵活性
示例:磁盘设备多级抽象 直接控制 write()抽象 fprintf()抽象
Load(…); Seek(…); Out(…);
应用软件 系统软件 硬件
应用软件:用于解决专门一个问题(如:电子邮件软 件,文档编辑程序,电子制表软件) 系统软件:提供一个一般的编程环境(允许用户与 计算机进行交互,为应用程序提供工具和插件) 如:操作系统: 目的:使应用软件能够有序的方式去共享硬件 好处:共享提高系统整体的性能,减少所有程序执行 的时间
cc -g -c menu.c //编译menu.c文件,生成可重定位的文件menu.o cc -g -o driver.c menu.c //编译driver.c ,和menu.o及C库链接 driver < test_data >test_out //执行链接生成文件driver lpr –ptheprinter test_out/ /将test_out 文件名theprinter打印机上 tar cvf driver_test.tar menu.c driver.c test_data test_out //生成driver_test.tar 的压缩文件 uuencode driver_test.tar >driver_test.encode //对tar文件进行加密并将结果写回driver_test.encode文件中
Void write(){ Load(…); Seek(…); Out(…);}
Int fprintf(…){ write(…); …}
资源共享
?
区别:并行性与并发性
并行性:两个或多个事件在同一时刻发生 并发性:两个或多个事件在同一时间间隔内 发生
虚拟机创建方法:空分复用共享和时分复用共享 空分复用共享:资源进一步分割成两个或更多个不 同的单元部分给进程使用 虚拟机 物理机器
分时系统 发展:CTSS
结果 命令
Multics
虚拟机
Cal
UNIX
物理机器
结果 命令
结果 命令
分时系统是多道程序系统,允许终端用户在 两个操作系统命令之间与计算机进行交互, 侧重于公平性,为每个虚拟机提供公平的处 理器资源和内存资源. 示例:UNIX分时系统 UNIX的设计理念:操作系统(内核)应该 提供一个最基本的功能,新的应用功能(用户 应用程序)在需要是随时被添加.
SCC操作系统和其他操作系统区别:
(1)硬件抽象不同 (2)硬件抽象实现不同 (3)SCC家族成员使用不同的虚拟机策略 (4)SCC使用实时资源管理技术 (5)操作系统需要适应不同的计算模式
SCC围绕线程计算而不是进程计算设计的. 在SCC上使用的操作系统: VxWorks,微软Windows Embedded和 Windows CE,Java虚拟机. 网络 每两台机器之间以点对点的方式连接, 机器之间通过路由器互连.
1.2
操作系统策略
批处理系统 一次处理一批作业,输入 部件将作业分披送入计算 机,处理完将结果写入输出 池, 打印返回终端用户, 不支持实时交互.
作 业 19
作业3
输入池程 序
输出池程 序
输入池
输出池
批处理技术
作业队列
中级调度
内存
低级调度
处理器
交换系统
示例:批处理技术(UNIX系统中的一个外客 脚本批处理文件)
循序洗车 真空吸尘
水洗
擦干
并行洗车
进程执行特征: (1)输入/输出操作比处理机操作要花费更多 时间 (2)进程在做输入/输出时并不需要处理器 (3)每个进程花费在输入/输出设备上时间最 多 (4)在传统的计算机系统中,多个设备,一个处 理器
多道程序设计的性能
p i的 总 执 行 时 间 t1
p i的 机 器 资 源 使 用
p1
p2 ... p3 ... p4
所 有 进 程 的 机 器 资 源 的 使 用
显示资源共享 条件:(1)系统必须根据某种分配策略隔离 资源访问(OS负责) (2)系统必须在有资源请求时,允许进 程相互合作共享资源
应用软件,系统软件和操作系统
人---机界面
API 应用软件 OS接口 系统软件(更多抽象资源) 软件---硬件接口 可信OS(抽象资源) 硬件资源
计算机与软件 操作系统策略 小结 习题
终端用户使用应用软件,应用程序员利用系统软件编写 应用软件,操作系统程序员使用硬件来实现系统软件
终端用户视角 应用程序员视角 操作系统视角
剪切 打印 发送 保存 malloc() open() fork()
启动打印机 读盘 跟踪鼠标
应用软件 系统软件 硬件
应用软件 系统软件 硬件
应用程序员
使用系统软件提供的API编写程序
软 件 API 系 统 软 件
命 令 行 解 释 程 序
装 载 器
窗 口 编 译 器 库 程 序 系 统
数 据 库 管 理 系 统 OS
硬 件
操作系统特点:
(1)直接作用在硬件之上,为其他系统软件与应 用软件提供接口 (2)可支持多种应用领域软件 (3)应用程序使用OS提供的资源抽象,从而使 用硬件资源部件 (4)允许不同的应用程序通过OS所提供的资源 管理策略来共享硬件资源