第一讲操作系统概论.ppt_第1页
第一讲操作系统概论.ppt_第2页
第一讲操作系统概论.ppt_第3页
第一讲操作系统概论.ppt_第4页
第一讲操作系统概论.ppt_第5页
已阅读5页,还剩75页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、操作系统(Operating System),主讲 梁琛 Email:,教材计算机操作系统教程 徐甲同 西安电子科技大学出版社,参考教材 计算机操作系统 汤子瀛 西安电子科技大学出版社操作系统设计与实现 王鹏等译 电子工业出版社现代操作系统 陈向群等译 机械工业出版社计算机操作系统教程 张尧学,史美林 清华大学出版社操作系统教程 孟庆昌 西安电子科技大学出版社 网站 西邮OS课程网站: 参考网站:,学习要求:按时上课,认真听讲阅读参考书思考,讨论,提问,成绩评定:作业15%上机及到课率15%期末考试 70%,课程形式: 讲课, 习题课, 作业, 上机,2使学生深入到操作系统内部,理解并掌握操作

2、系统的基本原理、设计方法和实现技术。,3使学生了解操作系统的演化过程、发展研究动向、新技术以及新思想。,1使学生对操作系统的基本概念、基本结构及运行环境有一定的认识。,课程基本目的,What Why How,?,OS是什么?做什么? 为什么需要OS? OS如何工作?如何使用?,本课程学习什么? 为什么要学OS? 如何学?,引言,Windows TC Word Visual FoxPro UNIX Linux CS,一、学习什么? 操作系统如何有效的管理计算机系统,为用户提供服务。 用户与操作系统的接口 进程管理 存储管理 文件系统 输入/输出系统,加深对使用的OS的理解,有利于深入编程 用户为

3、了开发应用程序必须与操作系统打交道 编程时借鉴操作系统的设计思想和算法 操作系统中的许多概念和技巧可推广到其他领域 选择购买操作系统 我们并不总使用微软Windows,二. 为什么学习操作系统?,涉及面广(并行程序,性能问题,结构问题,程序方法论,软件工程,等等),实践性强(从实践总结出原理),错综复杂:纵横交叉,三、如何学习操作系统 操作系统课程的特点:,操作系统的目标是提高资源利用率、方便用户。它应能够高效地控制和管理计算机硬件和软件资源、公平合理地对各类作业进行调度、使各用户能够灵活方便有效地使用计算机。必须有良好的开放性和可扩充性。高效:CPU,内存,I/O设备,文件(程序和数据)利用

4、率提高公平: 应公平合理, 否则会产生“死锁”或“饥饿”方便: 用户界面友好,使用灵活方便。 充分地利用资源更好的提供服务,#include int main(int argc, char *argv) puts(hello world); return 0; ,一. 操作系统做什么?, 程序执行系统调用,在文件描述符中写一字符串, 用户告诉操作系统执行hello程序, 操作系统找到该程序,检查其类型, 检查程序首部,找出正文和数据的地址, 父进程需要创建一个新的子进程,执行hello程序, 操作系统设置CPU上下文环境,并跳到程序开始处, 程序的第一条指令执行,失败,缺页中断发生, 系统分配

5、一页内存,并将代码从磁盘读入,继续执行, 更多的缺页中断,读入更多的页面,编译程序对hello进行编译,形成目标代码,连接程 序对目标代码进行连接形成可执行文件, 操作系统检查字符串的位置是否正确,操作系统找到字符串被送往的设备,该设备是一个 伪终端,由一个进程控制, 操作系统将字符串送给该进程, 该进程告诉窗口系统它要显示字符串, 窗口系统确定这是一个合法的操作,然后将字符串转换成像素, 窗口系统将像素写入存储映像区, 视频硬件将像素表示转换成一组模拟信号控制显示器(重画屏幕),显示器发射电子束, 用户在屏幕上看到 hello world,操作系统做什么? (1)程序的执行 负责启动每个程序

6、,以及结束程序的工作 (2)完成与硬件有关的工作 实现对存储器物理地址的访问,对设备接口 寄存器和设备接口缓冲区的读写等, 实现该工作的 过程代码和硬件因素密切相关。 (3)完成与应用无关(不随具体应用变)的工作 易于使用,统一的基本服务 是指这些工作是任何一个程序都需要的、最基 本的工作。它们具有共性,工作过程相同。 (4)计算机系统的效率与安全问题,1. 与硬件相关: 实现对存储器物理地址的访问,对设备接口寄存器和设备接口缓冲区的读写等 实现该工作的过程代码和硬件因素密切相关, 即需要设置与测试、使用物理地址、设备 接口寄存器等等 硬件相关必然复杂繁琐、代码量大 硬件相关的工作,其实现代码

