课程简介课程名称:操作系统(OperatingSystem)教材:《计算机操作系统》刘福岩等《计算机操作系统》汤子赢等教学方式:授课(48)+上机实习(16)考试类别:考试参考教材:1、现代操作系统,陈向群等译,机械工业出版社2、操作系统设计与实现,王鹏等译,电子工业出版社3、计算机操作系统教程,张尧学、史美林,清华大学出版社第1章操作系统概述1.1什么是操作系统1.2操作系统的发展过程1.3操作系统的功能和主要特征1.4操作系统的机制和策略1.5操作系统的体系结构1.6典型操作系统简介1.7本章重点本章学习目标掌握操作系统的概念及作用了解操作系统的发展过程掌握操作系统的特征与功能牢记多道程序设计的概念理解操作系统的模型1·1什么是操作系统1.存储程序计算机的组成1.1.1冯.诺依曼结构的计算机(1)概念和模型过于复杂,用户编程十分困难在裸机基础上通过软件构造一个概念和模型相对简单,更容易理解和进行程序设计的虚拟机,可以认为这个虚拟机就是操作系统,如磁盘管理。和裸机提供的概念和模型相比,操作系统构造和提供的概念和模型要简单得多,用户也更容易编程和使用。(2)性能不高裸机提供的概念和模型过于复杂,用户直接对裸机编制的程序,程序运行时效率往往非常低,其原因在于直接对裸机编程,用户往往不能充分利用裸机提供的资源,特别是不能最大限度的开发系统的并行性。如多道程序技术。2.直接使用裸机的困难示例图1.2磁盘结构作业3作业2作业1操作系统内存分区图1.3在内存中有三个作业的多道程序系统1.现代计算机系统的组成1.1.2操作系统的作用系统软件工具软件:软、硬件检测疹断程序应用软件:CAD、MIS等自己开发的系统计算机系统硬件软件CPU储存器:内存、外存(软硬盘、磁带机)输入设备:键盘、鼠标、扫描仪等输出设备:显示器、打印机、绘图仪操作系统编译程序、DBMS等2.操作系统在计算机系统中的地位计算机硬件操作系统系统工具应用软件应用用户应用开发人员操作系统开发人员紧贴系统硬件之上,所有其他软件之下(是其他软件的共同环境)(1)从资源管理的观点—OS作为资源管理器:OS的首要任务是管理计算机系统中硬件与软件资源,使其得到充分而有效的利用:1)跟踪资源状态:时刻掌握计算机系统中资源的使用情况。2)分配资源:处理对资源的使用请求,协调冲突,确定资源分配算法。3)回收资源:回收用户释放的资源,以便下次重新分配。4)保护资源:负责对系统资源的保护,避免受破坏。3.操作系统的作用(体现在三个方面)操作系统作为资源管理器的观点是目前人们对操作系统认识的一个主要观点,根据此观点,人们将计算机资源划分为四大类:1)处理机2)存储器3)I/O设备4)信息(程序与数据)相应可将操作系统分为四类管理器:1)处理机管理2)存储管理3)设备管理4)信息管理(文件系统)(2)从软件分层、扩允机器的观点—虚拟机:提供硬件的高层界面(虚拟机),取消硬件限制1)操作系统提供无限的内存、无限的CPU2)扩充机器,功能更强大,使用更方便【虚拟机】:使用户和程序员在不必涉及和了解硬件工作细节的情况下能方便的使用计算机,而为用户所提供的一个等价的扩展计算机,称为虚拟计算机。(3)从服务用户的观点—OS用户与裸机间接口:操作系统为方便用户使用计算机提供了二级访问接口:1)命令接口:命令行。2)调用接口:形式上类似于过程调用,在应用编程中使用。3)图形接口:图形用户界面GUI,方便用户使用。编程更为容易,软件可移植性增强;使用更为方便。1.操作系统的目标有效性(系统管理人员的观点):管理和分配硬件、软件资源,合理地组织计算机的工作流程方便性(用户的观点)提供良好的、一致的用户接口,弥补硬件系统的类型和数量差别可扩充性与开放性(开放的观点):硬件类型和规模、操作系统本身的功能和管理策略、多个系统间的资源共享和互操作。1.1.3操作系统的目标与定义2.操作系统的定义操作系统是控制和管理计算机系统的硬件和软件资源,合理的组织计算机工作流程以及方便用户使用的程序和数据的集合。设置操作系统的目的就是提高计算机系统的效率,增强系统的处理能力,充分发挥系统的利用率,方便用户使用。1·2操作系统的发展过程操作系统发展的主要动力是用户的需求,并随着计算机硬件技术、软件技术的发展而不断发展完善。1)提高资源的利用率和系统性能:计算机发展的初期,计算机系统昂贵,用作集中计算2)方便用户:用户上机、调试程序,分散计算时的事务处理和非专业用户。3)硬件的发展:CPU的位宽度(指令和数据)、快速外存、新硬件、新技术的出现等。4)计算机体系结构的不断发展。1·2OS的发展史—手工1、手工操作(1946~50年代,电子管时代)【特点】:计算机资源昂贵,没有操作系统【工作方式】:–用户:用户既是程序员、操作员,还是计算机专业人员;–编程语言:为机器语言;–输入输出:纸带或卡片;【计算机的工作特点】:–用户独占全机:用户独占计算机所有资源,资源利用率低;–CPU等待用户:计算前,手工装入纸带或卡片;计算完成后,手工卸取纸带或卡片;CPU利用率低;【主要矛盾】:–计算机处理能力的提高,手工操作的低效率–用户独占全机的所有资源;图例手工时期的操作联机批处理1·2OS的发展史—单道2、单道批处理系统(50年代末~60年代中,晶体管)【特点】:利用磁带把若干个作业分类编成作业执行序列,每个批作业由一个专门的监督程序(Monitor)自动依次处理。可使用汇编语言开发。【批处理中的作业的组成】:–用户程序–数据–作业说明书(作业控制语言)【批处理】:–供一次加载的磁带或磁盘,通常由若干个作业组装成,在处理中使用一组相同的系统软件(系统带)1·2OS的发展史—单道批处理方式可分为联机批处理和脱机批处理。1)联机批处理用户提交作业:以纸带或卡片为介质;操作员合成批作业:结果为磁带介质;批作业处理:对批作业中的每个作业进行相同的处理:从磁带读入用户作业和编译链接程序,编译链接用户作业,生成可执行程序;启动执行;执行结果输出。【存在的问题】:慢速的输入输出处理仍直接由主机来完成。输入输出时,CPU处于等待状态。1·2OS的发展史—单道2)脱机批处理系统库输入带输出带运行日志主机执行带读卡机打印机卫星机1·2OS的发展史—单道2)脱机批处理利用卫星机完成输入输出功能。主机与卫星机可并行工作。卫星机:完成面向用户的输入输出(纸带或卡片),中间结果暂存在磁带或磁盘上。作业控制命令由监督程序(monitor)来执行,完成如装入程序、编译、运行等操作。【优点】:同一批内各作业的自动依次更替,改善了主机CPU和I/O设备的使用效率,提高了吞吐量。【缺点】:磁带或磁盘需要人工装卸,作业需要人工分类,监督程序易遭到用户程序的破坏(由人工干预才可恢复)。1·2OS的发展史—单道【单道批处理的特征】:自动性:磁带上一批作业能自动逐个依次运行对I/O为主的作业,CPU空闲;顺序性:作业顺序进入内存,执行与完成的顺序和调入的顺序完全相同。单道性:内存中仅有一道程序,只有该程序完成或发生异常时,才调入后继程序进入内存运行【单道批处理的主要问题】:一个用户独占全部资源CPU负责计算,也负责传输,CPU与外设速度不匹配。CPU与I/O串行资源利用率仍然很低。中断技术和通道技术60年代硬件两个重大进展:中断技术和通道技术1)中断:指CPU在收到外部中断信号后,停止原来工作,转去处理该中断事件,完毕后回到原来断点继续工作。【中断处理过程】:中断请求,中断响应,中断点(暂停当前任务并保存现场),中断处理例程,中断返回(恢复中断点的现场并继续原有任务。【中断分类】:硬件中断(分为硬件故障中断、I/O中断和外部中断)与软件中断(可分为程序中断例如定点操作数溢出、地址越界、虚存管理中缺页等和访管中断)。中断的处理过程用户程序中断机构(硬件)中断处理程序判断中断类型保护旧的PSW取出新的PSW取出中断码,分析中断原因按不同原因处理取出旧的PSW重新装入,返回断点旧PSW……新PSW……中断技术和通道技术2)通道(又称为I/O处理机):实际上是一台功能单一、结构简单的I/O处理机,它单独与CPU,并直接控制外部设备,与内存进行数据传输。–通道有专用的I/O处理器,可与CPU并行工作。通道具有自己的指令(通道指令),可编程实现各种复杂的I/O处理。–可实现I/O联机处理【CPU与通道的通讯】:CPU与通道之间为主(CPU)从关系(通道),采用通道进行数据传输的过程如下:CPU向通道发出I/O指令;通道执行通道程序进行I/O操作;I/O完成或出错时,以中断方式请求CPU处理。单通道I/O系统主存通道通道控制器控制器控制器控制器设备A设备B设备C设备D设备E设备F通道的四级连接,三级控制(CPU-通道-控制器-设备)1·2OS的发展史—多道3、多道批处理系统(60年代末~70年代中,集成电路)单道:用户程序监督程序I/O操作I/O请求启动I/OI/O完成I/O请求多道:程序A程序B程序C调度程序A:I/O请求A:I/OB:I/O请求B:I/OC:I/OA:完成tt1)多道程序设计原理【多道程序设计原理】:在计算机内存中同时存放几道相互独立的程序,它们在管理程序的控制下相互穿插地运行,共享CPU和外设等资源。采用多道程序设计技术的批处理系统称为多道批处理系统。2)多道程序设计的实现–存储保护与重定位。在多道程序设计环境中,几道程序共享同一内存,硬件必须提供必要的手段保证各道程序之间不互相侵犯。–处理机管理和调度。多道程序共享同一个处理机,因此存在处理机的调度问题。–资源的管理和调度。多道程序共享资源,同样存在着资源的分配问题。1·2OS的发展史—多道1·2OS的发展史—多道3)多道程序设计的特征–多道。同时存在两道或两道以上的程序处于执行的开始点和结束点中间。–宏观并行。都处于运行状态,但都未运行完;–微观串行。各作业交替使用CPU。4)多道批处理系统的优缺点:–优资源利用率高:CPU和内存利用率较高;–优作业吞吐量大:单位时间内完成工作总量大;–缺用户交互性差:整个作业完成后或中间出错时,才与用户交互,不利于调试和修改;–缺作业平均周转时间长:短作业的周转时间(从作业提交到完成的这段时间)显著增长;单道和多道批处理的比较多道程序系统和多处理系统(Multi-ProcessingSystem)的区别:前者指多个程序同时在内存中交替运行,后者指多个处理器。单道多道内存使用每次一个作业每次多个作业(充分利用内存)作业次序顺序,先进先出无确定次序多道批处理系统的资源利用多道批处理系统的资源利用效率特征是基于各作业对系统资源的需求差异得到的。例如:有3个作业A、B、C,分别为计算、检索和打印作业,单道运行时间分别为5分、15分和10分钟。它们可并行在15分钟内完成3个作业。各资源在单道、多道环境下的利用效率是多少?单道多道CPU17%(5/30)33%(5/15)打印机33%(10/30)66%(10/15)磁带50%(15/30)100%(15/15)5)多道批处理系统的核心技术:作业调度:作业的现场保存和恢复资源共享:资源的竞争和同步——互斥机制内存使用:提高内存使用效率(为当前由CPU执行的程序提供足够的内存)——覆盖(overlay),交换(swap)和虚拟存储(virtualmemory)内存保护:系统存储区和各应用程序存储区不可冲突,即存储保护文件非顺序存放、随机存取。出现了:作业管理、处理机管理、存储管理、设备管理、文件系统管理(filesystem)1·2OS的发展史—多道课堂练习1.1操作系统是一种A,在操作系统中采用多道程序设计方式能提高CPU和外部设备的B。一般来说,为了实现多道程序设计,计算机需要有C。A:(1)通用软件;(2)系统软件;(3)应用软件;(4)软件包。B:(1)利用效率;(2)可靠性;(3)稳定性;(4)兼容性。C:(1)更大的内存;(2)更快的外