配套课件-操作系统原理与实践教程(第二版)1.ppt

上传人(卖家):三亚风情 文档编号:3224458 上传时间:2022-08-07 格式:PPT 页数:580 大小:5.18MB
下载 相关 举报
配套课件-操作系统原理与实践教程(第二版)1.ppt_第1页
第1页 / 共580页
配套课件-操作系统原理与实践教程(第二版)1.ppt_第2页
第2页 / 共580页
配套课件-操作系统原理与实践教程(第二版)1.ppt_第3页
第3页 / 共580页
配套课件-操作系统原理与实践教程(第二版)1.ppt_第4页
第4页 / 共580页
配套课件-操作系统原理与实践教程(第二版)1.ppt_第5页
第5页 / 共580页
点击查看更多>>
资源描述

1、第1章 操作系统概论 1.1 操作系统的概念1.2 操作系统的形成和发展1.3 操作系统的结构1.4 常用操作系统简介1.1 操作系统的概念 为了将部分关键的操作封装,同时也达到简化程序员工作的目的,计算机体系中出现了操作系统(Operating System,OS)这个软件层次。操作系统能在管理并正确使用一个或多个处理器、主存、外存、网络接口以及多种不同的输入/输出设备的同时,为程序员提供一个通用的、相对简单的、能够驱动硬件工作的软件接口。1.1.1 操作系统的定义 操作系统是硬件之上的第一层软件,在操作系统之上的则是各种应用程序 操作系统的层次结构1.1.1 操作系统的定义 操作系统的层次

2、结构 硬件层从底向上可分为物理设备、由各种寄存器和数据通道组成的微体系层以及主要由指令集组成的机器语言层,提供的是基本的计算资源。应用程序层软件则通常是基于特定操作系统的、满足特定功能的直接面向用户的软件,这些软件能够根据用户的具体需求申请特定资源,并按照应用程序规定的方法来使用这些资源。操作系统处于这两个层次之间,用来协调与控制应用程序对硬件的使用。1.1.1 操作系统的定义 每个人看待操作系统的角度不同,使用操作系统的目的不同,看到的操作系统也就表现出不同的特征:资源管理角度:操作系统可以被视为资源管理与分配器 用户观点:操作系统是用户与计算机硬件系统之间的接口 机器扩充角度:操作系统是一

3、个专门用来隐藏硬件的实际工作细节,并提供一个可以读写的、简洁的命名文件视图的软件层次1.1.1 操作系统的定义 定义:操作系统就是一组管理与控制计算机软硬件资源并对各项任务进行合理化调度,且附加了各种便于用户操作的工具的软件层次。1.1.2 操作系统的特征 现代操作系统都具有并发、共享、虚拟和异步特性,其中并发性是操作系统最重要的特征,其它三个特性均基于并发性而存在。1.1.2 操作系统的特征 1.并发性 区分两个概念:并发和并行。若在一个时间段内发生了一个以上的事件,则称这几个事件具有并发性 而并行性指的是多个事件在同一时刻点发生 在单处理机系统中,每个特定时刻只能有一个程序在CPU中运行。

4、但一个较长的时间段可以被分为多个小的时间碎片,这些碎片可以按照一定的原则发放给多个不同的程序,使得在这个时间段内有多个程序得到一定程度的执行。这些程序是具有并发性,不具有并行性的。1.1.2 操作系统的特征 2.共享性 操作系统中的共享,指的是多个并发执行的程序按照一定的规则共同使用操作系统所管理的软硬件资源。操作系统所管理的软硬件资源按照使用方式可以分为同时访问方式和互斥访问方式 同时访问方式指的是在一段时间内允许多个程序并发访问。互斥访问方式指的是在一段时间内只允许一个程序访问的资源,这类资源被称为临界资源。1.1.2 操作系统的特征 3.虚拟性 虚拟性是将计算机体系结构中的各种物理设备映

5、射为多个逻辑设备。这种映射通常是利用分时共享的方式实现的,被映射的物理设备有多种。工作模式不同的各个设备所使用的映射方法不同。虚拟存储器技术 虚拟处理器技术 虚拟设备技术 虚拟特性的实现主要依靠分时共享和多道程序设计技术,在它们的帮助下,操作系统可以将一个设备映射为多个,将一个设备的能力均分到不同的逻辑设备上,以便多用户共享资源。虚拟方法不会造成多个用户长期等待其他用户操作完成,同时能够极大地提高资源利用率。1.1.2 操作系统的特征 4.异步性 异步性指的是操作系统中的各个程序的推进次序无法预知。异步性的产生是由现代操作系统的并发性引起的。在并发执行的多个进程间,何时能够获得所需资源,在什么