7、不通用,由于操作系统承担了上述工作,在其之上的各类程序就没有必要直接同硬件打交道了。硬件改变时,操作系统相应变化即可,其他的程序不用作出改变。 硬件相关还表现在有关硬件状态的变化必定带来对应代码的变化。,2. 与应用无关: 是指这些工作是任何一个程序都需要的、最基本的工作。 它们具有共性,工作过程相同。 与具体应用无直接关系,即与用户所关心的应用目标无直接关系。,操作系统提供一系列服务: 进程管理:程序执行,多任务。 内存管理:内存分配,内存保护。 文件服务:文件存取,文件维护,文件保护。 设备管理:设备控制,I/O操作。 友好的用户界面。 通信服务,网络服务。 错误检测及恢复系统,安全。,二

8、、为什么需要操作系统? 三、操作系统如何工作?如何使用?,什么是操作系统? 多道程序设计的概念 操作系统的功能和主要特征 操作系统的结构 操作系统的分类,第一章 操作系统概述,操作系统作为最基本的系统软件,一个计算机系统由两部分组成:系统硬件和系统软件。 系统硬件: 指构成计算机系统所必须配置的全部设备。 系统软件: 是一个计算机系统必须配置的程序和数据的集合。,1.1 什么是操作系统?,计算机系统的资源分为硬件资源和软件资源,操作系统的任务就是如何管理这些资源,使系统资源得到充分有效的利用,并且在相互竞争的作业或程序之间有序地控制系统资源的分配,从而实现对计算机系统工作流程的控制。 资源管理

9、器的作用是: 1.跟踪资源状态。 2.分配资源。 3.回收资源。 4.保护资源。,操作系统作为资源管理器,为了让用户和程序员在使用计算机时不涉及硬件细节,使硬件细节和程序员隔离开来,需要建立一个简单的高度抽象。简称虚拟机。 用户通过操作系统来使用计算机,操作系统就构成了用户和计算机之间的接口。 操作系统为用户提供了两级接口: 1.命令接口。 2.编程接口。,操作系统作为虚拟机,是程序和数据的集合,是一种软件(系统软件) 是控制、管理计算机系统中所有软硬件资源的资源管理器 是为用户使用计算机提供方便的虚拟机,操作系统:控制和管理计算机系统的软件和硬件资源,合理地组织计算机工作流程及方便用户使用的

10、程序和数据集合。,推动操作系统发展的主要动力 不断提高计算机资源利用率 资源: CPU,内存,I/O设备,文件(程序和数据) 方便用户: 用户界面友好,使用灵活方便。 器件的不断更新换代 例如:微机由8位-16位-32位-64位,相应的OS也由8位-16位-32位-64位,不断更新换代。 计算机体系结构的不断发展 例如:计算机由单处理机系统发展为多处理机系统、计算机网络,OS也由单处理机OS发展为多处理机OS、网络OS。,操作系统的性能指标 系统的RSA 可靠性(Reliability):用平均无故障时间(MTBF)度量 可维修性(Serviceability):用平均故障修复时间度量 可用性

11、 (Availability):正常工作的概率 系统吞吐量: 单位时间完成的作业数 系统响应时间: 从输入到回应所需时间 资源利用率:资源(CPU,内存,I/O设备)实际使用比例 可维护性: 改错、改变功能、扩充功能 可移植性: 将OS移植到另一机型所需工作量 方便用户: 用户界面友好,使用灵活方便,1.2 多道程序设计的概念,现代计算机系统一般都采用基于多道程序设计的技术。 多道程序设计是指在主存中同时存放多道用户作业,使它们都处于执行的开始点和结束点之间。,多道程序设计的硬件支持,引入中断的目的 解决主机与外设的并行工作问题 中断系统定义 对异步或例外事件的一种响应 这一响应自动地保存CP

