chapter1-new第一章
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
• 计算机体系结构的不断发展 (单→多)
17
1.2
操作系统的发展史
1.2.1 无操作系统的计算机系统
1. 人工操作方式
从第一台计算机诞生 (1945 年 ) 到50 年代中 期的计算机,属于第一代,这时还未出现 OS。 计算机操作是由用户采用人工操作方式直接 使用计算机硬件系统,即由程序员将事先已 穿孔(对应于程序和数据 ) 的纸带( 或卡片) 装 入纸带输入机 ( 或卡片输入机 ),再启动它们 将程序和数据输入计算机, 然后启动计算机 运行。当程序运行完毕并取走计算结果后, 才让下一个用户上机。
3. 脱机输入/输出方式 (Off—Line I/O)
在采用脱机输入输出方式时,程序和数据的输入输出都 是在外围计算机的控制下完成的,即它们是脱离主机进行的, 故称之为脱机输入输出操作。
脱机I/O (1)减少了CPU的空闲时间。 (2) 提高I/O速度。
图 1-2 脱机I/O示意图
21
脱机输入技术
图 1-3 单道批处理系统的处理流程
24
2. 单道批处理系统的特征
单道批处理系统是最早出现的一种 OS,严格地说,它只能算作是OS的前身而 并非是现在人们所理解的 OS 。 该系统的
(1) 自动性
(2) 顺序性
(3) 单道性
25
1.2.3 多道批处理系统
(multiprogrammed batch processing system)
18
世 界 上 第 一 台 计 算 机 内 部 工 作 情 况
19
2.人工操作方式的特点
特点: • 用户独占全机(独占性) • CPU等待人工操作(串行性) 缺点:
• 计算机的有效机时严重浪费
• 效率低
人机矛盾:人工操作方式严重降低了计算机资源的 利用率 CPU速度的提高和系统规模的扩大及I/O设备速度提高 20 缓慢,人机矛盾日趋严重,出现通道技术、缓冲技术
30
2.多道批处理系统的特点
• 多道:多道指某个作业占用CPU,若由于某种原 因暂时不用CPU 则系统让第二个作业占用CPU • 成批处理:用户自己不能干预自己作业的运行, 一旦发现作业错误不能及时改正,并延长开发软 件时间,所以适用于成熟的程序。 • 无序性:多个作业完成的先后顺序与它们进入内 存的顺序无关 • 调度性:二次调度,作业调度(从外存的后备作 业队列中选择若干个作业调入内存)和进程调度 (从已在内存的作业中选择一个作业,将处理机 分配给它,使之执行)
第一章 操作系统引论
1
简单问题: 为什么要安装Windows or Unix等OS?
操作系统(Operating System,简称OS),是电子计算 机系统中负责支撑应用程序运行环境以及用户操作环境 简单的说,操作系统就是给计算机一 的系统软件,同时也是计算机系统的核心与基石。它的 个灵活的大脑,一个强健的心脏和突出的 职责常包括对硬件的直接监管、对各种计算资源(如内 个性。没有操作系统,计算机什么也做不 存、处理器时间等)的管理、以及提供诸如作业管理之 了,只能是一堆废物 类的面向应用程序的服务等等。 操作系统的理论是计算机科学中一个古老而又活跃 的分支,而操作系统的设计与实现则是软件工业的基础 与核心。
• 硬件抽象,可移植性 •������ 有限变为无限(接近) •������ 提供保护
一台等价的扩展机器(虚拟机),比底层硬件 更容易编程
14
游戏 编译器
MIS 命令解释器
应用软件设计者 。 。 。
应用软件设计者 网络,数据库
操作系统设计者
操作系统 机器语言 微程序 物理设备
15
5. 操作系统的作用
3. 可扩充性:采用层次化结构便于增加和修改
4. 开放性:遵循OSI国际标准彼此兼容实现互连
12
4. 操作系统的地位
• 计算机系统由硬件和软件组成
• 操作系统在硬件基础上的第一层软件, 是对硬件系统的首次扩充。其他系统软 件以及应用软件都将依赖于操作系统的 支持 •是其他软件和硬件之间的接口
13
应用软件与现实硬件之间的软件
ห้องสมุดไป่ตู้
34
典型的操作系统
• FMS(FORTRAN Monitor System,FORTRAN监控 系统) • IBMSYS(IBM为7094机配备的操作系统) 这些操作系统由监控程序,特权指令,存储保护和简单的批处理 构成 • OS/360操作系统 ������ 20世纪60年代初期,计算机开始采用集成电路,多数厂商有 几条完全不同的生产线,生产不同的计算机。 开发和维护完全不同的产品,对厂商来说是昂贵的。 ������ 新的用户在开始时只需要一台小计算机,后来可能需要一台 大的计算机,并希望能在新计算机上执行原有的程序。 ������ 厂家和用户需要软件在不同型号的计算机之间兼容
31
3.多道批处理系统的优缺点
(1) 资源利用率高:共享资源 (2) 系统吞吐量大:各部件保持忙碌且切换不频繁 (3)可提高内存和I/O设备利用率
(4)平均周转时间长:作业的周转时间是指从作业进入
系统开始,直至其完成并退出系统为止所经历的时
间
(5)无交互能力:对修改和调试带来不便
适合大型科学计算、数据处理。
2.计算机系统的层次结构
图 1.1 计算机系统的层次结构
11
3.操作系统的目标
在计算机系统上配置操作系统的主要目标与计算机系统的 规模和操作系统的应用环境有关。目前存在着多种类型的
OS,不同类型的OS,其目标各有所侧重。通常在计算
机硬件上配置的OS,
1. 方便性:用户通过命令使用计算机
2. 有效性:保持忙碌且内外存数据有序节省空间
•
OS作为用户与计算机硬件系统之间的接口(通过
OS作为接口示意图可看出三种方式使用计算机)
• •
OS作为计算机系统资源的管理者 OS用作扩充机器
16
6. 推动操作系统发展的主要动力
• 不断提高计算机资源利用率(最初-batching) • 方便用户(继续-time sharing
• 器件的不断更新换代 (功能性能提高)
图1-5 典型的FMS JOB 结构
28
图 1-6 单道和多道程序运行情况
29
在单CPU和两台输入/输出设备(I1,I2)的多道程序设计环 境下,同时投入三个作业job1、job2、job3运行。这三个作业对 CPU和输入/输出设备的使用顺序和时间如下所示: job1:I2(30ms);CPU(10ms);I1(30ms);CPU(10ms); I2(20ms); job2:I1(20ms);CPU(20ms);I2(40ms); job3:CPU(30ms);I1(20ms);CPU(10ms);I1(10ms); 假定CPU、I1、I2都能并行工作,job1的优先级最高,job2次 之,job3优先级最低,优先级高的作业可以抢占优先级低的作业 的CPU,但不抢占I1和I2。试求: 1. 三个作业从投入到完成分别所需的时间。 2. 从投入到完成的CPU的利用率。 3. I/O设备利用率(分别求I1、I2的利用率)
操作系统课程的特点
• ������ 实践性强(从实践总结出原理) • ������ 涉及面广(并行程序,性能问题,结构 问题,程序方法论,软件工程,等等) • ������ 错综复杂:纵横交叉 • ������ 如何学好操作系统? Learn OS concepts by coding them!
1. 多道程序设计的基本概念
在计算机内存中同时存放若干道已开始运行尚未
结束的程序,它们交替运行,共享系统中的各种硬、
软件资源,从而使处理机得到充分利用。
在该系统中, 用户所提交的作业都先存放在外存
上并排成一个队列,称为“后备队列”;然后,由作
业调度程序按一定的算法从后备队列中选择若干个作 业调入内存,使它们共享CPU和系统中的各种资源。 26
卡 片 阅 读 机
卡片
磁带机
打 印 机
IBM 1401
IBM 7094
IBM 1401
输入磁带
输出磁带
27
图1-4 早期批处理系统
$END Data for program $RUN $LOAD Fortran program $FORTRAN $JOB, 10,429754
Cherry Chen
32
4.多道批处理需要解决的问题
(1) 处理机管理问题。 (2) 内存管理问题。 (3) I/O设备管理问题。 (4) 文件管理问题。 (5) 作业管理问题。
33
Spooling 技术
• 程序卡片被拿到机房后能够很快将一作业从 卡片读入磁盘 • 任何时刻当一作业运行结束操作系统就将一 新作业从磁盘读出,装入空出的内存区运行 • ������ Spooling技术 (Simultaneous Peripheral Operation On Line) • ������ 该技术也用于输出
5
课程形式
• 主课、习题课、专题课(选)、课堂讨论 (选)、作业、小论文——Linux源代码分析、 上机实习 • 学习要求:按时上课,认真听讲,阅读参考书, 整理笔记,思考,讨论,提问
6
Linux源代码分析
• Linux内核源代码情景分析 • 任何介绍Linux源代码阅读的书籍、文章
7
• “I hear and I forget, I see and I remember, I do and I understand.” --Chinese proverb • No pains, No gains
23
1.2.2 单道批处理系统-现代操作系统雏形 (Simple Batch System)
1. 单道批处理系统的处理过程(监督程序-Monitor) 批处理是指计算机系统对一批作业自动进行处理的一种技术。 单道批处理在内存中仅有一道作业。是在解决人机矛盾和 CPU与I/O设备速度不匹配的矛盾的过程中形成的。
为解决低速输入设备与CPU速度 不匹配的问题,可将用户程序和数 据,在一台外围计算机的控制下, 预先从低速输入设备输入到磁带上, 当CPU需要这些程序和数据时,再直 接从磁带机高速输入到内存,从而 大 大加快了程序的输入过程,减少 了CPU等待输入的时间。
22
脱机输出技术
当程序运行完毕或告一段落, CPU需要输出时,无须直接把计算结 果送至低速输出设备,而是高速地 把结果送到磁带上,然后再另一台 外围机地控制下,把磁带上的计算 结果由相应的输出设备输出,着就 大大加快了程序的输出过程。
4
操作系统教材与参考书
• 教材
– 《计算机操作系统》汤子瀛等西安电子科技大学出版社
• 参考书������
– – – – – – – – – 《现代操作系统》陈向群等译 机械工业出版社 《Windows操作系统原理》陈向群等 机械工业出版社 《计算机操作系统教程》张尧学 史美林 清华大学出版社 《计算机操作系统教程》周长林 左万历高等教育出版社 《操作系统教程》孙钟秀主编 高等教育出版社 Modern Operating SystemAndrew S.Tanenbaum Operating SystemsWilliam Stallings Operating System ConceptAbrahanSilberschatz Applied Operating System ConceptAbrahanSilberschatz
8
第一章 操作系统引论
• 1.1 操作系统的目标和作用 • 1.2 操作系统的发展过程 • 1.3 操作系统的基本特性
• 1.4 操作系统的主要功能
• 1.5 操作系统的结构设计
9
1.1
操作系统的目标和作用
1.计算机系统的组成 硬件系统(裸机):CPU、存储器(主存、辅存)、I/O、I/O控 制系统 软件系统:系统软件、应用软件 系统软件:系统软件为计算机使用提供最基本的功能,使得计 算机使用者和其他软件将计算机当作一个整体而不需要顾及到底层 每个硬件是如何工作的,可分为操作系统和支撑软件。 应用软件:应用软件、是为了某个具体任务而编制的程序,专 门性很强。使用者可以根据需要,自己编制,也可以向软件供应商 选购。 支撑软件:是支撑各种软件的开发与维护的软件,又称为软件开 发环境。它主要包括环境数据库、各种接口软件和工具组。著名的 软件开发环境有IBM公司的Web Sphere,微软公司的 等。 10
2
课程目的
• 不是如何使用操作系统 而是理解操作系统如何工作 • ������ OS工作方式 • ������ OS内部算法和数据结构 • ������ 设计OS 过程中的问题、解决方案和折 中权衡
假如没有操作系统?怎样将目标代码送给硬件?怎样输出打印 结果? 3 →人们将对二进制程序操作从二极发光管读答案
17
1.2
操作系统的发展史
1.2.1 无操作系统的计算机系统
1. 人工操作方式
从第一台计算机诞生 (1945 年 ) 到50 年代中 期的计算机,属于第一代,这时还未出现 OS。 计算机操作是由用户采用人工操作方式直接 使用计算机硬件系统,即由程序员将事先已 穿孔(对应于程序和数据 ) 的纸带( 或卡片) 装 入纸带输入机 ( 或卡片输入机 ),再启动它们 将程序和数据输入计算机, 然后启动计算机 运行。当程序运行完毕并取走计算结果后, 才让下一个用户上机。
3. 脱机输入/输出方式 (Off—Line I/O)
在采用脱机输入输出方式时,程序和数据的输入输出都 是在外围计算机的控制下完成的,即它们是脱离主机进行的, 故称之为脱机输入输出操作。
脱机I/O (1)减少了CPU的空闲时间。 (2) 提高I/O速度。
图 1-2 脱机I/O示意图
21
脱机输入技术
图 1-3 单道批处理系统的处理流程
24
2. 单道批处理系统的特征
单道批处理系统是最早出现的一种 OS,严格地说,它只能算作是OS的前身而 并非是现在人们所理解的 OS 。 该系统的
(1) 自动性
(2) 顺序性
(3) 单道性
25
1.2.3 多道批处理系统
(multiprogrammed batch processing system)
18
世 界 上 第 一 台 计 算 机 内 部 工 作 情 况
19
2.人工操作方式的特点
特点: • 用户独占全机(独占性) • CPU等待人工操作(串行性) 缺点:
• 计算机的有效机时严重浪费
• 效率低
人机矛盾:人工操作方式严重降低了计算机资源的 利用率 CPU速度的提高和系统规模的扩大及I/O设备速度提高 20 缓慢,人机矛盾日趋严重,出现通道技术、缓冲技术
30
2.多道批处理系统的特点
• 多道:多道指某个作业占用CPU,若由于某种原 因暂时不用CPU 则系统让第二个作业占用CPU • 成批处理:用户自己不能干预自己作业的运行, 一旦发现作业错误不能及时改正,并延长开发软 件时间,所以适用于成熟的程序。 • 无序性:多个作业完成的先后顺序与它们进入内 存的顺序无关 • 调度性:二次调度,作业调度(从外存的后备作 业队列中选择若干个作业调入内存)和进程调度 (从已在内存的作业中选择一个作业,将处理机 分配给它,使之执行)
第一章 操作系统引论
1
简单问题: 为什么要安装Windows or Unix等OS?
操作系统(Operating System,简称OS),是电子计算 机系统中负责支撑应用程序运行环境以及用户操作环境 简单的说,操作系统就是给计算机一 的系统软件,同时也是计算机系统的核心与基石。它的 个灵活的大脑,一个强健的心脏和突出的 职责常包括对硬件的直接监管、对各种计算资源(如内 个性。没有操作系统,计算机什么也做不 存、处理器时间等)的管理、以及提供诸如作业管理之 了,只能是一堆废物 类的面向应用程序的服务等等。 操作系统的理论是计算机科学中一个古老而又活跃 的分支,而操作系统的设计与实现则是软件工业的基础 与核心。
• 硬件抽象,可移植性 •������ 有限变为无限(接近) •������ 提供保护
一台等价的扩展机器(虚拟机),比底层硬件 更容易编程
14
游戏 编译器
MIS 命令解释器
应用软件设计者 。 。 。
应用软件设计者 网络,数据库
操作系统设计者
操作系统 机器语言 微程序 物理设备
15
5. 操作系统的作用
3. 可扩充性:采用层次化结构便于增加和修改
4. 开放性:遵循OSI国际标准彼此兼容实现互连
12
4. 操作系统的地位
• 计算机系统由硬件和软件组成
• 操作系统在硬件基础上的第一层软件, 是对硬件系统的首次扩充。其他系统软 件以及应用软件都将依赖于操作系统的 支持 •是其他软件和硬件之间的接口
13
应用软件与现实硬件之间的软件
ห้องสมุดไป่ตู้
34
典型的操作系统
• FMS(FORTRAN Monitor System,FORTRAN监控 系统) • IBMSYS(IBM为7094机配备的操作系统) 这些操作系统由监控程序,特权指令,存储保护和简单的批处理 构成 • OS/360操作系统 ������ 20世纪60年代初期,计算机开始采用集成电路,多数厂商有 几条完全不同的生产线,生产不同的计算机。 开发和维护完全不同的产品,对厂商来说是昂贵的。 ������ 新的用户在开始时只需要一台小计算机,后来可能需要一台 大的计算机,并希望能在新计算机上执行原有的程序。 ������ 厂家和用户需要软件在不同型号的计算机之间兼容
31
3.多道批处理系统的优缺点
(1) 资源利用率高:共享资源 (2) 系统吞吐量大:各部件保持忙碌且切换不频繁 (3)可提高内存和I/O设备利用率
(4)平均周转时间长:作业的周转时间是指从作业进入
系统开始,直至其完成并退出系统为止所经历的时
间
(5)无交互能力:对修改和调试带来不便
适合大型科学计算、数据处理。
2.计算机系统的层次结构
图 1.1 计算机系统的层次结构
11
3.操作系统的目标
在计算机系统上配置操作系统的主要目标与计算机系统的 规模和操作系统的应用环境有关。目前存在着多种类型的
OS,不同类型的OS,其目标各有所侧重。通常在计算
机硬件上配置的OS,
1. 方便性:用户通过命令使用计算机
2. 有效性:保持忙碌且内外存数据有序节省空间
•
OS作为用户与计算机硬件系统之间的接口(通过
OS作为接口示意图可看出三种方式使用计算机)
• •
OS作为计算机系统资源的管理者 OS用作扩充机器
16
6. 推动操作系统发展的主要动力
• 不断提高计算机资源利用率(最初-batching) • 方便用户(继续-time sharing
• 器件的不断更新换代 (功能性能提高)
图1-5 典型的FMS JOB 结构
28
图 1-6 单道和多道程序运行情况
29
在单CPU和两台输入/输出设备(I1,I2)的多道程序设计环 境下,同时投入三个作业job1、job2、job3运行。这三个作业对 CPU和输入/输出设备的使用顺序和时间如下所示: job1:I2(30ms);CPU(10ms);I1(30ms);CPU(10ms); I2(20ms); job2:I1(20ms);CPU(20ms);I2(40ms); job3:CPU(30ms);I1(20ms);CPU(10ms);I1(10ms); 假定CPU、I1、I2都能并行工作,job1的优先级最高,job2次 之,job3优先级最低,优先级高的作业可以抢占优先级低的作业 的CPU,但不抢占I1和I2。试求: 1. 三个作业从投入到完成分别所需的时间。 2. 从投入到完成的CPU的利用率。 3. I/O设备利用率(分别求I1、I2的利用率)
操作系统课程的特点
• ������ 实践性强(从实践总结出原理) • ������ 涉及面广(并行程序,性能问题,结构 问题,程序方法论,软件工程,等等) • ������ 错综复杂:纵横交叉 • ������ 如何学好操作系统? Learn OS concepts by coding them!
1. 多道程序设计的基本概念
在计算机内存中同时存放若干道已开始运行尚未
结束的程序,它们交替运行,共享系统中的各种硬、
软件资源,从而使处理机得到充分利用。
在该系统中, 用户所提交的作业都先存放在外存
上并排成一个队列,称为“后备队列”;然后,由作
业调度程序按一定的算法从后备队列中选择若干个作 业调入内存,使它们共享CPU和系统中的各种资源。 26
卡 片 阅 读 机
卡片
磁带机
打 印 机
IBM 1401
IBM 7094
IBM 1401
输入磁带
输出磁带
27
图1-4 早期批处理系统
$END Data for program $RUN $LOAD Fortran program $FORTRAN $JOB, 10,429754
Cherry Chen
32
4.多道批处理需要解决的问题
(1) 处理机管理问题。 (2) 内存管理问题。 (3) I/O设备管理问题。 (4) 文件管理问题。 (5) 作业管理问题。
33
Spooling 技术
• 程序卡片被拿到机房后能够很快将一作业从 卡片读入磁盘 • 任何时刻当一作业运行结束操作系统就将一 新作业从磁盘读出,装入空出的内存区运行 • ������ Spooling技术 (Simultaneous Peripheral Operation On Line) • ������ 该技术也用于输出
5
课程形式
• 主课、习题课、专题课(选)、课堂讨论 (选)、作业、小论文——Linux源代码分析、 上机实习 • 学习要求:按时上课,认真听讲,阅读参考书, 整理笔记,思考,讨论,提问
6
Linux源代码分析
• Linux内核源代码情景分析 • 任何介绍Linux源代码阅读的书籍、文章
7
• “I hear and I forget, I see and I remember, I do and I understand.” --Chinese proverb • No pains, No gains
23
1.2.2 单道批处理系统-现代操作系统雏形 (Simple Batch System)
1. 单道批处理系统的处理过程(监督程序-Monitor) 批处理是指计算机系统对一批作业自动进行处理的一种技术。 单道批处理在内存中仅有一道作业。是在解决人机矛盾和 CPU与I/O设备速度不匹配的矛盾的过程中形成的。
为解决低速输入设备与CPU速度 不匹配的问题,可将用户程序和数 据,在一台外围计算机的控制下, 预先从低速输入设备输入到磁带上, 当CPU需要这些程序和数据时,再直 接从磁带机高速输入到内存,从而 大 大加快了程序的输入过程,减少 了CPU等待输入的时间。
22
脱机输出技术
当程序运行完毕或告一段落, CPU需要输出时,无须直接把计算结 果送至低速输出设备,而是高速地 把结果送到磁带上,然后再另一台 外围机地控制下,把磁带上的计算 结果由相应的输出设备输出,着就 大大加快了程序的输出过程。
4
操作系统教材与参考书
• 教材
– 《计算机操作系统》汤子瀛等西安电子科技大学出版社
• 参考书������
– – – – – – – – – 《现代操作系统》陈向群等译 机械工业出版社 《Windows操作系统原理》陈向群等 机械工业出版社 《计算机操作系统教程》张尧学 史美林 清华大学出版社 《计算机操作系统教程》周长林 左万历高等教育出版社 《操作系统教程》孙钟秀主编 高等教育出版社 Modern Operating SystemAndrew S.Tanenbaum Operating SystemsWilliam Stallings Operating System ConceptAbrahanSilberschatz Applied Operating System ConceptAbrahanSilberschatz
8
第一章 操作系统引论
• 1.1 操作系统的目标和作用 • 1.2 操作系统的发展过程 • 1.3 操作系统的基本特性
• 1.4 操作系统的主要功能
• 1.5 操作系统的结构设计
9
1.1
操作系统的目标和作用
1.计算机系统的组成 硬件系统(裸机):CPU、存储器(主存、辅存)、I/O、I/O控 制系统 软件系统:系统软件、应用软件 系统软件:系统软件为计算机使用提供最基本的功能,使得计 算机使用者和其他软件将计算机当作一个整体而不需要顾及到底层 每个硬件是如何工作的,可分为操作系统和支撑软件。 应用软件:应用软件、是为了某个具体任务而编制的程序,专 门性很强。使用者可以根据需要,自己编制,也可以向软件供应商 选购。 支撑软件:是支撑各种软件的开发与维护的软件,又称为软件开 发环境。它主要包括环境数据库、各种接口软件和工具组。著名的 软件开发环境有IBM公司的Web Sphere,微软公司的 等。 10
2
课程目的
• 不是如何使用操作系统 而是理解操作系统如何工作 • ������ OS工作方式 • ������ OS内部算法和数据结构 • ������ 设计OS 过程中的问题、解决方案和折 中权衡
假如没有操作系统?怎样将目标代码送给硬件?怎样输出打印 结果? 3 →人们将对二进制程序操作从二极发光管读答案