6、时刻等待哪些进程释放资源,以及当前占有资源的进程何时释放资源等因素都是不确定的,因此用户是无法预知各个进程的执行时间。1.1.3 操作系统的功能 现代操作系统的主要任务就是维护一个优良的运行环境,以便多道程序能够有序地、高效地获得执行,而在运行的同时,还要尽可能地提高资源利用率和系统响应速度,并保证用户操作的方便性。操作系统的基本功能 处理器管理 存储器管理 设备管理 文件管理。友好的人机接口 1.1.3 操作系统的功能 1.处理器管理功能 创建、撤销进程 按照一定的算法为进程分配所需资源 还要管理和控制各用户的多个进程间的协调运行 确保各个进程可以正确的通信 在多道程序OS中,这些管理功能最

7、终通过对进程的控制和管理来实现,而在具有线程机制的OS中,这些功能的实现还依赖于对线程的管理和控制。1.1.3 操作系统的功能 2.存储器管理功能 存储器管理的主要任务就是将各种存储器件统一管理,保证多道程序的良好运行环境,同时还要兼顾内存利用率、逻辑上扩充内存的需求以及用户的感受,提供优良的控制、存取功能,为用户提供操控存储器的手段。为实现上述要求,存储器管理应具有以下功能:内存分配 内存回收 内存保护 地址映射 虚拟内存1.1.3 操作系统的功能(1)内存分配 内存分配指的是为每道程序分配合适的内存空间,使其能在运行期间将运行所需数据放置在内存指定区域,以保证CPU能够顺利地获取指令并存取

8、指定数据。分配内存空间时应尽量提高内存空间的利用率,减少不可用内存空间。此外还应能响应正在运行的程序发出的动态空间申请,以便满足新增指令和数据对新空间的需求。内存分配通常采用的方式有动态和静态两种方式。静态分配方式指的是程序在装入内存时需要估计所需空间,一旦进入内存开始运行,就不能再申请新的空间,也不能将该程序所占空间“搬运”到其它位置。动态分配方式指的是尽管程序装入内存时申请了一定的空间,但在程序运行期间还可以为运行过程中所需的新的程序和数据再申请额外的空间,以满足程序空间动态增长的需要。1.1.3 操作系统的功能(2)内存回收 内存回收指的是当程序运行完毕后,将各程序在装入内存时所分配的空

9、间重新置为空闲分区,并交由OS统一管理,以备其它程序申请使用。在内存的分配和回收过程中,为了记录当前内存使用和分配情况,OS中通常还要配置内存分配数据结构,以便为后期分配和回收提供依据。1.1.3 操作系统的功能(3)内存保护 多道程序环境中,为了保证每个用户的各个程序独立运行,不会相互影响,需要提供内存保护机制。该机制的主要任务就是确保每道程序都在自己的内存空间运行,决不允许任何程序访问或存取其它程序的非共享程序和数据。常见保护方法是利用上下界限寄存器。这两个寄存器中存放的数值是当前进程的内存空间的起始地址和终止地址,每当CPU要求访问某个地址的程序或数据时,OS会先利用上下界限寄存器与之比

10、较,若在这两个界限内,则可以正确访问,否则就拒绝此次的内存访问。通过这种方式,可以确保在进程运行期间不会误访问无权限空间。1.1.3 操作系统的功能(4)地址映射 在多道程序环境中,每个程序的独立空间分布于内存的不同位置,但程序员在编码时并不知道自己的程序进入内存后会被放置在什么位置,因此也不可能在程序中直接使用内存单元地址来操作所需的指令或数据。为了解决这个问题,当前的OS都提供了地址映射机制。基本思想:将用户与内存分隔,即程序员编码时直接以“0”作为程序中出现的其它任何地址的初始位置,该位置被称为逻辑基址。该程序被编译和连接过后,形成可装入的可执行文件。根据内存的当前使用情况,OS会在可执

11、行文件真正装入内存时为其分配合适大小的空闲空间,此空间的初始位置称为物理基址。当程序运行时,CPU需要查询某位置的数据或指令时只需给出相对于逻辑基址的偏移量,OS会根据逻辑空间内容的分布情况自动将该逻辑地址转换为内存中对应的物理地址。地址映射功能需要硬件机构的协助,以保证数据的快速定位与存取。1.1.3 操作系统的功能(5)虚拟内存 虚拟内存是利用特殊技术将磁盘的一部分空间实现较快的存取,从逻辑上扩充内存容量,使用户感觉到的内存容量比物理内存实际所提供的空间大。这种方式可以提高多道程序程度,提升系统吞吐量,获得更好的系统性能。该机制的核心内容是请求调入功能和置换功能。请求调入功能允许程序仅向内

12、存装入保证启动的必需数据和指令,当程序在运行过程中若需要新的数据和程序时,先中断自身运行,并向OS提出调入请求,由其从磁盘将所需数据和指令调入内存,然后继续从被中断的地方执行。置换功能指的是在OS将所需新数据或指令调入内存时,若发现内存空间不足,需要从现处于内存中的数据或程序中选择部分暂时不用的调出到磁盘上,腾出的空间则用来调入当前的急需数据。1.1.3 操作系统的功能 3.设备管理功能 设备管理的主要作用是使用统一的方式控制、管理和访问种类繁多的外围设备。根据设备管理模块的功能要求,可以将其功能分为:设备分配 缓冲管理 设备处理 虚拟设备1.1.3 操作系统的功能(1)设备分配 根据用户的I