12、U状态以便将来重新启动 自动转入中断处理程序 中断类型 I/O中断 程序中断 硬件故障中断 外中断 访管中断,多道程序设计技术得到了计算机硬件的两方面支持:中断系统和通道技术。,多道程序设计的硬件支持(Cont.),引入通道的目的 为了使CPU从I/O事务中解脱出来,同时为了提高CPU与设备、设备与设备之间的并行度,提高计算机系统效率 通道技术(I/O处理机) 定义:独立于CPU的专门负责数据输入/输出传输工作的处理机,对外部设备实现统一管理,代替CPU对输入/输出操作进行控制,从而使输入/输出操作可和CPU并行操作 结构:主存、通道、控制器和设备之间采用四级连接,实现三级控制,多道程序设计的

13、硬件支持(Cont.),CPU和通道的通信 CPU与通道之间的关系是主从关系。CPU是主设备,通道是从设备。采用通道方式实现数据传输的过程如下: 当运行的程序要求数据传输时,CPU向通道发I/O指令,命令通道工作; 通道接收到CPU的I/O指令后,从内存中取出相应的通道程序,通过执行通道程序完成I/O操作; 当I/O操作完成(或出错)时,通道以中断方式中断CPU正在执行的程序,请求CPU的处理。,多道程序设计原理,单道: 用户程序 监督程序 I/O操作,I/O请求,启动I/O,I/O完成,I/O请求,多道: 程序A 程序B 程序C 调度程序,A:I/O请求,A:I/O,B:I/O请求,B:I/

14、O,C:I/O,A:完成,t,t,多道程序设计原理,多道程序设计的主要目的是充分利用系统的所有资源且尽可能地让他们并行操作。这种技术可把硬件的代价交叉地分布在大量并行用户之间而使计算机系统的代价极小化。,优点: 多道程序共享资源,资源利用率高。 系统吞吐量大,资源保持忙,系统开销小。 缺点: 作业平均周转时间长,无交互能力。,多道程序设计的实现,为了实现多道程序设计,必须妥善解决以下三个问题: 1、存储保护和地址重定位 2、处理机管理和调度 3、资源的管理和分配 多道程序设计的特点如下: 1、多道 2、宏观上并行 3、微观上串行,1.3 操作系统的功能和主要特征,功能: 处理机管理 多道程序环

15、境下,处理机管理以进程为基本单位. 进程控制 进程调度 进程同步 进程通信 存储管理 为方便用户使用存储器,提高主存的利用率. 地址重定位 存储分配 存储保护 存储扩充,1.3 操作系统的功能和主要特征(Cont.),功能: 设备管理 缓冲管理 设备分配 设备处理 设备独立性和虚拟设备 文件管理 目录管理 文件读、写管理 文件存取控制 文件存储空间的管理,1.3 操作系统的功能和主要特征(Cont.),功能: 用户接口 命令接口 程序接口 图形接口,1.3 操作系统的功能和主要特征(Cont.),主要特征 并发性:两个或多个事件在同一时间间隔内发生 共享性:系统中多个资源可供内存中多个并发执行

16、的进程共同使用,有互斥和同步两种共享方式 虚拟性:将一个物体影射为若干个逻辑实体 不确定性 程序执行结果不确定,程序执行结果不能再现。 多道程序设计环境下,程序按异步方式运行。,1.4 操作系统的结构,一、操作系统的内核 现代操作系统从内部结构来分析,通常包括两部分: 内核:运行在核心态下的那部分程序,为系统的基本工作单位(如进程)提供良好的运行环境,常驻内存。包括进程、线程及其管理; 存储器管理;I/O管理;文件系统。 核外部分,它通常是一些实用程序。 强内核全部系统功能都包括在内核中,系统调用是通过陷入内核来实现的。 微内核最基本的系统功能在内核,其余部分在核外,系统调用通过向远程服务器发

17、送消息来请求服务。,微内核的基本功能: 进程间通信机制 某些 存储管理 有限的低级 进程管理和调度 低级I/O处理 微内核与强内核相比优点: 灵活性 开放性 可扩充性,二、传统的操作系统结构设计模式(针对单处理机),1、 整体式结构设计模式 将系统所提供的特性、服务及系统所执行的任务统一成一体的一个概括性框架。 优点:每个过程对其它过程是可见的,系统的每个过程都有一个定义完好的接口。 缺点:扩充困难。,1)有序分层 硬件之上为A1层, 在A1层基础上添加A2层, 。每层只调用低层所提供的功能, 与高层软件无关。调试时从第Ai到高层逐层仔细调试保证功能正确, 这样当发现Ai出错时, 该错误局限于

