操作系统教案2操作系统课程简介(一)课程性质本课程是计算机科学与技术专业的核心课程之一,属于必修课程。“操作系统”是计算机系统不可缺少的软件组成部分,负责对系统中各种资源进行有效的管理和对各种活动进行正确的组织,使整个计算机系统协调一致且高效地工作,指挥计算机系统正常运行。操作系统基于硬件,并对硬件实施管理,并构成对所有软件运行的支持平台,给用户使用计算机提供方便灵活友好的接口。本课程的先修课为计算机组成原理、微机原理、数据结构、高级语言程序设计;后续课程为数据库系统原理、计算机网络、分布式系统等。(二)教学目的通过本课程的学习,使学生在深刻理解计算机系统整体概念的基础之上,掌握操作系统的基本原理及实现方法,掌握操作系统对计算机系统中各种资源的管理和控制功能,从而使学生具备一定的系统软件开发技能,为以后从事的研究、开发工作提供必要的软件基础和基本技能。(三)教学内容本课程内容包括:绪论,是对操作系统的一般性描述,包括什么是操作系统,操作系统在整个计算机系统的地位及其发展历史,它的功能、分类等;作业管理和Unix用户接口,介绍作业和操作系统用户接口,包括作业的基本概念和作业的建立过程、Unix介绍和它所提供的用户接口等;进程管理,主要介绍进程和线程的概念、进程控制、进程同步/互斥、死锁、进程间通信、线程等;处理机调度,主要介绍作业调度、进程调度、各种调度算法及其评价等;存储管理,介绍常见存储管理的方法,虚拟存储管理的实现等;Unix进程和存储管理;文件系统,包括文件系统的概念、文件结构和文件存取、文件目录管理、Unix文件管理等;设备管理;面向对象的操作系统。(四)教学时数课时:72学时(五)教材(统编)张尧学、史美林编著《计算机操作系统教程》,清华大学出版社,2003.2(六)课程参考书1.刘振鹏、李亚平、张明编著《操作系统》21世纪高等院校计算机教材中国铁道出版社2003.932.陆松年主编《操作系统教程》原理.应用.系统.网络管理电子工业出版社2000.103.何炎祥,李飞,李宁《计算机操作系统》,清华大学出版社,2004。4.TanenbaumAS,OperatingSystemDesignandImplementation,Prentice-Hall,1987。5.郭玉东,《Unix操作系统结构分析》,西安电子科技大学出版社,2002。6.汤子赢,《计算机操作系统》,西安电子科技出版社,2000。7.孟静编著《操作系统教程—原理和实例分析》面向21世纪课程教材,高等教育出版社,2001.58.蒋静、徐志伟著《操作系统原理.技术与编程》机械工业出版社,2004.79.孙钟秀主编《操作系统教程》21世纪课程教材,高等教育出版社,2003.8第三版10.胡元义、余健明、徐睿琳编著《操作系统课程辅导与习题解析》,人民邮电出版社,2002.1011.《全国第八届计算机操作系统课程教学研讨暨学术交流会论文集》,2005.104第一讲操作系统的概念、历史和基本类型【教学章节】第1章绪论1.1操作系统概念1.2操作系统的历史1.3操作系统的基本类型。【教学时数】2学时【教学目的】掌握操作系统的概念及其在计算机系统中的作用,了解操作系统的发展历史,理解批处理系统、分时操作系统、实时操作系统、个人计算机操作系统、网络和分布式操作系统的特点。【教学重点】操作系统的概念,基本类型。【教学难点】联机批处理,脱机批处理,多道程序系统的特点和引发出的问题。【教学方法与手段】课堂讲授(多媒体形式)【教学过程】课堂考勤导入新课从Windows2000引入操作系统的概念。讲授新课第1章绪论1.1操作系统概念1.1.1什么是操作系统任何一个计算机系统都是由两部分组成:计算机硬件和计算机软件。计算机硬件通常是由中央处理机(运算器和控制器)、存储器、输入设备和输出设备等部件组成。计算机软件包括系统软件和应用软件。系统软件如操作系统、多种语言处理程序(汇编和编译程序等)、连接装配程序、系统实用程序、多种工具软件等;应用软件为多种应用目的而编制的程序。没有任何软件支持的计算机称为裸机,它仅仅构成了计算机系统的物质基础,而实际呈现在用户面前的计算机系统是经过若干层软件改造的计算机。图1.1展示了这种情形。5图1.1操作系统与硬件软件的关系操作系统的定义操作系统是计算机系统中的一个系统软件,它是这样一些程序模块的集合——它们管理和控制计算机系统中的硬件及软件资源,合理地组织计算机工作流程,以便有效地利用这些资源为用户提供一个功能强大、使用方便和可扩展的工作环境,从而在计算机与其用户之间起到接口的作用。1.2操作系统的历史随着计算机的发展,操作系统经历了如下的发展过程:手工操作阶段(无操作系统)、批处理、执行系统、多道程序系统、分时系统、实时系统、通用操作系统、网络操作系统、分布式操作系统等。1.2.1手工操作阶段在第一代计算机时期,上机完全是手工操作:先把程序纸带(或卡片)装上输入机,然后启动输入机把程序和数据送入计算机,接着通过控制台开关启动程序运行。计算完毕,打印机输出计算结果,用户取走并卸下纸带(或卡片)。50年代后期,计算机的运行速度有了很大提高,手工操作的慢速度和计算机的高速度之间形成矛盾。实现作业的自动过渡,出现了批处理。1.2.2早期批处理(batchprocessing)早期的批处理的两种方式1.联机批处理慢速的输入输出(I/O)设备是和主机直接相连。作业的执行过程为:(1)用户提交作业:作业程序、数据,用作业控制语言编写的作业说明书;(2)作业被作成穿孔纸带或卡片;(3)操作员有选择地把若干作业合成一批,通过输入设备(纸带输入机或读卡机)把它们存入磁带;6这种联机批处理方式解决了作业自动转接,从而减少作业建立和人工操作时间。但是在作业的输入和执行结果的输出过程中,主机CPU仍处在停止等待状态,这样慢速的输入输出设备和快速主机之间仍处于串行工作,CPU的时间仍有很大的浪费。2.脱机批处理增加一台不与主机直接相连而专门用于与输入输出设备打交道的卫星机。如图1.2所示。图1.2早期脱机批处理模型卫星机的功能是:(1)输入设备通过它把作业输入到输入磁带;(2)输出磁带将作业执行结果输出到输出设备。这样,主机不是直接与慢速的输入输出设备打交道,而是与速度相对较快的磁带机发生关系。主机与卫星机可以并行工作,二者分工明确,以充分发挥主机的高速度计算能力。因此脱机批处理和早期联机批处理相比大大提高了系统的处理能力。7图1.3监督程序管理下的解题过程1.2.3多道程序系统批处理系统,每次只调用一个用户作业程序进入内存并运行,称为单道运行。图1.4(a)给出了单道程序工作示例。而图1.4(b)给出了多道程序工作示例。在单处理机系统中,多道程序运行的特点是:(1)多道:计算机内存中同时存放几道相互独立的程序。(2)宏观上并行:同时进入系统的几道程序都处于运行过程中,即它们先后开始了各自的运行,但都未运行完毕。(3)微观上串行:实际上,各道程序轮流使用CPU,交替执行。(a)单道程序工作示例(b)多道程序工作示例图1.4(2)随着多道程序的增加,出现了内存不够用的问题,提高内存的使用效率也8成为关键。因此出现了诸如覆盖技术、对换技术和虚拟存储技术等内存管理技术。(3)由于多道程序存在于内存,为了保证系统程序存储区和各用户程序存储区的安全可靠,提出了内存保护的要求。多道程序系统的出现标志着在操作系统渐趋成熟的阶段先后出现了作业调度管理、处理机管理、存储器管理、外部设备管理、文件系统管理等功能。1.2.4分时操作系统1.2.5实时操作系统20世纪60年代中期计算机进入第三代,计算机由于用于工业过程控制、军事实时控制等形成了各种实时处理系统。针对实时处理的实时操作系统是以在允许时间范围之内做出响应为特征的。它要求计算机对于外来信息能以足够快的速度进行处理,并在被控对象允许时间范围内作出快速响应,其响应时间要求在秒级、毫秒级甚至微秒级或更小。近年来,实时操作系统正得到越来越广泛的应用。特别是非PC机和PDA(个人数字助理)等新设备的出现,更加强了这一趋势。1.2.6通用操作系统多道批处理系统和分时系统的不断改进、实时系统的出现及其应用日益广泛,致使操作系统日益完善。在此基础上,出现了通用操作系统。它可以同时兼有多道批处理、分时、实时处理的功能,或其中两种以上的功能。例如,将实时处理和批处理相结合构成实时批处理系统。在这样的系统中,它首先保证优先处理任务,插空进行批作业处理。通常把实时任务称为前台作业,批作业称为后台作业。将批处理和分时处理相结合可构成分时批处理系统。在保证分时用户的前提下,没有分时用户时可进行批量作业的处理。同样,分时用户和批处理作业可按前后台方式处理。1.2.7操作系统的进一步发展进入20世纪80年代,一方面迎来了个人计算机的时代,同时又向计算机网络、分布式处理、巨型计算机和智能化方向发展。操作系统有了进一步的发展:·个人计算机上的操作系统,例如DOS系统。·嵌入式操作系统。·网络操作系统。·分布式操作系统。·智能化操作系统。20世纪90年代后期,由于个人计算机硬件功能的急剧增加和用户对安全性、网络功能的要求增强,个人计算机操作系统也从DOS转向了通用操作系统Windows系列和linux系列。91.3操作系统的基本类型根据其使用环境和对作业处理方式,操作系统的基本类型有:(1)批处理操作系统(batchprocessingoperatingsystem)(2)分时操作系统(timesharingoperatingsystem)(3)实时操作系统(realtimeoperatingsystem)(4)个人计算机操作系统(personalcomputeroperatingsystem)(5)网络操作系统(networkoperatingsystem)(6)分布式操作系统(distributedoperatingsystem)1.3.1批处理操作系统现代操作系统大都具有批处理功能。图1.5给出了批处理系统中作业处理步骤及状态。批处理系统的主要特征是:(1)用户脱机使用计算机。用户提交作业之后直到获得结果之前就不再和计算机打交道。作业提交的方式可以是直接交给计算中心的管理操作员,也可以是通过远程通讯线路提交。提交的作业由系统外存收容成为后备作业。(2)成批处理。操作员把用户提交的作业分批进行处理。每批中的作业将由操作系统或监督程序负责作业间自动调度执行。(3)多道程序运行。按多道程序设计的调度原则,从一批后备作业中选取多道作业调入内存并组织它们运行,成为多道批处理。多道批处理系统的优点是由于系统资源为多个作业所共享,其工作方式是作业之间自动调度执行。并在运行过程中用户不干预自己的作业,从而大大提高了系统资源的利用率和作业吞吐量。其缺点是无交互性,用户一旦提交作业就失去了对其运行的控制能力;而且是批处理的,作业周转时间长,用户使用不方便。多重处理系统配制多个CPU,因而能真正同时执行多道程序。多道程序设计原则不一定要求有多重处理系统的支持。多重处理系统比起单处理系统来说,虽增加了硬件设施,却换来了提高系统吞吐量、可靠性、计算能力和并行处理能力等好处。1.3.2分时系统分时系统一般采用时间片轮转的方式,使一台计算机为多个终端用户服务。对每个用户能保证足够快的响应时间,并提供交互会话能力。具有下述特点。(1)交互性:首先,用户可以在程序动态运行情况下对其加以控制。其次,用户上机提交作业方便。第三,分时系统还为用户之间进行合作提供方便。10(2)多用户同时性:多个用户同时在自己的终端上上机,共享CPU和其他资源,充分发挥系统的效率。(3)独立性:客观效果上用户彼此间感觉不到有别人也在使用该台计算机,如同自己独占计算机一样。分时操作系统是一个联机的多用户交互式的操作系统。UNIX是最流行的一种多用户分时操作系统。1.3.3实时系统实时系统主要随着计算机应用于实时控制和实时信息处理领域中而发展起来。实时系统的主要特点是提供即时响应和高可靠性。系统必须保证对实时信息