未知用户操作系统OperatingSystem.ppt
操作系统 Operating System,课 程 简 介,课程名称:操作系统(Operating System)教 材:计算机操作系统刘福岩等 计算机操作系统汤子赢等教学方式:授课(48)+上机实习(16)考试类别:考试参考教材:1、现代操作系统,陈向群等译,机械工业出版社2、操作系统设计与实现,王鹏等译,电子工业出版社3、计算机操作系统教程,张尧学、史美林,清华大学出版社,教学目的,通过对本章的讲解使学生了解本课程的整体介绍 理解操作系统的概念,功能、作用、分类,特征,以及结构设计,本章重点:,1、熟悉操作系统作用和定义,了解操作系统的历史。2、了解二类计算机硬件系统结构,熟悉现代操作系统的硬件基础通道和中断。3、熟练掌握多道程序设计技术的概念,掌握批处理系统、分时系统及实时系统三种操作系统基本类型,了解微机操作系统、网络操作系统和分布式操作系统。4、掌握操作系统并发性、共享性、虚拟性和异步性等特征,了解现代操作系统特征,熟悉操作系统功能。,本章难点:,“多道程序系统”的功能实现“分时操作系统”的功能实现真正理解操作系统的主要特征,第1章 操作系统引论,1.1 操作系统的目标和作用 1.2 操作系统的发展过程 1.3 操作系统的功能和主要特征1.4 操作系统的机制和策略1.5 操作系统的体系结构 1.6 典型操作系统简介,本章学习目标,掌握操作系统的概念及作用了解操作系统的发展过程掌握操作系统的特征与功能牢记多道程序设计的概念理解操作系统的模型,11 操作系统的目标和作用,1.存储程序计算机的组成,1.1.1 冯.诺依曼结构的计算机,(1)概念和模型过于复杂,用户编程十分困难 在裸机基础上通过软件构造一个概念和模型相对简单,更容易理解和进行程序设计的虚拟机,可以认为这个虚拟机就是操作系统,如磁盘管理。和裸机提供的概念和模型相比,操作系统构造和提供的概念和模型要简单得多,用户也更容易编程和使用。(2)性能不高 裸机提供的概念和模型过于复杂,用户直接对裸机编制的程序,程序运行时效率往往非常低,其原因在于直接对裸机编程,用户往往不能充分利用裸机提供的资源,特别是不能最大限度的开发系统的并行性。如多道程序技术。,2.直接使用裸机的困难,示例,1.现代计算机系统的组成,1.1.2 操作系统的作用,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.操作系统的定义,操作系统是控制和管理计算机系统的硬件和软件资源,合理的组织计算机工作流程以及方便用户使用的程序和数据的集合。设置操作系统的目的就是提高计算机系统的效率,增强系统的处理能力,充分发挥系统的利用率,方便用户使用。,12 操作系统的发展过程,操作系统发展的主要动力是用户的需求,并随着计算机硬件技术、软件技术的发展而不断发展完善。1)提高资源的利用率和系统性能:计算机发展的初期,计算机系统昂贵,用作集中计算 2)方便用户:用户上机、调试程序,分散计算时的事务处理和非专业用户。3)硬件的发展:CPU的位宽度(指令和数据)、快速外存、新硬件、新技术的出现等。4)计算机体系结构的不断发展。,12 OS的发展史手工,1、手工操作(1946 50年代,电子管时代)【特点】:计算机资源昂贵,没有操作系统【工作方式】:用户:用户既是程序员、操作员,还是计算机专业人员;编程语言:为机器语言;输入输出:纸带或卡片;【计算机的工作特点】:用户独占全机:用户独占计算机所有资源,资源利用率低;CPU等待用户:计算前,手工装入纸带或卡片;计算完成后,手工卸取纸带或卡片;CPU利用率低;【主要矛盾】:计算机处理能力的提高,手工操作的低效率用户独占全机的所有资源;,图例,手工时期的操作,联机批处理,12 OS的发展史单道,2、单道批处理系统(50年代末 60年代中,晶体管)【特点】:利用磁带把若干个作业分类编成作业执行序列,每个批作业由一个专门的监督程序(Monitor)自动依次处理。可使用汇编语言开发。【批处理中的作业的组成】:用户程序数据作业说明书(作业控制语言)【批处理】:供一次加载的磁带或磁盘,通常由若干个作业组装成,在处理中使用一组相同的系统软件(系统带),12 OS的发展史单道,批处理方式可分为联机批处理和脱机批处理。1)联机批处理用户提交作业:以纸带或卡片为介质;操作员合成批作业:结果为磁带介质;批作业处理:对批作业中的每个作业进行相同的处理:从磁带读入用户作业和编译链接程序,编译链接用户作业,生成可执行程序;启动执行;执行结果输出。【存在的问题】:慢速的输入输出处理仍直接由主机来完成。输入输出时,CPU处于等待状态。,12 OS的发展史单道,2)脱机批处理,系统库,12 OS的发展史单道,2)脱机批处理 利用卫星机完成输入输出功能。主机与卫星机可并行工作。卫星机:完成面向用户的输入输出(纸带或卡片),中间结果暂存在磁带或磁盘上。作业控制命令由监督程序(monitor)来执行,完成如装入程序、编译、运行等操作。【优点】:同一批内各作业的自动依次更替,改善了主机CPU和I/O设备的使用效率,提高了吞吐量。【缺点】:磁带或磁盘需要人工装卸,作业需要人工分类,监督程序易遭到用户程序的破坏(由人工干预才可恢复)。,12 OS的发展史单道,【单道批处理的特征】:自动性:磁带上一批作业能自动逐个依次运行对I/O为主的作业,CPU空闲;顺序性:作业顺序进入内存,执行与完成的顺序和调入的顺序完全相同。单道性:内存中仅有一道程序,只有该程序完成或发生异常时,才调入后继程序进入内存运行【单道批处理的主要问题】:一个用户独占全部资源CPU负责计算,也负责传输,CPU与外设速度不匹配。CPU与I/O串行资源利用率仍然很低。,中断技术和通道技术,60年代硬件两个重大进展:中断技术和通道技术 1)中断:指CPU在收到外部中断信号后,停止原来工作,转去处理该中断事件,完毕后回到原来断点继续工作。【中断处理过程】:中断请求,中断响应,中断点(暂停当前任务并保存现场),中断处理例程,中断返回(恢复中断点的现场并继续原有任务。【中断分类】:硬件中断(分为硬件故障中断、I/O中断和外部中断)与软件中断(可分为程序中断 和访管中断)。,中断的处理过程,中断技术和通道技术,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系统,通道的四级连接,三级控制(CPU-通道-控制器-设备),12 OS的发展史多道,3、多道批处理系统(60年代末 70年代中,集成电路),单道:用户程序监督程序I/O操作,多道:程序A程序B程序C调度程序,1)多道程序设计原理,【多道程序设计原理】:在计算机内存中同时存放几道相互独立的程序,它们在管理程序的控制下相互穿插地运行,共享CPU和外设等资源。采用多道程序设计技术的批处理系统称为多道批处理系统。2)多道程序设计的实现 存储保护与重定位。在多道程序设计环境中,几道程序共享同一内存,硬件必须提供必要的手段保证各道程序之间不互相侵犯。处理机管理和调度。多道程序共享同一个处理机,因此存在处理机的调度问题。资源的管理和调度。多道程序共享资源,同样存在着资源的分配问题。,12 OS的发展史多道,12 OS的发展史多道,3)多道程序设计的特征多道。同时存在两道或两道以上的程序处于执行的开始点和结束点中间。宏观并行。都处于运行状态,但都未运行完;微观串行。各作业交替使用CPU。4)多道批处理系统的优缺点:资源利用率高:CPU和内存利用率较高;作业吞吐量大:单位时间内完成工作总量大;用户交互性差:整个作业完成后或中间出错时,才与用户交互,不利于调试和修改;作业平均周转时间长:短作业的周转时间(从作业提交到完成的这段时间)显著增长;,单道和多道批处理的比较,多道程序系统和多处理系统(Multi-Processing System)的区别:前者指多个程序同时在内存中交替运行,后者指多个处理器。,多道批处理系统的资源利用,多道批处理系统的资源利用效率特征是基于各作业对系统资源的需求差异得到的。例如:有3个作业A、B、C,分别为计算、检索和打印作业,单道运行时间分别为5分、15分和10分钟。它们可并行在15分钟内完成3个作业。各资源在单道、多道环境下的利用效率是多少?,5)多道批处理系统的核心技术:作业调度:作业的现场保存和恢复资源共享:资源的竞争和同步互斥机制内存使用:提高内存使用效率(为当前由CPU执行的程序提供足够的内存)覆盖(overlay),交换(swap)和虚拟存储(virtual memory)内存保护:系统存储区和各应用程序存储区不可冲突,即存储保护文件非顺序存放、随机存取。,出现了:作业管理、处理机管理、存储管理、设备管理、文件系统管理(file system),12 OS的发展史多道,课堂练习1.1,操作系统是一种 A,在操作系统中采用多道程序设计方式能提高CPU和外部设备的 B。一般来说,为了实现多道程序设计,计算机需要有 C。A:(1)通用软件;(2)系统软件;(3)应用软件;(4)软件包。B:(1)利用效率;(2)可靠性;(3)稳定性;(4)兼容性。C:(1)更大的内存;(2)更快的外部设备;(3)更快的CPU;(4)更先进的终端;,答案:A(2),B(1),C(1),12 OS的发展史分时,4、分时操作系统(70年代中期至今,大规模集成电路)【分时】:两个或两个以上的事件按时间划分轮流的使用计算机系统的某一资源。【分时系统】:多个用户分时(分时的时间单位称为时间片,通常为几十毫秒)地使用同一计算机系统称为分时系统。主要采用时钟和中断技术。1)分时系统实现方法:系统配置多路卡及时接受各终端输入命令和数据。及时处理,不允许某作业长期占用处理机,将响应周期分为很短的时间片,在该周期内每个作业轮流执行一次(占一个时间片)。每个作业可以及时接收用户的命令和数据,并能及时得到处理。,分时系统的结构示意图,12 OS的发展史分时,2)分时系统的特点:同时性或多路性:多用户同时操作、使用计算机独占性:各终端用户感觉到自己独占了计算机;及时性:用户的请求能在较短时间内响应;交互性:用户能与计算机进行人机对话。3)调进和调出(Roll-in/Roll-out)调进/调出是实现分时系统的一种主要方式,包括:主存后援存储器方式:简单分时系统所采用,特点:内存只存放一个当前执行作业,其他放在外存上。多流调入调出方式:基于多道程序技术,特点主存中同时存放一个当前执行作业和多个后备作业。,12 OS的发展史分时,4)分时系统的响应时间 响应时间为用户发出一条指令到系统处理完这条指令并做出回答所需要的时间。是衡量分时系统性能好坏的一条重要标志,但具体的响应时间与系统的用户个数及时间片大小有关。响应时间T与时间片q和用户个数n之间的关系为T=n q。【注意】:分时系统在轮转处理多个终端用户的请求时,在调入/调出上增加了许多时间消耗,其中主要是主存与后援存储器之间的信息交换时间。因此为改善响应时间需要:加快主存与后援存储器之间的对换速度;减少对换的信息量。现在的许多操作系统都具有分时处理的功能,在分时系统的基础上,操作系统的发展开始分化,如实时系统、通用系统、个人系统等。,课堂练习1.2,分时系统中,为使多个用户能够同时与系统交互,最关键的问题是 A,当用户数目为100时,为保证响应不超过2秒;此时的时间片最大应为 B。A:(1)计算机具有足够的运行速度;(2)内存容量应足够大;(3)系统能及时地接收多个用户输入;(4)能在一短的时间内,使所有用户程序都能运行;(5)能快速进行内外存对换。B:(1)10ms;(2)20ms;(3)50ms;(4)100ms;(5)200ms。,答案:A(4),B(2),12 OS的发展史实时,5、实时操作系统 实时操作系统主要用于过程控制、事务处理等有实时要求的领域,其主要特征是实时性和可靠性。1)实时系统的分类:实时控制:要求与被控制的变化速度相比,其反应速度足够快;工作安全可靠;需要人工干预时,操作简便。如生产过程控制,宇航自动控制等。实时信息处理系统:要求计算机能够在容许的延迟时间内,响应外部的事件请求,完成对该事件的处理,并控制所有的实时设备和实时任务协调运行。如飞机订票系统,期货、股票交易系统等。,12 OS的发展史实时,2)实时系统的特征:实时系统具有专用性、种类多、用途各异等特点,其一个基本特征是事件驱动,即接收到某些外部信息后,由系统选择某一程序去执行,完成相应的实时任务。实时时钟管理。向系统提供日期、时刻以及定时任务(每间隔一固定时间循环执行)和延迟任务(推迟一段时间后执行)进行控制的信号。中断管理。实时系统必须有效和高速的完成各种中断处理。系统容错管理。高可靠性一直是实时系统的设计目标。,12 OS的发展史实时,多重任务管理。实时系统的物理过程具有并发性的特点,因此实时系统应具备多重任务处理的能力,且强调任务调度与转换的高效性。系统生成能力。实时系统大多是专用性的系统,其种类与规模相差较大,因此,要求实时操作系统应具有较强的生成能力,以便根据需要裁剪或补贴系统功能,使之与应用系统相适应。目前的操作系统,通常具有分时、实时和批处理功能,又称作通用操作系统。可适用于计算、事务处理等多种领域,能运行在多种硬件平台上,如 UNIX系统、Windows NT等。通用化、小型化,分时系统与实时系统的比较,1)系统的设计目标不同。分时系统是提供一种随时可供多个用户使用的通用型很强的操作系统,而实时操作系统大多数是具有特殊用途的专用系统。2)交互性的强弱。分时具有较强的对话与交互能力,而实时系统交互性很弱。3)响应时间的长短。分时只要能满足一般用户能接受的等待时间即可,而实时系统的响应时间要求严格。4)另外其均具备多路性、独立性、及时性、交互性、可靠性,只是实时系统对系统的及时性和可靠性要求更高。,12 OS的发展史网络,6、网络操作系统(NOS,Network Operating System)网络操作系统是在通常操作系统功能的基础上提供网络通信和网络服务功能的操作系统。,12 OS的发展史网络,【计算机网络基本概念】1)计算机网络:计算机网络是计算机技术与通信技术相结合的产物,是互连起来的计算机的集合.2)计算机网络产生的背景:微电子技术的发展与进步;计算机的应用社会化;通信技术的进步和普及。3)特征:资源共享性;独立自主性4)微机网络:微型机技术的巨大进展,微机网络也随之崛起,并获得高速的发展,巳成为计算机网络中最活跃的一个分枝。,12 OS的发展史网络,【网络的构成】:1)主机(HOST):主机是组成网络的独立自主的计算机系统,用于运行用户程序(即应用程序)。2)子网(通信子网):是将入网主机连接起来的实体。子网的任务是在入网主机之间传递信息,以提供通信服务.,3)协议(protocol):网络计算机在互相通信时为能正确进行并相互理解通信内容需遵循的约定。如TCP/IP等。,12 OS的发展史网络,【网络操作系统】:在通常的操作系统中增加了实现网络低层协议(一般到传送层)功能和网络设备管理功能的操作系统。如UNIX、LINUX,WINDOWS NT都是网络操作系统。【网络OS功能】:高效、可靠的网络通信 对网络中共享资源(在LAN中有硬盘、打印机等)有效的管理 提供电子邮件、文件传输、共享硬盘、打印机等服务 网络安全管理 提供互操作能力,12 OS的发展史分布,7、分布式操作系统(Distributed Operating System)1)分布式计算机系统是以计算机网络为基础的计算机系统,包含多台处理机,每台处理机完成系统中指定的一部分功能。从硬件上讲,它与计算机局域网没有任何区别,关键是软件。【特征】:以计算机网络为基础;处理上的分布,即功能和任务的分布。所有系统任务可在系统中任何处理机上运行,自动实现全系统范围内的任务分配并自动调度各处理机的工作负载。坚强性(强壮性)高可靠性,2)分布式操作系统的特点 分布式和集中式操作系统的主要区别在于通讯、资源管理和系统结构三个方面。分布式主要特点是:系统状态的不确定性。各系统内结点自治,且信息传播需要时间,很难及时和准确把握系统的状态信息。控制机构的复杂性。不存在主从关系或层次关系,增加了控制的复杂性。通讯开销引起性能下降。3)分布式OS的功能:(1)进程迁移(2)分布式同步(3)任务分配(4)资源管理,12 OS的发展史分布,网络和分布式的区别,1)分布式系统的各个计算机之间处于平等 地位无主从关系;网络有一些主从关系2)分布式系统资源为所有用户共享;而网络有限制地共享。3)分布式系统中一项任务可分给若干处理单元相互协作共同完成,而网络往往是各司其责,12 OS的发展史多处理机,8、多处理操作系统(Multi-processor Operating System)多处理机系统是由多台处理器组成的计算机系统。多处理操作系统的出现是为了提高计算机系统性能和可靠性。提高性能有两条途径:提高各个组成部分的速度、或增大处理的并行程度。1975年前后,出现多处理机系统(multi-processor)。【多处理机系统的特点】:增加系统的吞吐量:N个处理器加速比达不到N倍(额外的调度开销,算法的并行化)提高系统可靠性:故障时系统降级运行,【多处理机系统的类型】:紧密耦合:各处理机之间通过快速总线或开关阵列相连,共享内存,整体系统由一个统一的OS管理(一个OS核心)。松散耦合:各处理机带有各自的存储器、I/O设备和操作系统,通过通道或通信线路相连。每个处理机上独立运行OS。,12 OS的发展史多处理机,【多处理操作系统的类型】:非对称式多处理:又称主从模式。主处理器:只有一个,运行OS。管理整个系统的资源,为从处理器分配任务;从处理器:可有多个,执行应用程序或I/O处理。特点:不同性质任务的负载不均,可靠性不够高,不易移植(通常要求硬件也是非对称)。对称式多处理:OS交替在各个处理器上执行。任务负载较为平均,性能调节容易。,12 OS的发展史多处理机,课堂练习1.3,在设计分时操作系统时,首先要考虑的是 A;在设计实时操作系统时,首先要考虑的是 B;在设计批处理系统时,首先要考虑的是 C。A、B、C:(1)灵活性和可适应性;(2)交互性和响应时间;(3)周转时间和系统吞吐量;(4)实时性和可靠性。,答案:A(2),B(4),C(3),课堂练习1.4,为了提高计算机的处理机和外部设备的利用率,把多个程序同时放入主存,在宏观上并行运行是 A;把一个程序划分成若干个同时执行的程序模块的设计方法是 B;多个用户在终端设备上的交互方式输入、排错和控制其程序的运行是 C;由多个计算机组成的一个系统,这些计算机之间可以通信来交换信息,互相之间无主次之分,它们共享系统资源,程序由系统中的全部或部分计算机协同执行,管理上述计算机系统的操作系统是 D;有一类操作系统的系统响应时间的重要性超过系统资源的利用率,它被广泛地应用于卫星控制、飞机订票业务等领域是 E。AE:分时OS 实时OS 批处理系统 网络OS分布式OS 单用户OS 多重程序设计 多道程序设计 并发程序设计,答案:A(8),B(9),C(1),D(5),E(2),13 OS的功能和主要特征,1.操作系统的功能 操作系统的主要任务是对系统中的软件、硬件实施有效的管理,以提高系统资源(主要包括处理机、主存储器和外存储器、文件系统)的利用率。主要功能如下:(1)处理机管理:(2)存储管理(3)设备管理(4)信息管理(5)用户接口,13 OS的功能和主要特征,(1)处理机管理:可归结为进程管理,包括以下方面 进程控制。创建进程,撤销进程,控制进程的运行状态转换。进程调度。从就绪的进程队列中选择一进程并把处理机分配给它,设置现场并是指投入运行。进程同步。设置进程同步信息,以协调系统中各进程的运行。进程通讯。负责进程间的信息交换。,13 OS的功能和主要特征,(2)存储管理:为多道程序的运行提供良好的环境,并提高利用率,包括以下方面:地址重定位。实现逻辑地址到物理地址的转换。存储分配。为每道程序分配内存空间,并在作业结束后收回其所占用内存。存储保护。保证每道程序之间不能互相侵犯,尤其是不能侵犯操作系统。存储扩充。通过建立虚拟存储系统来实现内存逻辑上的扩充。,13 OS的功能和主要特征,(3)设备管理:设备管理的主要目标是方便的设备使用、提高CPU与I/O设备利用率。主要包括:缓冲管理:设立I/O缓冲区,并对缓冲区进行有效管理。设备分配:按一定策略和设备使用情况,分配并回收设备。设备处理:即设备驱动程序,实现CPU和设备控制器之间的通讯等。设备独立性和虚拟设备:独立性指应用程序独立于物理设备,使用户编程与实际使用的设备无关,增强了可移植性。虚拟设备指将低速的设备改造为高速的共享设备。,13 OS的功能和主要特征,(4)信息管理(文件系统管理):对用户文件和系统文件进行管理,解决文件资源的存储、共享、保密和保护。包括以下方面:目录管理:为每一文件建立目录项,并对目录实施有效的组织与管理。文件的读写管理和存取控制:解决信息安全问题。系统设口令“哪个用户”、用户分类“哪个用户组”、文件权限“针对用户或用户组的读写权”。文件存储空间管理:解决如何存放信息,以提高空间利用率和读写性能。软件管理:软件的版本、相互依赖关系、安装和拆除等。,13 OS的功能和主要特征,(5)用户接口 目标是提供一个友好的用户访问操作系统的接口。操作系统提供三种接口:命令接口:亦称为作业控制机接口,分为联机命令和脱机命令接口。供用户用于组织和控制自己的作业运行。命令行;命令脚本“脱机”。程序接口:用户获得操作系统服务的唯一途径。供用户程序和系统程序调用操作系统功能。系统调用和高级语言库函数。图形接口:图形用户界面GUI,方便用户使用。如窗口、菜单等。,13 OS的功能和主要特征,2.现代操作系统的主要特征 设置操作系统的目的就是提高计算机系统的效率,增强系统的处理能力,充分发挥系统的利用率,方便用户使用。因此现代操作系统普遍采用以多道程序设计为基础的并行操作技术。主要特征如下:(1)并发性(concurrency)(2)共享性(sharing)(3)虚拟性(virtual)(4)异步性(asynchronism),13 OS的功能和主要特征,(1)并发性(concurrency)多个事件在同一时间段内发生。操作系统是一个并发系统,各进程间的并发,系统与应用间的并发。操作系统要完成这些并发过程的管理。并行(parallel)是指在同一时刻发生。在多道程序处理时,宏观上并发,微观上交替执行(在单处理器情况下)。程序的静态实体是可执行文件,而动态实体是进程(或称作任务),并发指的是进程。,13 OS的功能和主要特征,(2)共享性(sharing)多个进程共享有限的计算机系统资源。操作系统要对系统资源进行合理分配和使用。资源在一个时间段内交替被多个进程所用。互斥共享方式(如音频设备),资源分配后到释放前,不能被其他进程所用。同时访问方式,(如可重入代码,磁盘文件)。资源分配难以达到最优化,13 OS的功能和主要特征,(3)虚拟性(virtual)一个物理实体映射为若干个对应的逻辑实体(分时或分空间)。虚拟是操作系统管理系统资源的重要手段,可提高资源利用率。CPU每个用户(进程)的“虚处理机”。存储器每个进程都占有的地址空间(指令数据堆栈)。显示设备多窗口或虚拟终端如虚拟光驱,虚拟机(VMWare,Virtual PC等),13 OS的功能和主要特征,(4)异步性(asynchronism)异步性也称不确定性,指进程的执行顺序和执行时间及执行结果的不确定性:程序执行结果不确定,不可再现。相同输入与环境下多次运行结果不同。多道程序设计环境下,程序按异步方式运行。多个进程并发执行,“时走时停”,不可预知每个进程的运行推进快慢,引发执行顺序与时间的不确定。,1.4 操作系统的机制和策略,1.操作系统界面 两个界面:程序界面和操作界面。2.核心态和用户态(1)核心态(管态、系统态)与用户态(目态、非系统态)。(2)特权指令与非特权指令:只能在核心态下处理机才能够执行的指令称为特权指令,其它的指令称为非特权指令。(3)状态转换:访管指令指访问核心态下的程序指令。在奔腾处理机中通过软中断指令实现处理机的状态从用户态向核心态的切换,通过中断返回指令实现从核心态向用户态的切换。3.特权指令特权指令为了实现保护,防止某些用户执行一些恶意的操作。典型的特权指令如下:(1)输入/输出指令(2)开关中断指令:(3)停机指令:(4)访问特殊功能寄存器:,中断和异常:如果由于当前正在执行指令的原因而引起处理机暂停执行当前程序,称为异常。异常是由处理机所执行的程序本身引起的,一般用于操作系统实现某些机制。而如果不是由于当前正在执行的指令的原因而引起处理机暂停执行当前程序,称为中断。中断一般用于输入/输出时外设请求处理机对其进行处理。异常的产生的原因:(1)应用程序执行的指令在逻辑上就是错误的,例如应用程序执行了非法指令(引起非法指令异常)、又如在用户态下执行了特权指令(引起保护异常)等;(2)当前执行的程序是正确的,但是由于某些原因,应用程序当前执行的指令无法执行,解决了这些原因以后,应用程序也就能够继续执行了,而这些原因一般是能够解决的。如存储访问失效异常属于第二类异常。可恢复异常的产生和处理是实现操作系统时很重要的一种机制,许多操作系统功能都是通过可恢复异常实现的。,4.可恢复异常和指令重启动,5.操作系统机制和策略,6.操作系统内核系统必须有一个部分能对硬件处理器及有关资源进行首次改造,以便给进程的执行提供良好运行环境,这个部分就是操作系统的内核。内核结构有微内核和单内核之分。内核必须提供以下三方面功能:设计内核要少而精(1)中断处理。中断处理要简单(2)短程调度。调度算法要有效(3)原语管理。原语应灵活有力,数量适当内核的执行有以下属性:(1)内核是由中断驱动的。(2)内核的执行是连续的。(3)内核在屏蔽中断状态下执行。(4)内核可以使用特权指令。,操作系统中各个部分的功能、作用及其相互关系,称为操作系统机制。机制问题也就是总体结构问题,或者说总体框架问题。确定了操作系统机制以后,具体到每一部分如何实现,就需要一定的算法,这些算法属于操作系统策略的问题。,内核的作用:是操作系统对裸机的第一次改造,内核和裸机组成了一台没有中断虚拟机。虚拟机的特点:(1)虚拟机为每个进程提供了一台虚拟处理器,每个进程就好象在各自的私有处理器上顺序地推进,实现了多个进程的并发执行。(2)虚拟机为进程提供了功能较强的指令系统,即它们能够使用机器非特权指令,系统调用和原语所组成的新的指令系统。,7.核外抽象(1)进程:运行中的程序(2)线程:在一个多线程环境中,进程是系统进行保护和资源分配的单位,而线程则是进程中一条执行路径,每个进程中允许有多个并行执行的路径,而线程才是系统进行调度的单位。,(3)管程,管程是管理共享资源的程序(一种同步机制),对管程的调用表示对共享资源的请求与释放。管程与进程的区别:管程定义的是公用数据结构,而进程则是私有数据结构;管程把共享变量上的同步操作集中起来,而临界区却分散在每个进程中;管程是为管理共享资源而建立的,进程主要是为实现系统的并发性而引入的;管程是被欲使用共享资源的进程所调用的,管程和调用它的进程不能并行工作,而进程之间能并行工作,并发性是其固有特性;管程是语言或操作系统的成分,不必创建或撤销,而进程有生命周期,由创建而产生至撤销便消亡。,(4)类程,类程用于管理私有资源,对类程的调用表示对私有资源的操作。它仅能被进程及起源于同一进程的其它类程或管程嵌套调用链所调用。其本身也可以调用其它类程或管程。类程可以看作子程序概念的扩充,但一个类程可以包含多个过程,不像子程序仅仅一个。采用进程、管程、类程实现的操作系统中,进程在执行过程中若请求使用共享资源,则可以调用管程;若要控制私有资源操作,可以调用类程,这样便于使用高级程序设计语言来书写操作系统。1975年,汉森使用这一方法就成功地在PDP 11/45机上实现了:单用户操作系统Solo、处理小作业的作业流系统和过程控制实时调度系统等三个层次管程结构的操作系统。,8.Pentium处理机中的特权级,以Pentium处理器为例,介绍操作系统机制和策略的一个具体的例子。在保护模式下,Pentium处理器采用段页式寻址,共有六个段寄存器:CS、DS、SS、ES、FS、GS。段寄存器中的内容包括两个部分:可见部分和不可见部分,其中可见部分共十六位,其格式如下图所示:在特权级方面,有4个特权级(Linux和Windows只用了2个)。,特权级的使用:应用程序给出的特权级称为请求特权级(RPL)全局描述符表和局部描述符表中保存的特权级称为描述符特权级(DPL)CS段寄存器中的特权级称为当前特权级(CPL)请求特权级和当前特权级中较低的特权级称为有效特权级(EPL)。由于较低的特权级数值较高,所以EPL=max(RPL,CPL)。只有当请求特权级(RPL)低于进程的描述符特权级(DPL)和当前特权级(CPL)时(即RPL=DPL&RPL=CPL),对段寄存器的赋值才是有效的,否则应用程序不能访问段中的数据。,示例:Pentium处理器中的段寄存器与段描述符表,全局段描述符表(TI=0),局部段描述符表(TI=1),四级特权级,第0级级别最高(核心态),第3级级别最低(用户态)。,应用程序在处理机上运行时,当把一个段选择子装入CS寄存器时,就会发生控制转移,控制转移可能影响当前的特权级。可能的控制转移有下面几种:(1)同一特权级的段间转移(2)到相同或更高特权级的段间转移(可以改变CPL)。(3)到相同或更高特权级的任务内的中断(可以改变CPL)。(4)到较低特权级的段间转移(改变任务的CPL)。(5)任务切换。这里要说明的是,所有的控制转移,都必须服从特权规则,这些规则包括:(1)若控制转移要求特权级发生变化,则必须通过门。(2)若使用JMP指令产生段间控制转移,则只能在同一特权级别中进行。(3)若使用CALL指令产生段间控制转移,则可以在同一特权级别内,也可以通过门转移到更到的特权级。(4)同一任务内处理的中断,遵循与CALL调用指令相同的规则。(5)CPL和指向门选择器的RPL的级别必须大于或者等于门的DPL(描述符特权级)。(6)并不切换任务的返回指令,只能将控制返回到相同和更低的特权级的代码段。(7)任务切换可以由CALL、JMP和INT指令完成,若在任务切换时涉及任务或任务状态段,则它们的特权级必须低于或者等于老任务的CPL。,15 操作系统的体系结构,现代操作系统从内部结构划分,通常包含两部分:一是内核;二是核外部分,其余通常是一些实用程序。1、操作系统的内核 1)内核在操作系统中的地位:OS内核是对硬件的首次扩充,是实现操作系统各项功能的基础。传统操作系统内核包括以下功能模块:进程、线程及其管理存储管理。I/O管理文件系统。,15 操作系统的体系结构,2)强内核与微内核:操作系统有两种内核组织形式:强内核(Monolithic Kernel):通过陷入内核实现系统调用,即在内核完成所需要的服务后将结果返回给用户程序,如UNIX采用的这种结构。微内核(Micro Kernel):微内核的基本思想是良好的结构化、模块化、最小的公共服务。微内核只提供最基本、最必要的服务:供进程间通讯、有些存储管理、有限的低级进程管理和调度、低级I/O四种服务。,微内核的特点,【优点】:良好的扩充性:只需添加支持新功能的服务进程即可。可靠性好:调用关系明确,执行转移不易混乱便于网络服务,实现分布式处理:以同样的调用形式,在下层可通过核心中的网络传送到远方服务器上(远地过程调用 RPC,Remote Procedure Call)。【缺点】:消息传递比直接调用效率要低一些(但可以通过提高硬件性能来补偿),UNIX的内核结构,15 操作系统的体系结构,2、操作系统的结构设计【OS结构设计模式】:是将操作系统所提供的特性、服务以及系统所执行的任务统一成一体的一个概括性的框架。随着操作系统的发展,功能越强,OS自身代码量越大。操作系统采用良好的结构:有利于保证正确性以及自身修改和扩充。四种模式:(1)整体或模块结构(2)分层结构或虚拟机(3)客户/服务器模型或微内核结构(4)面向对象技术,操作系统的设计原则,可维护性:容易修改与否称为可维护性:改错性维护:改正已发现的错误;适应性维护:修改软件,使之适应新的运行环境(软、硬件环境);如:操作系统的移植。完善性维护:增加新功能;可靠性:可靠性包括两方面:正确性:正确实现所要求的功能和性能;稳健性:对意外(故障和误操作)作出适当的处理;可理解性:易于理解,以方便测试、维护和交流;性能:有效地使用系统资源;尽可能快地响应用户请求;,(1)整体或模块结构,整个系统按功能进行设计和模块划分。系统是一个单一的、庞大的的软件系统。这种结构思想来源于服务功能观点,而不是资源管理的观点。【模块结构的特点】:模块由众多服务过程(模块接口)组成,可以随意调用其他模块中的服务过程。优点:具有一定灵活性,在运行中的高效率缺点:功能划分和模块接口难保正确和合理;模块之间的依赖关系(功能调用关系)复杂(调用深度和方向),降低了模块之间的相对独立性,不利于修改。,(2)分层结构或虚拟机,从资源管理观点出发,划分层次。在某一层次上代码只能调用低层次上的代码,使模块间的调用变为有序性。系统每加一层,就构成一个比原来功能更强的虚拟机。有利于系统的维护性和可靠性。【优点】:功能明确,调用关系清晰(高层对低层单向依赖),有利于保证设计和实现的正确性。低层和高层可分别实现(便于扩充);高层