13、/O请求和系统的设备分配策略,从系统当前空闲资源中选择所需类型设备,并将其使用权限交付给用户。若I/O子系统中还包括通道和设备控制器,则设备分配还要负责选择空闲通道和控制器并交付用户使用。1.1.3 操作系统的功能(2)缓冲管理 合理组织I/O设备与CUP 间的缓冲区,并提供获得和释放缓冲区的有效手段。OS中常见的缓冲区机制有单缓冲机制、双缓冲机制、缓冲池机制等。1.1.3 操作系统的功能(3)设备处理 设备处理程序即设备驱动程序,是CPU和I/O设备之间的通信程序。工作过程为:当设备驱动程序接收到上层软件发送来的I/O请求时,要先检查其合法性,然后查看设备是否空闲、设备的工作方式等信息,接着

14、按照要求的参数格式向设备控制器发送具体的I/O命令,指挥控制器启动设备按照顺序完成指定动作。为了保证通信,设备驱动程序还应能接收从控制器发来的中断请求,分析该中断请求的类型,接着启动处理该中断类型的相应中断处理程序,由其完成最终的处理过程。若是具有通道的OS,设备处理程序中还要配备根据用户请求构造通道程序的功能。1.1.3 操作系统的功能(4)虚拟设备 通过SPOOLing虚拟技术实现,该技术可将一台物理设备虚拟为多台逻辑设备,每个用户使用一台逻辑设备,即将独占的物理I/O设备交由多个用户共享使用。这种方法能够大大提高I/O速度,改善设备利用率,对每个用户而言也感觉自身具有一台独享的物理设备,

15、改善了用户请求的响应感受。1.1.3 操作系统的功能 4.文件管理 程序运行所需的代码和数据以文件形式存储在外部介质上,只有在程序运行需要时才通过文件管理机制调入内存。该机制能有效保护文件安全,提高资源利用率,为用户提供快速检索和使用文件的手段,是OS不可或缺的组成部分。文件管理的主要功能:管理外存上的静态文件,提供存取、共享和保护文件的手段,以方便用户使用;禁止无权限用户对他人资源的误访问或有权限用户对资源的误操作;管理外存空闲区域,根据文件的大小为其分配和回收空闲区;为了满足用户对响应时间的要求,文件管理机制还应实现目录管理,以便快速地定位文件。1.1.3 操作系统的功能 5.人机接口 为

16、了更大程度地减少操作人员的次要工作、方便用户使用系统功能,操作系统应配备用户界面,即所谓“用户与操作系统的接口”。分类:图形用户接口 命令接口 程序接口1.1.4 操作系统的设计目标 为满足用户使用需求,现代操作系统在设计时均注重有效性、方便性、开放性、可扩展性等特性。有效性指的是OS应能有效地提高系统资源利用率和系统吞吐量。方便性指的是配置了OS后的计算机应该更容易使用。这两个性有效和方便的特性是操作系统最重要的设计目标。开放性指的是OS应遵循世界标准规范。可扩展性指的是要提供对系统软硬件组成以及功能的扩充保证。1.1.5 操作系统的性能指标 操作系统性能的优劣显著地影响用户工作的效率和成本

17、,而衡量其性能优劣的指标有系统吞吐量、资源利用率、响应速度等。系统吞吐量指的是在单位时间内系统所能处理的数据量,该指标可以用来衡量系统的处理效率。资源利用率指的是各类资源在单位时间内为用户工作所服务的比例,它表明资源能力利用是否合理。响应速度指的是系统从接收到用户请求到完成请求处理、反馈响应信息的完整过程的速度,它的优劣大大影响到用户感受。性能优良的OS应具有更大的系统吞吐量、更高的资源利用率和更快的响应速度1.2 操作系统的形成与发展 人工操作阶段 单道批处理系统 多道批处理系统 分时系统 个人机系统 实时系统 网络操作系统 分布式系统1.2.1 人工操作阶段 在操作系统软件出现之前,体积庞

18、大且处理速度缓慢的计算机硬件就已经出现并投入使用了。每个用户均使用人工操作方式直接使用计算机硬件系统,将写有程序的穿孔卡片装入专用的输入设备后,再手动启动将其输入计算机,最后再启动计算机处理数据。缺点:计算机由一个用户独占,除非该用户工作完成,下一个用户总是需要长期等待。CPU利用率低。用户在安装卡片、启动输入设备进行输入时,CPU并没有工作,而是等待数据输入。1.2.2 单道批处理系统 上世纪50年代,使用功耗低、可靠性高的晶体管构造的计算机量产并可以长时间运行,完成一些有用的工作 汇编语言和FORTRAN语言的出现和流行,也使得很多编程人员开始使用它们来编写自己的工作程序,这些程序中包含了

