《操作系统第一章-绪论.ppt》由会员分享,可在线阅读,更多相关《操作系统第一章-绪论.ppt(79页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、目标与方向目标与方向考研考博考研考博从事专业工作从事专业工作从事其它工作从事其它工作高数,离散数学,英语高数,离散数学,英语C程序设计,程序设计,数据结构数据结构计计算算机机组组成成原原理理,操操作作系统,计算机网络系统,计算机网络其它计算机课程其它计算机课程程程序序设设计计(C等等),数数据据结结构构,算算法法设设计计,软软件件工工程程,数据库系统数据库系统+主流开发平台主流开发平台 高数,离散数学高数,离散数学其它计算机课程其它计算机课程使用各种软件使用各种软件使用使用各种软件各种软件其它其它计算机课程计算机课程1学习态度:学习态度:“有用有用”“无用无用”?十二年中小学学习十二年中小学学
2、习 直接直接 用多少用多少?%潜移默化、潜移默化、底线:考试及格,对的起父母!底线:考试及格,对的起父母!2做做 最最 好好 的的 自自 己!己!3提问式教学提问式教学为主为主:考勤、考查、(促进)考虑考勤、考查、(促进)考虑 三次旷课不得参与考试!三次旷课不得参与考试!教教 与与 学学你知道那些操作系统(你知道那些操作系统(Operating System,OS)?你认为什么是你认为什么是OS或或OS的功能是什么?的功能是什么?学习操作系统有什么用?学习操作系统有什么用?从事其它工作的:管理学,全方位思考问题的习惯从事其它工作的:管理学,全方位思考问题的习惯 从软件开发的:软件需求,全方位思
3、考功能和性能从软件开发的:软件需求,全方位思考功能和性能 考研:记忆理解:功能需求、实现及高效考研:记忆理解:功能需求、实现及高效 技术技术第第1章章 绪论绪论1.1 操作系统概念操作系统概念1.2 操作系统的历史操作系统的历史1.3 操作系统的基本类型操作系统的基本类型1.4 操作系统功能操作系统功能1.5 计算机硬件简介计算机硬件简介1.6 算法的描述算法的描述1.7 研究操作系统的几种观点研究操作系统的几种观点习题习题 计算机发展到今天,从个人计算机到巨型计算计算机发展到今天,从个人计算机到巨型计算机系统,毫无例外都机系统,毫无例外都配置一种或多种操作系统配置一种或多种操作系统。什么是操
4、作系统,操作系统在计算机系统中的什么是操作系统,操作系统在计算机系统中的地位地位,它具有什么样的功能等,我们将在这一章作,它具有什么样的功能等,我们将在这一章作一简要阐述。一简要阐述。为便于今后的学习,我们要为便于今后的学习,我们要介绍一下操作系统介绍一下操作系统的类型及其特点的类型及其特点,研究操作系统的几种观点。最后,研究操作系统的几种观点。最后,介绍几种常用操作系统。介绍几种常用操作系统。1.1 操作系统概念操作系统概念1.1.1 什么是操作系统什么是操作系统 计算机系统的组成?计算机系统的组成?任何一个计算机系统都是由两部分组成:计算任何一个计算机系统都是由两部分组成:计算机硬件和计算
5、机软件。机硬件和计算机软件。计算机硬件通常是由中央处理机(运算器和控计算机硬件通常是由中央处理机(运算器和控制器)、存储器、输入设备和输出设备等部件组成。制器)、存储器、输入设备和输出设备等部件组成。计算机软件包括系统软件和应用软件。系统软计算机软件包括系统软件和应用软件。系统软件如操作系统、多种语言处理程序件如操作系统、多种语言处理程序(汇编和编译程汇编和编译程序等序等)、连接装配程序、系统实用程序、多种工具、连接装配程序、系统实用程序、多种工具软件等软件等;应用软件为多种应用目的而编制的程序。应用软件为多种应用目的而编制的程序。图图1.1 操作系统与硬件软件的关系操作系统与硬件软件的关系
6、没有任何软件支持的计算机称为没有任何软件支持的计算机称为裸机裸机,它仅仅构成了计算机,它仅仅构成了计算机系统的物质基础,而实际呈现在用户面前的计算机系统是经过若系统的物质基础,而实际呈现在用户面前的计算机系统是经过若干层软件改造的计算机。图干层软件改造的计算机。图1.1展示了这种情形。展示了这种情形。因此,引入操作系统的目的可从三方面来考察因此,引入操作系统的目的可从三方面来考察:(1)从系统管理人员的观点来看:从系统管理人员的观点来看:引入操作系统是为了合理地组织计算机工作流引入操作系统是为了合理地组织计算机工作流程,管理和分配计算机系统硬件及软件资源,使之程,管理和分配计算机系统硬件及软件
7、资源,使之能为多个用户高效率地共享。因此,能为多个用户高效率地共享。因此,操作系统是计操作系统是计算机资源的管理者。算机资源的管理者。(2)从用户的观点来看:从用户的观点来看:引入操作系统是为了给用户使用计算机提供一引入操作系统是为了给用户使用计算机提供一个良好的界面,以使用户无需了解许多有关硬件和个良好的界面,以使用户无需了解许多有关硬件和系统软件的细节,就能系统软件的细节,就能方便灵活地使用计算机方便灵活地使用计算机。(3)从发展的观点看:从发展的观点看:引入操作系统是为了给计算机系统的引入操作系统是为了给计算机系统的功能扩展功能扩展提供支撑平台,使之在追加新的服务和功能时更加提供支撑平台
8、,使之在追加新的服务和功能时更加容易和不影响原有的服务与功能。容易和不影响原有的服务与功能。综上所述,综上所述,非形式地把操作系统定义为非形式地把操作系统定义为:操作系统是操作系统是计算机系统中的一个计算机系统中的一个系统软件系统软件,它,它是这样一些程序模块的集合是这样一些程序模块的集合它们它们管理和控制管理和控制计计算机系统中的硬件及软件资源,合理地组织计算机算机系统中的硬件及软件资源,合理地组织计算机工作流程,以便有效地利用这些资源为用户提供一工作流程,以便有效地利用这些资源为用户提供一个功能强大、使用方便和可扩展的工作环境,从而个功能强大、使用方便和可扩展的工作环境,从而在在计算机与其
9、用户之间起到接口的作用计算机与其用户之间起到接口的作用。1.2 操作系统的历史操作系统的历史(1.3操作系统的类型操作系统的类型)由于操作系统历来跟运行其上的计算机组成与由于操作系统历来跟运行其上的计算机组成与体系结构休戚与共,因此我们考察各代计算机,看体系结构休戚与共,因此我们考察各代计算机,看看它们的操作系统是什么样子,具有哪些功能和特看它们的操作系统是什么样子,具有哪些功能和特征。人们通常按照器件工艺的演变把征。人们通常按照器件工艺的演变把计算机发展过计算机发展过程分为四个阶段程分为四个阶段。?1946年年50年代末:第一代,电子管时代,无操作系统。年代末:第一代,电子管时代,无操作系统
10、。50年代末年代末60年代中期:第二代,晶体管时代,批处理年代中期:第二代,晶体管时代,批处理系统。系统。60年代中期年代中期70年代中期:第三代,集成电路时代,多年代中期:第三代,集成电路时代,多道程序设计。道程序设计。70年代中期至今:第四代,大规模和超大规模集成电路年代中期至今:第四代,大规模和超大规模集成电路时代,分时系统。时代,分时系统。现代计算机正向着巨型、微型、并行、分布、网络化和现代计算机正向着巨型、微型、并行、分布、网络化和智能化几个方面发展着。智能化几个方面发展着。适应上述计算机发展过程,操作系统经历了如下的发适应上述计算机发展过程,操作系统经历了如下的发展过程:展过程:手
11、工操作阶段手工操作阶段(无操作系统无操作系统)、批处理、执行系统、多道程序系统、批处理、执行系统、多道程序系统、分时系统、分时系统、实时系统、实时系统、通用操作系统、通用操作系统、网络操作系统、网络操作系统、分布式操作系统等。分布式操作系统等。操作系统的基本类型操作系统的基本类型 根据其使用环境和对作业处理方式,操作系统根据其使用环境和对作业处理方式,操作系统的基本类型有:的基本类型有:(1)批处理操作系统批处理操作系统(batch processing operating system)(2)分时操作系统分时操作系统(time sharing operating system)(3)实时操作
12、系统实时操作系统(real time operating system)(4)个人计算机操作系统个人计算机操作系统(personal computer operating system)(5)网络操作系统网络操作系统(network operating system)(6)分布式操作系统分布式操作系统(distributed operating system)1.2.1 手工操作阶段手工操作阶段 在第一代计算机时期,构成计算机的主要元器在第一代计算机时期,构成计算机的主要元器件是电子管,计算机运算速度慢,没有操作系统,件是电子管,计算机运算速度慢,没有操作系统,甚至没有任何软件。甚至没有任何软
13、件。用户直接用机器语言编制程序,并在上机时独用户直接用机器语言编制程序,并在上机时独占全部计算机资源。上机完全是手工操作:先把程占全部计算机资源。上机完全是手工操作:先把程序纸带序纸带(或卡片或卡片)装上输入机,然后启动输入机把程装上输入机,然后启动输入机把程序和数据送入计算机,接着通过控制台开关启动程序和数据送入计算机,接着通过控制台开关启动程序运行。计算完毕,打印机输出计算结果,用户取序运行。计算完毕,打印机输出计算结果,用户取走并卸下纸带走并卸下纸带(或卡片或卡片)。1.2.2 早期批处理早期批处理(batch processing)单道批处理单道批处理 50年代,计算机极其昂贵,计算机
14、年代,计算机极其昂贵,计算机(CPU)的时的时间非常宝贵,尽可能提高间非常宝贵,尽可能提高CPU的利用率成为十分迫的利用率成为十分迫切的任务。切的任务。解决的途径有两个:解决的途径有两个:首先配备专门的首先配备专门的计算机操作员计算机操作员,程序员不再直,程序员不再直接操作机器,减少操作机器的错误。接操作机器,减少操作机器的错误。另一个重要措施是另一个重要措施是进行批处理进行批处理,操作员把用户,操作员把用户提交的作业分类,把一批中的作业编成一个作业执提交的作业分类,把一批中的作业编成一个作业执行序列。每一批作业将有专门编制的监督程序行序列。每一批作业将有专门编制的监督程序(monitor)自
15、动依次处理。自动依次处理。早期的早期的批处理可分为两种方式批处理可分为两种方式。1.联机批处理联机批处理 慢速的输入输出慢速的输入输出(I/O)设备是和主机直接相连。设备是和主机直接相连。作业的执行过程为作业的执行过程为:(1)用户提交作业:用户提交作业:(2作业被作成穿孔纸带或卡片作业被作成穿孔纸带或卡片);(3)操作员有选择地把若干作业合成一批,通过输入操作员有选择地把若干作业合成一批,通过输入设备设备(纸带输入机或读卡机纸带输入机或读卡机)把它们存入磁带把它们存入磁带;(4)监督程序读入一个作业监督程序读入一个作业(若系统资源能满足该作业若系统资源能满足该作业要求要求);(5)从磁带调入
16、汇编程序或编译程序,将用户作业源从磁带调入汇编程序或编译程序,将用户作业源程序翻译成目标代码程序翻译成目标代码;(6)连接装配程序把编译后的目标代码及所需的子程连接装配程序把编译后的目标代码及所需的子程序装配成一个可执行程序序装配成一个可执行程序;(7)启动执行启动执行;(8)执行完毕,由善后处理程序输出计算结果执行完毕,由善后处理程序输出计算结果;(9)再读入一个作业,重复再读入一个作业,重复(5)(9)各步;各步;(10)一批作业完成,返回到一批作业完成,返回到(3),处理下一批作业。,处理下一批作业。问题问题:输入输出设备工作时输入输出设备工作时,主机主机CPU仍处在停仍处在停止等待状态
17、。这样慢速的输入输出设备和快速主机止等待状态。这样慢速的输入输出设备和快速主机之间仍处于串行工作,之间仍处于串行工作,CPU的时间仍有很大的浪费。的时间仍有很大的浪费。2.脱机批处理脱机批处理 这种方式的显著特征是增加一台不与主机直接这种方式的显著特征是增加一台不与主机直接相连而专门用于与输入输出设备打交道的卫星机。相连而专门用于与输入输出设备打交道的卫星机。如图如图1.2所示。所示。图1.2 早期脱机批处理模型 批处理批处理仍有些缺点仍有些缺点:磁带需人工拆装,既麻烦又易出错;磁带需人工拆装,既麻烦又易出错;不能进行人机交互;不能进行人机交互;而另一个更重要的问题是系统的保护。而另一个更重要
18、的问题是系统的保护。谁来进行系统的保护?单道批处理系统中有OS吗?在监督程序管理下的解题过程,如图1.3所示。图图1.3 监督程序管理下的解题过程监督程序管理下的解题过程 这时计算机系统运行的特征是这时计算机系统运行的特征是单道顺序地处理单道顺序地处理作业作业,即用户作业仍然是一道一道作业顺序处理。,即用户作业仍然是一道一道作业顺序处理。问题问题:那么可能会出现两种情况那么可能会出现两种情况:对于以计算为主的作业,对于以计算为主的作业,输入输出量少,外输入输出量少,外围设备空闲围设备空闲;然而对于然而对于以输入输出为主的作业以输入输出为主的作业,又会造成主,又会造成主机空闲。机空闲。这样总的来
19、说,计算机资源使用效率仍然不高。这样总的来说,计算机资源使用效率仍然不高。因此操作系统进入了多道程序阶段因此操作系统进入了多道程序阶段:多道程序合理多道程序合理搭配交替运行,充分利用资源,提高效率。搭配交替运行,充分利用资源,提高效率。20世纪世纪60年代初期,硬件获得了两方面年代初期,硬件获得了两方面(即通道和即通道和中断技术中断技术)的进展,导致的进展,导致操作系统进入执行系统操作系统进入执行系统阶段。阶段。通道是一种专用处理部件通道是一种专用处理部件,它能控制一台或多台输它能控制一台或多台输入输出设备工作,负责输入输出设备与主存之间的信息入输出设备工作,负责输入输出设备与主存之间的信息传
20、输。它一旦被启动就能独立于传输。它一旦被启动就能独立于CPU运行,这样运行,这样可使可使CPU和通道并行操作和通道并行操作,而且,而且CPU和多种输入输出设备也和多种输入输出设备也能并行操作。能并行操作。中断中断是是指当主机接到外部信号指当主机接到外部信号(如输入输出设备完如输入输出设备完成信号成信号)时,马上停止原来工作,转去处理这一事件,处时,马上停止原来工作,转去处理这一事件,处理完毕后,主机回到原来的断点继续工作。理完毕后,主机回到原来的断点继续工作。硬件这两方面的进展,促使硬件这两方面的进展,促使监督程序常驻内存,监督程序常驻内存,称为执行系统。称为执行系统。执行系统实现的也是输入输
21、出联机操作,和早执行系统实现的也是输入输出联机操作,和早期批处理系统不同的是:输入输出工作是由在主机期批处理系统不同的是:输入输出工作是由在主机控制下的通道完成的。主机和通道、主机和输入输控制下的通道完成的。主机和通道、主机和输入输出设备都可以并行操作。出设备都可以并行操作。用户程序的输入输出工作都是由系统执行而没用户程序的输入输出工作都是由系统执行而没有人工干预,有人工干预,由系统检查其命令的合法性,以避免由系统检查其命令的合法性,以避免不合法的输入输出命令造成对系统的影响,从而提不合法的输入输出命令造成对系统的影响,从而提高系统的安全性。高系统的安全性。1.2.3 多道程序系统多道程序系统
22、 上述批处理系统,每次只调用一个用户作业程序进上述批处理系统,每次只调用一个用户作业程序进入内存并运行,称为单道运行。入内存并运行,称为单道运行。图图1.4(a)给出了单道程序工作示例。给出了单道程序工作示例。图图1.4(b)给出了多道程序工作示例。给出了多道程序工作示例。在单处理机系统中,多道程序运行的特点是在单处理机系统中,多道程序运行的特点是:(1)多道:计算机内存中同时存放几道相互独立的程序。多道:计算机内存中同时存放几道相互独立的程序。(2)宏观上并行:同时进入系统的几道程序都处于运行过宏观上并行:同时进入系统的几道程序都处于运行过程中,即它们先后开始了各自的运行,但都未运行完毕。程
23、中,即它们先后开始了各自的运行,但都未运行完毕。(3)微观上串行:实际上,各道程序轮流使用微观上串行:实际上,各道程序轮流使用CPU,交替,交替执行。执行。(a)单道程序工作示例单道程序工作示例 (b)多道程序工作示例多道程序工作示例 图图 1.4 多道程序系统中,要解决这样一些技术问题:多道程序系统中,要解决这样一些技术问题:(1)并行运行的程序要共享计算机系统的硬件并行运行的程序要共享计算机系统的硬件和软件资源,既有对资源的竞争,但又须相互同步。和软件资源,既有对资源的竞争,但又须相互同步。因此因此同步与互斥机制成为同步与互斥机制成为操作系统设计中的重要问操作系统设计中的重要问题。题。(2
24、)随着多道程序的增加,出现了随着多道程序的增加,出现了内存不够用内存不够用的问题的问题,提高内存的使用效率也成为关键。因此出,提高内存的使用效率也成为关键。因此出现了诸如现了诸如覆盖技术、对换技术和虚拟存储技术等内覆盖技术、对换技术和虚拟存储技术等内存管理技术。存管理技术。(3)由于多道程序存在于内存,为了保证系统由于多道程序存在于内存,为了保证系统程序存储区和各程序存储区和各用户程序存储区的安全可靠用户程序存储区的安全可靠,提出,提出了内存保护的要求。了内存保护的要求。多道程序系统的出现标志着在多道程序系统的出现标志着在操作系统渐趋成操作系统渐趋成熟的阶段熟的阶段先后出现了作业调度管理、处理
25、机管理、先后出现了作业调度管理、处理机管理、存储器管理、外部设备管理、文件系统管理等功能。存储器管理、外部设备管理、文件系统管理等功能。1.3.1 批处理操作系统批处理操作系统 现代操作系统大都具有批处理功能。图现代操作系统大都具有批处理功能。图1.5给出给出了批处理系统中作业处理步骤及状态。了批处理系统中作业处理步骤及状态。图图1.5 批处理系统中作业处理及状态批处理系统中作业处理及状态批处理系统的主要特征是:批处理系统的主要特征是:(1)用户脱机使用计算机。用户提交作业之后直到获用户脱机使用计算机。用户提交作业之后直到获得结果之前就不再和计算机打交道。作业提交的方得结果之前就不再和计算机打
26、交道。作业提交的方式可以是直接交给计算中心的管理操作员,也可以式可以是直接交给计算中心的管理操作员,也可以是通过远程通讯线路提交。提交的作业由系统外存是通过远程通讯线路提交。提交的作业由系统外存收容成为后备作业。收容成为后备作业。(2)成批处理。操作员把用户提交的作业分批进行处成批处理。操作员把用户提交的作业分批进行处理。每批中的作业将由操作系统或监督程序负责作理。每批中的作业将由操作系统或监督程序负责作业间自动调度执行。业间自动调度执行。(3)多道程序运行。按多道程序设计的调度原则,从多道程序运行。按多道程序设计的调度原则,从一批后备作业中选取多道作业调入内存并组织它们一批后备作业中选取多道
27、作业调入内存并组织它们运行,成为多道批处理。运行,成为多道批处理。不要把不要把多道程序系统多道程序系统和和多重处理系统多重处理系统相混淆。相混淆。一般讲,多重处理系统配制多个一般讲,多重处理系统配制多个CPU,因而能真正,因而能真正同时执行多道程序。当然,要想有效地使用多重处同时执行多道程序。当然,要想有效地使用多重处理系统,必须采用多道程序设计技术。反之不然,理系统,必须采用多道程序设计技术。反之不然,多道程序设计原则不一定要求有多重处理系统的支多道程序设计原则不一定要求有多重处理系统的支持。多重处理系统比起单处理系统来说,虽增加了持。多重处理系统比起单处理系统来说,虽增加了硬件设施,却换来
28、了提高系统吞吐量、可靠性、计硬件设施,却换来了提高系统吞吐量、可靠性、计算能力和并行处理能力等好处。算能力和并行处理能力等好处。1.2.4 分时操作系统分时操作系统 批处理方式下,批处理方式下,用户以脱机操作方式使用计算用户以脱机操作方式使用计算机机,只有等该批作业处理结束,用户才能得到计算,只有等该批作业处理结束,用户才能得到计算结果。根据结果再作下一步处理。结果。根据结果再作下一步处理。它的好处是计算它的好处是计算机效率高,但缺点是交互性差。机效率高,但缺点是交互性差。20世纪世纪60年代中期,计算机技术和软件技术的年代中期,计算机技术和软件技术的发展使这种追求成为可能。由于发展使这种追求
29、成为可能。由于CPU速度不断提高速度不断提高和采用分时技术,一台计算机可同时连接多个用户和采用分时技术,一台计算机可同时连接多个用户终端,而每个终端,而每个用户可在自己的终端上联机使用计算用户可在自己的终端上联机使用计算机,好像自己独占机器一样机,好像自己独占机器一样。所谓所谓分时技术分时技术,就是把处理机的运行时间分成,就是把处理机的运行时间分成很短的时间片,按时间片轮流把处理机分配给各联很短的时间片,按时间片轮流把处理机分配给各联机作业使用。若某个作业在分配给它的时间片内不机作业使用。若某个作业在分配给它的时间片内不能完成其计算,则该作业暂时中断,把处理机让给能完成其计算,则该作业暂时中断
30、,把处理机让给另一作业使用,等待下一轮时再继续其运行。另一作业使用,等待下一轮时再继续其运行。由于计算机速度很快,作业运行轮转得很快,由于计算机速度很快,作业运行轮转得很快,给每个用户的印象是给每个用户的印象是好像他独占了一台计算机好像他独占了一台计算机。而。而每个用户可以通过自己终端向系统发出各种操作控每个用户可以通过自己终端向系统发出各种操作控制命令,完成作业的运行。制命令,完成作业的运行。多用户分时操作系统是多用户分时操作系统是当今计算机操作系统中当今计算机操作系统中最普遍使用的一类操作系统最普遍使用的一类操作系统。1.3.2 分时系统分时系统 分时系统一般采用分时系统一般采用时间片轮转
31、的方式时间片轮转的方式,使一台计,使一台计算机为多个终端用户服务。对每个用户能保证足够快算机为多个终端用户服务。对每个用户能保证足够快的响应时间,并提供交互会话能力。具有下述特点。的响应时间,并提供交互会话能力。具有下述特点。(1)交互性:交互性:(2)多用户同时性:多个用户同时在自己的终端上上机,多用户同时性:多个用户同时在自己的终端上上机,共享共享CPU和其他资源,充分发挥系统的效率。和其他资源,充分发挥系统的效率。(3)独立性:客观效果上用户彼此间感觉不到有别人也独立性:客观效果上用户彼此间感觉不到有别人也在使用该台计算机,如同自己独占计算机一样。在使用该台计算机,如同自己独占计算机一样
32、。分时操作系统是一个联机的多用户交互式的操作分时操作系统是一个联机的多用户交互式的操作系统。系统。UNIX是最流行的一种多用户分时操作系统。是最流行的一种多用户分时操作系统。1.2.5 实时操作系统实时操作系统 20世纪世纪60年代中期计算机进入第三代,计算机年代中期计算机进入第三代,计算机的性能和可靠性有了很大提高,造价亦大幅度下降,的性能和可靠性有了很大提高,造价亦大幅度下降,导致计算机应用越来越广泛。导致计算机应用越来越广泛。计算机由于用于计算机由于用于工业过程控制、军事实时控制工业过程控制、军事实时控制等形成了各种等形成了各种实时处理系统实时处理系统。针对实时处理的。针对实时处理的实时
33、实时操作系统操作系统是以在是以在允许时间范围之内做出响应为特征允许时间范围之内做出响应为特征的。的。其其响应时间要求响应时间要求在秒级、毫秒级甚至微秒级或在秒级、毫秒级甚至微秒级或更小。更小。1.3.3 实时系统实时系统 实时系统主要随着计算机应用于实时控制和实时实时系统主要随着计算机应用于实时控制和实时信息处理领域中而发展起来。信息处理领域中而发展起来。实时系统的实时系统的主要特点主要特点是提供是提供即时响应和高可靠性即时响应和高可靠性。系统必须保证对实时信息的分析和处理的速度比其进系统必须保证对实时信息的分析和处理的速度比其进入系统的速度要快,而且系统本身要安全可靠。实时入系统的速度要快,
34、而且系统本身要安全可靠。实时系统往往具有一定的专用性。与批处理系统、分时系系统往往具有一定的专用性。与批处理系统、分时系统相比,实时系统的资源利用率可能较低。统相比,实时系统的资源利用率可能较低。设计实时操作系统要考虑这样一些因素:设计实时操作系统要考虑这样一些因素:(1)实时时钟管理实时时钟管理(定时处理和延时处理定时处理和延时处理)。(2)连续的人连续的人-机对话,这对实时控制往往是必须的。机对话,这对实时控制往往是必须的。(3)要求采取过载保护措施。例如对于短期过载,把要求采取过载保护措施。例如对于短期过载,把输入任务按一定的策略在缓冲区排队,等待调度输入任务按一定的策略在缓冲区排队,等
35、待调度;对于持续性过载,可能要拒绝某些任务的输入对于持续性过载,可能要拒绝某些任务的输入;在在实时控制系统中,则及时处理某些任务,放弃某些实时控制系统中,则及时处理某些任务,放弃某些任务或降低对某些任务的服务频率。任务或降低对某些任务的服务频率。(4)高度可靠性和安全性需采取冗余措施。双机系统高度可靠性和安全性需采取冗余措施。双机系统前后台工作,包括必要的保密措施等。前后台工作,包括必要的保密措施等。多道批处理系统和分时系统的不断改进、实时多道批处理系统和分时系统的不断改进、实时系统的出现及其应用日益广泛,致使操作系统日益系统的出现及其应用日益广泛,致使操作系统日益完善。完善。在此基础上,出现
36、了在此基础上,出现了通用操作系统。通用操作系统。它可以同它可以同时时兼有多道批处理、分时、实时处理的功能,兼有多道批处理、分时、实时处理的功能,或其或其中两种以上的功能。中两种以上的功能。通常把实时任务称为通常把实时任务称为前台作业前台作业,批作业称为,批作业称为后后台作业台作业。在保证分时用户的前提下,没有分时用户。在保证分时用户的前提下,没有分时用户时可进行批量作业的处理。时可进行批量作业的处理。1.2.6 通用操作系统通用操作系统请思考请思考Windows是那一类?是那一类?20世纪世纪60年代中期开始,国际上开始研制年代中期开始,国际上开始研制大型大型通用操作系统通用操作系统。这些系统
37、在解决其。这些系统在解决其可靠性、可维护可靠性、可维护性、可理解性和开放性等性、可理解性和开放性等方面都遇到很大的困难。方面都遇到很大的困难。相比之下相比之下UNIX操作系统操作系统却是一个例外。这是一个却是一个例外。这是一个通用的多用户分时交互型的操作系统。通用的多用户分时交互型的操作系统。目前广泛使用的各种目前广泛使用的各种工作站级的操作系统工作站级的操作系统如如SUN公司的公司的Solaris,IBM公司的公司的AIX等都是基于等都是基于UNIX的操作系统。的操作系统。Windows系列操作系统,其主系列操作系统,其主要原理也是基于要原理也是基于UNIX系统的。系统的。linux系统也是
38、从系统也是从UNIX演变而成的。演变而成的。1.3.4 通用操作系统通用操作系统 批处理系统、分时系统和实时系统是操作系统批处理系统、分时系统和实时系统是操作系统的三种基本类型,的三种基本类型,在此基础上又发展了具有多种类在此基础上又发展了具有多种类型操作特征的操作系统,称为通用操作系统型操作特征的操作系统,称为通用操作系统。它可。它可以同时兼有批处理、分时、实时处理和多重处理的以同时兼有批处理、分时、实时处理和多重处理的功能,或其中两种以上的功能。功能,或其中两种以上的功能。1.2.7 操作系统的进一步发展操作系统的进一步发展 进入进入20世纪世纪80年代,一方面迎来了个人计算机年代,一方面
39、迎来了个人计算机的时代,同时又向计算机网络、分布式处理、巨型的时代,同时又向计算机网络、分布式处理、巨型计算机和智能化方向发展。计算机和智能化方向发展。操作系统有了进一步的操作系统有了进一步的发展:发展:个人计算机上的操作系统,例如个人计算机上的操作系统,例如DOS系统。系统。嵌入式操作系统。嵌入式操作系统。网络操作系统。网络操作系统。分布式操作系统。分布式操作系统。智能化操作系统。智能化操作系统。20世纪世纪90年代后期,由于个人计算机硬件功能年代后期,由于个人计算机硬件功能的急剧增加和用户对的急剧增加和用户对安全性、网络功能安全性、网络功能的要求增强,的要求增强,个人计算机操作系统也从个人
40、计算机操作系统也从DOS转向了通用操作系统转向了通用操作系统Windows系列和系列和linux系列。系列。1.3.5 个人计算机上的操作系统个人计算机上的操作系统 个人计算机上的操作系统是一联机的交互式的单个人计算机上的操作系统是一联机的交互式的单用户操作系统。它提供的联机交互功能与通用分时系用户操作系统。它提供的联机交互功能与通用分时系统所提供的很相似。统所提供的很相似。多媒体技术已迅速进入微型计算机系统,它要求多媒体技术已迅速进入微型计算机系统,它要求计算机具有高速信号处理、大容量的内存和外存、大计算机具有高速信号处理、大容量的内存和外存、大数据量宽频带传输等能力,能同时处理多个实时事件
41、。数据量宽频带传输等能力,能同时处理多个实时事件。单用户的程序称为任务,现代单用户的程序称为任务,现代OS要求有一个具有高要求有一个具有高速数据处理能力的速数据处理能力的实时多任务操作系统。实时多任务操作系统。目前在个人计算机上使用的操作系统以目前在个人计算机上使用的操作系统以Windows系列和系列和linux系统为主。系统为主。1.3.6 网络操作系统网络操作系统 计算机网络是通过通信设施将物理上分散的具计算机网络是通过通信设施将物理上分散的具有自治功能的多个计算机系统互连起来的,有自治功能的多个计算机系统互连起来的,实现信实现信息交换、资源共享、可互操作和协作处理息交换、资源共享、可互操
42、作和协作处理的系统。的系统。它具有这样的特征:它具有这样的特征:(1)计算机网络是一个互连的计算机系统的群体。计算机网络是一个互连的计算机系统的群体。(2)这些这些计算机是自治的,每台计算机有自己的操作计算机是自治的,每台计算机有自己的操作系统,各自独立工作,它们在网络协议控制下协同系统,各自独立工作,它们在网络协议控制下协同工作。工作。(3)系统互连要通过通信设施系统互连要通过通信设施(硬件、软件硬件、软件)来实现。来实现。(4)系统通过通信设施执行信息交换、资源共享、互系统通过通信设施执行信息交换、资源共享、互操作和协作处理,操作和协作处理,实现多种应用要求。实现多种应用要求。1.3.7
43、分布式操作系统分布式操作系统 分布系统定义分布系统定义为通过通信网络将物理上分布的为通过通信网络将物理上分布的具有自治功能的数据处理系统或计算机系统互连起具有自治功能的数据处理系统或计算机系统互连起来,实现信息交换和资源共享,协作完成任务。来,实现信息交换和资源共享,协作完成任务。其与网络操作系统其与网络操作系统明显的区别应予考虑:明显的区别应予考虑:(1)计算机网络的开发都遵循协议,而对于各种分布计算机网络的开发都遵循协议,而对于各种分布式系统并没有制定标准的协议。当然,计算机网络式系统并没有制定标准的协议。当然,计算机网络也可认为是一种分布式系统。也可认为是一种分布式系统。(2)分布式系统
44、要求一个统一的操作系统,实现系统分布式系统要求一个统一的操作系统,实现系统操作的统一性。操作的统一性。(3)分布式操作系统对用户是透明的。但对计算机网分布式操作系统对用户是透明的。但对计算机网络,若一个计算机上的用户希望使用另一台计算机络,若一个计算机上的用户希望使用另一台计算机上的资源,则必须明确指明是哪台计算机。上的资源,则必须明确指明是哪台计算机。(4)分布式系统的基础是网络。分布式系统已不仅是分布式系统的基础是网络。分布式系统已不仅是一个物理上的松散耦合系统,同时还是一个逻辑上一个物理上的松散耦合系统,同时还是一个逻辑上紧密耦合的系统。紧密耦合的系统。(5)分布式系统还处在研究阶段。而
45、计算机网络已经分布式系统还处在研究阶段。而计算机网络已经在各个领域得到广泛的应用。在各个领域得到广泛的应用。另外,软件构件技术的发展也将加快分布式操另外,软件构件技术的发展也将加快分布式操作系统的实现。作系统的实现。当前,网络当前,网络+分布式分布式 网格计算、集群网格计算、集群计算和云计算等新型技术,计算和云计算等新型技术,请大家关注!请大家关注!1.4 操作系统功能操作系统功能 下面我们从资源管理和用户接口的观点分五个下面我们从资源管理和用户接口的观点分五个方面来说明操作系统的基本功能。方面来说明操作系统的基本功能。总总 目目 录录第第1章章 绪论绪论第第2章章 操作系统用户界面操作系统用
46、户界面第第3章章 进程管理进程管理第第4章章 处理机调度处理机调度第第5章章 存储管理存储管理第第6章章 进程与存储管理示例进程与存储管理示例第第7章章 文件系统文件系统第第8章章 设备管理设备管理第第9章章 文件和设备管理示例文件和设备管理示例第第10章章 面向对象操作系统的设计面向对象操作系统的设计1.4.1 处理机管理处理机管理 在多道程序或多用户的情况下,要组织多个作在多道程序或多用户的情况下,要组织多个作业同时运行,就要解决对处理机分配调度策略、分业同时运行,就要解决对处理机分配调度策略、分配实施和资源回收等问题。这就是处理机管理功能。配实施和资源回收等问题。这就是处理机管理功能。正
47、是由于操作系统对处理机管理策略的不同,其提正是由于操作系统对处理机管理策略的不同,其提供的作业处理方式也就不同,例如成批处理方式、供的作业处理方式也就不同,例如成批处理方式、分时处理方式和实时处理方式。从而呈现在用户面分时处理方式和实时处理方式。从而呈现在用户面前,成为具有不同性质功能的操作系统。前,成为具有不同性质功能的操作系统。1.4.2 存储管理存储管理 存储管理的主要工作是对内部存储器进行分配、存储管理的主要工作是对内部存储器进行分配、保护和扩充。保护和扩充。(1)内存分配。如何分配内存,以保证系统及各用户内存分配。如何分配内存,以保证系统及各用户程序的存储区互不冲突。程序的存储区互不
48、冲突。(2)存储保护。保证一道程序在执行过程中不会有意存储保护。保证一道程序在执行过程中不会有意或无意地破坏另一道程序,保证用户程序不会破坏或无意地破坏另一道程序,保证用户程序不会破坏系统程序。系统程序。(3)内存扩充。当用户作业所需要的内存量超过计算内存扩充。当用户作业所需要的内存量超过计算机系统所提供的内存容量时,把内部存储器和外部机系统所提供的内存容量时,把内部存储器和外部存储器结合起来管理,为用户提供一个容量比实际存储器结合起来管理,为用户提供一个容量比实际内存大得多的虚拟存储器。内存大得多的虚拟存储器。1.4.3 设备管理设备管理(1)通道、控制器、输入输出设备的分配和管理。设通道、
49、控制器、输入输出设备的分配和管理。设备管理的任务就是根据一定的分配策略,把通道、备管理的任务就是根据一定的分配策略,把通道、控制器和输入输出设备分配给请求输入输出操作的控制器和输入输出设备分配给请求输入输出操作的程序,并启动设备完成实际的输入输出操作。为了程序,并启动设备完成实际的输入输出操作。为了尽可能发挥设备和主机的并行工作能力,常需要采尽可能发挥设备和主机的并行工作能力,常需要采用虚拟技术和缓冲技术。用虚拟技术和缓冲技术。(2)设备独立性。输入输出设备种类很多,使用方法设备独立性。输入输出设备种类很多,使用方法各不相同。设备管理应为用户提供一个良好的界面,各不相同。设备管理应为用户提供一
50、个良好的界面,而不必去涉及具体的设备特性,以使用户能方便、而不必去涉及具体的设备特性,以使用户能方便、灵活地使用这些设备。灵活地使用这些设备。1.4.4 信息管理信息管理(文件系统管理文件系统管理)上述三种管理是针对计算机的硬件资源的管理。信上述三种管理是针对计算机的硬件资源的管理。信息管理息管理(文件系统管理文件系统管理)是对系统的软件资源的管理。是对系统的软件资源的管理。文件如不能很好管理,就会引起混乱,甚至遭受文件如不能很好管理,就会引起混乱,甚至遭受破坏。这就是管理信息文件需要解决的问题。破坏。这就是管理信息文件需要解决的问题。信息的共享、保密和保护,也是文件系统所要解信息的共享、保密