18、Ai层。 2)层次设置 被调用的模块应放在低层 使用频率高的应放在低层 公用模块应放A1低层 用户接口应放在最高层,2、层次式结构设计模式,3)优点:把模块间的复杂依赖关系转化为单向依赖关系,即高层软件依赖低层软件,而低层不依赖高层。,三、现代的操作系统结构设计模式(针对多处理机),1、客户/服务器模式,基本思想:将操作系统分为两部分,大部分功能由相对独立的各服务器来实现,它们都运行在用户态; 当用户进程(客户进程)要求服务时, 向相应的服务器发出请求, 服务器完成请求后回送一个应答; 另一部分是内核, 用来处理客户和服务器之间的通信, 即处理请求和应答。,客户 应用程序,内存 服务器,网络

19、服务器,进程 服务器,文件 服务器,显示 服务器,用户态,核心态,微内核,硬件,好处: 简化了基本操作系统 提高了可靠性 适合分布式环境,2 面向对象技术 对象是指具有相同属性、服从相同规则的一类事物的抽象, 其中的具体事物称为对象的实例; 将数据结构和定义在其上的一组操作封装起来表示某个对象。这样数据结构中的数据对外都是隐蔽的, 必须通过封装其内的操作(函数)对它们访问。优点是: 可修改性和可扩充性 继承性 正确性和可靠性,3 对称多处理模式 支持多处理机操作系统的结构设计。采用两种模式: 对称多处理:一个操作系统在系统中的所有处理机上运行,并共享同一内存。 非对称多处理(主从模式):一台处

20、理机执行操作系统代码,其它处理机只执行作业。,推动操作系统发展的主要动力 不断提高计算机资源利用率 资源: CPU,内存,I/O设备,文件(程序和数据) 方便用户: 用户界面友好,使用灵活方便。 器件的不断更新换代 例如:微机由8位-16位-32位-64位,相应的OS也由8位-16位-32位-64位,不断更新换代。 4.计算机体系结构的不断发展 例如:计算机由单处理机系统发展为多处理机系统、计算机网络,OS也由单处理机OS发展为多处理机OS、网络OS。,操作系统的发展,人工操作 批处理 分时系统 实时系统 个人计算机操作系统 网络操作系统 分布式操作系统 嵌入式操作系统,真空管计算机时代 硬件

21、非常昂贵, 人工操作, 没有操作系统 1. 人工操作方式: 控制台 一个用户 一次完成一个功能 (计算,I/O,用户操作三者串行) 程序通过穿孔机或卡片装入 用户在控制台前调试程序,无操作系统的操作方式,1946年发明的第一台电子计算机 ENIAC(埃尼阿克) 数万个真空管, 占地100平方米 运算速度:5000次/每秒,用机器语言,无程序设计语言,更谈不上操作系统。 程序员提前预约一段时间,然后到机房将他的插件板插到计算机里。然后,期盼着在接下来的时间中,几万个真空管不会烧断,从而可以计算自己的题目。,50年代早期 出现了穿孔卡片 程序写在卡片上然后读入计算机,缺点: (1) 上机用户独占计

22、算机的全部资源, 资源利用率低, 工作效率非常低。 (2) CPU 等待人工操作。 (3) 每个用户都要自行编写涉及到硬件的源代码。工作量大, 难度高, 易出错。 出现两个矛盾: 人机矛盾人低速与机器高速 CPU与I/O设备速度不匹配的矛盾。,2. 脱机I/O方式 为了解决这两个矛盾,50 年代末出现了脱机I/O方式, I/O设备由外围机控制。减少了CPU的空闲时间,提高了 I/O 速度。,外围机,外围机,主机,输入设备,输出设备,磁盘,1.5 操作系统的分类,单用户操作系统 批处理系统 分时系统 实时系统 网络操作系统 分布式操作系统 多处理机操作系统,单用户(微机)操作系统,计算机在某一时

23、间内为单用户服务,系统的全部资源都提供给该用户使用,用户对系统具有绝对的控制权,其追求目标是界面友好,使用方便。 MS-DOS是典型的单用户操作系统,批处理操作系统,批处理系统的基本特征是批量,它把系统的处理能力,即作业的吞吐量作为主要目标,同时兼顾作业的周转时间。 批处理系统分为: 单道处理系统 多道处理系统,批处理是为了提高资源利用率和系统吞吐量 一. 单道批处理系统 用户把程序(卡片)交给系统管理员,他把一批作业以脱机方式输入到磁带上,常驻监督程序(Moniter)对这批作业一个接一个连续处理。 1. 单道批处理系统处理过程: 重复进行 装入程序、运行、打印结果、撤出,有作业?,有错吗?

