第1章操作系统笔记_第1页
第1章操作系统笔记_第2页
第1章操作系统笔记_第3页
第1章操作系统笔记_第4页
第1章操作系统笔记_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、操作系统的定义: 操作系统(Operating System, OS)是配置在计算机硬件上的第一层软件,是对硬件系统的首次扩充1.1操作系统的目标和作用 在计算机系统上配置操作系统主要目标与计算机系统的规模和应用环境有关。1.1.1操作系统的目标方便性l 硬件只能识别机器代码(0、1)l OS提供命令,方便用户使用计算机有效性l 使CPU、I/O保持忙碌,充分利用l 使内存、外存数据存放有序,节省空间l 合理组织工作流程,改善资源利用率,提高吞吐量可扩充性l 计算机技术的发展:硬件/体系结构/网络/Internetl OS应采用层次化结构,便于扩充和修改功能层次和模块开放性l 支持网络环境,兼

2、容遵循OSI标准开发的硬件和软件1.1.2 操作系统的作用 1. 用户与计算机硬件系统之间的接口l 命令方式用户通过键盘输入联机命令(语言)l 系统调用方式用户程序通过系统调用,操纵计算机l 图形、窗口方式用户通过窗口、图标等图形界面操纵计算机2.计算机系统资源管理者l 4大类资源:处理机;存储器;I/O设备;信息(文件:程序、数据)3.对计算机资源的抽象(扩充机器)l 裸机:只有硬件的计算机,难以使用l 虚机器:在裸机增加软件(OS等),功能增强,使用方便1.1.3 推动操作系统发展的主要动力1.不断提高计算机资源利用率早期计算机很昂贵,为提高资源利用率,产生了批处理系统2.方便用户为改善用

3、户上机、调试程序时的条件,产生了分时系统3.器件的不断更新换代OS随之更新换代,如:8位->16位->32位4.计算机体系结构的不断发展单处理机OS->多处理机OS->网络操作系统1.2 操作系统的发展过程· 无操作系统时代OS尚未出现,人们如何使用计算机?· 人工操作方式 人工操作方式的缺点· 用户独占全机· CPU等待人工操作· 结果:资源利用率低下· 脱机输入输出系统· 低速设备n 纸带机/卡片机· 高速设备n 磁带/磁盘n I/O速度提高,缓解了I/O设备与CPU的速度矛盾·

4、; 主机:用于计算的主计算机· 外围机:也是计算机,处理输入输出,使之不占用主机CPU时间· 外围机控制输入/输出 n 输入:低速设备->高速设备n 输出:高速设备->低速设备n 输入和输出使用独立于主机的外围机,不占用主机的CPU时间,是脱机过程,因此叫做脱机输入/输出方式· 单道批处理系统· 计算机发展的早期,没有任何用于管理的软件,所有的运行管理和具体操作都由用户自己承担,任何操作出错都要重做作业,CPU的利用率甚低。· 解决的方法有两个:· 首先配备专门的计算机操作员,程序员不再直接操作机器,减少操作机器的错误。&

5、#183; 另一个是进行批处理,操作员把用户提交的作业分类,把一批中的作业编成一个作业执行序列。每一批作业将有专门编制的监督程序(monitor)自动依次处理。 说明:· 监督程序的作用:用来装入用户作业,和用户作业交替地使用CPU。· “批”的含义:供一次加载的磁带或磁盘,通常由若干个作业组装成,在处理中使用一组相同的系统软件(系统带)。 · 关于“作业”的说明:通常,把计算机完成用户算题任务所需进行的各项工作称为一道作业。· 多道批处理系统· 早期的批处理可能出现两种情况:n 对于以计算为主的作业,输入输出量少,外围设备空闲;n 对于以输入

6、输出为主的作业,主机空闲。 问题的提出 在早期的单道批处理系统中,内存中仅有单个作业在运行,致使系统中仍有许多资源空闲,设备利用率低,系统性能较差。 多道程序设计技术 若当前作业因等待I/O而暂停,CPU只能空闲直至该I/O完成 对于科学计算问题,CPU操作密集,CPU浪费时间少 对于商业数据处理,I/O操作密集,I/O等待时间常占8090解决办法 将内存分几个部分,每部分放不同的作业 当一个作业等待I/O时,CPU可被另一作业使用 在主存中同时驻留多个作业 多道程序设计 多道程序设计是指允许多个程序同时进入一个计算机系统的主存储 器并启动进行计算的方法。合理搭配I/O为主和计算为主的程序交替

