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