版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第一章操作系统概论
1.1操作系统概念
1.2操作系统的形成和发展
1.3操作系统的分类
1.4操作系统的结构设计
1.5Linux操作系统简介
1.1操作系统概念1.1.1操作系统的地位和作用
1.1.2操作系统的定义
1.1.3操作系统的功能
1.1.4操作系统的特性
1.1.5操作系统的性能
1.1.1操作系统的地位和作用1.地位
计算机系统由硬件和软件组成操作系统在硬件基础上的第一层软件是其他软件和硬件之间的接口OS操作系统和软硬件的层次关系图
OS操作系统设计者系统软件设计者应用软件设计者1.1.1操作系统的地位和作用2.作用从一般用户的观点
从资源管理观点
OS可把操作系统看作是用户与计算机硬件系统之间的接口
可把操作系统视为计算机系统资源的管理者。
1.1.1操作系统的地位和作用3.操作系统的设计目标
方便性
有效性可扩充性
开放性
OS
操作系统为用户提供良好的、一致的用户接口,用户按需要输入命令,操作系统按命令去控制程序的执行;用户也可以在程序中调用操作系统的功能模块完成相应服务,而不必了解硬件的物理特性。
有效地管理和分配硬件、软件资源,合理地组织计算机的工作流程,提高系统工作效率。
为满足计算机硬件与体系结构的发展以及应用不断扩大的要求,操作系统应能方便地扩展新的功能。
开放性指的是产品和技术之间相互连接和协作的能力。无论是硬件还是软件范筹,开放性接口都已作为一种明确的或实际的行业标准广泛应用在公开发行的文档中。
1.1操作系统概念1.1.1操作系统的地位和作用
1.1.2操作系统的定义
1.1.3操作系统的功能
1.1.4操作系统的特性
1.1.5操作系统的性能
1.1.2操作系统的定义
操作系统是一组用于控制和管理计算机系统中的所有资源的程序集合,其任务是合理地组织计算机的工作流程,有效地组织诸资源协调一致地工作以完成各种任务,从而达到充分发挥资源效率、方便用户使用计算机之目的。
OS1.1操作系统概念1.1.1操作系统的地位和作用
1.1.2操作系统的定义
1.1.3操作系统的功能
1.1.4操作系统的特性
1.1.5操作系统的性能
1.1.3操作系统的功能
操作系统是计算机系统的资源管理者。在计算机系统中,能分配给用户使用的各种硬件和软件设施总称为资源。资源包括两大类:硬件资源和信息资源。硬件资源:处理器、存储器、I/O设备等;信息资源:程序和数据等。
资源管理的目的实现资源共享提高资源利用率1.1.3操作系统的功能(续)
从资源管理和面向用户的角度看,操作系统的功能主要包括:处理机管理存储管理设备管理文件管理网络管理用户接口1.1.3操作系统的功能(续)1.处理机管理
完成处理机资源的分配调度等功能(处理机调度的单位可为进程或线程)对处理器的管理和调度最终归结为对进程和线程的管理和调度,包括:(1)进程控制和管理;(2)进程同步和互斥;(3)进程通信;(4)进程死锁;(5)线程控制和管理;(6)处理器调度,又分高级调度,中级调度和低级调度。1.1.3操作系统的功能(续)2.存储管理
存储管理的主要任务是管理存储器资源,为多道程序运行提供有力的支撑,便于用户使用存储资源,提高存储空间的利用率。存储管理的主要功能包括:(1)存储分配。存储管理将根据用户程序的需要分配给它存储器资源,当然程序运行结束撤离时,还需回收存储资源。(2)存储共享。存储管理能让存储器中的多个用户程序实现存储资源的共享,以提高存储器的利用率。(3)地址转换与存储保护。存储管理负责把用户的逻辑地址转换成物理地址,同时要保证各个用户程序相互隔离起来互不干扰,保护系统和用户程序存放在存储器中的信息不被破坏。(4)存储扩充。存储管理还应该能从逻辑上来扩充内存储器,把内存和外存混合起来使用,为用户提供一个比内存实际容量大得多的逻辑编程空间,1.1.3操作系统的功能(续)3.设备管理
设备管理的主要任务是管理各类外围设备,完成用户提出的I/O请求,提高I/O设备的利用率,以及提供每种设备的设备驱动程序和中断处理程序,为用户隐蔽硬件细节,提供方便简单的设备使用方法。
设备管理的主要功能包括:(1)提供I/O设备的控制与处理。(2)提供缓冲区的管理。(3)提供设备独立性。(4)外围设备的分配和去配。(5)实现共享型I/O设备的驱动调度。(6)实现虚拟设备。1.1.3操作系统的功能(续)4.文件管理
文件管理是对系统中信息资源的管理,信息资源包括:程序和数据。
文件管理的主要任务是对用户文件和系统文件进行有效管理,实现按名存取;实现文件的共享、保护和保密,保证文件的安全性;并提供给用户一整套能方便使用文件的操作和命令。
文件管理的主要功能包括:(1)提供文件逻辑组织方法;(2)提供文件物理组织方法;(3)提供文件存取方法;(4)提供文件使用方法;(5)实现文件的目录管理;(6)实现文件的共享和存取控制;(7)实现文件的存储空间管理。
1.1.3操作系统的功能(续)5.网络管理
网络管理的主要功能包括:(1)网上资源管理功能。计算机网络的主要目的之一是共享资源,网络操作系统应实现网上资源的共享,管理用户对资源的访问,保证信息资源的安全性和完整性。(2)数据通信管理功能。计算机联网后,结点之间可以互相传送数据,按照通信协议的规定,完成网络上计算机之间的信息传送。(3)网络管理功能。包括:故障管理、安全管理、性能管理、配置管理等。1.1.3操作系统的功能(续)6.用户接口
为了使用户能灵活、方便地使用计算机和系统功能,操作系统还提供了一组使用其功能的手段称用户接口.
包括两大类:程序接口和操作接口。用户通过这些接口能方便地调用操作系统功能,有效地组织作业及其工作和处理流程,并使整个系统能高效地运行。
1.1操作系统概念1.1.1操作系统的地位和作用
1.1.2操作系统的定义
1.1.3操作系统的功能
1.1.4操作系统的特性
1.1.5操作系统的性能
1.1.4操作系统的特性在计算机系统中同时存在多个程序。宏观上:这些程序是同时在执行的微观上:任何时刻只有一个程序在执行即微观上这些程序在CPU上轮流执行并行(parallelism):(与并发相似,但多指硬件支持)1.并发性并发性是指两个或两事件或活动在同一时间间隔内发生。
并发执行的好处是能够使CPU与外设同时并行执行,提高了资源的利用率。弊端在于并发必然导致共享资源的矛盾,同时还带来诸如多道程序执行过程的中断,同一程序在不同硬件上的调度转换,同一CPU上不同程序的现场切换、存储保护以及合作进程如何同步等问题。1.1.4操作系统的特性共享有两种形式:一是顺序共享一种竞争性共享
2.共享性
共享指计算机系统中的资源可被多个并发执行的用户程序和系统程序共同使用。
共享性和并发性是操作系统两个最基本的特性,它们互为依存。一方面,资源的共享是因为程序的并发执行而引起的,若系统不允许程序并发执行,自然也就不存在资源共享问题。另一方面,若系统不能对资源共享实施有效管理,必然会影响到程序的并发执行,甚至程序无法并发执行,操作系统也就失去了并发性。
1.1.4操作系统的特性不确定性也称异步性。
在多道程序并发执行的环境中,各程序之间存在着直接或间接的联系,程序的推进速度会受到运行环境的影响。3.不确定性
系统事件(运行、I/O等)的发生是具有随机性和不确定性。
操作系统的不确定性是并发与共享的必然结果。为了实现并发与共享,操作系统必须有能力随时响应和正确处理各种随机事件。它不是事先规定各种事件何时发生,而是事先安排好对各种可能事件的处理,不管这些事件何时、以何种次序以及何种组合方式发生,这就是操作系统的不确定性。
1.1.4操作系统的特性
虚拟是指物理上没有提供,但是逻辑上却具备的功能。在用户看来好像是物理上原来就具有的功能一样。采用虚拟技术的目的是为了提高资源利用率和为用户提供易于使用、方便高效的操作环境。
虚拟性体现在如下两个方面:操作系统虚拟机对系统硬件和软件资源的虚拟机制(如虚拟处理机、虚拟内存、虚拟设备、虚拟文件系统)。
4.虚拟性
虚拟性是指操作系统中的一种管理技术,它是把物理上的一个实体变成逻辑上的多个对应物,或把物理上的多个实体变成逻辑上的一个对应物的技术。操作系统的并发性、共享性、不确定性、虚拟性四个特征不是相互独立的,具有密切的关系:并发和共享是操作系统的两个最基本的特征,它们又是互为存在的条件。虚拟技术为共享提供了更好的条件,而并发与共享是导致不确定性的根本原因。
1.1操作系统概念1.1.1操作系统的地位和作用
1.1.2操作系统的定义
1.1.3操作系统的功能
1.1.4操作系统的特性
1.1.5操作系统的性能
1.1.5操作系统的性能
操作系统的性能如何,直接影响计算机系统的总体性能。操作系统要能有效地使用系统资源,尽可能快地响应用户请求,方便用户使用计算机。
几个方面来评价操作系统的性能。系统效率系统可靠性与安全性系统可维护性易用性可扩充性开放性操作系统的效率主要体现在:资源的利用率要高,内存利用率高,外部设备利用均衡;对用户的周转时间要短,吞吐量要大,响应时间要尽量短。
操作系统是整个计算机系统的所有硬件与软件资源的管理者,它的可靠性与安全性,直接影响着整个计算机系统的运行可靠性与安全性。
在软件的生命期中,其维护成本已占软件成本的70%。操作系统是否具有较好的维护性是决定操作系统生命周期长短的重要因素。系统提供的各种服务能方便用户使用,人们对易用性要求越来越重视,它涉及计算机系统使用的简单性、可操作性、可携带性等。
操作系统的功能应该不断被加强、改进和完善。在引进新的系统组件时不应干扰现有的服务能力,从而能够适应不断发展的应用需求。
为了能够集成不同厂家生产的计算机及设备,且能正确有效地协同工作,支持应用程序的可移植性和互操作性,要求操作系统具有开放性。第一章操作系统概论
1.1操作系统概念
1.2操作系统的形成和发展
1.3操作系统的分类
1.4操作系统的结构设计
1.5Linux操作系统简介
1.2操作系统的形成和发展
1.2.1硬件软件的发展轨迹
1.2.2手工操作阶段
1.2.3早期批处理阶段
1.2.4执行系统阶段
1.2.5多道程序系统阶段
1.2.6
操作系统的形成
1.2.1硬件软件的发展轨迹
1.硬件
年代硬件特点操作系统特点背景机械计算机时代(17世纪~20世纪初)①纯机械结构,低速②只能进行简单的数学运算纯手工操作从计算尺到差分机再到分析机发展了数百年第一代计算机(1946年~20世纪50年代末)电子管计算机①体积大,能耗高,故障多,价格贵②难以普及应用无操作系统,手工操作阶段(程序以机器码编写,载体从插件板到卡片与纸带)1906年发明电子管;1946年第一台电子管计算机ENIAC研制成功第二代计算机(20世纪50年代末~60年代中期)晶体管计算机①采用印刷电路②稳定性与可靠性大大提高③批量生产成为可能④进入实际应用领域但数量有限①单道批处理系统②操作系统以监督软件形式出现③任务按顺序方式处理1947年发明晶体管1.2.1硬件软件的发展轨迹
1.硬件(续)
年代硬件特点操作系统特点背景第三代计算机(20世纪60年代中期~70年代初)集成电路计算机①体积减小,性价比迅速提高②小型计算机发展迅速③进入商业应用领域④尚不适合家庭应用的需求①涌现大批操作系统,包括多道批处理系统、分时系统和实时系统②奠定了现代操作系统的基本框架1958年发明集成电路;1971年Intel公司发明微处理器第四代计算机(20世纪70年代中期至今)大规模集成电路计算机①性能大幅度提高,价格不断下降②个人计算机成为市场的主流③计算机迅速普及④计算机应用进入高速发展的轨道①操作系统的理论基本完善②系统与网络通讯一体化(分布式操作系统和网络操作系统)③人机交互成为设计重点④操作系统性能日渐稳定1981年IBM-PC机诞生;1993年Internet开始商业化运作1.2.1硬件软件的发展轨迹
2.软件
主流操作系统系统特点计算机语言软件特点背景无软件时期无手工操作无编程语言,直接使用机器代码手工操作1936年图灵提出图灵机模型系统雏形期单道批处理系统作业运行的监督程序编程语言雏形期无交互机制1957年FORTRAN语言开发成功操作系统理论的成形期多道批处理系统分时系统实时系统多处理系统操作系统结构确立,分为处理机管理、内存管理、设备管理、文件管理等模块①编程语言大量涌现②结构化程序设计③C语言逐渐成为主导①字符式人机交互界面②操作命令繁多20世纪60年代的软件危机引发了软件工程的发展1969年Unix诞生1972年C语言推出1.2.1硬件软件的发展轨迹
2.软件(续)
主流操作系统系统特点计算机语言软件特点背景现代操作系统时期类Unix系列Windows系列人机交互成为主题①可视化界面②多媒体技术面向对象语言成为主流①过渡至图形界面②注重操作可视化20世纪80年代中期,面向对象技术开始逐步发展网络时代网络操作系统分布式操作系统微内核技术兴起Java语言和脚本语言兴起追求设计个性化;注重感官效果1995年推出Java开源软件时代嵌入式系统单内核与微内核竞争激烈编程工具向跨平台方向发展可移植性成为主题1991年发布了免费的操作系统Linux1.2操作系统的形成和发展
1.2.1硬件软件的发展轨迹
1.2.2手工操作阶段
1.2.3早期批处理阶段
1.2.4执行系统阶段
1.2.5多道程序系统阶段
1.2.6
操作系统的形成
1.2.2手工操作阶段
在计算机发展的初期,没有操作系统,人们只能依靠手工操作使用计算机。由程序员采用手工方式直接控制和使用计算机硬件,程序员使用机器语言编程,并将事先准备好的程序和数据穿孔在纸带或卡片上,从纸带或卡片输入机将程序和数据输入计算机。然后,启动计算机运行,程序员可以通过控制台上的按钮、开关和氖灯来操纵和控制程序,运行完毕,取走计算输出的结果,才轮到下一个用户上机。
手工操作的特点是:(1)上机用户独占全机资源;(2)手工操作时间长;(3)用户要熟悉机器各部分的细节,使用不当易出错。
1.2操作系统的形成和发展
1.2.1硬件软件的发展轨迹
1.2.2手工操作阶段
1.2.3早期批处理阶段
1.2.4执行系统阶段
1.2.5多道程序系统阶段
1.2.6
操作系统的形成
1.2.3早期批处理阶段
这一阶段的系统程序称为监督程序。
批量处理又有以下两个阶段
:
联机批处理
脱机批处理
1.2.3早期批处理阶段
1.联机批处理
该方式的基本思路是:操作员有选择地把若干作业汇合成一批,由监督程序控制将它们逐个地输入到磁带上;执行开始后,监督程序按一定算法从磁带上选择第一个作业装入内存,并对该作业进行汇编或编译,经装配链接成为目标程序,然后启动程序运行;运行结束,将其结果进行输出。第一个作业全部完成之后,监督程序自动地取出该批作业的第二个作业执行,执行过程同上。
1.2.3早期批处理阶段
2.脱机批处理
示意图如下:
操作员选中的一批作业先后从卡片机上逐个地经卫星机控制读进磁带机中;主机运行时,只需从快速的磁带机上逐个读入作业并处理之,并把处理的结果输出到快速的输出磁带上就可以了。输入磁带上的一批作业处理完了,输出磁带上也就记录了这批作业的对应结果。然后,在卫星机的控制下,再把输出磁带上的结果顺序地在慢速打印机上打印出来。
1.2操作系统的形成和发展
1.2.1硬件软件的发展轨迹
1.2.2手工操作阶段
1.2.3早期批处理阶段
1.2.4执行系统阶段
1.2.5多道程序系统阶段
1.2.6
操作系统的形成
1.2.4执行系统阶段
硬件获得了两方面的进展,一是通道的引入,二是中断技术的出现,这两项重大成果导致了操作系统进入执行系统阶段。
通道是一种专用处理部件,它能控制一台或多台外设工作,负责外部设备和内存之间的信息传输。它一旦被启动就能独立于CPU运行,这样可使CPU和通道并行操作,而且CPU和各种外部设备也能并行操作。
所谓中断是指当主机接到外部信号(如设备完成信号)时,马上停止原来的工作,转去处理这一事件,处理完毕之后,主机又回到原来的断点继续工作。
1.2.4执行系统阶段
(续)
借助于通道、中断技术,输入输出工作可在主机控制下完成。这时,原有的监督程序的功能扩大了,它不仅要负责调度作业自动地运行,而且还要提供输入输出控制功能(用户不能直接使用启动外设的指令,他的输入输出请求必须通过系统去执行)。这个发展了的监督程序常驻内存,称为执行系统。
1.2操作系统的形成和发展
1.2.1硬件软件的发展轨迹
1.2.2手工操作阶段
1.2.3早期批处理阶段
1.2.4执行系统阶段
1.2.5多道程序系统阶段
1.2.6
操作系统的形成
1.2.5多道程序系统阶段
在通道技术和中断技术的支持下,产生了多道程序设计技术。多道程序设计是指允许多个程序(作业)同时进入一个计算机系统的内存储器并启动进行交替计算的方法。也就是说,计算机内存中同时存放了多道程序。1.2.5多道程序系统阶段(续)
1.单道程序
内存中仅有单个程序在运行,致使系统中仍有许多资源空闲,设备利用率低,系统性能较差。单道程序工作示例
1.2.5多道程序系统阶段(续)
2.多道程序
引入多道程序设计技术的根本目的是提高CPU的利用率,充分发挥计算机系统部件的并行性,现代计算机系统都采用了多道程序设计技术。
多道程序工作示例
1.2.5多道程序系统阶段(续)
多道运行的特征是:(1)多道。即计算机内存中同时存放几道相互独立的程序。(2)宏观上并行。同时进入系统的几道程序都处于运行过程中,即它们先后开始了各自运行,但都未运行完毕。(3)微观上串行。从微观上看,内存中的多道程序轮流地或分时地占用处理机,交替执行。
1.2操作系统的形成和发展
1.2.1硬件软件的发展轨迹
1.2.2手工操作阶段
1.2.3早期批处理阶段
1.2.4执行系统阶段
1.2.5多道程序系统阶段
1.2.6
操作系统的形成
1.2.6操作系统的形成
多道程序系统继承并发扬了批量处理和执行系统的特点,使得作业操作过程更加自动化,在多道程序系统出现不久就出现了分时系统。多道程序和分时系统的出现,标志着操作系统的正式形成。
随着计算机网络和微型计算机组成的多机系统的出现,近年来又发展了网络操作系统和分布式操作系统。
第一章操作系统概论
1.1操作系统概念
1.2操作系统的形成和发展
1.3操作系统的分类
1.4操作系统的结构设计
1.5Linux操作系统简介
1.3操作系统的分类
1.3.1批处理操作系统1.3.2分时操作系统1.3.3实时操作系统1.3.4微机操作系统1.3.5网络操作系统1.3.6分布式操作系统1.3.7嵌入式操作系统1.3.1批处理操作系统
批处理操作系统的基本特征是“批量处理”,它是将作业成批装人计算机,由操作系统将其组织好,按某种调度算法选择一道或几道作业装人内存运行。它的设计目标主要是提高资源利用率与系统的吞吐量(单位时间内完成作业的数量)。批处理操作系统分为单道批处理系统和多道批处理系统两种。
1.3.1批处理操作系统1.单道批处理系统
作业是按批量顺序进入内存,每次只有一道作业在内存中运行。特点是:(1)单道性。监督程序每次只从磁带上装入一道作业到内存中运行,程序运行结束或出现异常才装入其后的作业运行;(2)顺序性。磁带上的一批作业按顺序装入内存执行;(3)自动性。磁带上的一批作业在监督程序的管理下自动执行,无须人工干预。1.3.1批处理操作系统2.多道批处理系统
在内存中装入多道作业,使它们同时运行、共享系统资源。在单处理机系统中,内存中的作业只是在宏观上“同时”运行,即指多道作业都已开始运行,但尚未完成。在微观上,各作业是交替执行。任意时刻只有一道作业在处理机上运行。
1.3.1批处理操作系统2.多道批处理系统
(续)
多道批处理系统实现了CPU与I/O设备的并行操作。从而提高了系统资源的利用率与系统工作效率。具体表现为:(1)多道作业并行工作,减少了处理器的空闲时间,即提高了处理器的利用率;(2)作业调度可以按一定的组合选择装入内存的作业,只要搭配合理,例如,把请求使用不同设备的作业组合在一起,计算型作业与I/O型作业合理搭配,则可充分利用计算机系统的资源;(3)成批输入、自动选择和控制作业执行,减少了人工操作时间和作业切换时间。作业执行过程中,不再访问低速的设备,而是直接在高速的磁盘上存取信息,缩短了作业执行时间,有利于提高系统的吞吐量。1.3.1批处理操作系统2.多道批处理系统
(续)
多道批处理系统的主要特征与单道批处理系统相比,具有以下三个特征:(1)多道性。允许内存中同时装入多个作业并发执行,以充分利用系统资源。多道批处理系统的资源利用效率是基于各作业对系统资源的需求差异得到的。
(2)调度性。在外存后备队列中的多个作业,哪些装入内存,由作业调度程序按一定的策略来调度,作业装入内存并创建进程后,再由进程调度程序分配处理器。
(3)无序性。与单道批处理系统不同,在内存中的多个作业的执行次序,完成时间都与进入内存的先后顺序没有直接的对应关系。1.3操作系统的分类
1.3.1批处理操作系统1.3.2分时操作系统1.3.3实时操作系统1.3.4微机操作系统1.3.5网络操作系统1.3.6分布式操作系统1.3.7嵌入式操作系统1.3.2分时操作系统1.分时系统的概念
所谓分时系统(TimeSharingOperatingSystem)是指一台主机与多个终端相连,允许多个用户通过终端同时以交互的方式使用计算机系统,共享资源,这种系统使得每个用户感到好像自己独占一台支持自己请求服务的计算机系统。
采用了分时技术。即把CPU时间进行分割成一定大小的时间段,每个时间段称为一个时间片,每个终端用户每次可以使用一个由时间片规定的CPU时间。多个终端用户就轮流地使用CPU,循环轮转,直至结束。1.3.2分时操作系统2.分时系统的实现
分时系统有不同的实现形式:(1)单道分时系统:早期的分时系统,内存中只允许一道作业运行,系统采用调入-调出的方式来实现,I/O开销太大,系统性能较差;(2)前台后台分时系统:这种实现方式是把内存划分成前台区与后台区,前台区存放分时作业,优先执行;后台区存放批处理作业,当前台区没有分时作业时,系统调度后台区的批处理作业运行。(3)多道分时系统:多道程序在内存中同时执行。
1.3.2分时操作系统3.分时系统的特征
与批处理系统相比具有如下特征:
(1)同时性。允许多个终端用户同时使用一个计算机系统,共享系统资源,提高了资源利用率,促进了计算机的普遍应用;(2)独立性。用户在各自的终端上请求系统服务,彼此独立,互不干扰;(3)及时性。系统能及时对用户的操作进行响应,显著提高调试和修改程序的效率,缩短了周转时间;(4)交互性。采用联机(On-line)的人一机对话的工作方式,用户在终端上可以直接输入、调试和运行自己的程序。
1.3操作系统的分类
1.3.1批处理操作系统1.3.2分时操作系统1.3.3实时操作系统1.3.4微机操作系统1.3.5网络操作系统1.3.6分布式操作系统1.3.7嵌入式操作系统1.3.3实时操作系统1.实时系统的概念
所谓“实时”是指对随机发生的外部事件作出及时的响应并能对其进行处理。所谓外部事件是指来自与计算机系统相连接的设备所提出的服务要求,而不是由人来启动和直接干预而引起的。
实时操作系统(RealTimeOperatingSystem)的主要特点是响应及时和可靠性高。它的设计目标是能对特定的输入作出及时响应,并在规定的时间内完成对该事件的处理。
1.3.3实时操作系统1.实时系统的概念(续)
实时系统通常包括实时过程控制和实时信息处理两种系统。
(1)实时过程控制系统。在这类应用中要求计算机系统实时采集被测量系统数据,并对其及时进行加工处理及输出。(2)实时信息处理系统。在这类应用中要求计算机系统能对用户的服务请求及时作出回答,并能及时修改、处理系统中的数据。1.3.3实时操作系统2.实时系统的特征
实时系统具有如下特征:(1)同时性。实时信息处理系统允许多个终端用户同时共享使用一个计算机系统,实时控制系统也可以对多个控制对象进行控制或进行多路现场信息采集。(2)独立性。实时信息处理系统用户在各自的终端上请求系统服务,彼此独立,互不干扰。(3)及时性。实时系统对及时性的要求比分时系统更高。特别是实时控制系统,它根据控制对象所能等待时间来确定。(4)交互性。实时系统具有一定的交互性,较分时系统弱。(5)可靠性。实时系统要求有非常高的可靠性,否则可能带来灾难性后果。1.3操作系统的分类
1.3.1批处理操作系统1.3.2分时操作系统1.3.3实时操作系统1.3.4微机操作系统1.3.5网络操作系统1.3.6分布式操作系统1.3.7嵌入式操作系统1.3.4微机操作系统
从七十年代中期到八十年代早期,微型计算机上运行的一般是单用户单任务操作系统,如:CP/M、MS-DOS。八十年代以后到九十年代初,微机操作系统开始支持单用户多任务和分时操作。以MP/M、XENIX和后期MS-DOS为代表。近年来,微机操作系统得到了进一步发展,以Windows、OS2、MACOS和Linux为代表的新一代微机操作系统具有GUI、多用户和多任务、虚拟存储管理、网络通信支持、数据库支持、多媒体支持、应用编程支持API等功能。
还具有以下特点:
(1)开放性;(2)通用性;(3)高性能;(4)采用微内核结构。1.3操作系统的分类
1.3.1批处理操作系统1.3.2分时操作系统1.3.3实时操作系统1.3.4微机操作系统1.3.5网络操作系统1.3.6分布式操作系统1.3.7嵌入式操作系统1.3.5网络操作系统
网络操作系统是在一般操作系统功能的基础上提供网络通信和网络服务功能的操作系统,它是为网上计算机进行方便而有效的网络资源共享,提供网络用户所需各种服务的软件和相关协议的集合。网络操作系统主要有两种工作模式:客户机/服务器(Client/Server)模式,对等(Peer-to-Peer)模式。
1.3.5网络操作系统(续)
网络操作系统应该具有以下几项功能:(1)网络通信。其任务是在源计算机和目标计算机之间,实现无差错的数据传输。(2)资源管理。对网络中的所有硬、软件资源实施有效管理,协调诸用户对共享资源的使用,保证数据的一致性、完整性。(3)网络管理。包括安全控制、性能监视、维护功能等;(4)网络服务。如电子邮件、文件传输、共享设备服务、远程作业录入服务等。
1.3.5网络操作系统(续)
目前,计算机网络操作系统有三大主流:UNIX、Netware和WindowsNT。UNIX是唯一能跨多种平台的操作系统;WindowsNT工作在微机和工作站上;Netware则主要面向微机。支持C/S结构的微机网络操作系统则主要有:Netware、UNIXware、WindowsNT、LANManager和LANServer等。
1.3操作系统的分类
1.3.1批处理操作系统1.3.2分时操作系统1.3.3实时操作系统1.3.4微机操作系统1.3.5网络操作系统1.3.6分布式操作系统1.3.7嵌入式操作系统1.3.6分布式操作系统
分布式系统是以计算机网络为基础的,它的基本特征是处理上的分布,即功能和任务的分布。分布式操作系统的所有系统任务可在系统中任何处理机上运行,自动实现全系统范围内的任务分配并自动调度各处理机的工作负载。分布式计算机系统是指由多台分散的计算机,经互连网络连接而成的系统,每台计算机高度自治,又相互协同,能在系统范围内实现资源管理,任务分配、能并行地运行分布式程序。
1.3.6分布式操作系统(续)分布式操作系统与网络操作系统的比较:(1)耦合程度。分布式系统是紧密耦合系统。(2)并行性。分布式操作系统可以将一个进程分散在各处理机上并行执行“进程迁移”;网络则各处理机上的进程独立。(3)透明性。分布式系统的网络资源调度对用户透明,用户不了解所占有资源的位置;网络操作系统中对网络资源的使用要由用户明确指定。
(4)健壮性。分布式系统具有更强的容错能力,能够实现系统重构。1.3操作系统的分类
1.3.1批处理操作系统1.3.2分时操作系统1.3.3实时操作系统1.3.4微机操作系统1.3.5网络操作系统1.3.6分布式操作系统1.3.7嵌入式操作系统1.3.7嵌入式操作系统
嵌入式操作系统指运行在嵌入式(计算机)环境中,对整个系统及所有操作的各种部件、装置等资源进行统一协调、处理、指挥和控制的系统软件。嵌入式操作系统与应用环境密切相关。按应用范围划分,可把它分成通用型嵌入式操作系统和专用型嵌入式操作系统。前者可适用于多种应用领域,比较有名的有WindowsCE、嵌入式Linux。1.3.7嵌入式操作系统(续)
嵌入式操作系统特点:
微型化
可定制
实时性
可靠性
易移植性
第一章操作系统概论
1.1操作系统概念
1.2操作系统的形成和发展
1.3操作系统的分类
1.4操作系统的结构设计
1.5Linux操作系统简介
1.4操作系统的结构设计
1.4.1整体式结构的操作系统
1.4.2层次式结构的操作系统
1.4.3虚拟机结构的操作系统
1.4.4客户/服务器结构的操作系统
1.4.5微内核结构的操作系统
1.4.1整体式结构的操作系统
操作系统的整体式结构又叫模块组合法,是基于结构化程序设计的一种软件结构设计方法。主要设计思想和步骤如下:把模块作为操作系统的基本单位,按照功能需要而不是根据程序和数据的特性把整个系统分解为若干模块,还可以再进一步分成子模块,每个模块具有一定独立功能,若干个关连模块协作完成某个功能;各模块分别设计、编码、调试各个模块;最后,把所有模块连结成一个完整的系统。
1.4.1整体式结构的操作系统(续)
主要优点是:结构紧密、组合方便,对不同环境和用户的不同需求,可以组合不同模块来满足,从而,灵活性大;针对某个功能可用最有效的算法和任意调用其他模块中的过程来实现,因此,系统效率较高;由于划分成模块和子模块,设计及编码可齐头并进,能加快操作系统研制过程。
主要缺点是:模块独立性差,模块之间牵连甚多,形成了复杂的调用关系,甚至有很多循环调用,造成系统结构不清晰,正确性难保证,可靠性降低,系统功能的增、删、改十分困难。1.4操作系统的结构设计
1.4.1整体式结构的操作系统
1.4.2层次式结构的操作系统
1.4.3虚拟机结构的操作系统
1.4.4客户/服务器结构的操作系统
1.4.5微内核结构的操作系统
1.4.2层次式结构的操作系统
所谓层次式结构,是把操作系统划分为内核和若干模块,这些模块按功能的调用次序排列成若干层次,各层之间只能是单向依赖或单向调用关系,即低层为高层服务,高层可以调用低层的功能,反之则不能。层次结构可以有全序和半序之分。如果各层之间是单向依赖的,并且每层中的诸模块之间也保持独立,没有联系,则这种层次结构被称为是全序的。如果各层之间是单向依赖的,但在某些层内允许有相互调用或通信的关系,则这种层次结构称为半序的。
层次结构的最大优点是把整体问题局部化,由于把复杂的操作系统依照一定的原则分解成若干单一功能的模块,这些模块组织成层次结构,具有单向依赖性,使层次间的依赖和调用关系更为清晰规范。1.4操作系统的结构设计
1.4.1整体式结构的操作系统
1.4.2层次式结构的操作系统
1.4.3虚拟机结构的操作系统
1.4.4客户/服务器结构的操作系统
1.4.5微内核结构的操作系统
1.4.3虚拟机结构的操作系统
虚拟机结构是在裸机上扩展一层层软件,使相同硬件系统的计算机由于软件不同而具有各种不同的性能。虚拟机结构通常采用层次化结构的设计方法来实现。从裸机A0开始,在它上面添加一层软件,使机器的功能得以扩充,形成了一台功能比原来机器要强的虚拟机A1。又从A1出发,在它上面添加一层新的软件,把A1改造成功能更强的虚拟机A2。就这样“添加——扩充——再添加”,最终实现一台具有所需操作系统各项功能的虚拟机。
1.4操作系统的结构设计
1.4.1整体式结构的操作系统
1.4.2层次式结构的操作系统
1.4.3虚拟机结构的操作系统
1.4.4客户/服务器结构的操作系统
1.4.5微内核结构的操作系统
1.4.4客户/服务器结构的操作系统
客户/服务器结构的思想如下:将操作系统分成两大部分,一是运行在用户态并以客户/服务器方式活动的进程;二是运行在核心态的内核。除内核部分外,操作系统的其他部分被分成若干相对独立的进程,每一个进程实现一类服务,称服务器进程。用户进程也在该层并以客户/服务器方式活动。客户进程发出消息,内核将消息传送给服务器进程,服务器进程执行客户提出的服务请求,在满足客户的要求后再通过内核发送消息把结果返回给用户。于是,客户进程与服务器进程形成了客户/服务器关系。1.4操作系统的结构设计
1.4.1整体式结构的操作系统
1.4.2层次式结构的操作系统
1.4.3虚拟机结构的操作系统
1.4.4客户/服务器结构的操作系统
1.4.5微内核结构的操作系统
1.4.5微内核结构的操作系统
微内核是指把操作系统结构中的内存管理、设备管理、文件系统等高级服务功能尽可能地从内核中分离出来,变成几个独立的非内核模块,而在内核只保留少量最基本的功能,使内核变得简洁可靠。
其优点如下:
充分的模块化,可独立更换任一模块而不会影响其他模块,从而方便第三方开发、设计模块;
未被使用的模块功能不必运行,因而能大幅度减少系统的内存需求;
具有很高的可移植性,理论上讲只需要单独对各微内核部分进行移植修改即可。由于微内核的体积通常很小,而且互不影响,因此工作量很小。第一章操作系统概论
1.1操作系统概念
1.2操作系统的形成和发展
1.3操作系统的分类
1.4操作系统的结构设计
1.5Linux操作系统简介
1.5Linux操作系统简介
1.5.1Linux系统的特点
1.5.2Linux和其他系统的区别
1.5.1Linux系统的特点
Linux是一种支持多用户、多线程、多进程、实时性好、功能强大而稳定的操作系统。Linux是由LinusBenedictTorvalds等众多软件高手共同开发的,是一种能运行于多种平台、源代码公开、免费、功能强大、遵守POSIX标准、与UNIX兼容的操作系统。1.5.2Linux和其他系统的区别
1.Linux和UNIX的不同
最主要的不同点如下:Linux是免费的,但是UNIX却极其昂贵。对于应用程序也一样,很多非常优秀的应用程序在Linux上都可以免费得到或要便宜得多;Linux可以在很多不同的硬件平台上运行,其中大众化的Intel处理器和IBM兼容机占据了主导地位;而典型的UNIX都是和提供商的专有硬件捆绑在一起的,这些硬件的价格更是远远高于一般的PC的价格;使用Linux的用户是计算机的真正主宰;而对于UNIX,用户只是一个“许可用户”。第2章用户界面
2.1用户工作环境2.2操作系统用户界面2.3系统调用2.4Linux的用户界面2.1用户工作环境
2.1.1用户环境2.1.2系统生成和系统启动2.1.3运行一个用户程序的过程2.1.1用户环境形成用户环境包含下面3个方面的工作。①设计合理的操作命令,它允许用户处理由操作系统支持的各种目标,如设备、文件、进程。②提供各种硬件资源,并要提供关于操作系统的使用说明。③将操作系统装入计算机,并对系统参数和控制结构进行初始化,以使计算机系统能够为用户工作。2.1.2系统生成和系统启动系统初启又叫系统引导。它的任务是把操作系统的必要部分装入内存并使系统运行,最终使系统处于命令接收状态。系统引导分为3个阶段。①初始引导:把系统核心装入内存中的指定位置,并在指定地址启动。②核心初始化:执行系统核心的初启子程序,初始化系统核心数据。③系统初始化:为用户使用系统做准备。(1)初始引导初始引导也叫自举。自举的含义是操作系统把自己建立起来,这是目前大多数系统所常用的一种引导方法。初始引导的任务就是把核心送入内存并启动它运行。系统核心是存放在辅存上的。如何能在辅存上的文件中找到这个核心并送到内存中,这需要有一程序做这件事,该程序称为装配程序。然而,这一装配程序也在辅存中,如何把该装配程序首先装入内存呢?这需要有一个初始引导程序,而且这个程序必须在一开机时能自动运行,这就只有求助于硬件了。在现代大多数计算机系统中,在它的只读存储器中都有一段用于初始引导的固化代码。当系统加电或按下某种按钮时,硬件电子线路便会自动地把只读存储器中这段初始引导程序读入内存,并将CPU的控制权交给它。初始引导程序的任务是将辅存中的装配程序读入内存。这个装配程序必须存放在辅存的固定位置(称为引导块)上,只读存储器只会从这个引导块中读取内容。这就要求将装配程序事先存放在这个引导块上。(2)核心初始化①核心页表寄存器与核心数据初始化。②建立0号进程。0号进程是系统建立的第1个且永远处于核心态的唯一的进程。它的主要任务是按照系统的需要把即将运行的进程送入内存,并把近期内不运行的进程送到辅存上。③建立1号进程。1号进程是建立初始进程,它的作用是实现系统的初始化。(3)系统初始化这一阶段的主要任务是做好一切准备工作,使系统处于命令接受状态,这时用户可以使用机器了。系统初始化是由1号进程执行初始化程序实现的。它分为两个阶段完成:为控制台终端建造一个进程,执行命令解释程序,接受操作员或用户的命令;系统继续为若干用户终端建立命令解释进程,接受一般用户的命令(这一环境称为多用户环境)。这时,一般用户就可以用系统了,系统初启全部完成。2.1.3运行一个用户程序的过程控制计算机工作的最简单的办法是,由操作员通过控制台(或用户在终端设备上)键入一条条命令。用户可先将源程序通过编辑建立在磁盘上,接着发“编译”命令,操作系统接到这条命令后,将编译程序调入内存并启动它工作。然后,用户再发出“连接”命令,操作系统执行该命令,将生成一个完整的、可执行的内存映像程序。最后发出“运行”命令,由操作系统启动内存映像程序运行,从而计算出结果。图2-1作业处理的4个步骤①编辑(修改):建立一个新文件,或对已有的文件中的错误进行修改。②编译:将源程序翻译成目标代码。完成这一步工作需要有相应语言的编译器。③连接:将主程序和其他所需要的子程序和例行程序连接装配在一起,使之成为一个可执行的、完整的内存映像文件。④运行:将内存映像文件调入内存,并启动运行,最后得出计算结果。2.2操作系统用户界面2.2.1操作系统的用户界面2.2.2操作接口2.2.3图形用户接口2.2.1操作系统的用户界面操作系统可以通过程序接口和操作接口两种方式把它的服务和功能提供给用户。程序接口又称应用编程接口,程序中使用这个接口可以调用操作系统的服务和功能。许多操作系统的程序接口由一组系统调用(systemcall)组成,因此,用户在编写的程序中使用“系统调用”就可以获得操作系统的底层服务,使用或访问系统管理的各种软硬件资源。操作接口又称命令接口,是操作系统为用户操作控制计算机工作和提供服务的手段的集合,通常可借助操作控制命令、图形操作界面等来实现。2.2.2操作接口根据这些命令所完成功能的不同,可把它们分成以下几类:系统访问类,磁盘操作类,文件操作类,目录操作类,通信类,其他命令。1.系统访问类用户在每次开始使用某终端时,都须使用该命令,使系统能识别该用户。凡要在多用户系统的终端上上机的用户,都必须先在系统管理员处获得一合法的注册名和口令。以后,每当用户在接通其所用终端的电源后,便由系统直接调用,并在屏幕上显示信息提示用户键入自己的注册名和口令。2.键盘操作命令(1)磁盘格式化命令(2)复制整个软盘命令(3)软盘比较命令(4)备份命令3.文件操作命令(1)显示文件命令(2)拷贝文件命令(3)文件比较命令(4)重新命名命令(5)删除文件命令
4.目录操作命令(1)建立子目录命令(2)显示目录命令(3)删除子目录命令(4)显示目录结构命令(5)改变当前目录命令5.其他命令(1)输入/输出重定向命令如果在命令中设置输出重定向“>”符,其后接文件名或设备名,表示将命令的输出改向,送到指定文件或设备上。类似地,若在命令中设置输入重定向“<”符,则不再是从键盘而是从重定向符左边参数所指定的文件或设备上,取得输入信息。(2)管道连接管道连接是指把第1条命令的输出信息作为第2条命令的输入信息;类似地,又可把第2条命令的输出信息作为第3条命令的输入信息。这样,由两个(含两条)以上的命令可形成一条管道。在操作系统中,通常使用“|”作为管道符号。其一般格式为:Command1|Command2|…|Commandn。(3)过滤命令例如,MS-DOS中用命令
find/N"erase"(路径名)可对由路径名指定的输入文件逐行检索,把含有字符串“erase”的行输出。其中,/N是选择开关,表示输出含有指定字串的行;如果不用N而用C,则表示只输出含有指定字串的行数;若用V,则表示输出不含指定字串的行。(4)批命令为了能连续地使用多条键盘命令,或多次反复地执行指定的若干条命令,而又免去每次重敲这些命令的麻烦,可以提供一特定文件。2.2.3图形用户接口GUI采用了图形化的操作界面,使用WIMP技术(即窗口Window、图符Icon、菜单Menu和鼠标Pointingdevice),引入形象的各种图符将系统的各项功能、各种应用程序和文件,直观、逼真地表示出来。用户可以通过选择窗口、菜单、对话框和滚动条完成对他们作业和文件的各种控制和操作。GUI采用了图形化的操作界面,使用WIMP技术(即窗口Window、图符Icon、菜单Menu和鼠标Pointingdevice),引入形象的各种图符将系统的各项功能、各种应用程序和文件,直观、逼真地表示出来。用户可以通过选择窗口、菜单、对话框和滚动条完成对他们作业和文件的各种控制和操作。此时,用户不必死记硬背操作命令,而能轻松自如地完成各项工作。2.3系统调用
2.3.1系统调用的基本概念2.3.2系统调用的基本类型2.3.2系统调用的实现
2.3.1系统调用的基本概念系统调用是为了扩充机器功能、增强系统能力、方便用户使用而建立的。用户程序或其他系统程序通过系统调用就可以访问系统资源,调用操作系统功能,而不必了解操作系统内部结构和硬件细节,它是用户程序或其他系统程序获得操作系统服务的唯一途径。系统调用本质上是应用程序请求操作系统内核完成某功能时的一种过程调用,但它是一种特殊的过程调用,它与一般的过程调用有下述几方面明显的差别。①调用形式不同。过程(函数)使用一般调用指令,其转向地址是固定不变的,包含在跳转语句中;但系统调用中不包含处理程序入口,而仅仅提供功能号,按功能号调用。②被调用代码的位置不同。过程(函数)调用是一种静态调用,调用者和被调用代码在同一程序内,经过连接编辑后作为目标代码的一部份。而系统调用是一种动态调用,系统调用的处理代码在调用程序之外(在操作系统中),这样一来,系统调用处理代码升级或修改时,与调用程序无关。③提供方式不同。过程(函数)往往由编译系统提供,不同编译系统提供的过程(函数)可以不同;系统调用由操作系统提供,一旦操作系统设计好,系统调用的功能、种类与数量便固定不变了。④调用的实现不同。程序使用一般机器指令(跳转指令)来调用过程(函数),是在用户态运行的;程序执行系统调用,是通过中断机构来实现,需要从用户态转变到核心态,在管理状态执行。2.3.2系统调用的基本类型1.进程控制类系统调用①创建和终止进程的系统调用。②获得和设置进程属性的系统调用。③等待某事件出现的系统调用。2.文件操纵类系统调用①创建和删除文件。②打开和关闭文件。③读和写文件。3.进程通信类系统调用在操作系统中经常采用两种进程通信方式,即消息传递方式和共享存储区方式。4.设备管理系统调用申请设备、释放设备、设备I/O和重定向、获得和设置设备属性、逻辑上连接和释放设备。5.内存管理系统调用申请内存和释放内存;虚拟存储器的管理。6.信息维护系统调用建立和断开通信连接、发送和接收消息、传送状态信息、联接和断开远程设备。2.3.2系统调用的实现在操作系统中,实现系统调用功能的机制称陷入或异常处理机制,由于系统调用而引起处理器中断的机器指令称访管指令(supervisor)、陷入指令(trap)或异常中断指令(interrupt)。系统调用的实现有以下几点:编写系统调用处理程序;设计一张系统调用入口地址表,每个入口地址都指向一个系统调用的处理程序,有的系统还包含系统调用自带参数的个数;陷入处理机制,需开辟现场保护区,以保存发生系统调用时的处理器现场。图2-2系统调用的处理过程2.4Linux的用户界面2.4.1Linux的命令行接口2.4.2Linux的图形方式2.4.3Linux的系统调用2.4.4与系统调用有关的数据结构
2.4.1Linux的命令行接口Linux命令行是Linux系统的核心,利用命令行可以对系统进行各种配置,要熟练并成功地管理Linux操作系统,必须对Linux下的命令行有深入的理解。与图形界面相比,利用命令行对系统进行管理和操作显得更为快捷和安全。特别是在服务器应用方面,Linux命令行更是处于一种核心的应用,这主要是因为在字符界面下的操作具有更大的稳定性和安全性能。2.4.2Linux的图形方式Linux桌面发行版通常包含了XWindow系统(也称X),包括桌面管理器和窗口管理器。桌面管理器使得可以通过图标而不用输入操作命令来实现用户与系统程序的交互。目前,比较流行的桌面管理器有GNOME和KDE。GNOME即GNU网络对象模型环境(TheGNUNetworkObjectModelEnvironment),是开放源码运动的一个重要组成部分。KDE是KDesktopEnvironment(K桌面环境)的缩写。KDE是一种著名的运行于UNIX以及Linux,FreeBSD等类UNIX操作系统上面的自由图形工作环境。2.4.3Linux的系统调用Linux通过各种系统调用为应用系统、为进程提供了编程界面。Linux的系统调用形式与POSIX兼容,也是一套C语言函数名的集合,如fork(),exit(),read(),write()等,共221个(2.4.0版)。Linux系统调用的内部实现方式是经过INT0X80软中断调用进入后,再根据系统调用号分门别类地服务。2.4.4与系统调用有关的数据结构1.系统调用响应函数的函数名约定函数名以“sys_”开头,后跟该系统调用的名字,由此构成221个形似sys_name()的函数名。例如,系统调用fork()的响应函数是sys_fork()(kernel/fork.c);exit()的响应函数是sys_exit()(kernel/exit.c)。2.系统调用号文件include/asm-i386/unistd.h为每个系统调用规定了唯一的编号,部分编号如下所示:
8#define__NR_exit 19#define__NR_fork 210#define__NR_read 311#define__NR_write 412#define__NR_open 513#define__NR_close 6…3.1中央处理器任何系统软件都是硬件功能的延伸操作系统直接依赖于硬件条件OS的硬件环境以较分散的形式同各种管理相结合实现操作系统时必须理解的计算机基本结构操作系统管理的重要资源3.1中央处理器3.1.1CPU的构成与基本工作方式3.1.2特权指令和非特权指令3.1.3处理器状态3.1.4程序状态字3.1.1CPU的构成与基本工作方式
处理器由运算器、控制器、一系列的寄存器以及高速缓存构成运算器实现指令中的算术和逻辑运算,是计算机计算的核心控制器负责控制程序运行的流程,包括取指令、维护CPU状态、CPU与内存的交互等等寄存器是指令在CPU内部作处理的过程中暂存数据、地址以及指令信息的存储设备在计算机的存储系统中它具有最快的访问速度两类寄存器用户可见寄存器
高级语言编译器通过算法分配并使用之,以减少程序访问主存次数控制寄存器
用于控制处理器的操作,由OS的特权代码使用,以控制其它程序的执行3.1.1CPU的构成与基本工作方式
处理器由运算器、控制器、一系列的寄存器以及高速缓存构成3.1.1CPU的构成与基本工作方式
处理器由运算器、控制器、一系列的寄存器以及高速缓存构成用户可见寄存器
高级语言编译器通过算法分配并使用之,以减少程序访问主存次数
包括通用寄存器、数据寄存器、地址寄存器数据寄存器(dataregister)主要用于存放操作数地址寄存器(addressregister)用于存储数据及指令的物理地址、线性地址或者有效地址,用于某种特定方式的寻址。如indexregister、segmentpointer、stackpointerI/O地址寄存器I/O缓冲寄存器3.1.1CPU的构成与基本工作方式
处理器由运算器、控制器、一系列的寄存器以及高速缓存构成控制寄存器
用于控制处理器的操作,大部分对于用户是不可见的,一部分可以在某种特权模式(由OS使用)下访问常见的控制和状态寄存器:程序计数器(PC:ProgramCounter),记录将要取出的指令的地址指令寄存器(IR:InstructionRegister),包含最近取出的指令程序状态字(PSW:ProgramStatusWord),记录处理器的运行模式信息等等中断寄存器存储器和I/O模块控制的寄存器3.1.1CPU的构成与基本工作方式
处理器由运算器、控制器、一系列的寄存器以及高速缓存构成高速缓存(内、外)处于CPU和物理内存之间一般由控制器中的内存管理单元(MMU:MemoryManagementUnit)管理访问速度快于内存,低于寄存器利用程序局部性原理使得高速指令处理和低速内存访问得以匹配,从而提高CPU的效率3.1中央处理器3.1.1CPU的构成与基本工作方式3.1.2特权指令和非特权指令3.1.3处理器状态3.1.4程序状态字3.1.2特权指令和非特权指令特权指令:只能由操作系统使用的指令使用多道程序设计技术的计算机指令系统必须要区分为特权指令和非特权指令具体特权指令如启动I/O设备、设置时钟、控制中断屏蔽位、清内存、建立存储键,加载PSW等。常引起处理器状态的切换•CPU如何知道当前运行的是操作系统还是一般应用软件?有赖于处理器状态的标识3.1中央处理器3.1.1CPU的构成与基本工作方式3.1.2特权指令和非特权指令3.1.3处理器状态3.1.4程序状态字3.1.3处理器状态
根据运行程序对资源和机器指令的使用权限将处理器设置为不同状态多数系统将处理器工作状态划分为管态和目态管态:操作系统管理程序运行的状态,较高的特权级别,又称为特权态(特态)、系统态目态:用户程序运行时的状态,较低的特权级别,又称为普通态(普态)、用户态有些系统将处理器状态划分核心状态,管理状态和用户程序状态(目标状态)三种3.1.3处理器状态处理器处于管态时:全部指令(包括特权指令)可以执行可使用所有资源并具有改变处理器状态的能力处理器处于目态时:只有非特权指令能执行特权级别不同,可运行指令集合也不同特权级别越高,可以运行指令集合越大高特权级别对应的可运行指令集合包含低特权级的3.1.3处理器状态实例:x86系列处理器386、486、Pentium系列都支持4个处理器特权级别(特权环:R0、R1、R2和R3)从R0到R3特权能力依次降低R0相当于双状态系统的管态R3相当于目态R1和R2则介于两者之间,它们能够运行的指令集合具有包含关系3.1.3处理器状态目态--管态其转换的唯一途径是通过中断管态--目态可用设置PSW(修改程序状态字)可实现3.1中央处理器3.1.1CPU的构成与基本工作方式3.1.2特权指令和非特权指令3.1.3处理器状态3.1.4程序状态字3.1.4程序状态字处理器状态是在PSW中专门设置一位,根据运行程序使用指令的权限而设置,PSW(ProgramStatusWord)。PSW用来控制指令执行顺序并保留和指示与程序有关的系统状态,主要作用是实现程序状态的保护和恢复。每个进程都有一个与其执行相关的PSW,每个处理器都设置一个PSW寄存器。进程占有处理器执行,它的PSW将占有PSW寄存器。3.1.4程序状态字PSW寄存器包括以下内容:程序基本状态:(1)程序计数器;(2)条件码;(3)处理器状态位。中断码。保存程序执行时当前发生的中断事件。中断屏蔽位。指明程序执行中发生中断事件时,是否响应出现的中断事件。第三章进程管理与调度
3.1中央处理器3.2中断3.3进程及其实现3.4进程的控制3.5进程切换与模式切换3.6处理器调度3.7作业的管理与调度3.8低级调度3.9线程及其基本概念3.10Linux进程管理3.2中断3.2.1中断的概念3.2.2中断的分类3.2.1中断的概念什么是中断?指CPU对系统中或系统外发生异步事件的响应异步事件是指无一定时序关系的随机发生事件CPU暂停正在执行的程序,保留现场后自动转去执行相应事件的处理程序,处理完成后返回断点,继续执行被打断的程序如外部设备完成数据传输,实时设备出现异常等“中断”名称源于:当异步事件发生后,打断了对当前程序的执行而转去处理该异步事件直到处理完了后,再转回原程序中断点继续执行3.2.1中断的概念3.2.2中断的分类——从中断的性质和激活的手段来分(IBM):强迫性中断正在运行的程序所不期望的,由于某种硬件故障或外部请求引起的自愿性中断用户在程序中有意识安排的中断,是由于用户在编制程序时因为要求操作系统提供服务,有意使用“访管”指令或系统调用,使中断发生3.2.2中断的分类——按事件来源和实现手段分类(MS/LINUX):硬中断软中断外中断(中断、异步中断)内中断(异常、同步中断)信号软件中断按事件来源和实现手段分类中断和异常要通过硬件设施来产生中断请求,是硬中断。软中断是利用硬中断的概念,用软件方法对中断机制进行模拟,实现宏观上的异步执行效果。3.2.2中断的分类——按事件来源和实现手段分类(MS/LINUX):“中断”(硬中断)用于外部设备对CPU的中断(中断的是正在运行的任何程序),转向中断处理程序上半部分执行;“异常”(硬中断)因指令执行不正常而中断CPU(中断的是正在执行这条指令的程序),转向异常处理程序;“软件中断”(软中断)用于硬中断服务程序对内核的中断,在上半部分中发出软件中断(即标记下半部分),使得中断下半部分在适当时刻获得处理;“信号”(软中断)用于内核或进程对某个进程的中断,通知进程某个特定事件发生或迫使进程执行信号处理程序。3.2.2中断的分类——按事件来源和实现手段分类(MS/LINUX):•
外中断
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 呼末二氧化碳监测仪与护理
- 《示波器实验简单版》课件
- 《方法与技巧培训》课件
- 2024【建筑工程施工总承包合同补充协议】建筑工程施工总承包合同的主要内容
- 2024总经销合同协议书模板
- 小儿哮喘病的饮食护理
- 左锁骨动脉闭塞症护理查房
- 心理健康教育教研活动总结
- 外研版小学英语四上学生心理健康指导
- 历史长河波澜壮阔的画卷
- 参股公司可行性方案
- 风湿免疫疾病的免疫调节治疗新进展
- 疲劳驾驶的表现与危害疲劳驾驶的表现与危害
- 护士未来五年职业规划护士工作计划
- 苏武牧羊 课件
- 储罐检修风险辨识和评价清单
- 2024版心理健康教育培训课件
- 新办烟草专卖零售许可证申请审批表
- 国家OTC药品目录(全部品种)
- 社会主义发展简史智慧树知到课后章节答案2023年下北方工业大学
- 护理类专业知识考试标准
评论
0/150
提交评论