《操作系统各章幻灯片第一章.ppt》由会员分享,可在线阅读,更多相关《操作系统各章幻灯片第一章.ppt(51页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、总总 目目 录录第第1章章 绪论绪论第第2章章 操作系统用户界面操作系统用户界面第第3章章 进程管理进程管理第第4章章 处理机调度处理机调度第第5章章 存储管理存储管理第第6章章 进程与存储管理示例进程与存储管理示例第第7章章 文件系统文件系统第第8章章 设备管理设备管理第第9章章 文件和设备管理示例文件和设备管理示例第第10章章 面向对象操作系统的设计面向对象操作系统的设计第第1章章 绪论绪论1.1 操作系统概念操作系统概念1.2 操作系统的历史操作系统的历史1.3 操作系统的基本类型操作系统的基本类型1.4 操作系统功能操作系统功能1.5 计算机硬件简介计算机硬件简介1.6 算法的描述算法
2、的描述1.7 研究操作系统的几种观点研究操作系统的几种观点习题习题201.1 操作系统概念操作系统概念1.1.1 什么是操作系统什么是操作系统计算机系统计算机系统=计算机硬件计算机硬件(裸机裸机)+计算机软件。计算机软件。虚拟机虚拟机(扩展机扩展机)=裸机裸机+操作系统操作系统硬件软件之间关系如图硬件软件之间关系如图1.1图图1.1 操作系统与硬件软件的关系操作系统与硬件软件的关系操作系统概念操作系统概念:操作系统是计算机系统中的一个系统:操作系统是计算机系统中的一个系统软件,它管理和控制计算机系统中的硬件及软件资软件,它管理和控制计算机系统中的硬件及软件资源,合理地组织计算机工作流程,以便有
3、效地利用源,合理地组织计算机工作流程,以便有效地利用这些资源为用户提供一个功能强大、使用方便和可这些资源为用户提供一个功能强大、使用方便和可扩展的工作环境,从而在计算机与其用户之间起到扩展的工作环境,从而在计算机与其用户之间起到接口的作用。接口的作用。1.2 操作系统的历史操作系统的历史 各时期计算机特征和对应的操作系统如表各时期计算机特征和对应的操作系统如表1.1。表表1.1 计算机特征与操作系统之间关系计算机特征与操作系统之间关系时间计算机代硬件操作系统1946-50年代末第一代电子管无操作系统50年代末-60年代中第二代晶体管批处理系统60年代中期70年代中期第三代集成电路多道程序设计7
4、0年代中期至今第四代大规模和超大规模集成电路分时系统、实时系统计算机发展趋势:巨型、微型、并行、分布、网络化计算机发展趋势:巨型、微型、并行、分布、网络化和智能化和智能化操作系统发展过程操作系统发展过程:手工操作阶段手工操作阶段(无操作系统无操作系统)、批、批处理、多道程序系统、分时系统、实时系统、通用处理、多道程序系统、分时系统、实时系统、通用操作系统、网络操作系统、分布式操作系统等。操作系统、网络操作系统、分布式操作系统等。1.2.1 手工操作阶段手工操作阶段手工操作方法:先把程序纸带手工操作方法:先把程序纸带(或卡片或卡片)装上输入机,然后启装上输入机,然后启动输入机把程序和数据送入计算
5、机,接着通过控制台开关动输入机把程序和数据送入计算机,接着通过控制台开关启动程序运行。计算完毕,打印机输出计算结果,用户取启动程序运行。计算完毕,打印机输出计算结果,用户取走并卸下纸带走并卸下纸带(或卡片或卡片)。1.2.2 早期批处理早期批处理(batch processing)1.联机批处理联机批处理慢速的输入输出慢速的输入输出(I/O)设备是和主机直接相连。作业的执行过设备是和主机直接相连。作业的执行过程为程为:(1)用户提交作业:作业程序、数据,用作业控制语言编写的用户提交作业:作业程序、数据,用作业控制语言编写的作业说明书作业说明书;(2)作业被作成穿孔纸带或卡片作业被作成穿孔纸带或
6、卡片;(3)操作员有选择地把若干作业合成一批,通过输入设备操作员有选择地把若干作业合成一批,通过输入设备(纸纸带输入机或读卡机带输入机或读卡机)把它们存入磁带把它们存入磁带;(4)监督程序读入一个作业监督程序读入一个作业(若系统资源能满足该作若系统资源能满足该作业要求业要求);(5)从磁带调入汇编程序或编译程序,将用户作业源从磁带调入汇编程序或编译程序,将用户作业源程序翻译成目标代码程序翻译成目标代码;(6)连接装配程序把编译后的目标代码及所需的子程连接装配程序把编译后的目标代码及所需的子程序装配成一个可执行程序序装配成一个可执行程序;(7)启动执行启动执行;(8)执行完毕,由善后处理程序输出
7、计算结果执行完毕,由善后处理程序输出计算结果;(9)再读入一个作业,重复再读入一个作业,重复(5)(9)各步;各步;(10)一批作业完成,返回到一批作业完成,返回到(3),处理下一批作业。,处理下一批作业。联机批处理的优缺点:联机批处理的优缺点:优点优点-这种联机批处理方式解决了作业自动转接,从这种联机批处理方式解决了作业自动转接,从而减少作业建立和人工操作时间。而减少作业建立和人工操作时间。缺点缺点-是在作业的输入和执行结果的输出过程中,主是在作业的输入和执行结果的输出过程中,主机机CPU仍处在停止等待状态,这样慢速的输入输出仍处在停止等待状态,这样慢速的输入输出设备和快速主机之间仍处于串行
8、工作,设备和快速主机之间仍处于串行工作,CPU的时间的时间仍有很大的浪费。仍有很大的浪费。2.脱机批处理脱机批处理这种方式的显著特征是增加一台不与主机直接相连而这种方式的显著特征是增加一台不与主机直接相连而专门用于与输入输出设备打交道的卫星机。如图专门用于与输入输出设备打交道的卫星机。如图1.2所示。所示。卫星机的功能是:卫星机的功能是:(1)输入设备通过它把作业输入到输入磁带;输入设备通过它把作业输入到输入磁带;(2)输出磁带将作业执行结果输出到输出设备。输出磁带将作业执行结果输出到输出设备。这样,主机不是直接与慢速的输入输出设备打交道,这样,主机不是直接与慢速的输入输出设备打交道,而是与速
9、度相对较快的磁带机发生关系。主机与卫而是与速度相对较快的磁带机发生关系。主机与卫星机可以并行工作,二者分工明确,以充分发挥主星机可以并行工作,二者分工明确,以充分发挥主机的高速度计算能力。因此脱机批处理和早期联机机的高速度计算能力。因此脱机批处理和早期联机批处理相比大大提高了系统的处理能力。批处理相比大大提高了系统的处理能力。输入过程输出过程图图1.2 脱机批处理脱机批处理批处理的出现促使了软件的发展。最重要的是监督程批处理的出现促使了软件的发展。最重要的是监督程序,它管理作业的运行序,它管理作业的运行负责装入和运行各种系负责装入和运行各种系统处理程序,如汇编程序、编译程序、连接装配程统处理程
10、序,如汇编程序、编译程序、连接装配程序、程序库序、程序库(如输入输出标准程序等如输入输出标准程序等);完成作业的完成作业的自动过渡,同时也出现程序覆盖等程序设计技术。自动过渡,同时也出现程序覆盖等程序设计技术。批处理仍有些缺点:磁带需人工拆装,既麻烦又易出批处理仍有些缺点:磁带需人工拆装,既麻烦又易出错;而另一个更重要的问题是系统的保护。让我们错;而另一个更重要的问题是系统的保护。让我们来回忆一下在监督程序管理下的解题过程,如图来回忆一下在监督程序管理下的解题过程,如图1.3所示。所示。1.2.3 多道程序系统多道程序系统上述批处理系统,每次只调用一个用户作业程序进入上述批处理系统,每次只调用
11、一个用户作业程序进入内存并运行,称为单道运行。图内存并运行,称为单道运行。图1.4(a)给出了单道给出了单道程序工作示例。而图程序工作示例。而图1.4(b)给出了多道程序工作示给出了多道程序工作示例。在单处理机系统中,多道程序运行的特点是例。在单处理机系统中,多道程序运行的特点是:(1)多道:计算机内存中同时存放几道相互独立的程多道:计算机内存中同时存放几道相互独立的程序。序。(2)宏观上并行:同时进入系统的几道程序都处于运宏观上并行:同时进入系统的几道程序都处于运行过程中,即它们先后开始了各自的运行,但都未行过程中,即它们先后开始了各自的运行,但都未运行完毕。运行完毕。(3)微观上串行:实际
12、上,各道程序轮流使用微观上串行:实际上,各道程序轮流使用CPU,交替执行。交替执行。(a)单道程序工作示例单道程序工作示例 (b)多道程序工作示多道程序工作示例例 图图 1.4多道程序系统中,要解决的一些技术问题:多道程序系统中,要解决的一些技术问题:(1)并行运行的程序要共享计算机系统的硬件和软件并行运行的程序要共享计算机系统的硬件和软件资源,既有对资源的竞争,但又须相互同步。因资源,既有对资源的竞争,但又须相互同步。因此同步与互斥机制成为操作系统设计中的重要问此同步与互斥机制成为操作系统设计中的重要问题。题。2)随着多道程序的增加,出现了内存不够用的问题,随着多道程序的增加,出现了内存不够
13、用的问题,提高内存的使用效率也成为关键。因此出现了诸提高内存的使用效率也成为关键。因此出现了诸如覆盖技术、对换技术和虚拟存储技术等内存管如覆盖技术、对换技术和虚拟存储技术等内存管理技术。理技术。(3)由于多道程序存在于内存,为了保证系统程序存由于多道程序存在于内存,为了保证系统程序存储区和各用户程序存储区的安全可靠,提出了内储区和各用户程序存储区的安全可靠,提出了内存保护的要求。存保护的要求。1.2.4 分时操作系统分时操作系统所谓分时技术所谓分时技术-就是把处理机的运行时间分成很短的就是把处理机的运行时间分成很短的时间片,按时间片轮流把处理机分配给各联机作业时间片,按时间片轮流把处理机分配给
14、各联机作业使用。若某个作业在分配给它的时间片内不能完成使用。若某个作业在分配给它的时间片内不能完成其计算,则该作业暂时中断,把处理机让给另一作其计算,则该作业暂时中断,把处理机让给另一作业使用,等待下一轮时再继续其运行。由于计算机业使用,等待下一轮时再继续其运行。由于计算机速度很快,作业运行轮转得很快,给每个用户的印速度很快,作业运行轮转得很快,给每个用户的印象是好像他独占了一台计算机。而每个用户可以通象是好像他独占了一台计算机。而每个用户可以通过自己终端向系统发出各种操作控制命令,完成作过自己终端向系统发出各种操作控制命令,完成作业的运行。业的运行。多用户分时操作系统是当今计算机操作系统中最
15、普遍多用户分时操作系统是当今计算机操作系统中最普遍使用的一类操作系统。使用的一类操作系统。1.2.5 实时操作系统实时操作系统实时操作系统实时操作系统-是以在允许时间范围之内做出响应为是以在允许时间范围之内做出响应为特征的。它要求计算机对于外来信息能以足够快的特征的。它要求计算机对于外来信息能以足够快的速度进行处理,并在被控对象允许时间范围内作出速度进行处理,并在被控对象允许时间范围内作出快速响应。快速响应。其响应时间要求在秒级、毫秒级甚至微秒级或更小。其响应时间要求在秒级、毫秒级甚至微秒级或更小。近年来,实时操作系统正得到越来越广泛的应用。近年来,实时操作系统正得到越来越广泛的应用。特别是非
16、特别是非PC机和机和PDA(个人数字助理)等新设备个人数字助理)等新设备的出现,更加强了这一趋势。的出现,更加强了这一趋势。1.2.6 通用操作系统通用操作系统通用操作系统通用操作系统-同时兼有多道批处理、分时、实时处同时兼有多道批处理、分时、实时处理的功能,或其中两种以上的功能。理的功能,或其中两种以上的功能。例如,将实时处理和批处理相结合构成实时批处理系例如,将实时处理和批处理相结合构成实时批处理系统。在这样的系统中,它首先保证优先处理任务,统。在这样的系统中,它首先保证优先处理任务,插空进行批作业处理。通常把实时任务称为插空进行批作业处理。通常把实时任务称为前台作前台作业业,批作业称为,
17、批作业称为后台作业后台作业。将批处理和分时处理相。将批处理和分时处理相结合可构成分时批处理系统。在保证分时用户的前结合可构成分时批处理系统。在保证分时用户的前提下,没有分时用户时可进行批量作业的处理。同提下,没有分时用户时可进行批量作业的处理。同样,分时用户和批处理作业可按前后台方式处理。样,分时用户和批处理作业可按前后台方式处理。1.2.7 操作系统的进一步发展操作系统的进一步发展操作系统的发展:操作系统的发展:个人计算机上的操作系统,例如个人计算机上的操作系统,例如DOS、Windows、linux系统。系统。嵌入式操作系统。嵌入式操作系统。网络操作系统。网络操作系统。分布式操作系统。分布
18、式操作系统。智能化操作系统。智能化操作系统。1.3 操作系统的基本类型操作系统的基本类型根据其使用环境和对作业处理方式,操作系统的基本根据其使用环境和对作业处理方式,操作系统的基本类型有:类型有:(1)批处理操作系统批处理操作系统(batch processing operating system)(2)分时操作系统分时操作系统(time sharing operating system)(3)实时操作系统实时操作系统(real time operating system)(4)个人计算机操作系统个人计算机操作系统(personal computer operating system)(5)网
19、络操作系统网络操作系统(network operating system)(6)分布式操作系统分布式操作系统(distributed operating system)1.3.1 批处理操作系统批处理操作系统现代操作系统大都具有批处理功能。图现代操作系统大都具有批处理功能。图1.5给出了批给出了批处理系统中作业处理步骤及状态。处理系统中作业处理步骤及状态。图图1.5 批处理系统中作业处理及状态批处理系统中作业处理及状态批处理系统的主要特征是:批处理系统的主要特征是:(1)用户脱机使用计算机。用户提交作业之后直到获用户脱机使用计算机。用户提交作业之后直到获得结果之前就不再和计算机打交道。作业提交
20、的方得结果之前就不再和计算机打交道。作业提交的方式可以是直接交给计算中心的管理操作员,也可以式可以是直接交给计算中心的管理操作员,也可以是通过远程通讯线路提交。提交的作业由系统外存是通过远程通讯线路提交。提交的作业由系统外存收容成为后备作业。收容成为后备作业。(2)成批处理。操作员把用户提交的作业分批进行处成批处理。操作员把用户提交的作业分批进行处理。每批中的作业将由操作系统或监督程序负责作理。每批中的作业将由操作系统或监督程序负责作业间自动调度执行。业间自动调度执行。(3)多道程序运行。按多道程序设计的调度原则,从多道程序运行。按多道程序设计的调度原则,从一批后备作业中选取多道作业调入内存并
21、组织它们一批后备作业中选取多道作业调入内存并组织它们运行,成为多道批处理。运行,成为多道批处理。1.3.2 分时系统分时系统分时系统一般采用时间片轮转的方式,使一台计算机分时系统一般采用时间片轮转的方式,使一台计算机为多个终端用户服务。对每个用户能保证足够快的为多个终端用户服务。对每个用户能保证足够快的响应时间,并提供交互会话能力。具有下述特点。响应时间,并提供交互会话能力。具有下述特点。(1)交互性:首先,交互性:首先,用户可以在程序动态运行情况下用户可以在程序动态运行情况下对其加以控制。其次,用户上机提交作业方便。第对其加以控制。其次,用户上机提交作业方便。第三,分时系统还为用户之间进行合
22、作提供方便。三,分时系统还为用户之间进行合作提供方便。(2)多用户同时性:多个用户同时在自己的终端上上多用户同时性:多个用户同时在自己的终端上上机,共享机,共享CPU和其他资源,充分发挥系统的效率。和其他资源,充分发挥系统的效率。(3)独立性:客观效果上用户彼此间感觉不到有别人独立性:客观效果上用户彼此间感觉不到有别人也在使用该台计算机,如同自己独占计算机一样。也在使用该台计算机,如同自己独占计算机一样。1.3.3 实时系统实时系统实时系统的主要特点是提供即时响应和高可靠性。实时系统的主要特点是提供即时响应和高可靠性。设计实时操作系统要考虑这样一些因素:设计实时操作系统要考虑这样一些因素:(1
23、)实时时钟管理实时时钟管理(定时处理和延时处理定时处理和延时处理)。(2)连续的人连续的人-机对话,这对实时控制往往是必须的。机对话,这对实时控制往往是必须的。(3)要求采取过载保护措施。持续性过载,可能要拒要求采取过载保护措施。持续性过载,可能要拒绝某些任务的输入绝某些任务的输入;在实时控制系统中,则是及时在实时控制系统中,则是及时处理某些任务,放弃某些任务或降低对某些任务的处理某些任务,放弃某些任务或降低对某些任务的服务频率。服务频率。(4)高度可靠性和安全性需采取冗余措施。双机系统高度可靠性和安全性需采取冗余措施。双机系统前后台工作,包括必要的保密措施等。前后台工作,包括必要的保密措施等
24、。1.3.4 通用操作系统通用操作系统批处理系统、分时系统和实时系统是操作系统的三种批处理系统、分时系统和实时系统是操作系统的三种基本类型,在此基础上又发展了具有多种类型操作基本类型,在此基础上又发展了具有多种类型操作特征的操作系统,称为通用操作系统。它可以同时特征的操作系统,称为通用操作系统。它可以同时兼有批处理、分时、实时处理和多重处理的功能,兼有批处理、分时、实时处理和多重处理的功能,或其中两种以上的功能。或其中两种以上的功能。1.3.5 个人计算机上的操作系统个人计算机上的操作系统个人计算机上的操作系统是一联机的交互式的单用户个人计算机上的操作系统是一联机的交互式的单用户操作系统,它提
25、供的联机交互功能与通用分时系统操作系统,它提供的联机交互功能与通用分时系统所提供的很相似。所提供的很相似。目前在个人计算机上使用的操作系统以目前在个人计算机上使用的操作系统以Windows系列系列和和linux系统为主系统为主。1.3.6 网络操作系统网络操作系统计算机网络是通过通信设施将物理上分散的具有自治计算机网络是通过通信设施将物理上分散的具有自治功能的多个计算机系统互连起来的,实现信息交换、功能的多个计算机系统互连起来的,实现信息交换、资源共享、可互操作和协作处理的系统。它具有这资源共享、可互操作和协作处理的系统。它具有这样的特征:样的特征:(1)计算机网络是一个互连的计算机系统的群体
26、。计算机网络是一个互连的计算机系统的群体。(2)这些计算机是自治的,每台计算机有自己的操作这些计算机是自治的,每台计算机有自己的操作系统,各自独立工作,它们在网络协议控制下协同系统,各自独立工作,它们在网络协议控制下协同工作。工作。(3)系统互连要通过通信设施系统互连要通过通信设施(硬件、软件硬件、软件)来实现。来实现。(4)系统通过通信设施执行信息交换、资源共享、互系统通过通信设施执行信息交换、资源共享、互操作和协作处理,操作和协作处理,实现多种应用要求。实现多种应用要求。1.3.7 分布式操作系统分布式操作系统粗看起来,分布式系统与计算机网络系统没有多大区粗看起来,分布式系统与计算机网络系
27、统没有多大区别。分布系统也可以定义为通过通信网络将物理上别。分布系统也可以定义为通过通信网络将物理上分布的具有自治功能的数据处理系统或计算机系统分布的具有自治功能的数据处理系统或计算机系统互连起来,实现信息交换和资源共享,协作完成任互连起来,实现信息交换和资源共享,协作完成任务。但是有这样一些明显的区别应予考虑:务。但是有这样一些明显的区别应予考虑:(1)计算机网络的开发都遵循协议,而对于各种分布计算机网络的开发都遵循协议,而对于各种分布式系统并没有制定标准的协议。当然,计算机网络式系统并没有制定标准的协议。当然,计算机网络也可认为是一种分布式系统。也可认为是一种分布式系统。(2)分布式系统要
28、求一个统一的操作系统,实现系统分布式系统要求一个统一的操作系统,实现系统操作的统一性。操作的统一性。(3)分布式操作系统对用户是透明的。但对计算机网分布式操作系统对用户是透明的。但对计算机网络,若一个计算机上的用户希望使用另一台计算机络,若一个计算机上的用户希望使用另一台计算机上的资源,则必须明确指明是哪台计算机。上的资源,则必须明确指明是哪台计算机。(4)分布式系统的基础是网络。分布式系统已不仅是分布式系统的基础是网络。分布式系统已不仅是一个物理上的松散耦合系统,同时还是一个逻辑上一个物理上的松散耦合系统,同时还是一个逻辑上紧密耦合的系统。紧密耦合的系统。(5)分布式系统还处在研究阶段。而计
29、算机网络已经分布式系统还处在研究阶段。而计算机网络已经在各个领域得到广泛的应用。在各个领域得到广泛的应用。1.4 操作系统功能操作系统功能1.4.1 处理机管理处理机管理处理机管理处理机管理在多道程序或多用户的情况下,要组在多道程序或多用户的情况下,要组织多个作业同时运行,解决对处理机分配调度策略、织多个作业同时运行,解决对处理机分配调度策略、分配实施和资源回收等问题。分配实施和资源回收等问题。1.4.2 存储管理存储管理存储管理的主要工作是对内部存储器进行分配、保护存储管理的主要工作是对内部存储器进行分配、保护和扩充。和扩充。(1)内存分配。如何分配内存,以保证系统及各用户内存分配。如何分配
30、内存,以保证系统及各用户程序的存储区互不冲突。程序的存储区互不冲突。(2)存储保护。保证一道程序在执行过程中不会有意存储保护。保证一道程序在执行过程中不会有意或无意地破坏另一道程序,保证用户程序不会破坏或无意地破坏另一道程序,保证用户程序不会破坏系统程序。系统程序。(3)内存扩充。当用户作业所需要的内存量超过计算内存扩充。当用户作业所需要的内存量超过计算机系统所提供的内存容量时,把内部存储器和外部机系统所提供的内存容量时,把内部存储器和外部存储器结合起来管理,为用户提供一个容量比实际存储器结合起来管理,为用户提供一个容量比实际内存大得多的虚拟存储器。内存大得多的虚拟存储器。1.4.3 设备管理
31、设备管理(1)通道、控制器、输入输出设备的分配和管理。设通道、控制器、输入输出设备的分配和管理。设备管理的任务就是根据一定的分配策略,把通道、备管理的任务就是根据一定的分配策略,把通道、控制器和输入输出设备分配给请求输入输出操作控制器和输入输出设备分配给请求输入输出操作的程序,并启动设备完成实际的输入输出操作。的程序,并启动设备完成实际的输入输出操作。(2)设备独立性。输入输出设备种类很多,使用方法设备独立性。输入输出设备种类很多,使用方法各不相同。设备管理应为用户提供一个良好的界各不相同。设备管理应为用户提供一个良好的界面,而不必去涉及具体的设备特性,以使用户能面,而不必去涉及具体的设备特性
32、,以使用户能方便、灵活地使用这些设备。方便、灵活地使用这些设备。1.4.4 信息管理信息管理(文件系统管理文件系统管理)信息管理信息管理(文件系统管理文件系统管理)是对系统的软件资源的管是对系统的软件资源的管理。理。文件系统要解决的主要问题是:信息的共享、保密和文件系统要解决的主要问题是:信息的共享、保密和保护保护1.4.5 用户接口用户接口操作系统还为用户提供两种方式的接口来为用户服务。操作系统还为用户提供两种方式的接口来为用户服务。一种用户接口是程序一级的接口,即提供一组广义指一种用户接口是程序一级的接口,即提供一组广义指令令(或称系统调用、程序请求或称系统调用、程序请求)供用户程序和其他
33、系供用户程序和其他系统程序调用。统程序调用。另一种接口是作业一级的接口,提供一组控制操作命另一种接口是作业一级的接口,提供一组控制操作命令令(或称作业控制语言,或像或称作业控制语言,或像UNIX中的中的Shell命令语命令语言言)供用户去组织和控制自己作业的运行。作业控供用户去组织和控制自己作业的运行。作业控制方式分两大类:脱机控制和联机控制。操作系统制方式分两大类:脱机控制和联机控制。操作系统提供脱机控制作业语言和联机控制作业控制语言。提供脱机控制作业语言和联机控制作业控制语言。1.5 计算机硬件简介计算机硬件简介1.5.1 计算机的基本硬件元素计算机的基本硬件元素构成计算机的基本硬件元素有
34、以下构成计算机的基本硬件元素有以下4种:处理器、存种:处理器、存储器、输入输出控制与总线、外部设备等。这些基储器、输入输出控制与总线、外部设备等。这些基本元素的逻辑关系如图本元素的逻辑关系如图1.6所示。所示。图图1.6 计算机的基本硬件元素计算机的基本硬件元素1.5.2 与操作系统相关的几种主要寄存器与操作系统相关的几种主要寄存器处理机中寄存器的功能分为二类:即用户可编程的寄处理机中寄存器的功能分为二类:即用户可编程的寄存器和控制与状态寄存器。机器语言或汇编语言的存器和控制与状态寄存器。机器语言或汇编语言的程序员可对用户可编程寄存器进行操作,以获得更程序员可对用户可编程寄存器进行操作,以获得
35、更高的执行效率等。而控制与状态寄存器则被用来对高的执行效率等。而控制与状态寄存器则被用来对处理机的优先级、保护模式或用户程序执行时的调处理机的优先级、保护模式或用户程序执行时的调用关系等进行控制和操作。用关系等进行控制和操作。一般来说,用户可编程寄存器和控制与状态寄存器之一般来说,用户可编程寄存器和控制与状态寄存器之间没有严格的区分和限制,在不同的系统中,寄存间没有严格的区分和限制,在不同的系统中,寄存器的功能和作用可能不完全相同。器的功能和作用可能不完全相同。典型的用户可编程寄存器包括以下几种:典型的用户可编程寄存器包括以下几种:1.数据寄存器数据寄存器编程人员可以通过程序赋予数据寄存器众多
36、的功能。编程人员可以通过程序赋予数据寄存器众多的功能。一般来说,对数据进行操作的任何机器指令都被允一般来说,对数据进行操作的任何机器指令都被允许访问数据寄存器。许访问数据寄存器。2.地址寄存器地址寄存器地址寄存器一般用来存放内存中某个数据或指令的地地址寄存器一般用来存放内存中某个数据或指令的地址,或者存放某段数据与指令的入口地址以及被用址,或者存放某段数据与指令的入口地址以及被用来进行更复杂的地址计算。下面几种寄存器都可被来进行更复杂的地址计算。下面几种寄存器都可被认为是地址寄存器:认为是地址寄存器:(1)地址标识位寄存器;地址标识位寄存器;(2)内存管理用各种始地址寄存器;内存管理用各种始地
37、址寄存器;(3)堆栈指针;堆栈指针;(4)设备地址寄存器等。设备地址寄存器等。3.条件码寄存器条件码寄存器条件码寄存器也称标志寄存器。条件码寄存器的比特条件码寄存器也称标志寄存器。条件码寄存器的比特位由处理机硬件设置。位由处理机硬件设置。典型的控制与状态寄存器包括以下几种:典型的控制与状态寄存器包括以下几种:4.程序计数器程序计数器PC程序计数器内装有下一周期被执行指令的地址。程序计数器内装有下一周期被执行指令的地址。5.指令寄存器指令寄存器IR指令寄存器内装有待执行指令。指令寄存器内装有待执行指令。6.程序状态字程序状态字PSW程序状态字寄存器的各个比特位代表系统中当前的各程序状态字寄存器的
38、各个比特位代表系统中当前的各种不同状态与信息。如执行模式是否允许中断等。种不同状态与信息。如执行模式是否允许中断等。7.中断现场保护寄存器中断现场保护寄存器如果系统允许不同类型的中断存在,则会设置一组中如果系统允许不同类型的中断存在,则会设置一组中断现场保护寄存器以便保存被中断程序的现场和链断现场保护寄存器以便保存被中断程序的现场和链接中断恢复处。接中断恢复处。8.过程调用用堆栈过程调用用堆栈堆栈被用来存放过程调用时的调用名、调用参数、以堆栈被用来存放过程调用时的调用名、调用参数、以及返回地址等。及返回地址等。1.5.3 存储器的访问速度存储器的访问速度一般来说,容量越大的存储介质,访问速度会
39、越慢,一般来说,容量越大的存储介质,访问速度会越慢,但单位存储的成本越低。例如,光盘和磁盘。反过但单位存储的成本越低。例如,光盘和磁盘。反过来说,如果存储介质的访问速度越高,则它的成本来说,如果存储介质的访问速度越高,则它的成本也会越高,例如寄存器。也会越高,例如寄存器。存储器件的访问速度与存储量的大小的关系如图存储器件的访问速度与存储量的大小的关系如图1.7所示。所示。除了上述的寄存器与存储介质之外,与操作系统设计除了上述的寄存器与存储介质之外,与操作系统设计相关的硬件器件还有中断机构、输入输出设备控制相关的硬件器件还有中断机构、输入输出设备控制部分,例如通道部分,例如通道和和DMA器件等器
40、件等。图图1.7 存储介质的访问速度存储介质的访问速度1.5.4 指令的执行与中断指令的执行与中断计算机提供的最基本功能是执行指令。任何应用程序计算机提供的最基本功能是执行指令。任何应用程序都只有通过指令的执行才能得以完成。执行指令的都只有通过指令的执行才能得以完成。执行指令的基本过程分为两步,即处理机从内存把指令读入的基本过程分为两步,即处理机从内存把指令读入的过程和执行的过程。其中,读指令是根据程序计数过程和执行的过程。其中,读指令是根据程序计数器器PC所指的地址读入,而执行的指令则是指令寄所指的地址读入,而执行的指令则是指令寄存器存器IR中的指令。中的指令。我们把指令的读入和执行过程称为
41、一个执行周期。如我们把指令的读入和执行过程称为一个执行周期。如图图1.8所示。所示。图图1.8 指令的执行周期指令的执行周期在指令的执行过程中或一条指令执行结束时,尽管指在指令的执行过程中或一条指令执行结束时,尽管指令地址计数器中已指明了下一条被访问指令的地址,令地址计数器中已指明了下一条被访问指令的地址,但是,外部设备或计算机内部可能会发来亟须处理但是,外部设备或计算机内部可能会发来亟须处理的数据或其他紧急事件处理信号。这就需要处理机的数据或其他紧急事件处理信号。这就需要处理机暂停正在执行的程序,转去处理相应的紧急事件,暂停正在执行的程序,转去处理相应的紧急事件,待处理完毕后再返回原处继续执
42、行,这一过程称为待处理完毕后再返回原处继续执行,这一过程称为中断,如图中断,如图1.9所示。所示。中断给操作系统设计带来许多好处,首先使得实时处中断给操作系统设计带来许多好处,首先使得实时处理许多紧急事件成为可能;再者,中断可以增加处理许多紧急事件成为可能;再者,中断可以增加处理机的执行效率;另外,中断还可以简化操作系统理机的执行效率;另外,中断还可以简化操作系统的程序设计。的程序设计。图图1.9 中断执行过程中断执行过程具有中断处理时的指令执行过程如图具有中断处理时的指令执行过程如图1.10所示。所示。图图1.10 中断处理时的指令执行周期中断处理时的指令执行周期系统发生中断时,处理机收到中
43、断信号,从而不能继系统发生中断时,处理机收到中断信号,从而不能继续执行程序计数器中所指的原程序。这时处理机将续执行程序计数器中所指的原程序。这时处理机将保存当前的执行现场(也就是各寄存器中的值)并保存当前的执行现场(也就是各寄存器中的值)并调用新的程序到处理机上执行调用新的程序到处理机上执行。1.6 算法的描述算法的描述操作系统设计和原理描述中涉及到许多算法。为了描操作系统设计和原理描述中涉及到许多算法。为了描述简单起见,本书定义下述关键词描述算法中有关述简单起见,本书定义下述关键词描述算法中有关过程。过程。beginend 分别表示算法的开头和结束。分别表示算法的开头和结束。Repeat操作
44、操作Until 条件条件表示当表示当“条件条件”未被满足时重复所描述的未被满足时重复所描述的“操作操作”。While 条件条件do操作操作od表示当表示当“条件条件”满足时,进行相应的满足时,进行相应的“操作操作”。关键。关键词词“do”和和“od”分别表示分别表示“操作操作”的开始和结束。的开始和结束。If 条件条件Then操作操作Else操作操作fi表示满足表示满足“if”所指的所指的“条件条件”时,进行时,进行“then”后后的相关的相关“操作操作”,否则完成,否则完成“else”后的相关操作。后的相关操作。关键词关键词“fi”表示条件判断的结束。表示条件判断的结束。例如,图例如,图1.
45、8所示指令执行周期可被描述为:所示指令执行周期可被描述为:RepeatIRMPC;PCPC+1;ExecuteIR;UntilCPU halt;其中,其中,MPC表示地址为表示地址为PC所示内存单元中的指所示内存单元中的指令内容。令内容。另一个例子是:另一个例子是:令令p1:n为为1到到n(n1)的整数置换,的整数置换,设设i=1,2,3,4,5,6,7;pi=4,7,3,2,1,5,6;描述描述pi的巡回置换算法。(巡回置换指的巡回置换算法。(巡回置换指k1:n时,时,k=p.pk.的置换。)的置换。)解:解:beginlocal x,k;k1;while k=7 doxk;repeatpr
46、int(x);xpx;until x=k;kk+1;odend习题习题1.1 什么是操作系统的基本功能什么是操作系统的基本功能?1.2 什么是批处理、分时和实时系统什么是批处理、分时和实时系统?各有什么特征各有什么特征?1.3 多道程序设计多道程序设计(multiprogramming)和多重处理和多重处理(multi-processing)有何区别有何区别?1.4 讨论操作系统可以从哪些角度出发,如何把它们讨论操作系统可以从哪些角度出发,如何把它们统一起来统一起来?1.5 写出写出1.6节中巡回置换算法的执行结果。节中巡回置换算法的执行结果。1.6 设计计算机操作系统时与哪些硬件器件有关?设计计算机操作系统时与哪些硬件器件有关?