第1章操作系统引论_第1页
第1章操作系统引论_第2页
第1章操作系统引论_第3页
第1章操作系统引论_第4页
第1章操作系统引论_第5页
已阅读5页,还剩115页未读 继续免费阅读

下载本文档

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

文档简介

1、计算机操作系统计算机操作系统Important 操作系统课程是计算机教育的操作系统课程是计算机教育的必修必修内容内容 计算机专业的计算机专业的核心课核心课 技术开发的技术开发的理论基础理论基础Text1Text2Text3Text4TextWhatText1Text2Text3Text4TextText3学习什么学习什么不是不是理解操作系统如何工作理解操作系统如何工作OS的工作方式的工作方式OS内部算法和数据结构内部算法和数据结构设计设计OS 过程中的问题、过程中的问题、解决方案和折中权衡解决方案和折中权衡操作系统中的典型技术操作系统中的典型技术和应用和应用 而是而是如何使用操作系统如何使用操

2、作系统Why设计或修改现有的操作系统设计或修改现有的操作系统加深对所用加深对所用OS的理解,有利于编程的理解,有利于编程用户深入地与操作系统打交道用户深入地与操作系统打交道编程时借鉴操作系统的设计思想和算法编程时借鉴操作系统的设计思想和算法选择购买操作系统选择购买操作系统如如FIFO算法,算法,最佳适应算法最佳适应算法思维方式的学习思维方式的学习引引 言言 课程特点:课程特点:概念多、原理性强、较抽象 课程学习目的:课程学习目的:基础核心课,有利于对计算机系统的理解和软件开发 课程学习方法:课程学习方法:以问题驱动学习、理论联系实际 课程学习难点:课程学习难点:概念、原理、算法、数据结构 E-

3、mail:教材及参考书教材及参考书教材:教材:计算机操作系统,汤小丹等计算机操作系统,汤小丹等 西安电子科技大学出版社西安电子科技大学出版社参考书:参考书:计算机操作系统学习指导与题解,汤子瀛主审计算机操作系统学习指导与题解,汤子瀛主审 梁红兵等编梁红兵等编著,西安电子科技大学出版社著,西安电子科技大学出版社张尧学计算机操作系统张尧学计算机操作系统 清华大学出版社清华大学出版社操作系统教程与实验,胡明庆、高巍、钟梅,清华大学出操作系统教程与实验,胡明庆、高巍、钟梅,清华大学出版社,版社,2007.01第第1版版计算机操作系统,何炎祥、李飞、李宁,清华大学出版社,计算机操作系统,何炎祥、李飞、李

