1、南京工业大学信息学院计算机系南京工业大学信息学院计算机系第1页,共827页。总总 目目 录录第第1章章 操作系统引论操作系统引论第第2章章 进程管理进程管理第第3章章 处理机调度与死锁处理机调度与死锁第第4章章 存储器管理存储器管理第第5章章 设备管理设备管理第第6章章 文件管理文件管理第第7章章 操作系统接口操作系统接口2第2页,共827页。课内上机实验课内上机实验1.进程的创建进程的创建2.线程的创建线程的创建3.进程同步进程同步4.进程通信进程通信5.进程调度进程调度6.银行家算法银行家算法7.页面置换算法的模拟页面置换算法的模拟8.磁盘磁盘I/O9.命令解释程序命令解释程序【说明说明】
2、以上以上9个上机实验,共计个上机实验,共计22学时学时(包括包括2个进阶要求的个进阶要求的4学时学时),可以选择其中的可以选择其中的4次实验次实验(共共8学时学时)作为课内上机实验任务。作为课内上机实验任务。第第1次实验次实验(进程管理进程管理)第第2次实验次实验(调度与死锁调度与死锁)第第4次实验次实验(操作系统接口操作系统接口)第第3次实验次实验(存储器管理存储器管理)(设备管理设备管理)(4选选1)(2选选1)(2选选1)3第3页,共827页。第第1 1章章 操作系统引论操作系统引论 1.1 OS的目标和作用的目标和作用1.2 OS的发展过程的发展过程 1.3 操作系统的基本特征操作系统
3、的基本特征 1.4 操作系统的主要功能操作系统的主要功能 1.5 操作系统的结构设计操作系统的结构设计第第1章复习题章复习题4第4页,共827页。1.1.1 OS的目标的目标n 有效性有效性n 方便性方便性n 可扩展性可扩展性n 开放性开放性操作系统(操作系统(Operating System,OS)是计算机硬件)是计算机硬件上的第一层软件,是计算机必须配置的最基本、最上的第一层软件,是计算机必须配置的最基本、最重要的系统软件。重要的系统软件。1.1 OS的目标和作用的目标和作用5第5页,共827页。1有效性有效性(早期早期OS的主要目标的主要目标)n有效提高有效提高CPU和和I/O设备利用率
4、设备利用率n提高的方法:提高的方法:合理地组织计算机的工合理地组织计算机的工作流程作流程2方便性方便性(现在现在OS越来越重视方便性越来越重视方便性)n可使计算机系统更容易使用可使计算机系统更容易使用(解释之解释之)方便性和有效性是设计方便性和有效性是设计OS的两个最重要的目标的两个最重要的目标6第6页,共827页。3可扩展性可扩展性n计算机硬件和体系结构的发展,对计算机硬件和体系结构的发展,对OS提出了更高的功提出了更高的功能和性能要求能和性能要求n计算机网络,特别是计算机网络,特别是Internet的发展,也对的发展,也对OS提提出了一系列更高的要求出了一系列更高的要求为什么要有可扩充性?
5、为什么要有可扩充性?因为:因为:OS为了能适应发展的要求,须具有良好的可扩充性。为了能适应发展的要求,须具有良好的可扩充性。如何才有可扩充性?如何才有可扩充性?应采用新的应采用新的OS结构,如微内核结构和客户服务器模式。结构,如微内核结构和客户服务器模式。7第7页,共827页。4开放性开放性v 为什么要有开放性?为什么要有开放性?计算机网络,特别是计算机网络,特别是LANLAN的迅速发展,使的迅速发展,使OSOS的应用环境的应用环境由单机转向网络环境。为使不同厂家的计算机和设备由单机转向网络环境。为使不同厂家的计算机和设备能通过网络加以集成化,并能正确、有效地协同工作,能通过网络加以集成化,并
6、能正确、有效地协同工作,实现应用的可移植性和互操作性,必须具有统一的开实现应用的可移植性和互操作性,必须具有统一的开放环境,进而要求放环境,进而要求OSOS具有开放性。具有开放性。v 什么是开放性?什么是开放性?开放性是指系统能遵循世界标准规范,特别是遵循开放性是指系统能遵循世界标准规范,特别是遵循开放系统互连(开放系统互连(OSIOSI)国际标准。)国际标准。8第8页,共827页。n从用户观点看,从用户观点看,OS是用户和计算机硬件系统之间是用户和计算机硬件系统之间的的接口接口n从资源管理观点看,从资源管理观点看,OS是计算机系统资源(软、是计算机系统资源(软、硬)的硬)的管理者管理者1.1
7、.2 OS的作用的作用1OS作为用户和计算机硬件系统的接口作为用户和计算机硬件系统的接口2OS作为计算机资源的管理者作为计算机资源的管理者3OS实现了对计算机资源的抽象实现了对计算机资源的抽象操作系统的作用操作系统的作用:9第9页,共827页。1.OS作为用户和计算作为用户和计算机硬件系统的接口机硬件系统的接口(用户接口用户接口)用用 户户系统调用系统调用 命令命令 窗口窗口操作系统操作系统应用程序应用程序计算机硬件计算机硬件图图1-1 1-1 操作系统作为用户接口示意图操作系统作为用户接口示意图用户可以通过三种方用户可以通过三种方式使用计算机式使用计算机:命令方式(键盘命令)命令方式(键盘命
8、令)图标、窗口方式图标、窗口方式(GUI)系统调用方式系统调用方式(程序接口程序接口)操作接口操作接口1.1.2 OS的作用的作用10第10页,共827页。n计算机系统资源可归结为四类:处理器、计算机系统资源可归结为四类:处理器、存储器、存储器、I/O设备、信息(数据和程序)设备、信息(数据和程序)nOS的主要功能也正是针对这四类资源进行的主要功能也正是针对这四类资源进行有效管理:有效管理:2.OS作为计算机资源的管理者作为计算机资源的管理者l处理机管理:分配和控制处理机处理机管理:分配和控制处理机l存储器管理:主要是内存分配和回收存储器管理:主要是内存分配和回收lI/O设备管理:设备管理:I
9、/O设备的分配与操纵设备的分配与操纵l文件管理:文件的存取、共享和保护文件管理:文件的存取、共享和保护11第11页,共827页。n完全无软件的计算机完全无软件的计算机裸机。裸机。n“裸机裸机”难于使用。难于使用。n裸机覆盖了一层裸机覆盖了一层I/O设备管理软件如图设备管理软件如图1-2所示,由它来实现对所示,由它来实现对I/O设备操作的细节,并向上提供一组设备操作的细节,并向上提供一组I/O操作命令,如操作命令,如Read和和Write命令,用户可以利用它进行数据输入命令,用户可以利用它进行数据输入/输出,而无需关心输出,而无需关心I/O实现的实现的细节。此时用户所看到的是一台功能显著增强、使
10、用极为方便的的细节。此时用户所看到的是一台功能显著增强、使用极为方便的的机器,它向上提供了一组抽象的机器,它向上提供了一组抽象的I/O设备,称为扩充机或虚拟机。设备,称为扩充机或虚拟机。3.OS实现了对计算机资源的抽象实现了对计算机资源的抽象虚拟性虚拟性是是OSOS的基本特的基本特征之一征之一用户用户用户用户物理接口物理接口硬件硬件物理接口物理接口硬件硬件I/O软件软件I/O操作命令操作命令(Read,Write)机器指令机器指令虚拟机虚拟机图图1-2 I/O软件隐藏了软件隐藏了I/O操作实现的细节操作实现的细节第一层软件第一层软件第二层软件第二层软件12第12页,共827页。为了方便用户使用
11、文件系统,又在第一层软件上再覆盖一为了方便用户使用文件系统,又在第一层软件上再覆盖一层用于文件的管理软件,用它来实现对文件操作的细节,层用于文件的管理软件,用它来实现对文件操作的细节,并向上提供一组对文件进行存取操作的命令。并向上提供一组对文件进行存取操作的命令。第二个层次第二个层次的抽象的抽象。又在文件管理软件上再覆盖一层面向用户的窗口软件,用户又在文件管理软件上再覆盖一层面向用户的窗口软件,用户便可在窗口环境下方便地使用计算机,形成一台功能更强的便可在窗口环境下方便地使用计算机,形成一台功能更强的虚拟机。虚拟机。由此可知,操作系统是铺设在硬件上的多层系统软件,它们由此可知,操作系统是铺设在
12、硬件上的多层系统软件,它们不仅增强了系统功能,而且还隐藏了对硬件操作的细节,由不仅增强了系统功能,而且还隐藏了对硬件操作的细节,由它们实现对计算机硬件的多个层次的抽象。它们实现对计算机硬件的多个层次的抽象。13第13页,共827页。1.1.3 推动推动OS发展的主要动力发展的主要动力1不断提高计算机资源利用率。不断提高计算机资源利用率。2方便用户方便用户:继续发展的因素继续发展的因素分时系统分时系统(或称或称多用户系统多用户系统)3器件的不断更新换代器件的不断更新换代 4计算机体系结构的不断发展计算机体系结构的不断发展 最初发展的动力。最初发展的动力。批处理系统批处理系统8位机位机16位机位机
13、32位机位机64位机位机(8位位OS 16位位OS.)单机系统单机系统多处理机系统:单机多处理机系统:单机OS多处理机多处理机OS 计算机网络:网络计算机网络:网络OS14第14页,共827页。1.2 OS的发展过程的发展过程 n20世纪世纪50年代中期,第一个简单的批处理年代中期,第一个简单的批处理系统系统 n60年代中期,多道程序批处理系统,随后年代中期,多道程序批处理系统,随后出现分时系统出现分时系统 n上世纪上世纪80年代开始至年代开始至21世纪初,微型机、世纪初,微型机、多处理机、计算机网络大发展年代多处理机、计算机网络大发展年代微机微机OS、多处理机、多处理机OS和网络和网络OS的
14、形成和大发的形成和大发展年代。展年代。15第15页,共827页。1.2.1 无无OS的计算机系统的计算机系统 n人工操作方式人工操作方式 n脱机输入脱机输入/输出(输出(Off-Line I/O)方式)方式(20世纪世纪50年代末年代末)这一时期有两种操作方式:这一时期有两种操作方式:16第16页,共827页。1人工操作方式人工操作方式 n程序员将事先已穿孔(对应于程序和数据)程序员将事先已穿孔(对应于程序和数据)的纸带(或卡片)装入纸带输入机(或卡片的纸带(或卡片)装入纸带输入机(或卡片输入机);输入机);n再启动输入机将程序和数据输入计算机;再启动输入机将程序和数据输入计算机;n然后启动计
15、算机运行。然后启动计算机运行。n当程序运行完毕并取走计算结果后,才让下当程序运行完毕并取走计算结果后,才让下一个用户上机。一个用户上机。缺点:缺点:n 用户独占全机;用户独占全机;n CPUCPU等待人工操作等待人工操作17第17页,共827页。2脱机输入脱机输入/输出方式输出方式 优点优点:(1)减少了)减少了CPU的空闲时间的空闲时间(2)提高了)提高了I/O速度速度外围机外围机磁带机磁带机磁带机磁带机磁带机磁带机磁带机磁带机外围机外围机输出机输出机主机主机输入设备输入设备图图1-2 脱机脱机I/O示意图示意图18第18页,共827页。1.2.2 单道批处理系统单道批处理系统 l把一批作业
16、以脱机方式输入到磁带上;把一批作业以脱机方式输入到磁带上;l在监督程序在监督程序(Monitor)控制下使这批作业)控制下使这批作业 一个接一个地连续处理。一个接一个地连续处理。参看下页的图参看下页的图1-3它是它是OS的前身,而非现在人们理解的的前身,而非现在人们理解的OS。1.单道批处理系统的处理过程单道批处理系统的处理过程19第19页,共827页。开始开始还有下一个还有下一个作业?作业?停止停止把下一个作业的源程序把下一个作业的源程序转换为目标程序转换为目标程序源程序有错源程序有错吗?吗?装配目标装配目标程序程序目标程序运行目标程序运行直到结束直到结束否否是是是是否否图图1-3 单道批处
17、理系统的处理流程单道批处理系统的处理流程20第20页,共827页。2.单道批处理系统的特征单道批处理系统的特征(1)自动性自动性在磁带上的作业能自动地逐个地依次运行,在磁带上的作业能自动地逐个地依次运行,而无需人工干预。而无需人工干预。(2)顺序性顺序性(3)单道性单道性磁带上的各道作业是顺序地进入内存,各道磁带上的各道作业是顺序地进入内存,各道作业的完成顺序与它们进入内存的顺序相同,作业的完成顺序与它们进入内存的顺序相同,即先调入内存的作业先完成。即先调入内存的作业先完成。在内存中仅有一道程序运行,即监督程序每次在内存中仅有一道程序运行,即监督程序每次从磁带上只调入一道程序进入内存,当该程序
18、从磁带上只调入一道程序进入内存,当该程序完成或发生异常情况时,才换入其后继程序进完成或发生异常情况时,才换入其后继程序进入内存运行。入内存运行。21第21页,共827页。1.2.3 多道批处理系统多道批处理系统n多道程序设计的基本概念多道程序设计的基本概念 20世纪世纪60年代中期年代中期 n 用户提交的作业事先存放在外存上,形成用户提交的作业事先存放在外存上,形成“后备队列后备队列”n 作业调度程序按一定算法从后备队列中选择作业调度程序按一定算法从后备队列中选择若干作业调入内存,使它们共享若干作业调入内存,使它们共享CPU和系统和系统中的各种资源。中的各种资源。好处好处:(1)提高)提高CP
19、U利用率利用率(2)提高内存和)提高内存和I/O设备利用率设备利用率(3)增加系统吞吐量)增加系统吞吐量 22第22页,共827页。多道批处理系统的特征多道批处理系统的特征(1)多道性多道性:多道程序在内存中并发执行。提高了资多道程序在内存中并发执行。提高了资源利用率和系统吞吐量。源利用率和系统吞吐量。(2)无序性无序性:先进入内存的作业可能后完成;后进先进入内存的作业可能后完成;后进入内存的作业可能先完成。入内存的作业可能先完成。(3)调度性调度性:作业从提交到完成,需经过两种调度:作业从提交到完成,需经过两种调度:作业调度作业调度和和进程调度进程调度。23第23页,共827页。多道批处理系
20、统的优缺点:多道批处理系统的优缺点:(1)资源利用率高。)资源利用率高。(CPU(CPU、内存、内存、I/OI/O设备利用率设备利用率)(2)系统吞吐量大。)系统吞吐量大。(3)周转时间长。)周转时间长。(4 4)无交互能力。)无交互能力。系统吞吐量是指系统在单位时间系统吞吐量是指系统在单位时间内所完成的总工作量。内所完成的总工作量。作业周转时间是指从作业进入系统(提作业周转时间是指从作业进入系统(提交)开始,直至它完成并退出系统为止交)开始,直至它完成并退出系统为止所经历的时间。所经历的时间。对修改和调试程序极对修改和调试程序极不方便。不方便。24第24页,共827页。多道批处理系统需要解决
21、的问题多道批处理系统需要解决的问题 (1)处理机管理问题)处理机管理问题(处理机分配、提高利用率处理机分配、提高利用率)(2 2)内存管理问题)内存管理问题(分配、保护等分配、保护等)(3 3)I/OI/O设备管理问题设备管理问题(方便用户、提高利用率方便用户、提高利用率)(4 4)文件管理问题)文件管理问题(方便用户、数据安全一致方便用户、数据安全一致)(5 5)作业管理问题)作业管理问题(计算型、计算型、I/OI/O型不同处理型不同处理)25第25页,共827页。1.2.4 分时系统分时系统 n分时系统分时系统是指在一台主机上连接多个是指在一台主机上连接多个带有显示器和键盘的带有显示器和键
22、盘的终端终端,同时允许多个,同时允许多个用户通过自己的终端,以交互方式使用计用户通过自己的终端,以交互方式使用计算机,共享主机中的资源。算机,共享主机中的资源。26第26页,共827页。1.分时系统的产生分时系统的产生 是为了满足用户的以下需求而产生的:是为了满足用户的以下需求而产生的:(1)人)人-机交互机交互(2)共享主机)共享主机(3)便于用户上机)便于用户上机 27第27页,共827页。2分时系统实现中的关键问题分时系统实现中的关键问题(1)及时接收及时接收(2)及时处理及时处理 n 用户作业不能先进入磁盘,然后再调入内存用户作业不能先进入磁盘,然后再调入内存n 不允许一个作业长期占用
23、处理机,直至它运行结不允许一个作业长期占用处理机,直至它运行结束或出现束或出现I/O请求后,方才调度其它作业运行请求后,方才调度其它作业运行n 应该规定每个作业只运行一个很短的时间(称应该规定每个作业只运行一个很短的时间(称为为时间片时间片)要做到上述两条,必须彻底改变批处理系统的运要做到上述两条,必须彻底改变批处理系统的运行方式,即:行方式,即:28第28页,共827页。3分时系统的特征分时系统的特征(1)多路性:)多路性:允许一台主机上同时联接多个联机终允许一台主机上同时联接多个联机终端端(2)独立性:)独立性:每个用户各占一个终端,彼此独立每个用户各占一个终端,彼此独立操作,互不干扰。操
24、作,互不干扰。(3)及时性:)及时性:用户的请求能在很短时间内获得响应。用户的请求能在很短时间内获得响应。(4)交互性:)交互性:用户可通过终端与系统进行广泛的对用户可通过终端与系统进行广泛的对话。话。29第29页,共827页。1.2.5 实时系统实时系统 实时系统实时系统(Real-Time System)是指系统能及时响应外部事件的是指系统能及时响应外部事件的请求,在规定时间内完成该事件的处请求,在规定时间内完成该事件的处理,并控制所有实时任务协调一致地理,并控制所有实时任务协调一致地运行。运行。定义:定义:30第30页,共827页。1应用需求应用需求(1)实时控制。)实时控制。飞机或火车
25、的订票系统、情报检索系统等飞机或火车的订票系统、情报检索系统等。(2)实时信息处理。)实时信息处理。实时数据采集处理;执行机构;自动控制实时数据采集处理;执行机构;自动控制31第31页,共827页。2实时任务实时任务 在实时系统中必然存在着若干个实时任务,这些实时任务通在实时系统中必然存在着若干个实时任务,这些实时任务通常与某个(某些)外部设备相关,能反映或控制相应的外部常与某个(某些)外部设备相关,能反映或控制相应的外部设备,因而带有某种程度的紧迫性。设备,因而带有某种程度的紧迫性。周期性周期性实时任务实时任务按指定周期循环执行,以便周按指定周期循环执行,以便周期性地控制某外部设备。期性地控
26、制某外部设备。非周期性非周期性实时任务实时任务外部设备发出的激励信号无明外部设备发出的激励信号无明显周期性,但都必须联系着一显周期性,但都必须联系着一个个截止时间截止时间。开始截止时间开始截止时间任务在某时间以前必须开始执行任务在某时间以前必须开始执行完成截止时间完成截止时间任务在某时间以前必须完成任务在某时间以前必须完成分类:按执行是否周期性划分分类:按执行是否周期性划分32第32页,共827页。分类:实时任务按对截止时间要求划分分类:实时任务按对截止时间要求划分硬实时任务硬实时任务 软实时任务软实时任务 系统必须满足任务对截止时间的系统必须满足任务对截止时间的要求,否则可能出现难于预测的要
27、求,否则可能出现难于预测的结果。结果。它也联系着一个截止时间,但并它也联系着一个截止时间,但并不严格,若偶尔错过了任务的截不严格,若偶尔错过了任务的截止时间,对系统产生的影响也不止时间,对系统产生的影响也不会太大。会太大。33第33页,共827页。3实时系统与分时系统特征的比较实时系统与分时系统特征的比较(1)多路性:)多路性:实时系统的多路性主要表现在:系统经常对多路的现场实时系统的多路性主要表现在:系统经常对多路的现场信息进行采集,以及对多个对象或多个执行机构进行控信息进行采集,以及对多个对象或多个执行机构进行控制。制。(2)独立性:)独立性:实时系统中对信息的采集和对对象的控制,也都是彼
28、此互实时系统中对信息的采集和对对象的控制,也都是彼此互不干扰不干扰(3)及时性:)及时性:实时系统的及时性,是以控制对象所要求的开始截止时实时系统的及时性,是以控制对象所要求的开始截止时间或完成截止时间来确定的。一般为秒级、百毫秒级直间或完成截止时间来确定的。一般为秒级、百毫秒级直至毫秒级,甚至有的要低于至毫秒级,甚至有的要低于100微秒。微秒。(4)交互性:)交互性:实时系统的交互性仅限于访问系统中某些特定的实时系统的交互性仅限于访问系统中某些特定的专用服务程序,不象分时系统那样能向终端用户专用服务程序,不象分时系统那样能向终端用户提供数据处理服务、资源共享等服务。提供数据处理服务、资源共享
29、等服务。(5)可靠性可靠性:实时系统要求系统高度可靠,往往采用多级容错措施实时系统要求系统高度可靠,往往采用多级容错措施来保证系统的安全性及数据的安全性。来保证系统的安全性及数据的安全性。34第34页,共827页。1.2.6 微机操作系统的发展微机操作系统的发展1单用户单任务操作系统单用户单任务操作系统1)CP/M 上世纪上世纪70年代年代(8位机位机)2)MS-DOS 上世纪上世纪80年代年代(16位机位机/32位机位机)2单用户多任务操作系统单用户多任务操作系统Windows 95Windows 98Windows XPWindows NT兼容兼容16位应用程序位应用程序的的32位操作系统
30、位操作系统35第35页,共827页。3多用户多任务操作系统多用户多任务操作系统UNIX OS(AT&T的的Bell实验室实验室)Solaris OS(SUN公司公司)Linux OS(UNIX重要变种,芬兰学生;集体开发重要变种,芬兰学生;集体开发)36第36页,共827页。操作系统的定义操作系统的定义 操作系统是一组控制和管理计算机硬操作系统是一组控制和管理计算机硬件和软件资源,合理地对各类作业进件和软件资源,合理地对各类作业进行调度,以及方便用户使用的程序的行调度,以及方便用户使用的程序的集合。集合。无统一的定义无统一的定义37第37页,共827页。1.3 操作系统的基本特征操作系统的基本
31、特征 1.3.1 并发并发(Concurrence)OS最重要的特征,其它三个特征都以并发为前提的。最重要的特征,其它三个特征都以并发为前提的。并行与并发:并行与并发:并行性并行性两个或多个事件在同一时刻发生。两个或多个事件在同一时刻发生。并发性并发性两个或多个事件在同一时间间隔内发生。两个或多个事件在同一时间间隔内发生。在多道程序环境下,并发性是指在一段时间内,宏观上有多个在多道程序环境下,并发性是指在一段时间内,宏观上有多个程序在同时运行,但在单处理机系统中,每一时刻却只能有一程序在同时运行,但在单处理机系统中,每一时刻却只能有一道程序执行,故微观上这些程序只能是分时地交替执行。若计道程序
32、执行,故微观上这些程序只能是分时地交替执行。若计算机系统中有多个处理机,则这些可以并发执行的程序可被分算机系统中有多个处理机,则这些可以并发执行的程序可被分配到多个处理机上,实现并行执行。配到多个处理机上,实现并行执行。38第38页,共827页。与并发紧密相连的概念与并发紧密相连的概念进程进程通常的程序是静态实体,它是不能并发执行通常的程序是静态实体,它是不能并发执行的。为了使程序能并发执行,系统必须分别的。为了使程序能并发执行,系统必须分别为每个程序建立为每个程序建立进程进程(Process)。)。进程是指在系统中能独立运行并作为资源分配的基本单位,它是由一组机器指令、数据和堆栈等组成的,是
33、一个活动实体。多个进程之间可以多个进程之间可以并发执行并发执行和交换信息。和交换信息。39第39页,共827页。n 在在OS中引入进程的目的,是使多个程序能并中引入进程的目的,是使多个程序能并发执行。发执行。n 进程和并发是现代进程和并发是现代OS中最重要的基本概念,中最重要的基本概念,也是也是OS运行的基础。运行的基础。n 直到直到80年代中期,人们才提出了比进程更年代中期,人们才提出了比进程更小的单位小的单位 线程(线程(Threads)。)。n 一个进程通常包含若干线程。一个进程通常包含若干线程。n 近年来推出的近年来推出的OS 都引入了线程。都引入了线程。关于关于进程进程、线程线程的初
34、步概念:的初步概念:40第40页,共827页。1.3.2 共享共享(sharing)共享是指系统中的资源可供内存中多个并是指系统中的资源可供内存中多个并发执行的进程(线程)共同使用。发执行的进程(线程)共同使用。目前主要有以下两种资源共享方式:目前主要有以下两种资源共享方式:(1)互斥共享方式互斥共享方式 对于对于临界资源临界资源,要求被互斥地共享。,要求被互斥地共享。什么叫临界资源?什么叫临界资源?临界资源例子。临界资源例子。(2)同时访问方式同时访问方式 对于对于共享资源共享资源允许在一段时间内由多个进程允许在一段时间内由多个进程“同时同时”对它进行访问。这里所说对它进行访问。这里所说的的
35、“同时同时”往往是宏观上的,而微观上,这些进程可能是交替地对该往往是宏观上的,而微观上,这些进程可能是交替地对该资源进行访问。资源进行访问。共享资源共享资源41第41页,共827页。n 资源的共享是以进程的并发执行为条件的,若系统不资源的共享是以进程的并发执行为条件的,若系统不允许程序并发执行,自然不存在资源共享问题;允许程序并发执行,自然不存在资源共享问题;n 若系统不能对资源共享实施有效管理,协调好诸进程若系统不能对资源共享实施有效管理,协调好诸进程对共享资源的访问,也必然影响到程序并发执行的程对共享资源的访问,也必然影响到程序并发执行的程度,甚至根本无法并发执行。度,甚至根本无法并发执行
36、。并发并发和和共享共享是操作系统的两个最基本的特征,是操作系统的两个最基本的特征,它们是互为存在条件的。它们是互为存在条件的。42第42页,共827页。1.3.3.虚拟虚拟(Virtual)虚拟虚拟是指通过某种技术把一个物理实体变是指通过某种技术把一个物理实体变为若干个逻辑上的对应物。为若干个逻辑上的对应物。OSOS中利用了两种方式实现中利用了两种方式实现虚拟技术虚拟技术,即时分复用技术和,即时分复用技术和空分复用技术,分别用来实现空分复用技术,分别用来实现虚拟处理机虚拟处理机、虚拟内存虚拟内存、虚拟外部设备虚拟外部设备和和虚拟信道虚拟信道等。等。43第43页,共827页。1.时分复用技术时分
37、复用技术时分复用技术最早用于电信行业,它将一条物理信道虚拟时分复用技术最早用于电信行业,它将一条物理信道虚拟为多条逻辑信道,将每条逻辑信道供一对用户通话。操作为多条逻辑信道,将每条逻辑信道供一对用户通话。操作系统中利用时分复用技术来实现系统中利用时分复用技术来实现虚拟处理机、虚拟设备虚拟处理机、虚拟设备等,等,以提高资源利用率。以提高资源利用率。1)1)虚拟处理机技术虚拟处理机技术利用多道程序设计技术,为每道程序建立一个进程,让多道程利用多道程序设计技术,为每道程序建立一个进程,让多道程序并发地执行,以此来分时使用一台处理机。此时,虽然系统序并发地执行,以此来分时使用一台处理机。此时,虽然系统
38、中只有一台处理机,但它能同时为多个用户服务,使每个终端中只有一台处理机,但它能同时为多个用户服务,使每个终端用户都认为有一台处理机在专门为他服务,亦即把一台物理上用户都认为有一台处理机在专门为他服务,亦即把一台物理上的的CPU虚拟为多台逻辑上的虚拟为多台逻辑上的CPU,也称为,也称为虚拟处理机虚拟处理机。44第44页,共827页。通过通过虚拟设备虚拟设备技术,将一台物理技术,将一台物理I/O设备虚拟为多台设备虚拟为多台逻辑上的逻辑上的I/O设备,允许每个用户占用一台逻辑上的设备,允许每个用户占用一台逻辑上的I/O设备,这样便可使原来在一段时间仅允许一个用设备,这样便可使原来在一段时间仅允许一个
39、用户访问的设备(即临界资源),变为在一段时间内允户访问的设备(即临界资源),变为在一段时间内允许多个用户同时访问的共享设备。例如,虚拟打印机。许多个用户同时访问的共享设备。例如,虚拟打印机。2)虚拟设备技术虚拟设备技术45第45页,共827页。2.空分复用技术空分复用技术上世纪初,电信业中就利用频分复用技术来提高信上世纪初,电信业中就利用频分复用技术来提高信道的利用率。计算机中使用空分复用技术来提高存道的利用率。计算机中使用空分复用技术来提高存储空间的利用率。储空间的利用率。1)虚拟磁盘技术虚拟磁盘技术通过虚拟磁盘技术,将一台硬盘虚拟成多台虚拟磁通过虚拟磁盘技术,将一台硬盘虚拟成多台虚拟磁盘,
40、这样使用起来方便、安全。虚拟磁盘技术采用盘,这样使用起来方便、安全。虚拟磁盘技术采用了空分复用技术,它将硬盘划分成几个卷,再通过了空分复用技术,它将硬盘划分成几个卷,再通过安装程序将它们分别安装在安装程序将它们分别安装在C、D、E.逻辑驱动逻辑驱动器上。器上。磁盘分区磁盘分区46第46页,共827页。2)虚拟存储器技术虚拟存储器技术在单道程序环境下,内存会有很多空闲空间,空分复用则是利用在单道程序环境下,内存会有很多空闲空间,空分复用则是利用存储器的空闲空间来存放其它程序,以提高内存利用率。存储器的空闲空间来存放其它程序,以提高内存利用率。单纯的空分复用存储器只能提高内存的利用率,不能实单纯的
41、空分复用存储器只能提高内存的利用率,不能实现在逻辑上扩大存储器容量的功能,必须引入现在逻辑上扩大存储器容量的功能,必须引入虚拟存储技虚拟存储技术术才能达到此目的才能达到此目的。虚拟存储器技术在本质上就是使内存时分虚拟存储器技术在本质上就是使内存时分复用和空分复用。该技术将一道程序划分成若干部分,物理内存复用和空分复用。该技术将一道程序划分成若干部分,物理内存也划分成多个部分,通过也划分成多个部分,通过“请求调入功能请求调入功能”和和“置换功能置换功能”,每,每次只把用户程序的一部分调入内存运行,这样便实现了用户程序次只把用户程序的一部分调入内存运行,这样便实现了用户程序各个部分分时进入内存运行
42、的功能,从而在逻辑上扩充存储器的各个部分分时进入内存运行的功能,从而在逻辑上扩充存储器的容量。容量。47第47页,共827页。4 异步性异步性(Asynchronism)n 由于资源等因素的限制,使进程的执行通常不是由于资源等因素的限制,使进程的执行通常不是“一气一气呵成呵成”,而是以,而是以“停停等等停停等等”的方式运行。的方式运行。n 内存中的每个进程在何时能获得处理机运行,何时又内存中的每个进程在何时能获得处理机运行,何时又因提出某种资源请求而暂停,以及进程以怎样的速度因提出某种资源请求而暂停,以及进程以怎样的速度向前推进,每道程序总共需要多少时间才能完成等等,向前推进,每道程序总共需要
43、多少时间才能完成等等,都是不可预知的。很可能是先进入内存的作业后完成,都是不可预知的。很可能是先进入内存的作业后完成,而后进入内存的作业先完成,或者说,进程是以人们而后进入内存的作业先完成,或者说,进程是以人们不可预知的速度向前推进,此即进程的异步性。不可预知的速度向前推进,此即进程的异步性。48第48页,共827页。1.4 1.4 操作系统的主要功能操作系统的主要功能 n 处理机管理功能处理机管理功能n 存储器管理功能存储器管理功能n 设备管理功能设备管理功能 n 文件管理功能文件管理功能n 用户接口用户接口 49第49页,共827页。1.1.处理机管理功能处理机管理功能 在传统的多道程序设
44、计系统中,处理机的在传统的多道程序设计系统中,处理机的分配和运行,都是以进为基本单位的,因分配和运行,都是以进为基本单位的,因而对处理机的管理,而对处理机的管理,可以归结为对进程的管可以归结为对进程的管理理。在引入线程的在引入线程的OS中,还包含对中,还包含对线程线程的管理。的管理。也可称为也可称为进程管理进程管理50第50页,共827页。处理机管理的主要功能是:处理机管理的主要功能是:创建和撤消进程(线程)创建和撤消进程(线程)对诸进程(线程)的运行进行协调对诸进程(线程)的运行进行协调实现进程(线程)之间的信息交换实现进程(线程)之间的信息交换按照一定的算法把处理机分配给进程(线程)按照一
45、定的算法把处理机分配给进程(线程)进程控制进程控制进程同步进程同步进程通信进程通信进程调度进程调度(处理机调度处理机调度)51第51页,共827页。2.2.存储器管理存储器管理 存储器管理应具有以下功能:存储器管理应具有以下功能:n 内存分配内存分配(静态静态、动态分配方式动态分配方式)n 内存保护内存保护(硬件检查越界,软件处理硬件检查越界,软件处理)n 地址映射地址映射(逻辑、物理地址,硬件支持逻辑、物理地址,硬件支持)n 内存扩充内存扩充(虚拟存储技术虚拟存储技术)52第52页,共827页。主要任务:主要任务:l l 完成进程提出的完成进程提出的I/O请求;请求;l l为用户进程分配其所
46、需的为用户进程分配其所需的I/O设备;设备;l l 提高提高CPU和和I/O设备的利用率;设备的利用率;l l 提高提高I/O速度;速度;l l方便用户使用方便用户使用I/O设备。设备。3.设备管理功能设备管理功能53第53页,共827页。设备管理应具有以下功能:设备管理应具有以下功能:1.缓冲管理缓冲管理在设备和在设备和CPU之间引入缓冲,可有之间引入缓冲,可有效地缓和效地缓和CPU和和I/O设备速度不匹配的矛盾,提设备速度不匹配的矛盾,提高高CPU的利用率,进而提高系统的吞吐量。的利用率,进而提高系统的吞吐量。2.设备分配设备分配按某种策略将设备分配给用户进程。按某种策略将设备分配给用户进
47、程。需设备控制表等数据结构。需设备控制表等数据结构。3.设备处理设备处理设备处理程序又称为设备驱动程序。设备处理程序又称为设备驱动程序。基本任务是实现基本任务是实现CPU与设备控制器通信:与设备控制器通信:CPU 发发I/O命令;命令;设备控制器发中断请求。设备控制器发中断请求。54第54页,共827页。主要任务主要任务:对用户文件和系统文件进行管理,以方便用对用户文件和系统文件进行管理,以方便用户使用,并保证文件的安全性。户使用,并保证文件的安全性。文件管理应具有以下功能:文件管理应具有以下功能:1文件存储空间的管理文件存储空间的管理 2目录管理目录管理 3文件的读文件的读/写管理和保护写管
48、理和保护 4.文件管理文件管理55第55页,共827页。n 命令接口命令接口(联机命令、脱机命令联机命令、脱机命令)n 程序接口程序接口(系统调用系统调用)n 图形接口图形接口(GUI)5.5.用户接口用户接口56第56页,共827页。1.5 1.5 操作系统的结构设计操作系统的结构设计 OS的结构经历了四代变革:的结构经历了四代变革:第一代的第一代的OS是无结构的是无结构的 第二代第二代OS采用了模块式结构采用了模块式结构 第三代第三代OS是层次式结构是层次式结构 传统的操作传统的操作系统结构系统结构 第四代第四代OS采用微内核结构采用微内核结构 20世纪世纪80年年代后期代后期57第57页
49、,共827页。微内核微内核OS结构结构现代现代OS结构结构 微内核结构能有效地支持多处理机运行,故非常使用微内核结构能有效地支持多处理机运行,故非常使用于分布式系统环境。于分布式系统环境。Windows NT采用微内核结构。采用微内核结构。在与微内核技术发展的同时,在与微内核技术发展的同时,客户客户/服务器技术服务器技术、面面向对象技术向对象技术也在迅速发展,把它们应用到基于微内核也在迅速发展,把它们应用到基于微内核结构的结构的OS中,便具有了以微内核为中,便具有了以微内核为OS核心,以客户核心,以客户/服务器为基础,并且采用了面向对象的程序设计方法服务器为基础,并且采用了面向对象的程序设计方
50、法的特征。的特征。58第58页,共827页。n微内核技术微内核技术 微内核技术微内核技术是指精心设计的、能实现现代是指精心设计的、能实现现代OS核心核心功能的小型内核。功能的小型内核。OS的变庞大,使对的变庞大,使对OS的开发、维护和移植变得的开发、维护和移植变得十分困难。十分困难。为了减少为了减少OS的复杂性,增加的复杂性,增加OS的可扩展性和可的可扩展性和可维护性而产生了微内核技术。维护性而产生了微内核技术。产生背景产生背景59第59页,共827页。1.微内核操作系统的基本概念微内核操作系统的基本概念1)足够小的内核)足够小的内核微内核是指精心设计的、能实现现代微内核是指精心设计的、能实现
侵权处理QQ:3464097650--上传资料QQ:3464097650
【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。