操作系统概论主讲人:艾芳菊2前言课程的地位和特点-本课程地位专业核心课程考研核心课程技术开发的理论基础–课程的特点实践性强(从实践总结出原理)涉及面广(并行程序,性能问题,结构问题,程序方法论,软件工程等等)错综复杂,纵横交错3课程基本要求:通过本课程的学习,掌握操作系统的基本概念、设计原理及实施技术,掌握操作系统中有关进程的概念,以及进程并发执行时必须解决的问题前言4教材及参考书:1.计算机操作系统(修订版).汤子瀛等编.西安电子科技大学出版社2.操作系统原理.LubomirF.Bic,AlanC.Shaw.清华大学出版社3.OperatingSystemConcepts.AbrahamSilberschatzetc.高等教育出版社4.Windows操作系统原理(第二版).陈向群等编.机械工业出版社5.操作系统原理.技术与编程.蒋静等.机械工业出版社5第一章引论重点:计算机系统的组成;操作系统在计算机系统中的作用;各类操作系统的特点;程序状态字的作用;系统调用6本章主要内容1.1计算机系统1.2操作系统1.3操作系统的形成与基本类型1.4操作系统的发展1.5处理器的工作状态1.6操作系统与用户的接口71.1计算机系统1.1.1计算机硬件1.1.2计算机软件81.1.1计算机硬件概念–计算机硬件是指组成计算机系统的设备或机器,是“看得见,摸得着”的物理部件,它是组成计算机系统的基础组成–计算机硬件一般包括中央处理器(CPU)、内存储器、外存储器、输入设备和输出设备、系统总线,其中CPU与内存储器合称为主机,外存储器、输入设备和输出设备合称为外部设备硬件的关系9硬件的关系:1.1.1计算机硬件101.1.1计算机硬件111.1.1计算机硬件121.1.2计算机软件概念–计算机软件是指组成计算机系统的程序、数据和文档。程序是指令的有序集合;数据是信息在计算机中的表示,是计算机处理的对象;文档是各种说明文本,是软件操作的辅助性资源组成–系统软件:是支持和管理计算机硬件的软件,是服务于硬件的,它创立的是一个平台。系统软件包括操作系统、数据库管理系统、计算机编译语言和各种系统服务性程序–支撑软件:是支撑其他软件的开发和维护的软件–应用软件:应用软件是完成用户某项要求的软件,是服务于特定用户的,它满足某一个应用领域。应用软件包括计算机源程序和应用软件包131.2操作系统1.2.1什么是操作系统1.2.2操作系统的作用1.2.3操作系统的功能141.2.1什么是操作系统操作系统(OS):是管理计算机系统资源、控制程序执行、改善人机界面和为应用软件提供支持的一种系统软件151.2.2操作系统的作用管理计算机系统的资源为用户提供方便的使用接口具有扩充硬件的功能16操作系统的目标1.方便性–操作系统最终是要为用户服务的。给计算机配置操作系统后必须使计算机系统方便使用。2.有效性–操作系统要合理地组织计算机的工作流程,改善系统资源的利用率,提高系统的吞吐量从而使有限的资源完成更多的任务。3.可扩充性–操作系统也是为应用服务的,随着应用环境的变化,操作系统自身的功能也必须不断增加和完善。4.开放性–操作系统主要功能是管理计算机硬件的,必须适应和能够管理不同的硬件。171.2.3操作系统的功能1操作系统的特征2操作系统的功能181操作系统的特征1.并发性–在多道程序环境下,并发性是指两个或多个事件在同一时间间隔内发生,即宏观上有多道程序同时执行,而微观上,在单处理机系统中每一个时刻仅能执行一道程序。2.共享性–共享是指系统中的资源可供多个并发执行的进程使用。3.虚拟性–是指通过某种技术把一个物理实体变成若干个逻辑上的对应物。4.异步性–也称不确定性,是指在多道程序环境下,允许多个进程并发执行,由于资源的限制,进程的执行不是“一气呵成”的,是“走走停停”的。192操作系统的功能操作系统是用户与硬件之间的桥梁,它主要负责管理计算机系统中的所有资源,并负责它们的调度和使用,充分发挥这些资源的作用和方便用户使用计算机。从资源管理的角度来看,操作系统的功能主要有:–处理机管理–存储管理–文件管理–设备管理–用户接口201.3操作系统的形成与基本类型1推动操作系统发展的动力2操作系统的基本类型211推动操作系统发展的动力1.不断提高资源利用率的需要2.方便用户操作3.硬件的不断更新换代4.计算机体系结构的不断发展222操作系统的基本类型批处理操作系统工作方式:1、用户将作业交给系统操作员;2、系统操作员将许多用户的作业组成一批作业,输入到计算机系统中,在系统中形成一个自动转接的连续的作业流;3、启动操作系统;4、系统自动、依次执行每个作业;5、由操作员将作业结果交给用户23批处理操作系统批处理系统中的作业的组成:–用户程序–数据–作业说明书(作业控制语言)批:供一次加载的磁带或磁盘,通常由若干个作业组装成,在处理中使用一组相同的系统软件(系统带)批作业处理:对批作业中的每个作业进行相同的处理:从磁带读入用户作业和编译链接程序,编译链接用户作业,生成可执行程序;启动执行;执行结果输出24批处理操作系统问题:慢速的输入输出处理直接由主机来完成,输入输出时,CPU处于等待状态解决:完成面向用户的输入输出(纸带或卡片),中间结果暂存在磁带或磁盘上※单道批处理系统(simplebatchprocessing,uni-programming)※多道批处理系统(multiprogrammingsystem)25批处理操作系统的特点多道:内存中同时存放几个作业某个作业占用CPU,若由于某种原因暂时不用CPU,则系统让第二个作业占用CPU。成批处理:用户自己不能干预自己作业的运行,一旦发现作业错误不能及时改正,并延长开发软件时间,所以适用于成熟的程序。26批处理操作系统优缺点优点:作业流程自动化→资源利用率高吞吐量大——单位时间内完成的工作总量大缺点:用户交互性差,调试程序困难(无交互手段:整个作业完成后或中间出错时,才与用户交互,不利于调试和修改)作业平均周转时间长短作业的周转时间显著增长27分时操作系统工作方式:一台主机连接了若干个终端–每个终端有一个用户在使用–交互式的向系统提出命令请求–系统接受每个用户的命令–采用时间片轮转方式处理服务请求–通过交互方式在终端上向用户显示结果–用户根据上步结果发出下道命令28分时操作系统主机终端29分时操作系统时间片(timeslice)–操作系统将CPU的时间划分成若干个片段,称为时间片–操作系统以时间片为单位,轮流为每个终端用户服务–每次服务一个时间片(其特点是利用人的错觉,使人感觉不到)30分时操作系统的特点多路性交互性“独占”性及时性同时有多个用户使用一台计算机宏观上:是多个人同时使用一个CPU微观上:多个人在不同时刻轮流使用CPU用户根据系统响应结果进一步提出新请求(用户直接干预每一步)用户感觉不到计算机为其他人服务(OS提供虚机器,各个用户的虚机器互不干扰)系统对用户提出的请求及时响应31分时操作系统实现(条件):–终端设备–轮转算法–会话语言–一般资源独占,“滚进滚出”方法32分时操作系统追求目标:及时响应(依据是响应时间)响应时间:从终端发出命令到系统给予回答所经历的时间33分时操作系统影响响应时间的因素:-机器处理能力-请求服务的时间长短-系统中连接的终端数目-服务请求的分布-调度算法(时间片的选取)34实时操作系统实时操作系统:是指使计算机能及时响应外部事件的请求,在规定的严格时间内完成对该事件的处理,并控制所有实时设备和实时任务协调一致地工作的操作系统分类:第一类:实时过程控制工业控制,军事控制,...第二类:实时通信(信息)处理电讯(自动交换),银行,飞机订票股市行情35实时操作系统追求目标:对外部请求在严格时间范围内作出反应高可靠性36实时操作系统特征:关键参数是时间硬实时系统某个动作绝对必须在规定的时刻或时间范围完成(例子:P5)软实时系统接受偶尔违反最终时限37实时操作系统实时系统的主要功能–实时时钟管理:提供系统日期和时间、定时和延时等时钟管理功能–过载保护:缓冲区排队,丢弃某些任务,动态调整任务周期–高度可靠性和安全性:容错能力(如故障自动复位)和冗余备份(双机,关键部件)38实时操作系统实时系统与批处理系统和分时系统的区别–专用系统:许多实时系统是专用系统,而批处理与分时系统通常是通用系统–实时控制:实时系统用于控制实时过程,要求对外部事件的迅速响应,具有较强的中断处理机构–高可靠性:实时系统用于控制重要过程,要求高度可靠,具有较高冗余(如双机系统)–事件驱动和队列驱动:实时系统的工作方式,接受外部消息,分析消息,调用相应处理程序进行处理。391.4操作系统的发展1.微机操作系统2.网络操作系统3.分布式操作系统4.嵌入式操作系统401.微机操作系统主要功能:实现文件管理、输入/输出控制和命令的解释早期的卫星计算机上运行的操作系统每次只允许一个用户使用计算机,被称为单用户微机操作系统计算机在某一时间内为单用户服务,其追求目标是界面友好,使用方便,丰富的应用软件412.网络操作系统基于计算机网络在各种计算机操作系统上按网络体系结构协议标准开发的软件包括网络管理、通信、安全、资源共享和各种网络应用目标:是相互通信及资源共享42网络操作系统的功能通常操作系统的功能:处理机管理、存储器管理、设备管理、文件管理等网络操作系统的功能:–网络通信功能:通过网络协议进行高效、可靠的数据传输–网络资源管理:协调各用户使用–网络服务:文件和设备共享,信息发布–网络管理:安全管理、故障管理、性能管理等–互操作:直接控制对方比交换数据更为困难433.分布式操作系统分布式系统:处理和控制的分散(相对于集中式系统)分布式系统是以计算机网络为基础的,它的基本特征是处理上的分布,即功能和任务的分布分布式操作系统的所有系统任务可在系统中任何处理机上运行,自动实现全系统范围内的任务分配并自动调度各处理机的工作负载44分布式操作系统的特征1.是一个统一的操作系统若干个计算机可相互协作共同完成一项任务2.资源进一步共享3.透明性:资源共享,分布对用户来讲是不知道的4.自治性:处于分布式系统的多个主机处于平等地位,无主从关系5.处理能力增强、速度更快、可靠性增强45网络和分布式的比较耦合程度分布式系统是紧密耦合系统,分布式OS是在各机上统一建立的,直接管理CPU、存储器和外设;统一进行全系统的管理;网络通常容许异种OS互连,各机上各种服务程序需按不同网络协议互操作并行性分布式OS可以将一个进程分散在各机上并行执行进程迁移;网络则各机上的进程独立透明性用户是否知道或指定资源在哪个机器上分布式系统的网络资源调度对用户透明,用户不了解所占有资源的位置;网络操作系统中对网络资源的使用要由用户明确指定健壮性分布式系统要求更强的容错能力(工作时系统重构)46嵌入式操作系统什么是嵌入式系统?在各种设备、装置或系统中,完成特定功能的软硬件系统它们是一个大设备、装置或系统中的一部分,这个大设备、装置或系统可以不是“计算机”通常工作在反应式或对处理时间有较严格要求环境中由于它们被嵌入在各种设备、装置或系统中,因此称为嵌入式系统47嵌入式操作系统嵌入式操作系统(EmbeddedOperatingSystem):是运行在嵌入式系统环境中,对整个嵌入式系统以及它所操作、控制的各种部件装置等等资源进行统一协调、调度、指挥和控制的系统软件48嵌入式操作系统的应用智能卡移动通信计算机外设机顶盒零售设备印刷机复印机互联网服务器电话交换设备49嵌入式操作系统的特点实时性:具有某些实时系统的特征微型化:但有限制条件大小、内存、能源50当前流行操作系统简介-windows1983开始在DOS基础上研制多用户的图形用户界面;1990-Windows3.0Windows3.1窗口控制能力、虚拟存储方式、一定程度的网