19、一些特殊的程序,它们专用于完成批量作业的处理。这些程序就是现代操作系统的前身,被称为单道批处理系统。工作过程:多个用户任务利用外围机输入磁带后,启动批处理系统自动按顺序读入并处理全部任务,同时依序将结果输出到另一个磁带上,直到全部任务完成,工作人员再将结果利用输出外围机输出即可 特性:顺序执行、自动运行、单道运行 优点:尽可能地将CPU的等待时间降低,在一定程度上缓解了人机矛盾,提高了CPU利用率和系统吞吐量。缺点:资源利用率仍然不高1.2.3 多道批处理系统 20世纪60年代,使用小规模集成电路制造的第三代计算机上首先出现了多道批处理系统 多道批处理系统工作过程:所有用户的作业先在外存排队等

20、待装入内存,此时形成的作业队列被称为“后备队列”。接着由作业调度程序按照选定的调度算法从后备队列中选择一个或多个作业装入内存的不同分区,这些分区相互不重叠。在作业运行期间,各作业仅能访问分配给自己的内存空间中的程序和数据,每次要求访问指定地址的信息时,操作系统要主动检查其是否超出本作业的内存空间,以防止越界访问和操作。1.2.3 多道批处理系统 优点 提高CPU利用率。多道批处理系统中,一个作业需要转向I/O执行时,可以将CPU交给另一个作业使用,只要内存中作业达到一定数量,就可以保证CPU始终处于忙碌状态,其利用率甚至可以接近100%。提高内存和I/O设备利用率。多个程序共处内存可以尽量减少

21、内存的空间浪费。多个I/O设备同时被多个不同程序使用,在单位时间内,每个设备的利用率都得到了提升。增加系统吞吐量。当CPU和I/O设备都不断忙碌的情况下,单位时间内系统所处理的数据量必然会大幅增加 1.2.3 多道批处理系统 缺点平均周转时间(作业进入系统到其完成任务退出系统所经历的平均时间)长无交互能力用户任务响应时间大大延长修改和调试程序均需要等待本批作业处理完成才能进行 1.2.4 分时操作系统 设计动机:该系统的出现起因于多数程序员对于多道批处理系统需要与他人争抢机时的痛苦感受,用户希望可以独占一台机器比较长的时间,以便集中完成自己的工作,同时也希望随时与机器交互,以便对自己的程序做出

22、及时的调整。设计思想 分时系统将CPU处理时间进行分割,形成多个特定大小的时间片段,这些片段被称为时间片。而分时系统中的每个用户在获取CPU控制权后,最长只能执行一个时间片长度,然后就必须让出CPU,交给其他等待用户使用。1.2.4 分时操作系统 特点 多路性:指的是多个用户终端同时联接在一台主机之上,系统按照时间片轮转的方式将CPU轮流交予各个用户进程使用。用户:单位时间内每个用户都感觉自己独占终端并得到响应 系统:每个小时间片内 及时性:指的是用户请求的响应时间要短。独立性:指的是每个用户均感觉自己独占了一台终端,且不知道其他用户的存在,即每个用户均独立运作自己的程序,相互之间不干扰。交互

23、性:指的是用户使用终端与系统进行对话,以便向系统请求各种不同的系统服务,这些服务可以帮助用户完成不同类型的需求。1.2.5 个人计算机操作系统 上世纪80年代初,大规模集成电路构成的微型计算机(个人计算机)问世,它具有极低廉的价格却能够做到原来由大型机才能完成的工作。微型计算机上配置的操作系统被称为微机操作系统,根据其运行方式,可以将整个发展过程中出现的微机操作系统分为以下几类:单用户单任务操作系统:一段时间内只能有一位用户使用微型计算机,且这个用户一次只能运行一个用户程序。单用户多任务操作系统:一段时间内由一个用户独享计算机,但这个用户可以合理利用这段机时,一次运行多个任务,使它们并发执行。

24、这种做法通过提高多道程序度来增加系统吞吐量和资源利用率,缩短用户任务的响应时间,从而大幅提高系统性能。多用户多任务操作系统:多个用户同时登录主机,但每个用户要使用自己的终端来共享系统资源;在每个终端上,各个用户可以同时运作多个并发任务,以进一步提高系统吞吐量和资源利用率。1.2.6 实时操作系统 在工业应用领域,实时操作系统(Real Time System)更为常见。特征:时间是关键参数,即系统应能及时获取用户请求,并在指定时间内开始或完成规定任务,同时还要保证所有任务协调一致地工作。实时操作系统通常被用于进行实时控制或实时信息处理。实时控制:生产过程的控制均需要依赖计算机对数据的快速组织处