7、运行,充分利用资源,提高系统效率。 多道程序的运行特点:· 多道:计算机内存中同时存放多道相互独立的程序。· 宏观上并行运行:同时进入系统的几道程序都处于运行状态,但都未运行完。· 微观上串行运行:各作业轮流使用CPU,交替执行。· 实现技术:当正在运行的程序因I/O暂停执行时,系统可调度另一道程序运行,使CPU保持忙碌。· 例题:有两道程序A、B,按下图以多道程序方式运行,要求在右图画出它们的运行轨迹,并计算在60ms内,CPU的利用率,假设起始时首先运行B,并允许忽略监督程序切换A、B的时间(不考虑I/O的冲突)。· 分时系统&#

8、183; 概念:时间片、终端、响应时间· 分时(Time Sharing)是把计算机的系统资源(尤其是CPU时间)进行时间上的分割,每个时间段称为一个时间片(Time Slice) ,每个用户依次轮流使用时间片。· 分时技术:把处理机的运行时间分为很短的时间片,按时间片轮流把处理机分配给各联机作业使用 分时系统的定义· 分时操作系统:是一种联机的多用户交互式的操作系统。一般采用时间片轮转的方式,使一台计算机为多个终端服务。对每个用户能保证足够快的响应时间,并提供交互会话能力。 分时系统的特点· 多路性n 系统支持单主机多个终端,按分时原则服务·

9、 独立性n 各用户独立操作,互不干扰。· 及时性n 对用户请求的响应时间短(13s)· 交互性n 用户向系统提出服务请求更方便,也更广泛n 通过终端· 实时系统· 产生背景:虽然多道批处理操作系统和分时操作系统获得了较佳的资源利用率和快速的响应时间,从而使计算机的应用范围日益扩大但它们难以满足实时控制和实时信息处理领域的需要。· 于是,便产生了实时操作系统,目前典型的实时系统:实时控制系统、实时信息处理系统。 什么是实时系统?· 有高可靠性和安全性,系统的效率则放在第二位 典型的实时系统(1)· 实时控制系统:计算机用于生产

10、过程控制时,要求系统能现场实时采集数据,并对采集的数据进行及时处理,进而能自动地发出控制信号控制相应执行机构,使某些参数(压力、温度、距离、湿度)能按予定规律变化,以保证产品质量。· 导弹制导系统,飞机自动驾驶系统,火炮自动控制系统都是实时过程控制系统。 典型的实时系统(2)· 实时信息处理系统:计算机还可用于控制进行实时信息处理。计算机接收成干上百从各处终端发来的服务请求和提问,系统应在极快的时间内做出回答和响应。· 机票订购系统、情报检索系统是典型的实时信息处理系统· 微机操作系统1.单用户单任务OS· 只允许一个用户上机,且只允许用户程序

11、作为一个任务运行。· 典型代表:n CP/Mw 8位机上的主流操作系统n MS-DOSw 最早的PC操作系统w 16位机上的主流操作系统 2.单用户多任务操作系统· 只允许一个用户上机,但允许用户把程序分为若干个任务,使它们并发执行。· 典型代表:n 微软公司推出的windows3.多用户多任务OS· 允许多个用户通过各自的终端使用同一台机器,共享主机系统 中的各种资源,而每个用户程序又可进一步分为几个任务,使它们能并发执行。· 典型代表:UNIX1.3 操作系统的基本特性· 以多道程序设计为基础的现代操作系统具有以下几个主要特征:n

12、 并发性(Concurrence)n 共享性(Sharing)n 异步性(Asynchronism)或称不确定性(Nondeterministic)n 虚拟性(Virtual)1.3.1并发性· 概念:并发、并行、进程· 并发性(Concurrence)是指两个或两个以上的运行程序在同一时间间隔段内同时执行。· 操作系统是一个并发系统,并发性是它的重要特征,它应该具有:处理多个同时执行的程序的能力。并行与并发的不同: 并行性是指两个或多个事件在同一时刻发生 并发性是指两个或多个事件在同一时间间隔内发生引入进程· 在多道程序系统中,为了能够并发执行,系统必

