授课教师:赵冬范单位:计算机科学与技术学院电子邮箱:zdf@jlu.edu.cn教学网站:前言先修课程:计算机组成原理;计算机系统结构;微机原理与汇编程序设计;高级语言程序设计;数据结构课程性质:必修的专业基础课程。课程内容:操作系统与硬件和其它软件的关系;操作系统对计算机系统中的硬、软件资源进行管理;操作系统的基本结构、工作原理及实现方法。开课目的:掌握课程本身的知识;为分析和设计一个操作系统打下理论基础;为开发其它软件系统打下理论基础。教材:《计算机操作系统教程》(第3版)左万历、周长林、彭涛配套教材:《操作系统系统与实验指导》(第2版)国家级教学成果二等奖;国家教委第三届优秀教材一等奖;国家教委科技进步三等奖;吉林省普通高校优秀教材一等奖;吉林大学优秀教材一等奖。十一五国家级规划教材A.Silberschatz,P.Galvin.OperatingSystemConcepts.5thedition,Wiley,1997.系统,完善,国外大学多选用没有影印版A.Silberschatz,P.Galvin,GregGagne.AppliedOperatingSystemConcept.JohnWiley&SonsInc.高等教育出版社,2001.面向应用,比较浅显,算法不够完整算法用Java语言描述参考文献A.S.Tanenbaum.ModernOperatingSystems.PrenticeHall.机械工业出版社,2002.国内用的比较多WilliamStalling.OperatingSystems,InternalsandDesignPrinciples.3rdEdition,PrenticeHall,清华大学出版社,1998.另一本比较权威的教材参考文献莱昂氏.UNIX源代码分析.6thedition,机械工业出版社,2001.UNIX源代码10000行C语言9000行,汇编语言1000行,PDP11-45注释尤晋元,史美林,陈向群等.Windows操作系统原理.机械工业出版社,2001.参考文献第一章操作系统概述1.1操作系统的概念1.2操作系统的历史1.3操作系统的特性1.4操作系统的类型1.5操作系统的硬件环境1.6操作系统的界面形式1.7操作系统的运行机理1.8研究操作系统的几种观点1.9系统举例1.1操作系统概念操作系统地位操作系统作用操作系统定义本课程从OS的地位和作用角度给出OS的描述。1.1.1操作系统地位硬件抽象层(HAL)之上所有其它软件层之下硬件(HAL)OS其它系统软件层应用软件层运行视图系统库(lib)可调用操作系统,执行硬件指令应用程序可以调用lib和操作系统,执行硬件指令1.1.1操作系统地位(Cont.)硬件(HAL)操作系统系统库应用程序机器指令系统调用库调用1.1.2操作系统的作用1.管理系统中硬件、软件资源CPU内存设备文件软件资源:作业、进程调度;状态管理2.为用户(应用程序)提供良好的服务(界面)API(AplicationProgramInterface)GUI(GraphicUserInterface)JCL(JobControlLanguage)1.1.3操作系统定义操作系统:是位于硬件层(HAL)之上,所有其它软件层之下的一个系统软件,是管理系统中各种硬/软件资源,方便用户使用计算机系统的程序集合。OperatingSystemSupervisorMonitoringProgram1.2操作系统的历史1.2.1操作系统的产生1.手工操作阶段2.批处理阶段3.执行系统阶段1.2.2操作系统的完善1.多道批处理系统2.分时系统3.实时处理系统4.通用操作系统1.2.3操作系统的发展1.网络操作系统分布式操作系统2.单用户多任务操作系统3.多处理器的并行操作系统4.微内核操作系统嵌入式、智能卡5.多核技术下新一代操作系统1.2.1操作系统的产生1.手工操作阶段(20世纪40年代,无操作系统)作业处理步骤:⑴程序、数据手工记录到纸带穿孔机;⑵控制台开关启动光电机,纸带输入到机器内存;⑶控制台开关启动第一条指令(调试程序需修改纸带);⑷运行结果在电传打字机上输出。特点:资源独占;手工费时。汇编语言及汇编系统出现1.2.1操作系统的产生(Cont.)2.批处理阶段(20世纪50年代,操作系统雏形)⑴联机批处理:Job1job2Jobn读卡机磁带机计算机编译程序连接程序监督程序汇编程序监督程序占用主机时间⑵脱机批处理:批处理阶段:标准I/O程序、编译程序、连接装配程序出现读卡机打印机计算机编译程序连接程序汇编程序卫星机输入磁带输出磁带1.2.1操作系统的产生(Cont.)3.执行系统阶段(20世纪60年代初期)通道:专门用于控制I/O设备的处理机,即I/O处理机。有自己的指令系统和运控部件;与主机共享内存;接受主CPU委托执行通道程序,完成I/O;通道I/O操作与主CPU并行;通道完成I/O时,向主机发中断请求。操作系统的初级阶段,通道和中断技术的出现。1.2.1操作系统的产生(Cont.)1.2.2操作系统的完善1.多道批处理系统(60年代初期)执行系统:单道作业,通道完成I/O处理;等待I/O时,主机空闲,可运行其它作业。2.分时系统(60年代初、中期)执行系统和批处理系统都是单用户系统;分时系统是多用户(多终端)系统,适合交互式。3.实时处理系统(60年代中期)应用于工业自动控制、医疗诊断、航班等。4.通用操作系统(60年代后期)上述三类系统的结合。多道批处理和分时系统标志OS进入完善阶段。1.2.3操作系统的发展1.计算机体系结构由集中向分散的发展,出现了计算机网络,由此产生网络操作系统和分布式操作系统;2.随着家用和商用微型计算机的普及,出现了单用户多任务的操作系统;3.大型计算任务要求计算机系统具有极强的计算和处理能力,产生了支持多处理器的并行操作系统;4.随着各种处理器芯片和存储介质在控制领域的广泛应用,要求操作系统具有专用的特性,出现了微内核操作系统体系结构,如嵌入式和智能卡系统;5.随着芯片集成度的提高,提高单处理器速度已近极限,多核技术应运而生。新一代操作系统遇到的问题:多核的并发控制;多核下的进程调度。1.3操作系统特性1.3.1程序并发性多个程序在宏观上同时向前推进;并发(concurrent)vs.并行(parallel);用户程序之间的并发;用户程序与系统程序之间的并发。1.3.2资源共享性多个程序共用系统中的各种软/硬件资源;在操作系统的协调和控制下。1.3操作系统特性(Cont.)1.3.3程序异步性宏观上同时运行多个程序(包括用户和操作系统程序);微观上多个程序(连同操作系统程序)交替运行;交替的切换点是中断:用户程序向操作系统切换;操作系统程序向操作系统程序切换(中断嵌套)。中断随机发生,致使程序切换不确定、不可预知。1.3.4虚拟性利用虚拟技术把一个物理实体变为若干个逻辑实体;如:多道程序系统把单CPU系统中一个CPU改造成多个虚CPU;虚拟存储管理技术扩充内存空间;虚拟设备管理把独占型设备改造成共享的设备。1.4操作系统的分类多道批处理操作系统(batchprocessingsystem)分时操作系统(time-sharingsystem)实时操作系统(realtimesystem)通用操作系统(multi-purposesystem)单用户操作系统(singleusersystem)网络操作系统(networkoperatingsystem)分布式操作系统(distributedoperatingsystem)多处理机操作系统(multi-processorsystem)嵌入式操作系统(embeddedoperatingsystem)多媒体操作系统(multi-mediaoperatingsystem)智能卡操作系统(smart-cardoperatingsystem)按功能分类作业(Job):程序+数据+作业说明书(JCL编写)结果:程序运行结果+记帐信息1.4.1多道批处理系统作业1作业2……作业m输出机输入机作业作业调度(2)SPOOLing输出多道批处理系统工作原理输入井结果1结果2……结果n输出井作业调度(1)SPOOLing输入输入机输出机作业结果结果…………进程1进程2……进程k主机SPOOLing(SimultaneousPeripheralOperationOn-Line)称为假脱机工作方式或排队转储技术;通过通道,把I/O工作脱机处理,但是在主机控制下运行,故称为假脱机技术;由专门负责I/O的常驻内存进程以及输入井、输出井组成;将独占设备改为共享设备,实现了虚拟设备功能。1.4.1多道批处理系统(cont.)1.4.1多道批处理系统(cont.)输入井作用缓冲(速度匹配作用);实现作业调度(jobscheduling)输出井作用缓冲(速度匹配作用)Buffering:处理数据到达与离开速度不一致1.4.1多道批处理系统(Cont.)主机中作业合理搭配目标1:提高资源利用率(eg.计算型+I/O型)目标2:提高吞吐量(throughput)特点多道:系统中同时容纳多个作业;成批:作业分批进入系统、分批处理、分批离开。界面1:交互式命令语言(eg.shell,command)界面2:图形用户界面(GUI)1.4.2分时操作系统(On-line)分时处理终端请求TimeSharingOSHAL终端……终端终端1.4.2分时操作系统(Cont.)特点:以联机操作为标志多路性:一个主机与多个终端相连;交互性:以对话的方式为用户服务;独占性:每个终端用户仿佛拥有一台虚拟机。典型系统:Multics(MIT)UNIX1.4.3实时操作系统实时控制工业控制、宇航控制、医疗控制、铁路运输控制等;实时信息处理航班定票、联机情报检索、图书管理等。实时:系统对外部请求及时做出响应。实时控制responsetime:t2-t1HALRealTimeOS被控对象A/DD/At1t2ADAD1.4.3实时操作系统(Cont.)实时信息处理特点:(1)响应及时(promptresponse)(2)可靠性高(highreliability)通常为远程终端1.4.3实时操作系统(Cont.)终端终端终端HALRealTimeOS……1.4.4通用操作系统(multi-purposeOS)同时具有:批处理、分时、实时功能。目标:提高处理能力;扩展应用领域。常见模式:分时(前台)+批处理(后台)实时(前台)+批处理(后台)Foreground/BackgroundSystem1.4.5单用户操作系统同一时刻仅有一个用户使用的系统应用领域:台式机,笔记本,…….特点:单用户,多进程,多线程不同的程序,不同的进程;相同的程序,不同的线程。1.4.6网络操作系统用于实现网络通信和网络资源管理的操作系统称为网络操作系统。网络操作系统PrinterNOS1host1NOS2host2NOS3host3网络操作系统的目标相互通信资源共享(信息,设备)提供网络服务databaseserverftpservere-mailservertelnetserveretc.1.4.6网络操作系统(Cont.)1.4.7分布式操作系统紧耦合(tightlycoupled)由多机系统发展而来(多CPU);有公共内存;多处理机操作系统。多处理机操作系统内存CPU……CPUCPU多处理机系统1.4.7分布式操作系统(Cont.)松散耦合(looselycoupled)由计算机网络发展而来(多Host)无公共内存,无公共时钟分布式操作系统DOShost1DOShost2DOSho