25、理能力,由硬件采样装置采集上来的样本值被及时(或即时)传送到控制主机中,由主机根据事先制定的控制规则自动指定相关硬件动作,以完成产品的加工。实时信息处理:此类系统所管理的数据均放在服务器上,由多个终端通过网络关联,服务器接收各终端发来的远程服务请求,分析请求后对信息进行检索和处理,然后将处理结果返回给提出申请的用户。1.2.6 实时操作系统分类 按周期性分类 周期性实时任务:由外部设备按照设备周期定期发送信号来启动,主机收到信号后为该设备进行某些特定工作的执行。非周期性实时任务:根据任务对截止时间的要求以及当前系统中资源使用情况选择合适的时机启动,该时机必须能保证任务满足截止时间要求。按对截止

26、时间要求的严格程度分类 截止时间分为开始截止时间和完成截止时间两种。前者要求实时任务在指定时刻(或之前)必须开始运作,后者要求实时任务在指定时刻(或之前)必须结束。硬实时:任务必须在指定截止时间(或之前)开始或完成 软实时:要求不是十分严格,偶尔可以超出时限,对系统正确性和安全性不会有太大的影响 1.2.7 网络操作系统 网络操作系统(Network Operating System,NOS)是网络用户和网络之间的接口,除实现通用操作系统功能外,还需要管理网络中的共享资源,实现用户之间的通信,同时还要向用户提供多种系统服务。网络操作系统的基本功能:基本操作系统功能 数据通信 资源共享 网络管理

27、1.2.7 网络操作系统 网络操作系统的基本功能:数据通信:建立与解除除应用层外的所有各网络层次间为保障数据通信所设立的各种连接。正确拆分和组装报文。实现传输控制。做到流量控制。提供差错的检测与纠正功能。1.2.7 网络操作系统 网络操作系统的基本功能:资源共享:对硬盘空间共享:既可以使用虚拟软盘方式将服务器硬盘分区后分配给各用户,也可以使用文件服务方式要求系统将服务器的文件系统中特定目录或文件的存取权限交付给用户。对网络打印机共享:使用SPOOLing(假脱机)技术将网络中的打印机共享给工作站或其它所有的计算机,每个工作站或服务器发送给打印机的任务将在打印机所在地进行排队等待,直到全部打印工

28、作完成。网络资源的共享利于提高资源利用率,降低成本。1.2.7 网络操作系统 网络操作系统的基本功能:网络管理:网络管理软件负责监视网络及其组件的运行情况 它向不同设备不定时发送特定信息,并接收和分析响应信息,以确定该设备甚至整个网络是否正常运作。网络操作系统部署于单机,其运行性能取决于本地计算机。1.2.8 分布式操作系统 分布式系统是一个逻辑上的全局操作系统,由若干个独立的计算机构成,这些不同的处理器通过互联网构成一个统一的系统。在该系统中使用了分布式计算结构,将原来单机系统CPU的任务分散给不同的处理器,这些处理器可以用来实现不同的功能,它们协调工作,共享系统软硬件资源,共同控制分布式程

29、序(进程)的运行。分布式系统能够给用户提供统一的界面、标准的接口,以便利用系统的各种资源实现所需要的全部操作。组成分布式系统的各个主机体系(包括处理器、存储器、外设)既可以独立处理本地任务,又可以合作完成大型工作。1.2.8 分布式操作系统 与网络操作系统的区别 系统透明性:分布式系统对用户而言是透明的。不同主机的用户可以看到统一的界面,每个用户均认为整个系统运行于本地计算机,当用户要求使用某资源时,无须了解资源位置和操作执行的位置,只需使用本机的操作指令即可,分布式系统将自动解析用户申请,选择相应位置的主机运作指定操作,并利用相应位置的指定类型资源。在网络操作系统对用户而言是不透明的。用户需

30、要显式给出所申请资源位置,要求用户对整个网络布局有深刻的了解。系统耦合度:分布式操作系统除了具有一般计算机网络的模块性、并行性、通信性等特征外,还有进一步的发展。为了完成某些大型工作,多个主机需要合作,因此分布式系统是逻辑上紧密耦合的系统。网络操作系统中,各主机均有自己的一套处理机制,仅仅依靠通信链路上的消息传递为用户提供一些服务,逻辑上并未构成一个整体,因此网络操作系统是逻辑上松散耦合的系统。1.2.8 分布式操作系统 特征:多机合作:多个处理器共同协作,由操作系统自动对任务进行分配和协调。分布式系统具有多机合作功能,使得其具有响应时间短、系统吞吐量高、可靠性高等优点。健壮性:当系统中的一个

31、甚至多个处理器出现故障时,剩余的处理器仍能自动重新构成一个新的基于较少处理器的操作系统,该系统仍能继续工作,甚至在配置了冗余处理器的分布式系统中,重构的新系统可以继续失效部分的全部工作。一旦故障排除,系统将自动恢复为原来的状态。1.2.9 操作系统的进一步发展 集群式系统 两个或多个独立的系统单元组成的大型系统,这里的单元可以是单处理器系统,也可以是多处理器系统。多处理器系统指的是通过通信信道紧密通信的多个处理器组成的系统,它分为对称多处理器系统和非对称多处理器系统 对称多处理器系统:系统中每个处理器均安装有一个操作系统的副本,它们相互通信,共享总线、时钟等系统资源,在系统中的地位相同。非对称

