1操作系统主讲教师:都艺兵2参考书•操作系统概念(第六版影印版)高等教育出版社OPERATINGSYSTEMCONCEPTAbrahamsilberschatz•WilliamStallings,OperatingSystems(3rdedition),清华大学出版社,1998年6月•张尧学,史美林,计算机操作系统教程,清华大学出版社,1993年9月•Windows操作系统原理机械工业出版社尤晋元、史美林3参考书(续)•UreshVahalia,UNIX高级教程—系统技术内幕,清华大学出版社,1999年5月;•DavidA.Solomon,MarkE.Russinovich,InsideMicrosoftWindows2000,3rdEdition,MicrosoftPress,2000,ISBN0-7356-1021-5•DavidA.Solomon,WindowsNT技术内幕,清华大学出版社,1999年7月4课程主要内容介绍•用户接口•进程管理•处理机管理•存储管理•文件系统•外部设备管理操作系统的功能•管理系统软硬件资源、•扩展计算机的功能、•向用户提供服务。5课程要求•上机实验10%•作业10%•闭卷考试80%6第一章绪论1.1什么是操作系统1.2操作系统的发展历史1.3操作系统的分类1.4操作系统的特征1.5操作系统的功能1.6操作系统的结构1.7常用的操作系统71.1什么是操作系统1.1.1操作系统的地位和目标1.1.2操作系统的作用和组成1.1.3操作系统举例返回操作系统是控制和管理计算机硬件软件资源,合理组织计算机工作流程以及方便用户的系统程序的集合。81.1.1操作系统的地位和目标计算机系统(层次结构)软件硬件及固件(裸机)应用软件系统软件编辑软件,编译软件操作系统图1.1计算机系统的组成9操作系统在计算机系统中的地位计算机硬件操作系统系统工具应用软件应用用户应用开发人员操作系统开发人员操作系统的地位:紧贴系统硬件之上,所有其他软件之下(是其他软件的共同环境)10引入操作系统的目标•有效性(系统管理人员的观点):管理和分配硬件、软件资源,合理地组织计算机的工作流程•方便性(用户的观点):提供良好的、一致的用户接口,弥补硬件系统的类型和数量差别•可扩充性(开放的观点):硬件的类型和规模、操作系统本身的功能和管理策略、多个系统之间的资源共享和互操作11操作系统的作用(1)OS是计算机硬件、软件资源的管理者。•管理对象包括:CPU、存储器、外部设备、信息(数据和软件);•管理的内容:资源的当前状态(数量和使用情况)、资源的分配、回收和访问操作,相应管理策略(包括用户权限)。1.1.2操作系统的作用12操作系统的作用(2)OS是用户使用系统硬件、软件的接口。•系统命令(命令行、菜单式、命令脚本式、图形用户接口GUI);•系统调用(形式上类似于过程调用,在应用编程中使用)。13操作系统的作用(3)OS是扩展机(extendedmachine)/虚拟机(virtualmachine)。•在裸机上添加:设备管理、文件管理、存储管理(针对内存和外存)、处理机管理(针对CPU);•另外,为合理组织工作流程:作业管理、进程管理。操作系统的非形式化定义(关键点):系统软件,程序模块的集合,资源管理和用户接口功能141.1.3操作系统举例•MSOS:MSDOS,MSWindows3.x,Windows95,WindowsNT,Windows2000•UNIX:BSD,SRV4,OSF1,SCOUNIX,AIX,Solaris,Linux•NOS:NovellNetware151.2操作系统的发展历史1.2.1推动操作系统发展的主要动力1.2.2手工操作1.2.3单道批处理系统(simplebatchprocessing)1.2.4多道批处理系统(multiprogrammingsystem)1.2.5分时系统(time-sharingsystem)1.2.6实时系统(real-timesystem)161.2.1推动操作系统发展的主要动力(1)提高资源的利用率和系统性能:计算机发展的初期,计算机系统昂贵,用作集中计算(2)方便用户:用户上机、调试程序,分散计算时的事务处理和非专业用户(商业和办公、家庭)(3)器件的发展:CPU的位宽度(指令和数据)、快速外存“需求推动发展”171.2.2手工操作•工作方式–用户:用户既是程序员,又是操作员;用户是计算机专业人员;–编程语言:为机器语言;–输入输出:纸带或卡片;•计算机的工作特点–用户独占全机:不出现资源被其他用户占用,资源利用率低;–CPU等待用户:计算前,手工装入纸带或卡片;计算完成后,手工卸取纸带或卡片;CPU利用率低;1946~50年代(电子管),集中计算(计算中心),计算机资源昂贵;18•主要矛盾–计算机处理能力的提高,手工操作的低效率(造成浪费);–用户独占全机的所有资源;•提高效率的途径–专门的操作员,批处理191.2.3单道批处理系统(simplebatchprocessingm,,uniprogramming)•批处理中的作业的组成:–用户程序–数据–作业说明书(作业控制语言)•批:–供一次加载的磁带或磁盘,通常由若干个作业组装成,在处理中使用一组相同的系统软件(系统带)50年代末~60年代中(晶体管):利用磁带把若干个作业分类编成作业执行序列,每个批作业由一个专门的监督程序(Monitor)自动依次处理。可使用汇编语言开发。20两种批处理方式(1)联机批处理•用户提交作业:以纸带或卡片为介质;•操作员合成批作业:结果为磁带介质;•批作业处理:对批作业中的每个作业进行相同的处理:从磁带读入用户作业和编译链接程序,编译链接用户作业,生成可执行程序;启动执行;执行结果输出。•这时的问题:慢速的输入输出处理仍直接由主机来完成。输入输出时,CPU处于等待状态。21两种批处理方式(2)脱机批处理•卫星机:完成面向用户的输入输出(纸带或卡片),中间结果暂存在磁带或磁盘上。•作业控制命令由监督程序(monitor)来执行,完成如装入程序、编译、运行等操作。•优点:同一批内各作业的自动依次更替,改善了主机CPU和I/O设备的使用效率,提高了吞吐量。•缺点:磁带或磁盘需要人工装卸,作业需要人工分类,监督程序易遭到用户程序的破坏(由人工干预才可恢复)。利用卫星机完成输入输出功能。主机与卫星机可并行工作。22通道和中断技术•通道:用于控制I/O设备与内存间的数据传输。启动后可独立于CPU运行,实现CPU与I/O的并行。–通道有专用的I/O处理器,可与CPU并行工作–可实现I/O联机处理•中断是指CPU在收到外部中断信号后,停止原来工作,转去处理该中断事件,完毕后回到原来断点继续工作。–中断处理过程:中断请求,中断响应,中断点(暂停当前任务并保存现场),中断处理例程,中断返回(恢复中断点的现场并继续原有任务–可处理算术溢出和非法操作码,死循环(利用时钟中断进行超时限定)•监督程序发展为执行系统(executivesystem),常驻内存60年代初,发展了通道技术和中断技术,这些技术的出现使监督程序在负责作业运行的同时提供I/O控制功能。23单道批处理的主要问题•CPU和I/O设备使用忙闲不均(取决于当前作业的特性)。–对计算为主的作业,外设空闲;–对I/O为主的作业,CPU空闲;241.2.4多道批处理系统(multiprogrammingsystem)•多道批处理的运行特征–多道:内存中同时存放几个作业;–宏观上并行运行:都处于运行状态,但都未运行完;–微观上串行运行:各作业交替使用CPU;60年代中~70年代中(集成电路),利用多道批处理提高资源的利用率。在当前运行的作业需作I/O处理时,CPU转而执行另一个作业。(I/O完成后是否立刻恢复执行?要等到其他程序再次I/O时)25多道批处理系统的特点•优点:–资源利用率高:CPU和内存利用率较高;–作业吞吐量大:单位时间内完成的工作总量大;•缺点:–用户交互性差:整个作业完成后或中间出错时,才与用户交互,不利于调试和修改;–作业平均周转时间长:短作业的周转时间显著增长;批处理:交互性差--提高对CPU利用率;分时处理:用户与应用程序随时交互,控制程序运行,适于商业和办公事务处理--缩短响应时间261.2.5分时系统(time-sharingsystem)•“分时”的含义分时是指多个用户分享使用同一台计算机。多个程序分时共享硬件和软件资源。–多个用户分时:单个用户使用计算机的效率低,因而允许多个应用程序同时在内存中,分别服务于不同的用户。有用户输入时由CPU执行,处理完一次用户输入后程序暂停,等待下一次用户输入--时走时停–前台和后台程序(foreground&background)分时:后台程序不占用终端输入输出,不与用户交互--现在的图形用户界面(GUI),除当前交互的程序(输入焦点)之外,其他程序均作为后台–通常按时间片(timeslice)分配:各个程序在CPU上执行的轮换时间。70年代中期至今27抢先式和非抢先式•抢先式和非抢先式(preemptive&non-preemptive):出让CPU是OS强迫或程序主动–抢先式:OS强迫出让CPU;–非抢先式:程序主动出让CPU;28分时系统的特点•人机交互性好:在调试和运行程序时由用户自己操作。•共享主机:多个用户同时使用。•用户独立性:对每个用户而言好象独占主机。现在的许多操作系统都具有分时处理的功能,在分时系统的基础上,操作系统的发展开始分化,如实时系统、通用系统、个人系统等。291.2.6实时系统(real-timesystem)•要求:响应时间短,在一定范围之内;系统可靠性高•任务的类型:–周期性实时任务:–非周期性实时任务:截止时间(deadline),开始截止时间(最晚开始时间)和完成截止时间(最晚完成时间)用于工业过程控制、军事实时控制、金融等领域,包括实时控制、实时信息处理目前的操作系统,通常具有分时、实时和批处理功能,又称作通用操作系统。可适用于计算、事务处理等多种领域,能运行在多种硬件平台上,如UNIX系统、WindowsNT等。--通用化、小型化301.3操作系统的分类1.3.1批处理操作系统1.3.2分时操作系统1.3.3实时操作系统1.3.4多处理操作系统1.3.5网络操作系统1.3.6分布式操作系统1.3.7个人计算机操作系统操作系统分类主要讨论操作系统的内部特征。311.3.1批处理操作系统(BatchProcessingOperationSystem)•作业的处理流程–作业提交:作业的输入;–作业执行–作业完成:作业的输出;32用户作业录入提交收容完成运行就绪等待作业调度执行作业调度图1批处理系统中作业处理及状态33单道(uniprogramming)和多道批处理的比较单道多道内存使用每次一个作业每次多个作业(充分利用内存)作业次序顺序,先进先出无确定次序多道程序系统和多处理系统(multiprocessingsystem)的区别:前者指多个程序同时在内存中交替运行,后者指多个处理器。34批处理的主要特征•用户脱机使用计算机:作业提交后直到获得结果之前,用户无法与作业交互。•作业成批处理•多道程序并行:充分利用系统资源。35多道批处理系统的资源利用效率特征多道批处理系统的资源利用效率特征是基于各作业对系统资源的需求差异得到的。例如:有3个作业A、B、C,分别为计算、检索和打印作业,单道运行时间分别为5分、15分和10分钟。它们可并行在15分钟内完成3个作业。各资源的利用效率为:CPU打印机磁带单道17%33%50%多道33%66%100%36多道批处理系统上的技术•作业调度:作业的现场保存和恢复--上下文切换•资源共享:资源的竞争和同步--互斥(exclusion)和同步(synchronization)机制•内存使用:提高内存使用效率(为当前由CPU执行的程序提供足够的内存)--覆盖(overlay),交换(swap)和虚拟存储(vi