操作系统原理第一章 绪言.ppt
操作系统原理操作系统原理The Principles of Operating System庞丽萍庞丽萍 华中理工大学出版社华中理工大学出版社武汉科技学院武汉科技学院 陈勇跃email:chenyongyue_ Tel:13469992716&参考教材参考教材现代操作系统 陈向群等译 机械工业出版社Windows操作系统原理 机械工业出版社操作系统教程 武伟 机械工业出版社计算机操作系统教程 周长林 左万历 高等教育出版社操作系统教程 孟庆昌 西安电子科技大学出版社操作系统教程 曾平等 清华大学出版社操作系统原理 谢青松 人民邮电出版社操作系统原理 美伯尔;梁洪亮译 清华大学出版社 Modern Operating System Andrew S.TanenbaumOperating Systems William StallingsOperating System Concept Abrahan Silberschatz,etcApplied Operating System Concept Abrahan Silberschatz,etc2授课方式和成绩考核授课方式和成绩考核o授课时间n1周12周(48个课时)o授课形式n课堂讲授o成绩考核n平时成绩 30%n考试成绩 70%3为什么学习操作系统为什么学习操作系统?o掌握操作系统的基本理论,具备开发核心系统软件的技能,设计操作系统或者修改现有的系统 o掌握并行处理的思想方法,加深对使用的OS的理解,有利于深入编程 o用户为了开发应用程序必须与操作系统打交道o操作系统中所用的许多概念和技巧可以推广应用到其他领域o为后继课程打好基础 数据库、网络、分布式系统 o了解当前流行的实际操作系统的使用方法与实现技术UNIX,Linux,Windows4操作系统能做什么操作系统能做什么?o操作系统提供一系列服务:操作系统提供一系列服务:n多任务、用户界面 n内存管理、内存保护 n文件存取、网络 n设备控制、硬件控制 n错误检测及恢复系统、安全5操作系统特点操作系统特点 o 内容庞杂、涉及面广 n负责全部资源管理。与计算机软、硬件及用户都有着密切的交互 o 实践性强 n与实际运行着的各类操作系统有着密切的联系 o 技术发展快(20世纪40年代至今)6基本目的基本目的 o介绍操作系统的基本概念、基本结构及运行环境 o介绍操作系统原理、设计方法和实现技术 o介绍操作系统的演化过程、发展研究动向、新技术以及新思想o介绍各种有代表性的、典型的操作系统实例o培养学生分析问题、解决问题的基本能力,培养创造型人才7主要内容主要内容o1 绪论绪论o2 操作系统的组织结构操作系统的组织结构o3 用户界面用户界面o4 并发处理并发处理o5 资源分配与调度资源分配与调度o6 处理机调度处理机调度o7 主存管理主存管理o8 输入输入/输出管理输出管理o9 文件系统文件系统8 第一章第一章 绪绪 论论 1.1 存储程序式计算机存储程序式计算机存储程序式计算机存储程序式计算机1.2 操作系统发展历程操作系统发展历程操作系统发展历程操作系统发展历程1.3 操作系统的基本概念操作系统的基本概念操作系统的基本概念操作系统的基本概念1.4 操作系统的基本类型操作系统的基本类型操作系统的基本类型操作系统的基本类型1.5 UNIX UNIX操作系统操作系统操作系统操作系统1.1 存储程序式计算机存储程序式计算机o存储程序式计算机之前,计算是一种手工计算方式。n计算方案输入原始数据第一步计算记下中间结果第二步计算直到最终结果结果记录。o著名数学家 Von Neumann 总结了手工操作的规律,提出了“存储程序式计算机”方案,使计算初步实现了自动化。n自动地计算要求:o必须使机器可以“看到”计算方案即计算机程序o能够“理解”程序语言的含义并顺序执行指定的操作o可以及时取得初始数据和中间数据,能够自动地输出结果。101.1 存储程序式计算机存储程序式计算机o存储程序式计算机的结构和特点存储程序式计算机的结构和特点n存储程序式计算机(Von Neumann计算机)基本部件:CPU+存储器+I/O设备。oCPU:解释指令、执行指令、控制操作顺序执行。包括算术逻辑运算单元(ALU)+控制单元。oALU:算术和逻辑操作的功能单元+寄存器。n通用寄存器能为功能单元提供操作数,并接收、保存操作结果。n控制单元:一个程序计数器(PC)+一个指令寄存器(IR)。负责从主存储器提取指令、分析其类型,并产生信号通知计算机其他部分执行指令所指定的操作。111.1 存储程序式计算机存储程序式计算机o存储器:计算机存储程序和数据的部件。n主存接口:存储地址寄存器(MAR)+存储数据寄存器(MDR)+命令寄存器(CR)。oI/O设备:完成信息的传输。n分存储设备+字符设备+通信设备l总线(Bus),一般指通过分时复用的方式,将信息以一个或多个源部件传送到一个或多个目的部件的一组传输线。是电脑中传输数据的公共通道。每个设备都通过设备控制器与计算机的地址和数据总线相连。算术逻辑运算单元(ALU)控制单元中央处理器CPU主存储器设备控制器和设备地址总线数据总线121.1 存储程序式计算机存储程序式计算机o存储程序式计算机的特点n集中顺序过程控制:即控制部件根据程序对整个计算机的活动实行集中过程控制,并根据程序规定的顺序依次执行每一个操作。o集中控制:由CPU集中管理o顺序性:程序计数器控制o过程性:模拟人们手工操作过程131.1 存储程序式计算机存储程序式计算机o3.计算机系统结构与操作系统的关系计算机系统结构与操作系统的关系n 冯.诺依曼型计算机的特点 并行作业 顺序计算模型 并行计算模型n 如何解决矛盾?oOS采用了一系列软件技术-多道程序设计技术、分时技术、资源分配与调度等。冲突141.2操作系统的发展历程操作系统的发展历程o从1950年至今,操作系统的发展主要经历了如下几个阶段:n手工操作阶段 无操作系统;n批处理系统 早期批处理(联机、脱机)、执行系统;n操作系统形成 批处理操作系统、分时操作系统、实时操作系统;n现代操作系统 个人计算机操作系统、网络操作系统、分布式操作系统。15o1 手工操作阶段手工操作阶段n特点:特点:无任何软件,主要元件是电子管,速度慢。由主机、输入设备、输出设备、控制台组成。o有人工干预o独占性o串行性n问题:问题:人 机矛盾 机器 作业在机器上 人工操 操作时间与机器 速度 计算所需时间 作时间 有效运行时间之比 1万次/秒 1小时 3分钟 1:20 60万次/秒 1分钟 3分钟 3:11.2操作系统的发展历程操作系统的发展历程16o2 批处理阶段批处理阶段n联机批处理联机批处理o特点:有监督程序;作业自动过渡o问题:CPU高速与I/O慢速的矛盾o解决:由卫星机负责I/On脱机批处理脱机批处理o特点:主机与卫星机并行操作o问题:调度不灵活;系统没有保护自己的措施o解决:硬件技术的发展通道技术、中断技术输入机打印机卫星机输出带输入带输出带输入带主 机1.2操作系统的发展历程操作系统的发展历程17n执行系统执行系统o什么是执行系统什么是执行系统n通道:是专用处理部件,能控制一台或多台外设工作,负责外部设备与主存之间的信息传输。一旦启动,能独立于 CPU 运行。n中断:指当主机接到某种信号时,马上停止原来的工作,转去处理这一事件,处理完后,主机又回到原来的工作点继续工作。n借助于通道与中断技术,由主机控制I/O工作。原有的监督程序不仅要负责调度作业自动地运行,而且还要提供I/O控制功能。它常驻主存,称为执行系统。o特点特点 n主机和通道、主机和外设并行操作;增强了保护能力。o问题问题n处理机仍有空闲等待现象1.2操作系统的发展历程操作系统的发展历程18o3 多道程序设计技术与分时技术多道程序设计技术与分时技术n单道程序的工作情况单道程序的工作情况n多道程序的工作情况多道程序的工作情况用户程序监督程序 IO操作计算请求输入 启动IO IO完成继续计算 结束中断中央处理机外部设备输入结束程序B打印输出输入绘图输出输出结束输出结束程序A输入结束程序A程序B输入外部设备1.2操作系统的发展历程操作系统的发展历程19n什么是什么是多道程序设计技术多道程序设计技术o计算机主存中同时存放几道相互独立的程序,它们在管理程序控制之下,相互穿插地运行。当某道程序因某种原因不能继续运行时(如等待外部设备传输数据),管理程序便将另一道程序投入运行。n多道运行的特征多道运行的特征o多道主存中同时存放几道相互独立的程序 o宏观上并行同时进入系统的几道程序都处于运行过程中 o微观上串行主存中的多道程序轮流或分时地占有处理机,交替执行。1.2操作系统的发展历程操作系统的发展历程20o分时技术分时技术n分时技术分时技术o 所谓分时技术,是把处理机时间划分成很短的时间片(如几百毫秒)轮流地分配给各个联机作业使用,如果某个作业在分配的时间片用完之前计算还未完成,该作业就暂时中断,等待下一轮继续计算。n分时处理分时处理o一台计算机与许多终端设备连接,终端用户以联机方式使用计算机。1.2操作系统的发展历程操作系统的发展历程21o4 实时处理实时处理n什么是什么是”实时实时”o计算机对外来的信息能够以足够快的速度进行处理,并且在被控对象允许的时间范围内作出快速反应。n实时处理实时处理o以快速反应为特征,对实时信号能在截止期限之内处理并作出反应。n实时系统对响应时间的要求比分时系统更高,一般要求秒级、毫秒级甚至微秒级的响应时间。1.2操作系统的发展历程操作系统的发展历程221.2操作系统的发展历程操作系统的发展历程o5 现代操作系统现代操作系统 n个人计算机系统:图形用户界面、功能强大n现代批处理系统:吞吐量大、处理能力强n分时操作系统:交互能力强、响应快n实时操作系统:实时响应、可预测分析n网络操作系统:网络资源共享、远程通信n分布式操作系统:单一映像、分布处理n分布式实时操作系统231.2操作系统的发展历程操作系统的发展历程o网络操作系统和分布式系统的差别网络操作系统和分布式系统的差别n网络操作系统不支持全局的动态的资源分配;不支持合作计算。n分布式系统能解决网络系统不能解决的问题。o在硬件体系结构上分布式系统由多个地理位置分布(或分离)的节点,通过通信网络链接的系统。o分布式操作系统下,硬件体系结构呈现的是具有单一系统映像,能够进行透明地资源访问、支持合作计算的一个逻辑整体。241.3操作系统的基本概念操作系统的基本概念o1 操作系统的定义及其在计算机系统中的地位操作系统的定义及其在计算机系统中的地位n操作系统是所有软件中与硬件相连的第一层软件,它在裸机上运行;同时它又是系统软件和应用程序运行的基础。编译程序 汇编程序 正在编辑程序 数据库系统 其他系统软件 实用程序 应用程序操作系统 裸机 裸机 裸机 裸机 251.3操作系统操作系统的基本概念的基本概念o资源共享与资源竞争资源共享与资源竞争n资源共享o指多个计算任务对计算机系统资源的共同享用。n资源竞争o多个计算任务对计算机系统资源的争夺。o操作系统定义操作系统定义n是一个大型的程序系统,它负责计算机的全部软、硬资源的分配、调度工作,控制和协调并发活动,实现信息的存取和保护。它提供用户接口,使用户获得良好的工作环境。n操作系统使整个计算机系统实现高度自动化、高效率、高利用率、高可靠性。操作系统是整个计算机系统的核心。261.3操作系统的基本概念操作系统的基本概念o2 操作系统的资源管理功能操作系统的资源管理功能n处理机管理处理机管理o制订调度策略(调度原则)n确决将CPU先分给哪个用户程序,它占用多长时间,下一个又该轮到哪个程序运行等问题。o给出调度算法o具体的实施处理机分派n在调度时机到来时,进行处理机分派27o存储器管理存储器管理n存储分配和存储无关性o确定各应用程序在主存中的位置及所占区域的大小;应用程序无需关系存储细节,由存储管理模块提供地址重定位能力。n存储保护o系统提供基址、界限寄存器等存储保护方法,使各应用程序相互隔离。n存储扩充o系统提供虚拟存储技术,扩大逻辑主存。1.3操作系统的基本概念操作系统的基本概念28o设备管理设备管理n设备无关性o用户向系统申请和使用的设备与实际操作的 设备无关,以达到方便用户、提高设备利用率的目的。n设备分配o向个应用程序和运行实体分配各种设备。设备分配通常采用三种基本技术:独享、共享及虚拟技术。n设备的传输控制o启动设备、中断处理、结束处理等。1.3操作系统的基本概念操作系统的基本概念29o软件资源管理软件资源管理n指各种程序和数据的集合,程序又分为系统程序和用户程序,系统程序包括操作系统的功能模块、系统库和实用程序。n为用户提供一种简便的、统一的存取和管理信息的方法,并要解决信息的共享、数据的存取控制和保密等问题。o操作系统的主要功能操作系统的主要功能1.3操作系统的基本概念操作系统的基本概念系系 统统资资 源源处理机存储器 I/O设备软件资源操作系统操作系统功能模块功能模块处理机管 理存储器管 理设 备管 理文 件系 统301.3操作系统操作系统的基本概念的基本概念o3 操作系统的特征操作系统的特征n并发:并发:并发性是指能处理多个同时性活动的能力。n共享:共享:并享是指多个计算任务对系统资源的共同享用。n不确定性不确定性:操作系统能处理大量的、随机的事件序列,使各用户的计算任务正确地完成。31o为了解决程序程序并发执行和资源共享引起的矛盾,操作系统必须解决如下几个问题:n提出解决资源分配的策略n协调并发活动的关系n保证数据的一致性(系统程序、多道程序、共享数据)n实现数据的存储控制(权限)1.3操作系统的基本概念操作系统的基本概念321.4 操作系统的基本类型操作系统的基本类型o操作系统的类型有:n批量操作系统n分时操作系统n实时操作系统n个人计算机操作系统n网络操作系统n分布式操作系统331.4 操作系统的基本类型操作系统的基本类型o1 批量操作系统批量操作系统n什么是批量操作系统什么是批量操作系统o是操作系统的一种类型。该系统把用户提交的作业成批送入计算机,然后由作业调度程序自动选择作业,在系统内多道运行。n特点特点o系统吞吐率高。作业的输入、作业的调度等完全有系统控制,并允许多道程序同时投入运行,只要合理搭配作业。o脱机处理方式下用户不能与机器直接对话,用户使用计算机十分不方便。o对用户的相应时间较长,用户不能及时了解自己程序运行情况并加以控制。34o2 分时操作系统分时操作系统n分时系统分时系统n分时操作系统的定义分时操作系统的定义o是操作系统的另一种类型。它一般采用时间片轮转的办法,使一台计算机同时为多个终端用户服务。该系统对每个用户都能保证足够快的响应时间,并提供交互会话功能。n分时操作系统的特点分时操作系统的特点o并行性o独占性o交互性主机终端 1终端 2终端 n1.4 操作系统的基本类型操作系统的基本类型35o3 实时操作系统实时操作系统n实时操作系统的定义实时操作系统的定义o操作系统的又一种类型。实时操作系统对外部输入的信息,能够在规定的时间内处理完毕并作出反应。o最重要的特征:n必须满足控制对象的截止期限的要求。n可预测性分析n实时系统按使用方式分类实时系统按使用方式分类 o实时控制:实时控制:生产过程控制、作战指挥。o实时信息处理:实时信息处理:订购机票、情报检索。1.4 操作系统的基本类型操作系统的基本类型36o实时操作系统的特点实时操作系统的特点n实时操作系统主要是为联机实时任务服务的,其特点如下:o系统对外部实时信号必须能及时响应。o实时系统要求有高可靠性和安全性。o系统的整体性强。o实时操作系统没有分时操作系统那样强的交互会话功能,实时终端设备通常只是作为执行装置或询问装置。n实时系统大部分是为特殊的实时任务设计的,这类任务是对系统的可靠性和安全性要求很高。所以,系统的所有部分通常是采用双工方式工作的。1.4 操作系统的基本类型操作系统的基本类型37o 个人计算机操作系统n随着微电子技术的发展,操作系统的目标:不再是最大化CPU和外设的利用率,而是最大化用户方便性和响应速度。o个人计算机和工作站(功能更强大的个人计算机)领域的主流操作系统:n微软的磁盘操作系统(MS-DOS)和具有图形用户界面的视窗操作系统(Windows);nUNIX系统和Linux系统。1.4 操作系统的基本类型操作系统的基本类型38o5 网络操作系统网络操作系统n什么是计算机网络什么是计算机网络o利用通信线路将一些独立自治的计算机相互连接形成的一个集合体称为计算机网络。1.4 操作系统的基本类型操作系统的基本类型39o计算机网络的功能计算机网络的功能n信息传递n资源共享 n可以实现分布处理n提高计算机的可靠性和可用性o网络操作系统网络操作系统n网络操作系统具备一般操作系统应具有的功能模块(如系统核心、设备管理、存储管理、文件系统等),还要增加一个网络通信模块。该模块由通信接口中断处理程序、通信控制程序以及各级网络协议软件组成。1.4 操作系统的基本类型操作系统的基本类型40o 分布式系统概述n分布式系统产生的原因o计算机网络不是一个一体化的系统,它没有标准的、统一的接口。网上各节点计算机有各自的系统调用、数据格式等。o计算机网络对用户来讲是不透明的。n分布式系统的定义o分布式计算机系统或分布式数据处理系统,简称分布式系统。分布式系统是由多个相互连接的处理单元组成的计算机系统。这些处一单元能够在整个系统的控制下合作完成一个共同的任务,最少依赖集中的程序、数据或硬件。这些处理单元可以是物理上相邻的、也可以是在物理上分散的。1.4 操作系统的基本类型操作系统的基本类型411.4 操作系统的基本类型操作系统的基本类型o分布式系统的特征:n构成分布式系统的处理单元就是一个个独立的计算机系统,这些计算机都有自己的局部存储器和外部设备。它们既可独立工作(自治性),亦可合作。n逻辑上它是单一系统,为用户提供一个透明的用户接口,使用户感觉不到系统是由多台计算机构成的事实。n分布式系统和计算机网络的区别在于前者具有多机合作和坚强性。421.4 UNIX操作系统操作系统o1 UNIX操作系统操作系统的发展的发展美国电报电话公司(AT&T)Bell实验室 K.Thompson和D.M.Ritchie PDP7C语言重写UNIX PDP11431.4 UNIX操作系统操作系统o2 UNIX操作系统的类型和特点操作系统的类型和特点nUNIX操作系统的类型:多用户交互式分时操作系统。nUNIX系统的特点o精巧的核心和丰富的实用层n核心层小巧,占用存储空间小,包括:进程管理、存储管理、设备管理和文件系统n核心层从核心层分离出来的部分,以核外程序形式出现,包括语言处理程序、操作系统常见的实用程序。o使用灵活的命令语言shell(一种程序设计语言)o层次式文件系统(树形目录结构来组织文件及目录)o统一看待文件和设备o良好的可移植性(实用程序层和核心层90%代码用C语言写的程序)441.4 UNIX操作系统操作系统nUNIX的缺点的缺点o系统版本太多,造成应用程序的可移植性不能完全实现。o系统缺少诸如实时控制、分布式处理、网络处理等能力。o系统的核心是无序模块结构。n核心层有90%是用C语言写成,但其结构不是层次式的,故显得十分复杂,不易修改和扩充。45 第一章第一章 小结小结 1.存储程序式计算机的结构与特点2.操作系统在计算机系统中的地位3.操作系统的基本概念:定义、特征4.操作系统的基本功能5.操作系统的基本技术:多道程序设计技术、分时技术6.操作系统的基本类型 46