32、多处理器系统:系统中每个处理器的地位不同,有一个主处理器和多个协处理器,主处理器主控全局,协处理器向主处理器要任务或执行预先设定的任务。特点:具有较高的性价比。提供优秀的容错能力。能及时检测到故障的产生,并恢复故障节点的运作。1.2.9 操作系统的进一步发展 嵌入式系统 在各种数字化设备中设置类似微型机的硬件构成,并将嵌入式系统植入这些硬件中,使其为各种用户级嵌入式软件提供支持,同时控制整个系统的各项操作,合理管理和分配系统资源 除了具有操作系统的基本功能外,还具有实时性、微型化、可裁剪、高可靠性和高可移植性等特点。最典型的复杂嵌入式系统是Linux。1.3 操作系统的结构 使用软件工程思想设

33、计操作系统时,除了要满足操作系统的基本设计目标外,还要根据用户需求分析采用哪种形式的操作系统结构更适用。较有代表性的OS结构 整体结构 分层结构 虚拟机结构 外核结构 客户机/服务器结构。1.3.1 整体结构 整体结构又称为模块化结构,它采用结构化程序设计技术,将复杂的OS需求分解后根据相关性分类,每个类别使用一个或几个模块实现。模块-接口法:整体结构OS的各模块分别具有特定管理功能,且相互之间使用规定好的接口通信。各模块进一步划分为子模块和通信接口。子模块还可以进一步细分为更小的模块。1.3.1 整体结构 特点 内聚度低 耦合度高 新加入的系统功能可以独立设计、编码和调试后再与原系统连接形成

34、新的整体 各模块独立开发,缩短系统开发周期 独立开发的各模块无法基于确定前趋模块完成,这种无序性将会导致设计的基础无法保证可靠 1.3.1 整体结构简单的整体结构操作系统结构模型 1.3.2 分层结构 将整体结构OS中的各个模块按照决定次序分层,即每层都是在其下层的基础上构建的。在裸机之上,根据模块功能与系统硬件的相关性以及各模块之间的调用关系,构建多个层次的软件,最终形成完备的OS。分层结构实现过程通常采用自底向上的方法进行,以保证系统模块按照设计过程中的决策次序铺设。该结构的系统具有层次特性,每个层次由多个模块构成,且只依赖于其紧邻下层。1.3.2 分层结构 特点 便于保证系统正确性 便于

35、进行功能扩充和系统维护。各层间都要定义通信机制,这样当一个用户请求需要使用较低层次的功能时,需要多次穿越层边界,这样的做法会增加通信开销,导致系统效率降低。层号功能5操作员4用户程序3I/O管理2操作员-进程通信1存储器和磁盘管理0处理器分配和多道程序设计第一个分层结构OSTHE系统结构 1.3.3 虚拟机 第一个真正意义上的虚拟机结构OS 是VM/370,它的设计初衷是实现两个功能:提供多道程序环境和实现一个比裸机更方便的可扩展的虚拟计算机。VM/370的核心程序为虚拟机监控器(virtual machine monitor),它运行于裸机之上并提供多道程序功能。该系统向上层提供多个对裸机硬

36、件精确复制的虚拟机,这些复制品均具有真实机器的全部功能。由于在一台物理裸机上运行的操作系统均可以出现在一个特定虚拟机上,因此分配给各用户的不同虚拟机上可以随用户的个人爱好和操作习惯不同而采用不同的操作系统。所有虚拟机都是对整个物理裸机的精确复制,因此其可用空间均从0到最大编号,为确保正确定位用户的实际文件所在地,虚拟机监控器必须设置和维护一张地址重映射表。1.3.3 虚拟机 在VM/370的各虚拟机中,除了用来实现批处理和事务处理的系统功能程序外,还有用来保证分时共享的单用户、交互式系统会话监控系统(Conversational Monitor System,CMS)。1.3.4 外核 从虚拟

37、机发展而来 该系统为每个虚拟机指定连续空间,其核心程序称为外核(exokernel),它在核心态运行,为虚拟机分配资源,并对虚拟机发送来的资源访问申请进行检查,以保证没有任何虚拟机能访问其他虚拟机(用户)的空间。这种方法可以将每个用户层虚拟机限定在已分配给它的指定资源环境中,保证各虚拟机的独立性。优点 可以减少映射次数 可以将外核内的多道程序设计环境与用户空间的操作系统代码有效隔离 外核处理虚拟机冲突的开销较小1.3.5 客户机/服务器结构 现代操作系统普遍采用的方法是将操作系统的大部分功能尽量从核心态中移出,只将最基本的操作组成一个很小的微内核,这就形成了所谓客户机/服务器结构(C/S结构)