13、须为每个程序建立进程。n 程序是静态的,进程是动态的。n 进程能支持并发,程序不能。· 进程由一组机器指令、数据和堆栈组成,是一个能独立运行的活动实体。· 进程是资源分配的独立单位。· 多个进程能并发执行,进程运行时要占用一定的系统资源,如 CPU、存储空间和I/O设备等。1.3.2共享性(sharing)· 概念:互斥访问、临界资源、同时访问· 共享指操作系统中的资源(包括硬件资源和信息资源)可被多个并发执行的进程所使用。· 发生条件n 多个进程并发执行n 多个进程需要同一资源资源共享的方式· 资源共享的方式可以分成两种:

14、· 第一种是互斥共享。系统中的某些资源如打印机、磁带机、卡片机,虽然它们可提供给多个进程使用,但在同一时间内却只允许一个进程访问这些资源。· 这种同一时间内只允许一个进程访问的资源称临界资源,许多物理设备,以及某些数据和表格都是临界资源,它们只能互斥地被共享。· 第二种是同时访问。系统中的还有许多资源,允许同一时间内多个进程对它进行访问,这里“同时”是宏观上的说法。典型的可供多进程同时访问的资源是磁盘。 共享与并发· 共享性和并发性是操作系统两个最基本的特征,它们互为依存:n 一方面,资源的共享是因为运行程序的并发执行而引起的,若系统不允许运行程序并发执

15、行,自然也就不存在资源共享问题。n 另一方面,若系统不能对资源共享实施有效地管理,必然会影响到运行程序的并发执行,甚至运行程序无法并发执行,操作系统也就失去了并发性,导致整个系统效率低下。1.3.3 虚拟技术· 虚拟是指操作系统中的一种管理技术,它是把物理上的一个实体变成逻辑上的多个对应物,显然,前者是实际存在的而后者是虚构假想的。· 时分复用n 虚拟处理机w 通过多道程序和分时使用CPU技术,物理上的一个CPU变成逻辑上的多个CPUn 虚拟设备w 打印机n 若某物理设备通过时分复用虚拟为N台,则虚拟设备速度是原设备的1/N· 空分复用n 虚拟磁盘w 1个硬盘实体

16、->多个逻辑卷n 虚拟存储器w 虚拟存储器则是把物理上的多个存储器(主存和辅存)变成逻辑上的一个(虚存)的例子w 内存空分复用提高内存空间利用率w 结合时分复用,可实现在逻辑上扩大内存,使程序中远小于它的空间运行n 若某物理设备通过空分复用虚拟为N台,则虚拟设备占用空间是原设备的1/N1.3.4异步性· 异步性(Asynchronism)亦称不确定性,( Nondeterministic )进程以人们不可预知的速度向前推进,即进程的异步性。· 在多道程序环境中,允许多个进程并发执行,由于资源有限而进程众多,进程的执行往往不是一气呵成,而是“走走停停”,其运行、暂停和完

17、成的时间都无法确定。a. 系统中的进程何时执行?b. 何时暂停?c. 以什么样的速度向前推进?d. 进程总共要多少时间执行才能完成?· 这些都是不可预知的,或者说该进程是以不确定的方式运行的,不确定性给系统带来了潜在的危险,有可能导致与时间有关的错误。· 但只要运行环境相同,操作系统必须保证多次运行作业,都会获得完全相同的结果。设计操作系统必修考虑异步性带来的问题。1. 4操作系统功能· 操作系统有如下几个基本功能:u 处理机管理u 存储器管理u 设备管理u 文件管理u 用户接口(一) 处理机管理· 在传统的多道程序系统中,处理机的分配和运行都是以进程为

18、基本单位,因而对处理机的管理可归结为对进程的管理:· 进程控制n 创建、撤销、状态转换· 进程同步n 访问临界资源、协调合作次序· 进程通信n 合作进程的消息交换· 调度n 作业调度、进程调度(二) 存储器管理· 存储管理的主要任务是管理存储器资源,为多道程序运行提供有力支撑。存储管理的主要功能包括: · 内存分配n 存储管理将根据用户程序的需要给它分配存储器资源,并在其使用完毕后回收。 · 内存保护n 存储管理要把各个用户程序相互隔离起来互不干扰,更不允许用户程序访问操作系统的程序和数据,从而保护用户程序存放在存储器中的信

