计算机操作系统于红2007.9第一章绪论分时、实时及批处理三种系统中每种系统的特点和适用范围。OS的功能、定义、目的、类型和基本特征。时间片、多道程序设计、吞吐量、并发及并行的概念。本章重点:分时、实时、批处理三种系统的实现、分布式OS的实现。本章难点:操作系统(OperatingSystem)概念OS的历史OS的基本类型OS的功能OS的基本特征计算机硬件简介OS的初启和生成算法的描述研究OS的几种观点OS与硬件、软件、用户之间的关系小结1.1操作系统(OperatingSystem)概念一、系统资源:硬件+软件系统资源:让计算机工作所需要的所有东西。系统资源硬件资源:软件资源CPU,内存,I/O设备系统软件:应用软件:OS和其他系统管理软件word,电子表格,浏览器等。结论1:OS是系统软件。二、计算机系统的层次结构User1User2User3UsernCompilerassemblereditordatabasesystemOthersystemandapplicationprogramOperatingsystemhardwareOS的位置对内:所有硬件都包含在其内部,OS把所有硬件管理起来,对硬件进行全面控制,全面管理。对外:所有软件的运行都建立在OS之上的。结论2:OS管理计算机系统资源,方便用户三、OS的定义OS是计算机系统中的一种系统软件,它用于管理计算机系统的软、硬件资源,控制程序的运行,并为用户使用计算机提供方便的接口。OS的角色:①管理员②指挥员③接待员四、OS的目的:①提高系统资源的利用率:使计算机系统资源更好、更充分地被用户利用。②高效:提高系统的效率③方便用户:使用户更方便地使用计算机。④可扩展:系统功能和结构的扩展不影响原有功能的使用。⑤开放:不同的计算机及设备能集成起来并有效、正确地被使用,实现应用程序的可移植性和互操作性。五、为什么要学习操作系统?①设计和改写操作系统②更好地选择和使用操作系统③掌握系统软件设计方法和并发程序设计方法1.2操作系统的历史推动操作系统发展的三个因素计算机硬件升级以及新的硬件类型的发展用户需求扩大,OS提供的新服务市场的激烈竞争,OS功能的完善(修补、汉化)OS的演变1946-20世纪50年代末:第一代,电子管时代计算机技术的演变20世纪50年代末-20世纪60年代中期,第二代,晶体管时代20世纪60年代中期-20世纪70年代末,第三代,集成电路时代20世纪70年代末期-20世纪末,第四代,大规模集超大规模集成电路时代早期手工阶段46~50年代初(无操作系统)操作系统的演变单道批处理58年前后多道程序系统65年前后分时OS66年前后实时OS68年前后单用户OS,网络OS70年代分布式OS(多机OS)、嵌入式OS、智能OS90年代1.2.1手工操作阶段计算机运行在一个集成了指示器、开关、输入设备(读卡机)、打印机的控制台上。特点:人机串行资源独占1.2.2早期批处理引入:为解决人-机速度不匹配实现:通过应用一种称为监控器的软件,使用户不必直接接触机器,而是先通过卡片机和纸带机向计算机控制器提交作业,由监控器将作业组织在一起构成一批作业,然后将整批作业放入由监控器管理的输入设备上,每当一个作业执行完毕返回监控器时,监控器自动装入下一个作业。启动读入第一个命令解释读入命令并执行读入下一个命令监控器中断处理设备驱动作业排序控制语言解释器用户程序区1.联机批处理作业的执行过程:(1)作业被做成穿孔纸带或卡片(2)用户提交作业:程序+数据+作业操作说明书(3)操作员有选择地把若干作业合成一批,通过输入设备(纸带输入机或者读卡机)把他们存入磁带(4)监督程序读入一个作业(5)从磁带调入汇编程序或编译程序,将用户作业源程序翻译成目标代码(6)连接装配程序把编译后的目标码及所需的子程序装配成一个可执行程序(7)启动执行(8)执行完毕,善后处理程序输出计算结果(9)读入下一个作业重复,重复(5)-(9)(10)一批作业完成,返回(3),处理下一批单:任何时刻机器中处理的作业只有一道。批:磁带上总是有一批作业等待处理。2.脱机批处理卡片机打印机卫星机主机日志输入带输出带执行带系统带作业周转时间:一道作业从提交到运行完成所需要的时间。1.2.3多道程序系统引入:为提高各种资源的利用率,解决I/O设备与CPU的速度差异,提高CPU与外部设备的利用率计算启动I/OI/OI/O完成继续计算单道批处理示意图有什么问题?读一个记录0.0015s执行100条指令写一个记录总共CPU利用百分比=0.0001/0.0031=0.032=3.2%0.0001s0.0015s0.0031s实现:内存放两道以上的程序,CPU交替执行各程序。程序BCPU输入设备输出设备输入结束请求打印CPU空请求输入等待CPUCPU输入设备CPU其他I/O程序A程序BCPU输入设备等待CPUCPU程序A运行流程:20403020程序B运行流程:302030程序A程序B程序A在单道情况下完成程序A和程序B需要时间:20+40+30+20+30+20+30=190CPU利用率:110/190X100%=58%在多道情况下完成程序A和程序B需要时间:20+40+30+30=120CPU利用率:110/120X100%=92%特点:多道:计算机内存中同时放几道互相独立的程序。宏观上并行:同时进入系统中的几道程序都处于运行状态,即:都开始运行且没运行完成。微观上串行:各到程序轮流使用CPU。实质是“宏观上并行,微观上串行。”吞吐量:在单位时间内计算机系统完成的作业的道数。多道程序设计:将一个以上的作业放入主存,并且同时处于运行状态,这些作业共享处理机的时间和外围设备等其他资源。多道批处理:采用多道程序设计技术实现的批处理系统。多道程序系统的出现标志着在操作系统渐趋成熟的阶段先后出现了作业调度管理、处理机管理、存储器管理、外部设备管理、文件系统管理等功能1.2.4分时操作系统引入:批处理系统采用人脱机的方式工作,但有时不方便,不能满足所有的需要。实现:一台主机外接多个终端,每个用户占一台终端(CRT+键盘,是一种只有I/O而没有CPU的设备),CPU采用把时间分片的方法轮流为每个终端用户服务(即时间片轮转的方法),保证每个用户的响应时间。时间片:CPU的时间段,时间片的大小由操作系统决定,可以是固定时间片(每个时间段长度一般为0.2s),也可以是可变时间片。时间片一定,用户数与响应时间成反比。分时技术:把处理机的运行时间分成很小的时间片,按时间片轮流把处理机分给各联机作业使用,若某个作业在给定的时间片内不能完成,该作业暂时中断,处理机让给其它作业,等下一轮时间继续运行。1.2.5实时操作系统引入:60年代中期,计算机发展进入第三代,使机器性能得到了显著的提高,应用范围迅速扩大,从传统的科学计算扩展到商业数据处理以及各行各业,如工厂的生产控制、医疗诊断、教学以及飞机订票等,尤其是它应用于高科技,如:控制导弹发射,需要根据目标及时调整方向,各种参数需要随时改变,这时分时和批处理都解决不了,就引入实时系统。即:为满足自控等方面的需求而引入实时系统,主要解决那些需要在规定时间内处理完的问题。发展:在嵌入式计算方面得到发展,特别是移动计算等非PC机、PDA和手机等。思考:上网查找目前有哪些常见的手机操作系统?每种系统的特点及市场占用情况。1.2.6通用操作系统引入:批处理系统的不断发展,分时系统的不断改进,实时系统的出现及应用范围的日益广泛,致使操作系统日益完善,出现了通用操作系统。通用操作系统:同时兼有多道批处理,分时,实时三种系统的功能或具有其中两种系统的功能。例:OS/400和MVS:分、批,其中CPU的分配取分时,作业分为两种,前台(终端),采用分时,后台(批处理作业)前台时间片小,后台时间片大。UNIX:通用,分时,多用户操作系统。1.2.7操作系统的进一步发展PC机操作系统:网络操作系统分布式操作系统智能化操作系统嵌入式操作系统课外作业:上网查找上述每种操作系统的实例1.3操作系统的基本类型按用户个数单用户多用户按任务数分单任务多任务按CPU个数单CPU多CPU按使用环境及对作业的处理方式批处理操作系统分时操作系统实时操作系统个人计算机操作系统网络操作系统分布式操作系统1.3.1批处理操作系统类型:早期大型机操作系统特点:脱机成批多道高效作业周转时间长需要的硬件支持:20世纪60年代初期发展起来的通道和中断技术。多道程序系统与多重处理的区别:多重处理系统配置多个CPU,是真正的多道;多道程序设计不一定是多重处理,多重处理一定是多道适用范围:大量的科学计算,大量的数据处理(大作业)1.3.2分时系统工作原理:采用时间片轮转的方式使一台计算机为多个终端用户服务,保证每个用户有足够快的响应时间特点:交互性多用户同时性独立性分时系统是一个联机的、多用户的、交互的操作系统。UNIX是典型的分时系统。适用范围:开发、调试、测试软件性能,小作业。实现:解决问题的关键在于系统的正确性不仅依赖于计算的逻辑结果而且依赖于结果产生的时间。处理问题的程序常驻内存。由事件激发程序的执行。CPU要根据事件的轻重缓急进行时间分配。需要有时钟管理模块,在线的人机对话,过载保护等保证系统绝对可靠。(高度可靠性和安全性需采用冗余措施,硬件上双机热备份)特点:实时性,可靠性,安全性,专用性。适用范围:实时控制:导弹发射,飞机飞行,钢水温度,发电。实时信息处理:情报检索,银行帐目往来,飞机订票。1.3.3实时系统分时,批处理,实时的比较:及时性通用性适应范围批处理弱(day,h)无高弱较好大作业,科学计算分时较强(ms,s)强好小作业,测试,调试,开发实时强(ms,μs)较强低强差实时控制,实时信息处理交互性效率可靠性较高较强特点:同时具有批处理、分时、实时三种操作系统中两种或两种以上操作系统的功能1.3.4通用操作系统1.3.5PC机操作系统引入:微机便宜,对环境要求低,没有必要多个人使用一台计算机实现:每个用户独立联机使用一台计算机。资源独占。特点:用户界面好文件管理功能强资源管理简单安全性差(用户上机时没有用户识别),病毒泛滥1.3.6网络操作系统引入:通信和资源共享的要求引入计算机网络,相应产生网络操作系统。实现:在单机操作系统的基础上开发,按照网络体系结构的各个协议标准开发,具有网络管理、通信、资源共享、系统安全等功能。如NETWARE两个以上带有自己的OS的计算机通过通信设施连接起来。有各方认定的标准通信规则(协议)。在单机操作系统的基础上建立一个网络操作系统负责对网络资源和网络通信进行控制和管理,并为网络提供统一的接口。特点:自治性:有自己的CPU,自己的内存,自己的OS互连性分布性:位置分布,功能分布,处理的任务分布统一性:整个网络对用户是统一的接口是一致的功能:NOS控制网络通信管理网络资源提供多种网络服务提供网络接口。网络服务有:文件服务,打印服务,新闻服务,数据库服务。1.3.7分布式操作系统引入:除了共享和资源共亨外,还要进行任务的协作处理,(系统中多台机器同时做一件事)分布式OS的要求比NOS高得多。实现:两台以上计算机通过通信设施连接起来。要内部的通信规则(没有统一的标准),各机器没有主次之分。整个系统有一个统一的操作系统,对系统中的所有资源进行管理,调度,对系统当中所有任务进行协调,并为用户提供接口。特点:自治性(比网络差):每台机器有自己的CPU,内存,无操作系统。分布性(比网络差):分布在一个楼内或一个办公室内。模块性:机器的机型相同(只有同构才能实现任务转移)并行性功能:进行任务的协作处理NOS与DOS比较:机器机型协议实现难易OS基础透明性NOS可以不一致有标准协