38、的操作系统。它将处理本地业务的用户进程放在具有一定独立处理能力的客户机上,形成客户机进程;而把网络之上所有用户同时共享的信息以及完成客户机与服务器通信功能的微内核放在服务器上,形成服务器进程。用户提出访问系统资源申请时,客户机进程先发送请求给服务器进程,由后者将请求转发给能完成指定服务的客户机,待其完成要求工作后将结果发送给服务器进程,再由服务器进程将结果回送给发出申请的客户机进程。1.3.5 客户机/服务器结构 优点 数据可以分布式处理和存储 重要数据可放在受到严密保护的服务器所在的局域网内,便于集中管理,以保证数据安全 C/S结构有较好的灵活性和可扩充性 易于修改用户程序 1.4 常用操作

39、系统简介 Windows 系列操作系统 个人桌面系统领域应用范围最广的操作系统 UNIX和Linux系统 UNIX:技术成熟度、稳定性、可靠性好,是唯一被专业人士认可的、能在从巨型机到微型机甚至是嵌入式硬件平台上稳定运行的多用户、多任务操作系统 Linux:起源于UNIX社区,是首要的开源类UNIX系统。在教育领域,对Linux的学习也有助于学生理解内核工作方式。该系统本质上只提供一个操作系统内核,其它的扩展功能(尤其是直接面向用户的shell层次的各种功能)则由分布在全球的各类公司、研究机构、大专院校等单位或个人根据自身或客户需要自主开发,是真正的定制系统。本章学习目标 掌握操作系统的定义及

40、其在计算机系统中的作用。掌握操作系统的特征与功能。了解操作系统的形成过程及其发展趋势,掌握批处理系统、分时系统和实时系统的特点。了解操作系统的设计结构。了解常见操作系统的特点。第2章 操作系统的界面 2.1 用户工作环境2.2 操作系统的用户接口2.3 操作系统提供的服务2.1 用户工作环境 用户环境指的是用户以自己的账号和密码登录到系统后所见到的整体操作环境,这个环境应该由操作系统和用户自身设定综合而成。操作系统会在用户账号下关联一个操作偏好设置的记录,当某用户以自身账号和相应密码登录系统后,操作系统将自动按照该记录设置默认的用户操作环境。对普通用户而言,图形化的环境更容易上手和操作 对特殊

41、应用领域的用户而言,使用命令行形式能获得更好的响应效率2.1.1 用户环境 在设定用户环境前,通常要求系统先启动,即先将所有用户的公共服务和基本的系统操作环境设置好,然后再根据各用户的个人设定进行细微的调整。以linux为例,看到如下图像表示系统正在开机自检并配置基本操作环境。2.1.2 系统的生成与引导 操作系统需要完成生成与引导两个步骤后才能为用户提供正确的服务,确保用户任务的顺利完成。系统生成(System Generation,SYSGEN):在为用户建立工作环境前,需要先检测硬件情况,并在特定硬件之上配置和构造操作系统。系统引导指的是将操作系统内核装入内存并启动系统的过程。2.1.2

42、 系统的生成与引导 系统生成 当裸机被启动时,为了生成正确的操作系统,需要根据硬件平台的状况进行一系列重要的安装工作,为此需要设计一个特殊的程序来自动进行系统生成。系统生成程序从指定文件中读取硬件系统的配置信息,或从操作人员处获取这些信息,甚至在某些系统采用硬件直接检测的信息获取方式。配置信息用来帮助系统记录硬件配置信息,以便能根据硬件选择合适的操作系统模块组。2.1.2 系统的生成与引导 系统生成时参考的重要配置信息 CPU类型 内存大小 当前关联设备的类型和数量 操作系统的重要功能选项和参数 2.1.2 系统的生成与引导 系统生成方法 表驱动法:所有的系统代码(尤其是实现核心功能的内核代码

43、)以文件形式出现在外存的指定位置。当系统实际运行时,根据自身当前运行需要选择相应的功能模块装入内存。这种方法的好处是能以最小的内存空间保证最基本的系统功能运作,同时也加速了启动速度。2.1.2 系统的生成与引导 系统生成方法 其他方法:为了实现专有硬件平台对实时性、快速性等特殊性能的更高要求,可根据用户的特定需求定制操作系统,并将其完全编译,形成专用系统。此类系统将一些与用户需求无关的功能直接裁掉,以牺牲全面性能的方式换取更快速响应。2.1.2 系统的生成与引导 系统引导 系统引导由位于系统ROM中的启动引导程序完成,整个系统引导过程包括定位内核代码在外存的具体位置、按照要求正确装入内核至内存

44、并最终使内核运行起来。初始引导 内核初始化 全系统初始化2.1.2 系统的生成与引导 初始引导 计算机BIOS完成,包括中断服务程序、系统设置程序、上电自检(Power On Self Test,POST)和系统启动自举程序等 中断服务程序是系统软硬件间的一个可编程接口,用于完成硬件初始化 系统设置程序用来设置CMOS RAM中的各项参数 上电自检POST在通电后自动对系统中各关键和主要外设进行检查,一旦在自检中发现问题就通过鸣笛或提示信息警告用户 系统启动自举程序按照系统CMOS设置中保存的启动顺序搜索有效的硬件驱动器,读入操作系统引导程序,接着将系统控制权交给引导程序,并由引导程序装入内核