24、,把作业的源程序转换为目标程序,装 配 目标程序,运 行 目标程序,开始,终止,是,是,否,否,单道批处理过程,卡片,早期批处理系统,IBM1401,IBM7094,IBM1401,输入磁带,磁带机,卡片阅读机,输出磁带,打印机,批处理操作系统,$END,$RUN,Data for program,$LOAD,Fortran program,$FORTRAN,$JOB, 10,429754 Cherry Chen,基本控制卡片 是现代作业控制语言和命令解释器的先驱,2. 单道批处理系统的特征 自动性:磁带上一批作业能自动逐个依次运行 顺序性:作业顺序进入内存,执行与完成的顺序 和调入的顺序完全

25、相同。 单道性:内存中仅有一道程序,只有该程序完成 或发生异常时,才调入后继程序进入内存运行。 一个用户独占全部资源,CPU负责计算,也负责传输, CPU与外设速度不匹配。 CPU与I/O串行资源利用率仍然很低。,二. 多道批处理系统 1.多道程序设计 在磁盘上多个作业等待运行排成“后备队列”。 多道程序 内存中同时有多个作业。 -选择(调度)若干作业装入内存(存储管理)。 运行的作业遇到I/ O请求时, 切换(调度)至内 存中的另一个作业并运行之。 增加: 存储管理重定位保护,并发程序设计技术。 采用缓冲, DMA, 中断处理 多道程序共享资源,提高CPU、内存和I/O设备的利用率,增加系统

26、吞吐量。,2.工作方式: 用户首先准备好作业,然后提交给系统,称此阶段为作业的提交; 一批作业提交后,系统将它们存放到磁盘上某一盘区(称为输入井),并等待执行,此阶段为作业的后备或称作业的收容; 系统从磁盘的输入井中挑选作业并将它们装入内存,然后是它们在处理机上执行; 作业执行结束后,系统收回资源,取出作业执行结果,这一阶段称为作业的完成。,3.多道批处理系统的特征 多道性: 内存同时驻留多道程序允许并发执行。 无序性: 作业完成顺序与进入内存顺序无严格对应关系。 调度性: 作业从提交到完成经两步调度。 作业调度、进程调度。,批处理操作系统,优点:作业流程自动化,效率高,吞吐率高 缺点:无交互

27、手段,调试程序困难 吞吐量:单位时间内处理作业的个数,SPOOLing技术,实现批处理的主要输入输出手段是Spooling(Simultaneous Peripheral Operation On-Line,同时的外围设备联机操作)技术,即假脱机技术 Spooling技术来历 1961年,英国曼彻斯特大学,在Atalas机上,首先采用SPOOLing,利用磁盘作缓冲,将输入、计算、输出分别组织成独立的任务流,使I/O和计算真正并行 Spooling系统工作原理 作业进入到磁盘上的输入井 按某种调度策略选择几种搭配得当的作业,并调入内存 作业运行的结果输出到磁盘上的输出井 再由磁盘上的输出井将结

28、果送到打印机,主机,终端,分时系统,分时系统,工作方式: 一台主机连接了若干个终端; 每个终端有一个用户在使用,交互式的向系统提出命令请求; 系统接受每个用户的命令,采用时间片轮转方式处理服务请求,并通过交互方式在终端上向用户显示结果; 用户根据上步结果发出下道命令; 时间片:操作系统将CPU的时间划分成若干个片段,称为时间片,分时系统,特点: 多路性:同时有多个用户使用一台计算机,宏观上看是多个人同时使用一个CPU,微观上是多个人在不同时刻轮流使用CPU 交互性:用户根据系统响应结果进一步提出新请求(用户直接干预每一步) 独占性:用户感觉不到计算机为其他人服务 及时性:系统对用户提出的请求及时响应,关键问题和实现方法 及时接受: 系统配置多路卡, 与各终端连结,每个终端配置一个缓冲区, 暂存接受各用户键入的命令和数据。 及时处理(及时响应): 每个用户键入命令后, 能控制自己作业的运行, 并及时得到处理。各作业都必须在内存, 在响应周期内都能得到执行。方法是, 将响应周期分为很短的时间片, 每个作业占一个时间片轮流执行。不允许某个作业长期占用处理机。,分时系统,分时系统,调进/调出(Roll-in/Roll-out)是实现分时系统的一种主要方式 分时系统的响应时间是衡量一个

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论