4、宁,清华大学出版社,2004年第年第1版版 Operating System Concepts,Seventh Edition. Silberschatz, Galvin, Gagne, John wiley & Sons. Inc. 2005第一章第一章 操作系统引论操作系统引论第一章 操作系统引论 本章要点(本章要点(1/3) 目的:目的:建立建立OS的基本概念,切实掌握的基本概念,切实掌握OS的一的一些基本概念。些基本概念。 操作系统的目标和作用操作系统的目标和作用 目标:目标: 方便性、有效性、可扩充性、开放性 作用:作用: 接口 资源管理者 实现了对资源的抽象 是计算机工作流

5、程的组织者第一章 操作系统引论 本章要点(本章要点(2/3) 操作系统的引入和发展:操作系统的引入和发展:由简单到复杂,由由简单到复杂,由低级到高级。低级到高级。 从早期无操作系统 人机矛盾;CPU-I/O设备速度不匹配的矛盾。 单道批处理系统 多道批处理系统 分时系统 实时系统 网络操作系统、分布式操作系统、嵌入式操作系统 第一章 操作系统引论 本章要点(本章要点(3/3) 操作系统的基本特征和功能:操作系统的基本特征和功能: 四大特征:四大特征:并发、共享、虚拟、异步性 五大功能:五大功能:处理机管理、存储器管理、设备管理、文件管理、提供用户接口 操作系统的结构设计:操作系统的结构设计:

6、分层式结构 分层的原则 客户/服务器技术 面向对象技术 微内核结构第一章 操作系统引论 本章内容本章内容第一章 操作系统引论 1.4 操作系统的主要功能1.3 操作系统的基本特性1.2 操作系统的发展过程1.1 操作系统的目标和作用1.0 知识引入1.5 操作系统的结构设计第一章 操作系统引论 1.0 1.0 知识引入知识引入1、信息技术的发展趋势、信息技术的发展趋势第一章 操作系统引论 戈登摩尔Gordon Moore(Intel创始人之一)在1965提出:半导体芯片上晶体管的密度大约每隔18个月就会增加一倍,性能也将提升一倍。这一定律揭示了信息技术进步的速度 微处理器变得更小、更密集、功能

7、更强大。 芯片上晶体管的数量每18个月翻番,这就是“摩尔定律”第一章 操作系统引论 2、世界是一个大型并行系统、世界是一个大型并行系统 微处理器无处不在 后台是巨大的基础设施作为支持Internet互联大规模、可靠、安全的服务数据库信息采集远程存储在线游戏贸易3、不同时期人们对不同时期人们对CPU的占用率的占用率 如今:人均所占有CPU的数量100第一章 操作系统引论 4、多核芯片:未来发展趋势多核芯片:未来发展趋势第一章 操作系统引论 Intel 80-core多核芯片(2007年2月) 80 simple cores 2 floating point engines/cre Mesh-li

8、ke “network-on-a-chip” 100 million 晶体管(1 个亿) 65nm Feature size “多核多核”指每个芯片上有多个处理器指每个芯片上有多个处理器 64?128?很难具体给出一个界限值 如何进行编程如何进行编程 2个CPU用于视频/音频 1个用于字处理,1个用于浏览器 76个用于病毒检测? 每一级中都必须按每一级中都必须按“并行系统并行系统”的要求进行开发的要求进行开发 5、计算机硬件结构计算机硬件结构第一章 操作系统引论 计算机系统的操作计算机系统的操作 一个或者多个CPU、设备控制器通过共享内存的总线进行连接 CPU并发执行,设备对内存竞争使用6、不

9、断增加的软件复杂度不断增加的软件复杂度第一章 操作系统引论 第一章 操作系统引论 1.1 1.1 操作系统的目标和作用操作系统的目标和作用1、操作系统是什么?操作系统是什么? 操作系统是管理计算机硬件的软件。 它也为应用程序提供一个基础,在计算机用户与计算机硬件之间扮演一个中间者的角色。1.1.1 操作系统的目标操作系统的目标第一章 操作系统引论 2、操作系统的目标:、操作系统的目标: 对于不同的计算机系统,操作系统设计的目标会有差异。 大型/小型计算机 微型计算机 手持机(PDA) 通常在计算机硬件上配置的OS,其目标有以下几点: 有效性 提高系统资源的利用率 提高系统的吞吐量 方便性 可扩

10、充性 开放性第一章 操作系统引论 计算机系统结构图计算机系统结构图第一章 操作系统引论 3、计算机系统结构:、计算机系统结构:第一章 操作系统引论 操作系统在程序执行时做什么?操作系统在程序执行时做什么?第一章 操作系统引论 操作系统在程序执行时做什么?操作系统在程序执行时做什么? 用户告诉操作系统执行用户告诉操作系统执行hello程序程序 操作系统找到该程序,检查其类型操作系统找到该程序,检查其类型 检查程序首部,找出正文和数据的地址检查程序首部,找出正文和数据的地址 文件系统找到第一个磁盘块文件系统找到第一个磁盘块 父进程需要创建一个新的子进程,执行父进程需要创建一个新的子进程,执行hel

11、lo程序程序 操作系统需要将执行文件映射到进程结构操作系统需要将执行文件映射到进程结构 操作系统设置操作系统设置CPU上下文环境,并跳到程序开始处上下文环境,并跳到程序开始处 程序的第一条指令执行,失败,缺页中断发生程序的第一条指令执行,失败,缺页中断发生 操作系统分配一页内存,并将代码从磁盘读入,继续执行更操作系统分配一页内存,并将代码从磁盘读入,继续执行更多的缺页中断,读入更多的页面多的缺页中断,读入更多的页面 程序执行系统调用,在文件描述符中写一字符串程序执行系统调用,在文件描述符中写一字符串第一章 操作系统引论 操作系统在程序执行时做什么?操作系统在程序执行时做什么? 操作系统检查字符

12、串的位置是否正确操作系统检查字符串的位置是否正确 操作系统找到字符串被送往的设备操作系统找到字符串被送往的设备 设备是一个伪终端,由一个进程控制设备是一个伪终端,由一个进程控制 操作系统将字符串送给该进程操作系统将字符串送给该进程 该进程告诉窗口系统它要显示字符串该进程告诉窗口系统它要显示字符串 窗口系统确定这是一个合法的操作,然后将字符串转换成像窗口系统确定这是一个合法的操作,然后将字符串转换成像素素 窗口系统将像素写入存储映像区窗口系统将像素写入存储映像区 视频硬件将像素表示转换成一组模拟信号控制显示器(重画视频硬件将像素表示转换成一组模拟信号控制显示器(重画屏幕)屏幕) 显示器发射电子束

13、显示器发射电子束 你在屏幕上看到你在屏幕上看到hello world1.1.2 操作系统的作用操作系统的作用第一章 操作系统引论 用户观点:用户观点:OS是用户与计算机硬件系统之间是用户与计算机硬件系统之间的接口。的接口。 资源管理观点:资源管理观点:OS是计算机系统资源的管理是计算机系统资源的管理者者 虚拟机观点:虚拟机观点:OS实现了对计算机资源的抽象,实现了对计算机资源的抽象,隐藏了对硬件操作的细节。隐藏了对硬件操作的细节。1、用户观点、用户观点 操作系统从用户的观点来看,是给用户提供了一个工作环境 操作系统提供的接口: 命令方式(CLI,命令行接口) 系统调用方式(也称为应用编程接口,

14、Application Programming Interface,简称API) 图形、窗口方式(GUI,图形用户接口)第一章 操作系统引论 用 户应用程序系统调用 命令 图标、窗口操作系统计算机硬件图图 1-1 OS作为接口的示意图作为接口的示意图 2、资源管理观点、资源管理观点 操作系统是计算机系统中各类资源的管理者,它负责分配、回收以及控制系统中的各种软硬件资源。 处理器处理器 存储器存储器 I/O设备设备 信息(数据和程序)信息(数据和程序) 跟踪资源的使用状况,满足资源请求,提高资源利用率,以及协调各程序和用户对资源的使用冲突 监视资源 分配/回收资源 保护资源第一章 操作系统引论

15、3、虚拟机观点虚拟机观点 OS向用户提供了一个对硬件操作的抽象模型,使用户更容易地使用计算机硬件资源,实现了对计算机硬件操作的第一个层次的抽象。第一章 操作系统引论 3、虚拟机观点虚拟机观点 OS为用户提供了用于文件的管理软件,用于实现对文件操作的细节,并向上提供一组对文件进行存取操作的命令,实现了对计算机硬件操作的第二个层次的抽象 OS为用户提供了许多比计算机硬件功能更强、使用更方便的功能。第一章 操作系统引论 机器指令物理接口硬件用户I/O操作命令(Read, Write)用户物理接口硬件I/O软件虚拟机图图 1-2 I/O软件隐藏了软件隐藏了I/O操作实现的细节操作实现的细节 4、操作系

16、统定义、操作系统定义 操作系统操作系统是计算机系统中的一个系统软件,管理和控制计算机系统中硬件和软件资源,合理地组织计算机的工作流程,以便有效利用这些资源为用户提供一个功能强、使用方便的工作环境,从而在计算机与用户之间起到接口的作用。第一章 操作系统引论 1.1.3 推动操作系统发展的主要动力推动操作系统发展的主要动力第一章 操作系统引论 不断提高计算机资源利用率不断提高计算机资源利用率 方便用户方便用户 器件的不断更新换代器件的不断更新换代 计算机体系结构的不断发展:计算机体系结构的不断发展:单处理机系统、多处理机系统、分布式系统、计算机网络 更正软件错误更正软件错误1.2 1.2 操作系统

17、的发展过程操作系统的发展过程第一章 操作系统引论 操作系统的简历操作系统的简历 50年代中期,第一个简单批处理操作系统 60年代中期,多道程序批处理系统 不久,分时系统、实时系统 80年代,微机、多处理机及网络操作系统第一章 操作系统引论 操作系统名称演变操作系统名称演变第一章 操作系统引论 核心程序核心程序(Kernel)5监控(督)程序(系统)监控(督)程序(系统)(Monitor)1执行系统(程序)执行系统(程序)(Executive System(program)2控制系统(程序)控制系统(程序)(Control System (program)3管理程序管理程序(Supervisor

18、, Supervisor System)4操作系统操作系统(Operating System)61.2.1 无操作系统的计算机系统无操作系统的计算机系统第一章 操作系统引论 巴贝奇(巴贝奇(Babbage)机械式计算机()机械式计算机(1822) 问题:计算数值表 虽然未能实现,但它是首个现代架构 独立的数据与程序内存; 基于操作的指令 支持条件跳转 分开的I/O单元 差分机 实现了有限差 有25,000个部件,重达15吨第一章 操作系统引论 运算速度:运算速度:50,00050,000指令指令/ /每秒每秒, , 数万个真空管数万个真空管, , 占地占地100100平方米,用于精确计算弹道平

19、方米,用于精确计算弹道1.1.没有程序设计语言(甚至没有汇没有程序设计语言(甚至没有汇 编),更谈不上操作系统编),更谈不上操作系统. .2.2.程序员提前预约一段时间,然后程序员提前预约一段时间,然后 到机房将他的插件板插到计算机到机房将他的插件板插到计算机 里里. .3.3.期盼着在接下来的时间中几万个期盼着在接下来的时间中几万个 真空管不会烧断,从而可以计算自己的题目真空管不会烧断,从而可以计算自己的题目. .ENIAC计算机计算机1、人工操作方式人工操作方式第一章 操作系统引论 1、人工操作方式人工操作方式 硬件昂贵,人工便宜 用户独占全机 目标是更好地利用硬件 当用户在控制台上思考的

20、时候,计算机处于闲置状态 批量进行计算机输入时,用户处于等待状态 操作和编程完全由手工进行,且编辑只能用机器语言(二进制代码) 没有保护:如果批处理程序出现了bug? 问题:人 机矛盾 CPUI/O速度不匹配的矛盾A l t a i r 8080第一章 操作系统引论 脱机输入/输出技术脱机I/O方式的主要优点如下:减少了CPU的空闲时间。 提高I/O速度。 输入设备外围机磁盘主机外围机输出设备2、脱机输入脱机输入/输出(输出(Off-Line I/O)方式)方式图图 1-3 脱机脱机I/O示意图示意图第一章 操作系统引论 穿孔卡片(穿孔卡片(1940s & 60s) 在穿孔卡片上输入程

21、序(例如:一行代码一张卡片) 提交穿孔卡片盒(要确保卡片没有搞混) 几个小时甚至几天后才能够得到结果1.2.2 单道批处理系统单道批处理系统第一章 操作系统引论 1、单道批处理系统(单道批处理系统(Simple Batch Processing System) 硬件条件:硬件条件:晶体管替代真空管 监督程序监督程序(Monitor,又称为批处理程序,或管理程序):管理作业连续处理的程序 操作步骤:操作步骤: 收集一批作业(卡),用专用I/O计算机将作业逐个读到磁带上保存起来。 批处理程序将磁带上的第一个作业读入计算机,运算结束后将结果输出到输出磁带上。 自动读入下一个作业,并运行。1.当一批作

22、业全部执行结束后,取下输入磁带和输出磁带,用输入磁带录下一批作业,将输出磁带送到专用输出计算机,进行脱机打印。第一章 操作系统引论 1、单道批处理系统单道批处理系统把下一个作业的源程序转换为目标程序源程序有错吗?否装 配目标程序还有下一个作业?是否停止运 行目标程序是开始图图 1-3 单道批处理系统的处理流程单道批处理系统的处理流程 第一章 操作系统引论 单道批处理的引入 解决人机矛盾,提高系统资源的利用率。 解决CPU与I/O设备速度不匹配的矛盾,提高系统吞吐量 单道批处理系统的特征 自动性 顺序性 单道性2、单道批处理系统的特征单道批处理系统的特征第一章 操作系统引论 解决了作业间的自动转

23、换问题,减少了机器时间的浪费。 不管作业大小,只要它一旦占用处理机开始执行,则它必须一直占据处理机,直到运行完毕。 对短作业不公平,因为它们等待执行的时间可能远远超过它们实际执行的时间。 交互性差。作业由批处理程序控制运行,用户无法实时控制,如果运行中途出现故障,只能停下来,重新运行。3、单道批处理系统的评价单道批处理系统的评价1.2.3 多道批处理系统多道批处理系统 硬件条件:硬件条件:小规模集成电路360机 引入目的:引入目的:单道批处理系统中,任意时刻只允许一道作业在内存中运行,资源利用率低,为了提高系统资源利用率和系统吞吐量,引入多道程序设计技术。 多道多道是指,允许多个程序同时存在于

24、主存中,按照某种原则分派处理机,逐个执行这些程序。 批处理:批处理:用户提交的作业首先存放在外存,并排成一个队列。然后由作业调度程序按照一定的算法从该队列中一次选取一个或若干个作业装入内存执行。第一章 操作系统引论 1、多道程序设计的基本概念多道程序设计的基本概念 OS中引入多道程序技术可带来的好处:中引入多道程序技术可带来的好处: 提高CPU的利用率 提高内存和I/O设备利用率 增加系统吞吐量第一章 操作系统引论 1、多道程序设计的基本概念多道程序设计的基本概念用户程序用户程序监督程序监督程序I/O操作操作I/OI/O中断请求中断请求t t1 1结束中断结束中断I/OI/O完成完成启动启动I

25、/OI/OI/OI/O中断请求中断请求结束中断结束中断I/OI/O完成完成启动启动I/OI/Ot t2 2t t3 3t t4 4t t5 5t t6 6t t7 7t t8 8从黑色的实线来看从黑色的实线来看CPUCPU是断续性运作是断续性运作第一章 操作系统引论 1、多道程序设计的基本概念多道程序设计的基本概念程序程序A程序程序C程序程序B程序程序D调度程序调度程序A I/O请求请求A I/O完成完成A再次被调度再次被调度B I/O请求请求C I/O请求请求D I/O请求请求程序程序B I/O完成完成C I/O完成完成C再次被调度再次被调度A 完成完成从黑色的实线来看从黑色的实线来看CPU

26、CPU是持续性运作是持续性运作第一章 操作系统引论 2、多道批处理系统的特征多道批处理系统的特征 多道性多道性 无序性无序性 调度性调度性 作业调度 进程调度3、多道批处理系统的优缺点多道批处理系统的优缺点 资源利用率高资源利用率高 系统吞吐量大系统吞吐量大 平均周转时间长平均周转时间长 无交互能力无交互能力适合大型科学计算、数据处理。适合大型科学计算、数据处理。 处理机管理问题处理机管理问题 分配与回收 提高利用率 内存管理问题内存管理问题 分配与回收 信息保护 I/O设备管理问题设备管理问题 分配与使用 提高利用率第一章 操作系统引论 4、多道批处理系统需要解决的问题多道批处理系统需要解决

27、的问题 文件管理问题文件管理问题 方便使用 保证数据的安全性与一致性 作业管理问题作业管理问题 根据作业类型进行作业组织1.2.4 分时系统分时系统 为了改进响应时间和性能,提供交互式操作环境,导致了分时系统的出现。 人-机交互 共享主机 便于用户上机 分时系统分时系统,在一台主机上连接了多个带有显示器和键盘的终端,同时允许多个用户通过自己的终端,以交互方式使用计算机,共享主机中的资源。第一章 操作系统引论 1、分时系统(分时系统(Time-Sharing System)的产生)的产生 及时接收及时接收 多路卡:多路卡:使主机能同时接收各用户从终端上输入的数据。 缓冲区:缓冲区:暂存用户键入的

28、命令。 及时处理及时处理 作业直接进入内存 不允许一个作业长时间占用处理机第一章 操作系统引论 2、分时系统实现中的关键问题分时系统实现中的关键问题 多路性:多路性:一台主机上同时连接多台终端; 独立性:独立性:每个用户各自通过自己的终端进行输入/输出,互不干扰。用户感觉自己独占终端和主机资源。 及时性:及时性:系统按人们所能接受的等待时间及时响应用户请求。 交互性:交互性:能进行广泛的人机交互 适合办公自动化、教学及事务处理等要求人机会适合办公自动化、教学及事务处理等要求人机会话的场合。话的场合。第一章 操作系统引论 3、分时系统的特征分时系统的特征 终端数目多少 调度算法(时间片的选取)

29、信息交换量和信息交换速度 机器处理能力 请求服务的时间长短及服务请求的分布第一章 操作系统引论 4、影响响应时间的因素影响响应时间的因素1.2.5 实时系统实时系统 实时系统:实时系统:指系统能及时(或即时)响应外部事件的请求,在规定的时间内完成对该事件的处理,并控制所有实时任务协调一致地运行。第一章 操作系统引论 1、应用需求应用需求 实时控制实时控制 火炮自动控制系统、飞机自动驾驶系统、导弹制导系统、炼钢/炼油控制系统 实时信息处理实时信息处理 航空网络售票系统、情报检索系统第一章 操作系统引论 2、实时任务、实时任务实时任务的分类: 按任务执行时是否呈现周期性来划分 周期性实时任务周期性

30、实时任务 非周期性实时任务非周期性实时任务 开始截止时间任务在某时间以前必须开始执行; 完成截止时间任务在某时间以前必须完成 根据对截止时间的要求来划分 硬实时任务:硬实时任务:系统必须满足任务对截止时间的要求,否则可能出现难以预测的结果 软实时任务:软实时任务:系统对截止时间的要求并不严格 多路性。多路性。 都具有多路性。 实时信息处理系统按分时原则为多个终端用户服务。 实时控制系统对多路现场信息进行采集,对多个对象或多个执行机构进行控制。 独立性。独立性。 都具有独立性。 实时信息处理系统中,每个终端向实时系统提出请求时,是彼此独立操作,互不干扰。 实时控制系统中,对信息的采集和对对象的控

31、制,也都 是彼此互不干扰。第一章 操作系统引论 3、实时系统与分时系统特征的比较、实时系统与分时系统特征的比较 及时性。及时性。 实时信息处理系统对实时性的要求与分时系统类似,是以人所能接受的等待时间来确定。 实时控制系统的及时性,则是以控制对象所要求的开始截止时间或完成截止时间来确定,一般为秒级、百毫秒级、毫秒级。 交互性。交互性。 实时信息处理的交互性仅限于访问系统中某些特定的专用服务程序。 分时系统能向终端用户提供数据处理服务、资源共享等服务。 可靠性。可靠性。 实时系统要求系统高度可靠。第一章 操作系统引论 3、实时系统与分时系统特征的比较、实时系统与分时系统特征的比较第一章 操作系统

32、引论 操作系统概念与特性的迁移操作系统概念与特性的迁移1.2.6 微机操作系统的发展微机操作系统的发展 只允许一个用户上机,且只允许用户程序作为一个任务运行。 最简单的微机操作系统:最简单的微机操作系统:配置在8位与16位微机上 典型单用户单任务微机典型单用户单任务微机OS:CP/M和MS-DOS CP/M:带软盘系统的8位微机操作系统 MS-DOS:微软开发的16位单用户单任务操作系统第一章 操作系统引论 1、单用户单任务操作系统单用户单任务操作系统 只允许一个用户上机,但允许用户把程序分为若干个任务,使它们并发执行。 配置在32位微机上。 典型单用户多任务微机典型单用户多任务微机OS:Wi

33、ndows Windows 1.0与Windows 2.0:16位微机 Windows 3.0、 Windows 3.1:386、486等32位微机 Windows 95 :全32位的处理技术,兼容16位应用程序,支持网络功能 Windows 98:将IE整合到系统,增加了对多媒体的支持 Windows XP:32位版本/64版本 Windows NT:网络操作系统第一章 操作系统引论 2、单用户多任务操作系统单用户多任务操作系统 允许多个用户通过各自的终端使用同一台机器,共享主机系统中的各种资源;每个用户程序又进程又可进一步分为几个任务并发执行。 配置在大、中和小型机上。 典型多用户多任务操

34、作系统:UNIX OS Solaris OS Linux OS第一章 操作系统引论 3、多用户多任务操作系统多用户多任务操作系统第一章 操作系统引论 操作系统发展历史小结操作系统发展历史小结1.3 1.3 操作系统的基本特征操作系统的基本特征第一章 操作系统引论 第一章 操作系统引论 现代操作系统的基本特征:1.3.1 并发(并发(Concurrence) 并行性并行性是指两个或多个事件在同一时刻发生; 并发性并发性是指两个或多个事件在同一时间间隔内发生。 微观上,在单处理机系统中,多个任务在单个处理机上交替运行称为任务并发并发;多处理机系统中,多个任务在多个处理机上同时运行称为任务并行并行。

35、第一章 操作系统引论 1、并行与并发并行与并发 程序是静态实体,不能并发执行。程序是静态实体,不能并发执行。 进程进程是指在系统中能独立运行并作为资源分配的基本单位,它由一组机器指令、数据和堆栈等组成,是一个活动实体。 多个进程之间可以并发执行和交换信息。 进程在运行时需要一定的资源。 操作系统中引入进程的目的引入进程的目的:是使多个程序能并发执行。 线程线程是指,程序的一次相对独立的运行过程;在现代OS中,线程是系统调度的最小单位。 第一章 操作系统引论 2、引入进程与线程引入进程与线程1.3.2 共享(共享(Sharing) 资源共享性:资源共享性:宏观上,指多个任务可以同时使用系统资源;

36、微观上,指多个任务并发,即多个任务可以交替互斥地使用系统中的某个资源; 资源共享方式资源共享方式: 互斥共享方式互斥共享方式: 临界资源(或独占资源):规定在一段时间内只允许一个进程访问的资源 打印机、磁带机 同时访问方式同时访问方式 宏观上:同时 微观上:交替访问 磁盘设备第一章 操作系统引论 1.3.3 虚拟(虚拟(Virtual) 虚拟:虚拟:是指通过某种技术把一个物理实体变为若干个逻辑上的对应物。如,采用分时技术,将一台处理机虚拟为若干台处理机。还可以虚拟存储、虚拟设备、虚拟通道、虚拟文件、虚拟用户组以及虚拟网络等。 第一章 操作系统引论 时分复用:时分复用:即分时使用方式,最早用于电

37、信业,将一条物理信道虚拟为多条逻辑信道,以提高信道的利用率。 时分复用技术在计算机领域的应用: 虚拟处理机技术:虚拟处理机技术:利用多道程序设计技术,把一台物理上的处理机虚拟为多台逻辑上的处理机,在每台逻辑处理机上运行一道程序。 虚拟设备技术:虚拟设备技术:将一台物理I/O设备虚拟为多台逻辑上的I/O设备,并允许每个用户占用一台逻辑上的I/O设备。1、时分复用技术时分复用技术第一章 操作系统引论 频分复用技术:频分复用技术:将一个频率范围非常宽的信道,划分成多个频率范围较窄的信道,其中的任何一个频带都只供一对用户通话。 空分复用技术在计算机领域的应用: 虚拟磁盘技术:虚拟磁盘技术:将一台硬盘虚

38、拟为多台虚拟磁盘,即将硬盘划分为若干个卷。 虚拟存储器技术:虚拟存储器技术:利用存储器的空闲空间来存放其它的程序,以提高内存的利用率。通过“请求调入功能”和“置换功能”每次只把用户程序的一部分调用内存运行,实现用户的各部分分时进行内存运行的功能。2、空分复用技术空分复用技术第一章 操作系统引论 1.3.4 异步性(异步性(Asynchronism) 在多道程序环境下,允许多个进程并发执行,但由于竞争资源等因素的限制,使进程的执行不是“一气呵成,而是以“走走停停”的方式运行。 进程的异步性异步性:进程是以人们不可预知的速度向前推进。 内存中的每个进程何时获得处理机运行; 进程何时因提出某种资源请

39、求而暂停; 进程以怎样的速度向前推进; 每道程序总共需要多少时间完成,等等。 只要运行环境相同,作业经过多次运行,都会获得完全相同的结果。第一章 操作系统引论 1.4 1.4 操作系统的主要功能操作系统的主要功能第一章 操作系统引论 操作系统的主要任务操作系统的主要任务 OS的主要任务:的主要任务:为多道程序的运行提供良好的运行环境,以保证多道程序能有条不紊地、高效地运行。 OS的功能:的功能: 处理机管理 存储器管理 设备管理 文件管理 提供用户接口 网络服务功能第一章 操作系统引论 1.4.1 处理机管理功能处理机管理功能 在传统的多道程序中,处理机的分配和运行都是以进程为基本单位,对处理

40、机的管理可归结为对进程的管理。 在引入了线程的OS中,也包含对线程的管理。 处理机管理的主要功能:处理机管理的主要功能: 创建和撤消进程(线程) 对诸进程(线程)的运行进行协调 实现进程(线程)之间的信息交换 按照一定的算法把处理机分配给进程(线程)第一章 操作系统引论 进程控制:进程控制:创建和撤消进程以及控制进程的转换。 进程同步:进程同步:为多个进程的运行进行协调。 进程互斥方式 进程同步方式 进程通信:进程通信:实现相互合作的进程间的信息交换。 调度:调度: 作业调度:作业调度:从后备队列中按照一定的算法,选择若干个作业,为它们分配其必需的资源。在将它们调入内存后,便分别为它们建立进程

41、,使它们都成为可能获得处理机的就绪队列。 进程调度:进程调度:按一定算法从进程就绪队列中选出一个进程,把处理机分配给它,为它设置运行现场,使之运行。第一章 操作系统引论 1.4.2 存储器管理功能存储器管理功能存储器管理的主要任务: 为多道程序的并发执行提供良好的环境; 便于用户使用存储器; 提高存储器的利用率; 从逻辑上扩充内存。 第一章 操作系统引论 第一章 操作系统引论 1、内存分配、内存分配 主要任务主要任务 为每道程序分配内存空间; 提高存储器的利用率; 允许正在运行的程序申请附加的内存空间,以适应程序和数据动态增涨的需要。 内存分配方式内存分配方式 静态分配:作业装入时确定,运行时

42、不能更改与移动。 动态分配:作业装入时确定,运行时可以动态增涨与移动。 内存分配机制具有的结构和功能内存分配机制具有的结构和功能 内存分配数据结构 内存分配功能 内存回收功能2、内存保护、内存保护 主要任务主要任务 确保每道用户程序都只在自己的内存空间内运行,彼此互不干扰。 内存保护机制内存保护机制 设置两个界限寄存器,存放正在执行程序的上界和下界。系统须对每条指令所要访问的地址进行检查,如果发生越界,则发出越界中断请求。第一章 操作系统引论 可装入程序的形成可装入程序的形成 源程序 目标程序 可装入程序 任务任务 将地址空间中的逻辑地址转换为物理地址。3、地址映射、地址映射编译链接第一章 操

43、作系统引论 任务任务 借助于虚拟存储技术,从逻辑上扩充内存容量 让更多的用户程序能并发执行 系统具有的内存扩充机制系统具有的内存扩充机制 请求调入功能(部分装入功能) 置换功能4、内存扩充、内存扩充第一章 操作系统引论 1.4.3 设备管理功能设备管理功能 设备管理用于管理计算机系统中所有的外围设备,主要任务主要任务有: 完成用户进程提出的I/O请求 为用户程序进程分配其所需的I/O设备; 提高CPU和I/O设备的利用率; 提高I/O速度; 方便用户使用I/O设备第一章 操作系统引论 任务任务 用于缓解CPU和I/O设备速度不匹配的矛盾,提高CPU的利用率,提高系统吞吐量。 缓冲区机制缓冲区机

44、制 单缓冲机制 双缓冲机制 公用缓冲池机制第一章 操作系统引论 1、缓冲管理、缓冲管理 任务任务 根据用户进程的I/O请求、系统的现有资源情况以及按照某种设备分配策略,为之分配其所需的设备。 设备分配机制具有的结构和功能设备分配机制具有的结构和功能 数据结构:设备控制表、控制器控制表等 设备分配 独占设备分配的安全性检查 设备回收2、设备分配、设备分配第一章 操作系统引论 设备处理程序设备处理程序又称设备驱动程序设备驱动程序。 任务任务 用于实现CPU和设备控制器之间的通信 处理过程:处理过程: 检查I/O请求的合法性,了解设备状态是否是空闲,了解有关的传递参数及设置设备的工作方式。 向设备控

45、制器发出I/O命令,启动I/O设备完成指定的I/O操作。 响应由控制器发来的中断请求,并根据中断请求的类型,调用相应的中断处理程序进行处理。3、设备处理、设备处理第一章 操作系统引论 1.4.4 文件管理功能文件管理功能 程序和数据都是以文件的形式存储在磁程序和数据都是以文件的形式存储在磁盘和磁带上。盘和磁带上。 文件管理的任务文件管理的任务: 管理用户文件和系统文件,以方便用户使用 管理文件的存储空间 保证文件数据的安全第一章 操作系统引论 任务:任务: 为每个文件分配必要的外存空间 提高外存的利用率 有助于提高文件系统的存、取速度。 文件管理的功能文件管理的功能: 文件管理需设置相应的数据

46、结构,记录文件存储空间的使用情况,以供分配存储空间时参考。 对存储空间进行分配与回收。 为了提高存储空间的利用率,通常采用离散分配方式第一章 操作系统引论 1、文件存储空间的管理、文件存储空间的管理 文件目录项包括:文件目录项包括: 文件名文件名 文件属性文件属性 文件在磁盘上的物理位置等文件在磁盘上的物理位置等 任务:任务: 为每个文件建立目录项 对众多的目录项进行有效组织,以实现按名存取。 能实现文件共享。 能提供快速的目录查询手段,提高文件的检索速度。第一章 操作系统引论 2、目录管理、目录管理 文件的读写管理文件的读写管理 根据用户的请求,从外存读取数据,或将数据写入外存 文件读(写)

47、过程: 根据用户给出的文件名检索文件目录,获取文件在外存中的位置; 利用文件读(写)指针,对文件进行读(写)。 一旦读(写)完成,便修改读(写)指针,为下一次读(写)做好准备。 文件的保护文件的保护 防止未经核准的用户存取文件; 防止冒名顶替存取文件; 防止以不正确的方式使用文件。第一章 操作系统引论 3、文件的读、文件的读/写管理和保护写管理和保护1.4.5 操作系统与用户之间的接口操作系统与用户之间的接口 操作系统向用户提供:用户与操作系统的操作系统向用户提供:用户与操作系统的接口接口 用户接口:用户接口:是提供给用户使用的接口,用户可通过该接口取得操作系统的服务。 程序接口:程序接口:以

48、系统调用的形式供用户编程时使用。几乎各种操作系统都提供了系统调用,供程序设计。第一章 操作系统引论 第一章 操作系统引论 1、用户接口用户接口 命令接口:用户通过命令接口向作业发出命令,控制作业的运行。 联机用户接口联机用户接口:为联机用户提供的 由一组键盘操作命令及命令解释程序组成 脱机用户接口脱机用户接口:为批处理作业的用户提供的 由一组作业控制语言JCL组成。 JCL是提供给批处理作业用户的,为实现所需功能而委托系统代为控制的一种语言第一章 操作系统引论 1、用户接口用户接口 图形用户接口:另一种形式的联机用户接口,采用了图形化的操作界面,用非常容易识别的各种图标来将系统的各项功能、各种

49、应用程序和文件,直观、逼真地表示出来。 Xerox Star:1981 最初只是一个研究项目(Alto) 第一个“鼠标”、“视窗” Apple Lisa/Machintosh:1984 “Look and Feel” suit 1988 Microsoft Windows: Win 1.0-Win 7 (1985-)第一章 操作系统引论 2、程序接口、程序接口 程序接口是为用户程序在执行中访问系统资源而设置的,是用户程序取得操作系统服务的惟一途径。 程序接口由一组系统调用组成,每一个系统调用都是一个能完成特定功能的子程序。1.5 1.5 操作系统的结构设计操作系统的结构设计第一章 操作系统引论

50、 操作系统结构发展史操作系统结构发展史 第一代的第一代的OS:是无结构的 第二代的第二代的OS:采用模块式结构 第三代的第三代的OS:层次式结构 现代现代OS:微内核结构第一章 操作系统引论 模块化的模块化的OS分层式分层式OS无结构无结构OS现代结构现代结构OS1.5.1 传统的操作系统结构传统的操作系统结构 OS是一组过程的集合,各过程之间可以相互调用,在操作系统内部不存在任何结构。 操作系统庞大而杂乱,缺乏清晰的程序结构,造成程序错误多,调试困难;程序难以阅读和理解,不方便维护。第一章 操作系统引论 1、无结构操作系统、无结构操作系统 模块化程序设计技术:模块化程序设计技术:是基于“分解

51、”和“模块化”原则来控制大型软件的复杂度的。 OS按其功能划分为若干个具有一定独立性和大小的模块,每个模块具有某方面的管理功能。并规定好各模块间的接口,使各模块之间能通过该接口实现交互,然后再进一步将各模块细分为若干个具有一定管理功能的子模块 内聚性 耦合度第一章 操作系统引论 2、模块化、模块化OS结构结构第一章 操作系统引论 图图 1-6 模块化操作系统结构模块化操作系统结构 进程控制 进程调度内存分配内存保护磁盘管理目录管理进程管理存储器管理文件管理操作系统模块子模块2、模块化、模块化OS结构结构 模块化模块化OS的优点的优点 提高了OS设计的正确性、可理解性和可维护性; 增强了OS的可

52、适应性; 加速了OS的开发过程。 模块化模块化OS的缺点的缺点 在开始设计OS时,对模块的划分及对接口的规定并不精确,而且还可能存在错误,因而很难保证按此规定所设计出的模块会完全正确,这将使在把这些模块装配成OS时发生困难; 从功能观点来划分模块时,未能将共享资源和独占资源加以区别;由于管理上的差异,又会使模块间存在着复杂的依赖关系使OS结构变得不清晰。第一章 操作系统引论 2、模块化、模块化OS结构结构 从从资源管理观点资源管理观点出发,出发,划分层次划分层次。在某一层次上的代码只能调用低层次上的代码,使模块间的调用变得有序。系统每加一层,就构成一个比原来功能更强的虚拟机。提高了系统的维护性

53、和可靠性。 分层结构的优点:分层结构的优点: 易保证系统的正确性 易扩充、易维护性 分层结构的缺点:分层结构的缺点: 系统效率降低了第一章 操作系统引论 3、分层式、分层式OS结构结构被调用功能被调用功能在低层:如文件系统管理在低层:如文件系统管理-设备管理设备管理- - 设备驱动程序设备驱动程序活跃功能活跃功能在低层:提高运行效率在低层:提高运行效率资源管理的资源管理的公用模块公用模块放在最低层:如缓冲区队列放在最低层:如缓冲区队列、堆栈操作、堆栈操作存储器管理存储器管理放在次低层:便于利用虚拟存储功能放在次低层:便于利用虚拟存储功能最低层的最低层的硬件抽象层硬件抽象层:与机器特点紧密相关的

54、软:与机器特点紧密相关的软件放在最低层。件放在最低层。资源分配策略资源分配策略放在最外层,便于修改或适应不同放在最外层,便于修改或适应不同环境环境第一章 操作系统引论 3、分层式、分层式OS结构结构分层原则分层原则各系统对具体划分多少层次有不同的看法。各系统对具体划分多少层次有不同的看法。第一章 操作系统引论 *寄存器寄存器电路电路1 1计算栈、微程序解释器计算栈、微程序解释器指令集指令集2 2过程、调用栈、显示过程、调用栈、显示过程过程3 3处理器硬件处理器硬件中断处理程序中断处理程序中断中断4 4进程原语、信号量、就绪队列进程原语、信号量、就绪队列进程原语进程原语5 5数据块、设备通道数据

55、块、设备通道本地辅存本地辅存6 6单处理器资源单处理器资源段、页段、页虚拟存储器虚拟存储器7 7管道管道通信通信8 8文件文件文件系统文件系统9 9外设外设设备设备1010目录目录目录目录1111用户进程用户进程用户进程用户进程1212外部对象外部对象用户程序设计环境用户程序设计环境shellshell1313功能范围功能范围对象对象名称名称层层常见操作系统层次结构常见操作系统层次结构第四代第四代OSOS 客户客户/ /服务器模式服务器模式 面向对象的程序设计技术面向对象的程序设计技术 微内核微内核OSOS第一章 操作系统引论 1.5.2 客户客户/服务器模式服务器模式 用户态:用户态:用来提

56、供各种服务的服务器(进程)所在的层次 内核态:内核态:处理用户和服务器间的通信,实现与硬件紧密相关的和较基本功能的进程所在的层次 内核接收用户请求,启动相应服务器,接着接收服务器的应答,回送给发送请求的用户第一章 操作系统引论 1、C/S模式模式1.5.2 客户客户/服务器模式服务器模式 客户机 服务器 网络系统第一章 操作系统引论 2、客户客户/服务器(服务器(C/S)模式的组成)模式的组成3、客户客户/服务器之间的交互服务器之间的交互 客户请求消息 服务器接收消息 服务器回送消息 客户机接收消息 数据的分布处理和存储 便于集中管理 灵活性和可扩充性 易于改编应用程序第一章 操作系统引论 4

57、、客户客户/服务器模式的优点服务器模式的优点5、客户客户/服务器模式的缺点服务器模式的缺点 存在着不可靠性和瓶颈问题1.5.3 面向对象的程序设计面向对象的程序设计 面向对象技术面向对象技术是基于“抽象”和“隐蔽”原则来控制大型软件的复杂度的。 对象对象,是指在现实世界中具有相同属性、服从相同规则的一系列事物的抽象,而其中的具体事物称为对象的实例。第一章 操作系统引论 1、面向对象技术的基本概念面向对象技术的基本概念图图 1-7 一个对象的示意图一个对象的示意图 数据结构过程1过程2过程3OS中的各类实体如进程、线程、中的各类实体如进程、线程、消息、存储器等,都使用了对象消息、存储器等,都使用了对象这一概念。这一概念。通过“重用”提高产品质量和生产率使系统具有更好的易修改性和易扩展性更易于保证系统的“正确性”和“可靠性”。第一章 操作系统引论 2、面向对象技术的优点面向对象技术的优点1.5.4 微内核微内核OSOS结构结构 微内核(微内核(MicroKernel)OS能有效地支持多处理机运行,非常适用于分布式系统环境 典型微内核结构典型微内核结构OS:Carngie Mellon大学研制的Mach OS、Windows 2000/XP 操作系统第一章 操作系统引论 第一章 操作系统引论 第一

温馨提示

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

评论

0/150

提交评论