19、息不被破坏。 · 地址映射n 进程逻辑地址到内存物理地址的映射。这样程序员无需知道自己的程序分配到内存的什么具体物理地址,仅仅知道自己的逻辑地址即可,体现了存储的无关性。· 内存扩充n 借助虚拟存储技术,从逻辑上扩充内存,使用户感觉到比实际大的多的内存,可是更多程序并发运行。n 功能:请求调入、置换(三) 设备管理· 设备管理的主要任务: 管理各类外围设备,完成用户提出的I/O请求,加快I/O信息的传送速度,发挥I/O设备的并行性,提高I/O设备的利用率;以及提供每种设备的设备驱动程序和中断处理程序,向用户屏蔽硬件使用细节· 设备管理的主要功能:1. 缓

20、冲管理w 缓冲区,缓和CPU和I/O速度不匹配的矛盾w 单缓冲、双缓冲、公用缓冲2. 设备分配w 为进程分配设备,以及设备控制器、通道3. 设备处理w 设备驱动程序:CPU和设备控制器之间的通信(四)文件管理· 上述三种管理是针对计算机硬件资源的管理。· 文件管理则是对系统的软件资源的管理。· 在现代计算机中,通常把程序和数据以文件形式存储在外存储器上,供用户使用。为此,OS需配置文件管理机构。· 文件存储空间的管理n 为文件分配外存空间,提供外存利用率n 记录外存使用情况、分配、回收外存空间· 目录管理n 为文件建立目录项,有效组织,按名存取

21、· 文件的读/写管理和保护n 向外存读取/写入数据n 防止文件被非法窃取或破坏存取控制(五)OS与用户之间的接口1. 用户接口n 联机接口w 命令,用户通过和终端交互控制作业n 脱机接口w 作业控制语言(JCL),用户通过作业说明书委托系统代为控制作业n 图形用户接口w 用直观图标、菜单、对话框替代命令,免于单调、繁琐和记忆之累2. 程序接口n 供用户程序使用OS服务的系统调用1.5 操作系统的结构设计· 操作系统规模庞大,结构复杂,其质量的好坏直接关系到计算机系统能否有效可靠的运行。· 从操作系统的发展过程来看,操作系统的结构有如下几种:1. 无结构OS

22、3; 在早期开发操作系统时,设计者只是把他的注意力放在功能的实现和获得高的效率上,缺乏首尾一致的设计思想。这种OS是无结构的,也称整体系统结构。· 整个操作系统是一组过程的集合,每个过程都可以调用任意其他过程。· 优点:程序紧凑,可有效利用内存。· 缺点:程序杂乱,错误多、维护难。2. 模块化结构OS· 将OS按其功能精心地划分为若干个具有一定独立性和大小的模块,每个模块具有某方面的管理功能;· 仔细地规定好各模块之间的接口,使各模块之间能通过该接口实现交互。· 关键问题:n 模块的划分n 规定好模块之间的接口· 衡量模块独

23、立性n 内聚性:模块内部的联系紧密程度n 耦合性:模块之间的联系和影响程度· 优点:n 比无结构OS,更容易设计、开发和维护,错误更少,适应性更好· 缺点:n 接口规定难以满足实际需求n 模块设计决定的“无序性”3. 分层式结构OS所谓分层结构,即是把操作系统划分为内核和若干模块(或进程)组成,这些模块(或进程)排列成若干层,各层之间只能是单向依赖关系,不构成循环。· 设计任务:n 在目标系统An和裸机系统(宿主系统)A0之间,铺设若干层软件啊A1, A2, , An-1,使An能通过这些层,最终在A0上运行。· 设计原则:n 每一步都设计都建立在可靠的

24、基础上。n 每一层仅能使用其底层提供的功能和服务。n 各层之间单向依赖,高层仅依赖相邻低层。n 每层可包括若干模块。n 对每一层精心设计和充分测试后,认为其是正确的,并且与其所有高层无关。· 优点:n 易保证正确w 有序,自下而上、所有设计决定建立在较为可靠的基础上n 易扩充、维护w 增加、修改或替换一个层次中的模块,只要接口不变,不影响其他的层次· 缺点n 系统效率降低了w 层间通信,OS执行一个功能要穿越多个层次1.5.2 客户/服务器模式· 组成:n 客户机w 具有一定处理能力,也可向服务器请求服务n 服务器w 提供服务的机器或程序n 网络系统w 连接客户机

25、和服务器· 交互过程:n 客户发送请求消息n 服务器接收消息n 服务器回送消息n 客户机接收消息· 优点:n 数据分布处理(客户机)n 集中管理(服务器)n 灵活,易扩充(客户机、服务器)n 易改编应用软件(客户机程序)· OS中的各种实体n 进程、线程、消息、存储器和文件· 使用对象概念n 进程对象、线程对象· 使用面向对象技术开发OS的优点n 易重用、修改、扩展n 易保证正确性和可靠性1.5.3 微内核OS结构· 基本概念:n 基于客户/服务器模式,将操作系统划分为两大部分:微内核和多个服务器。· 基本思想:n 内核中仅