45、代码,以便完成系统的顺序启动 2.1.2 系统的生成与引导 内核初始化 引导程序将系统内核装入内存后就将CPU控制权交给内核 内核执行对硬件、电路逻辑等的初始化操作,以及对内核数据结构的初始化 2.1.2 系统的生成与引导 全系统初始化 该步骤的主要任务是启动用户接口,使系统处于等待命令输入状态 此时操作系统做的主要工作是为用户创建基本工作环境,接收、解释和执行用户程序与指令。全系统初始化完成后,各用户看到的接口表现会根据用户自身设定显示 Linux用户命令行登录界面Linux用户图形登录界面2.1.3 实例分析:Linux系统启动 Linux的启动过程需要多个环节的配合,首先需要由BIOS加

46、载操作系统引导程序,由其加载操作系统内核,内核装入时需要先进行代码的解压缩,然后才能开始初始化过程,初始化过程完成后陆续生成各终端进程,以便为用户提供所需系统服务。BIOS初始化 装载启动引导程序 内核初始化 启动系统 2.1.3 实例分析:Linux系统启动 BIOS初始化 硬件配置检测:检查并获取外设数量、类型、工作方式等重要的管控信息 硬件初始化:可避免硬件设备操作不会造成硬件冲突,同时显示系统中所有PCI设备列表 装入引导程序:根据用户预定义次序依次访问软盘、硬盘和CD-ROM的第一个扇区,并将搜索过程中遇到的第一个引导程序装入内存 转向引导程序:引导程序装载完成后,复制主引导扇区到内

47、存起始位置为0 x7C000处,并将此地址存放在指令指针寄存器里,此时下一条要执行的就是该寄存器所指向单元处的指令,即系统启动引导程序的第一条指令2.1.3 实例分析:Linux系统启动 装载启动引导程序 Linux中当前最流行的启动引导程序为GRUB GRUB占用空间较大,无法一次性全部放入MBR,因此在BIOS初始化时装入的只是最初的部分内容(stage 1)Stage1的工作是将GRUB的剩余功能代码(Stage2)装入内存,Stage2将汇编语言环境转化为C语言环境,接着显示一个界面让用户选择想要启动的操作系统 用户选择了要启动的系统后,相应内核将被装入内存Red Hat Enterp

48、rise Linux 5 的启动菜单 2.1.3 实例分析:Linux系统启动 内核初始化(Setup.S程序)首先从BIOS中获取有关内存、磁盘以及其它设备的重要参数等数据,并将这些数据放到内存的特定空间 对读入的内核信息进行检测 检测并配置内存、键盘、磁盘等各种设备,设置中断描述符表、全局描述符表等表格以及中断向量等数据结构 启动startup_32()函数装入各数据段寄存器、初始化页表、建立0号进程的内核堆栈,重新设置中断描述符表、全局描述符表,拷贝系统参数 启动init()函数(1号进程)。2.1.3 实例分析:Linux系统启动 启动系统 启动系统过程由init()函数完成,因此它又

49、被称为初始化进程,负责创建并初始化其它所有的新进程 工作过程 读取设置文件/etc/inittab 执行系统初始化脚本、对系统进行基本设置、挂载根文件系统和其它文件系统 确定启动后进入的运行级别 顺序启动并初始化系统重要服务工作 启动虚拟终端,并在运行级别5上运行X-windowLinux的图形界面服务软件2.1.3 实例分析:Linux系统启动 Linux启动过程实际上是一个CPU控制权的传递过程 2.2 操作系统的用户接口 操作系统是用户程序执行的平台,为用户进程提供系统服务 操作系统的关键性、重要性要求用户不能随意直接访问和调用系统功能模块在现代计算机体系中,用户使用系统服务必须通过规定

50、好的接口2.2 操作系统的用户接口 操作系统为用户提供的接口有图形接口、命令接口和程序接口几种形式2.2 操作系统的用户接口 命令接口 使用方法:在终端上输入命令,指定要获取的系统服务名称、具体服务内容和被操作对象等信息,这些信息将被传输给服务程序,以便满足用户要求 命令接口是交互式接口,由终端处理程序、命令解释程序和指令集合组成 终端处理程序:接收用户输入的命令,并将其显示在屏幕上 命令解释程序:用户核查无误后,使用回车键通知该程序开始分析指令和发送解析结果,并等待服务程序的处理反馈 指令集合:机器语言编写的机器动作指令,由计算机硬件体系的各部件合作完成,该集合表征了计算机的功能2.2 操作

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(配套课件-操作系统原理与实践教程(第二版)1.ppt)为本站会员(三亚风情)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|