26、存放那些最基本的核心操作系统功能。其它服务和应用则建立在微内核之外,在用户模式下运行。微内核OS主要特征1. 足够小的内核2. 基于客户/服务器模式3. 应用“机制与策略分离”原理4. 采用面向对象技术足够小的内核· 现代操作系统的一个趋势是将这种把代码移到更高层次的思想进一步发展,从操作系统中去掉尽可能多的东西,而只留一个最小的核心。· 微内核不是一个完整的OS,只是操作系统最基本的部分:n 与硬件紧密相关的n 较基本的功能n 客户和服务器的通信基于客户/服务器模式· 微内核OS最基本的部分在内核,绝大部分OS功能放在微内核外面的一组服务器(进程)中实现。

27、83; 过去已成为操作系统传统的许多服务,现在成了与微内核交互的外部子系统。· 服务器进程和用户进程,运行在用户态· 微内核运行在核心态· 为什么要区分处理机的状态?答:操作系统是计算机系统的最重要的系统软件,为了能正确的进行管理和控制,其本身是不能被破坏的。为此系统应能建立一个保护环境,采用的办法就是区分处理机的状态· 在系统中有两类程序在运行· 1.管理程序 · 2.用户程序· 1.管理程序 · 其担负的任务是:a. 管理和控制者b. 为用户提供服务c. 负责管理和分配系统资源·

28、2.用户程序· 其担负的任务是:a. 被管理和被控制者b. 所需资源必须向操作系统提出请求c. 享受系统提供的服务什么是处理机的态?· 处理机的态处理机的工作状态,即处理机当前正在执行哪一类程序,依此来区分处理机的状态。· 计算机系统在执行上述两种不同类型的程序时,就应该有不同的权限。· 而为此根据对资源和机器指令的使用权限,把处理执行时的两种工作状态分为核态和用户态。关于“态”的几个概念· 核心态(Kernel Mode),又称管态或系统态: CPU执行管理程序时所处的状态。· 在此状态下允许CPU使用全部资源和全部指令,其中包括一

29、组特权指令(如涉及外设的I/O、改变处理机状态、修改存储保护的指令) 。· 是操作系统内核所运行的模式,运行在该模式的代码,可以无限制地对系统存储、外部设备进行访问。·  用户态(User Mode):又叫目态或常态。用户程序执行时CPU所处的状态。· 在此状态下禁止使用特权指令,不能直接使用系统资源与改变CPU状态,并且只能访问用户程序所在的存储空间。· 当用户程序执行时,如果需要请求操作系统服务,则必然由用户态转为核态,即由操作系统得到控制权,在核态下执行其管理程序。· 服务完毕后,由核态返回用户态,继续让用户程序执行。一道考研题

30、· 在计算机系统中,为什么要区分管态与目态?(西安电子科技大学1999年试题)· 【解答】操作系统是计算机系统中最重要的系统软件,为了能正确地进行管理和控制,其本身是不能被破坏的。因此,系统采用了区分处理机状态的办法,为操作系统程序建立一个保护环境。这样,用户程序只能在目态下运行,只能执行非特权指令,只能访问自己的存储区,从而保护了操作系统程序的正常运行。应用“机制与策略分离”原理· 机制:实现某一功能的具体执行机构n 关注的问题:做什么?由什么来做?n 机制处于系统的基层n 机制通常放在微内核中· 策略:借助于某些参数和算法来实现该功能的优化。n 关注的问题:具体怎么做?n 策略处于系统的高层采用面向对象技术· 面向对象技术作为一种先进的软件工程技术,对大型复杂系统的开发具有普遍的优越性,故广泛地应用现代OS设计。· 内核虽然小,微内核OS还必须包括服务器部分,才能实现其作为操作系统应有的功能。· 因此微内核OS仍然是复杂的大型系统,采用面向对象技术有益于其设计和开发。微内核的基本功能· 一般采用“机制与策略分类”的原理,将机制部分,以及与硬件紧密相关的部分放入微内核。· 微内核功能:1. 进程(线程)管理2. 低级存储器管理3. 中断和陷入处理进程(线程)管理

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论