《操作系统重点整理(完整版~).doc》由会员分享,可在线阅读,更多相关《操作系统重点整理(完整版~).doc(28页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、|第 1 章 操作系统概述1) 一个完整的计算机系统是由硬件系统和软件系统两大部分组成2) 计算机软件是指程序和与程序相关的文档的集合3) 按功能可把软件分为“系统软件 ”和“应用软件”两部分系统软件:操作系统语言处理程序,数据库管理系统应用软件:各种管理软件,用于工程计算的软件包,辅助设计软件4) 通常把未配置任何软件的计算机称为“裸机”5) 操作系统可以被看作是计算机系统的核心,统管整个系统资源,制定各种资源的分配策略,调度系统中运行的用户程序,协调它们对资源的需求,从而使整个系统在高效、有序的环境里工作。6) 发展的动力:(1) 提高计算机资源的利用率的需要(2) 方便用户使用计算机的需
2、要(3) 硬件技术不断发展的需要(4) 计算机体系结构发展的需要7) 操作系统是在“裸机”上加载的第一层软件,是对计算机硬件系统功能的首次扩充8) 操作系统的定义:操作系统是控制和管理计算机硬件和软件资源,合理地组织计算机工作流程,以及方便用户使用计算机的一个大型程序9) 操作系统的功能: 处理机管理:进程控制,进程同步,进程通信、调度、实施 CPU 分配 存储器管理:内存分配,内存保护,地址映射,内存扩充 设备管理:缓冲管理,设备分配,设备管理 文件管理:存储空间管理,目录管理,读写管理和保护 与用户有关的接口:用户接口,程序接口,人机交互10) 操作系统另一种定义:操作系统是一组能有效地组
3、织和管理计算机硬件和软件资源,合理地对各类作业进行调度,以及方便用户使用的程序的集合操作系统的种类:1) 单道批处理系统|特点:单路性、独占性、自动性、封闭性、顺序性缺点:系统的资源得不到充分的利用2) 多道批处理系统特点:多路性、共享性、自动型、封闭性、无序性、调度性好处: 提高 CPU 的利用率 提高内存和 I/O 设备的利用率 增加系统吞吐量缺点:平均周转时间长,无交互能力3) 分时系统分时系统是指在一台主机上连接了多个配有显示器和键盘的终端,由此所组成的系统,该系统允许多个用户同时通过自己的终端,以交互方式使用计算机,共享主机中的资源。采用了“时间片轮转”的处理机调度策略4) 实时系统
4、实时系统是指系统能及时响应外部事件的请求,在规定的时间内完成对该事件的处理,并控制所有实时任务协调一致地运行第 2 章 处理机管理1) 进程是指在系统中能独立运行并作为资源分配的基本单位,它是由一组机器指令,数据和堆栈等组成的,是一个能独立运行的活动实体,多个进程可以并发执行和交换信息2) 程序是一个在时间上严格有序的指令集合3) 在单道程序设计下,系统具有的特点a. 资源的独占性b. 执行的顺序性c. 结果的再现性在多道程序设计环境下,系统具有:a. 执行的并发性b. 相互的制约性|c. 状态的多变性(不可再现性)5) 并发、并行、串行a. 从宏观上看是并行,同时在内存的多个程序都在执行着,
5、互不影响b. 从微观上看是串行,由于 CPU 在任何时刻只能执行一个程序,因此这些程序轮流占用 CPU,交替执行着c. 我们把“逻辑上相互独立的程序,在执行时间上相互重叠,一个程序的执行还没有结束,另一个程序的执行已经开始”的这种特性称为程序执行的并发性6) 对进程的描述a. 进程是程序的一次执行过程b. 进程的运行活动是建立在某个数据集合上的c. 进程是在获得资源的基础上从事自己的运行活动7) 进程的特征结构特征、动态性、并发性、独立性、异步性进程是一个动态的概念不同进程可以执行同一个程序每一个进程都有自己的生命周期进程之间具有并发性,进程间会相互制约8) 程序和进程的区别a. 程序是指令的
6、有序集合,是静态的,进程是程序在处理机上的一次执行过程,是动态的。程序的存在时永久的,而进程是有生命周期的,它因创建而产生,因调度而运行,因撤销而消亡b. 进程是程序的一次执行过程,程序是进程赖以存在的基础c. 进程具有并发性,而程序并发执行会失去可再现性d. 进程是系统分配和调度的独立单位,进程由程序、数据集合和进程控制块组成9) 系统进程的使用级别高于用户进程10) 进程的状态创建、就绪、运行、阻塞|a. 一个进程从运行状态变为就绪状态,一定会引起另一个进程从就绪变为运行b. 一个进程从运行状态变为阻塞状态,一定会引起另一个进程从运行状态变为就绪状态;这种因果变迁绝对不可能发生,因为一个
7、CPU 不可能真正同时运行两个进程c. 一个进程从阻塞状态变为就绪状态,不一定会引起另一个进程从就绪状态变为运行状态11) 进程的三个组成部分:程序、数据集合、进程控制块(PCB)12) 进程控制块是进程存在的唯一标示a. 作用:通过 PCB,是原来不能独立运行的程序,成为一个可以独立运行的基本单位,一个能够并发执行的进程b. 其中的信息:进程标识符、处理机状态、进程调度信息、进程控制信息13) 操作系统中把做出“决定把 CPU 分配给谁用”的程序称为“进程调度程序”14) 常用的进程调度算法:a. 先来先服务调度算法b. 时间片轮转调度算法:为就绪队列中的每一个进程分配一个称为“时间片”的时
8、间段,它是允许该进程占用 CPU 的最长时间长度|c. 优先数调度算法:优先数高的先调度,若相同则先来先服务d. 多级队列调度算法:时间片调度和优先数调度算法的结合15) 进程调度程序的主要功能a. 记录系统中所有进程的有关情况,比如进程的当前状态,优先数等b. 确定分配处理机的算法c. 完成处理机的分配d. 完成处理机的回收16) 把处理剂分配给进程后,还有一个允许它占用多长时间的问题,有两种处理方式,一种是不可剥夺方式,另一种是剥夺方式17) 为了对进程进行有效的管理和控制,操作系统要提供若干基本的操作以便能创建进程、撤销进程、阻塞进程、唤醒进程,把具有这种特性的程序称为“原语”,原语的不
9、可分割性,通常利用屏蔽中断的方法18) 程序接口:操作系统在程序一级给予用户的支持命令接口:操作系统在控制一级给予用户的支持19) CPU 指令系统中的指令分为两类a. 操作系统和用户都能使用的指令,非特权指令b. 只能由操作系统使用的指令,特权指令20) CPU 的两种工作状态:管态、目态a. 当 CPU 处于管态时,可以执行包括特权指令在内的一切机器指令b. 当 CPU 处于目态时,禁止使用特权指令21) 访管指令系统调用命令的程序属于操作系统,它应该在管态下执行用户程序只有通过计算机系统提供的访管指令才能实现由目态转为管态,进而调用这些功能程序的目的访管指令属于非特权指令,功能是执行它就
10、会产生一个软中断,促使中央处理机由目态转为管态,进入操作系统并处理该中断22) 从功能上看,可以把系统调用命令分为五大类:a. 一是关于进程管理和控制的|b. 二是关于外部设备输入/输出的c. 三是关于磁盘文件管理的d. 四是关于访问系统信息的e. 五是关于存储申请与释放的23) 从形式上看,操作系统提供的系统调用与一般的过程调用(子程序调用)相似,但它们有着明显 的区别作业管理:1) 把一个作业提交给系统时,系统要开辟一个作业控制块 JCB,以便随时记录作业的信息2) 被系统接纳的作业,在没有投入运行之前,称为后备作业。这些作业存放在辅助存储器中,并由他们的 JCB 连接在一起,形成所谓的后
11、备作业队列3) 作业调度:按照某种规则,从后备作业队列中挑选作业进入内存,参与处理机的竞争,这个过程称为作业调度4) 作业的状态:a. 提交状态:进入辅助存储器,作业的信息还没有全部进入系统,系统也没有为它建立 JCB,感知不到它的存在b. 后备状态:建立起了 JCB,并将 JCB 排到后备作业队列中c. 运行状态:(阻塞、运行、就绪)都属于运行状态d. 完成状态:也是一个暂时性的状态5) 作业的调度算法:a. 先来先服务:以作业进入后备作业队列的先后次序周转时间=完成时间 -到达时间注:若分配一定的内存,且不允许作业在内存中移动时,要考虑所占内存大小b. 短作业优先:从后备作业队列中挑选所需
12、 CPU 时间最少且资源能够得到满足的作业注:如果所有作业“同时”到达后备作业队列,那么采用短作业优先的作业调度算法总会获得最小的平均周转时间c. 响应比高着优先:先调度响应比高着 |响应比=已等待时间 /所需 CPU 时间6) 在确定作业调度算法时应注意的问题:a. 公平对待后备作业队列中的每一个作业,避免无故或无限期的延迟一个作业的执行,使各类用户感到满意b. 使进入内存的多个作业,能均衡地使用系统中的资源,避免出现有的资源没有作业使用,有的资源却被多个作业争抢的“忙闲”不均的情况c. 力争在单位时间内为尽可能多的作业提供服务,提高整个系统的吞吐能力第 3 章 存储管理1) 计算机操作系统
13、的存储器:CPU 寄存器,主存,辅存2) 在考虑计算机存储器的设计时,必须顾及a. 价格、容量、访问时间b. 存取时间越快,价格越高,容量越小3) 高速缓存:介于寄存器和存储器之间的存储器,主要用于备份主存中较常用的数据,以减少处理机对主存储器的访问次数,提高程序执行速度高速缓存容量远大于寄存器,比内存约小两到三个数量级左右为了缓和内存与处理机(CPU)速度的不匹配4) 字(字长):一次传送数据的长度16、32、64依系统而定(主)内存储器和高速缓存之间是以“块”为单位传递数据的高速缓存与 CPU 之间则以“ 字”为单位传递数据5) 存储器管理的功能:a. 内存的分配与回收b. 存储的保护和共
14、享c. 地址定位d. 存储扩充6) 内存储器由一个个存储单元组成,一个存储单元可存放若干个二进制的位(bit),8 个二进制位被称为一个字节(byte)7) 在操作系统中,把用户程序指令中的相对地址变为所在绝对地址空间中的绝对地址的这个过程,称为地址重定位8) 地址的定位方式:|a. 绝对定位方式:是在程序装入内存之前,程序指令中的地址就已经是绝对地址,已经正确地反映了它将要进入的存储区的位置,不适用于多道程序设计环境b. 静态重定位(多道程序环境下)根据内存的具体情况将装入模块装入到内存的适当位置,会使装入模块中的所有逻辑地址与实际装入内存后的物理地址不同。这种地址重定位是在程序执行前完成的
15、c. 动态重定位将地址重定位的时间推迟到程序执行时再进行所以装入内存的所有地址都仍是逻辑地址连续分配存储方式 :1) 单一连续分配(静态重定位)a. 单道程序环境下,总体上把内存储器分为两个分区:系统区和用户区b. 系统总是把整个用户区分配给一个用户使用,把分配给了用户但未被使用的区域称为“内部碎片”c. 单一连续分区存储管理的缺点:a) 由于每次只能有一个进入内存,故它不适用于多道程序设计,工作效率不高,资源利用率低b) 只要作业比用户区小,在用户区里就会形成碎片,造成资源浪费c) 大作业无法在小内存中运行d. 为缓解大作业小内存的情况提出覆盖技术和对换技术a) 覆盖技术:允许一个作业的若干
16、个程序段使用同一个存储区b) 对换技术:以辅助存储器作为内存的后援(硬盘)2) 固定分区存储管理(静态):分区数目、大小固定a. 预先把内存储器中可供分配的用户区划分成若干个连续分区,每个分区的尺寸可以相同,可以不同。每个分区中只允许装入一个作业运行,系统可以为每一个分区设置一个后备作业队列,一个作业到达时,总是进入到“能容纳该作业的最小分区”的那个后备队列中去排队|b. 分区的分配与释放方案:a) 在队列中挑选出第一个可容纳的作业进入i. 优点:选择效率高ii. 缺点:小作业-大内存b) 在这个队列中进行搜索,找到这个分区能够容纳的最大的那个作业,让它进入运行i. 优点:存储空间利用率高,产
17、生内部碎片尽可能的小ii. 缺点:选择效率低c) 在系统中至少保留一个小的分区,以避免因为运行小作业而被迫分配打分去的发生d) 为具体管理各个分区,并建立一个“分区分配表”,其中包括每个分区的起始位置大小及状态c. 特点a) 它是最简单的,具有“多道”色彩的存储管理方案,提高资源利用率b) 当把一个分区分配给某个作业时,该作业的程序将一次性的全部装入到分配给他的连续分区里c) 静态重定位,在分区内的程序不能随意移动d. 缺点a) 进入分区的作业尺寸不见得与分区的长度相吻合,势必产生内部碎片,引起资源的浪费b) 如果到达作业的尺寸比任何一个分区的长度都大,它就无法运行3) 可变分区存储管理:分区
18、的边界划分随作业的需求可变,分区的数目随着进入作业的多少可变,消灭了内部碎片(可能会产生内部碎片)。外部碎片是指无法分配给用户使用的存储区a. 基本思想:在作业要求装入内存储器时,如果当时内存储器中有足够的存储空间满足该作业的需求,就划分出一个与作业相对地址空间同样大|小的分区,并分配给它b. 要解决的问题a) 采用一种新的地址重定位技术,动态地址重定位,以便程序能够在内存储器中随意移动,为空闲区的合并提供保证b) 记住系统中各个分区的使用情况c) 给出分区分配算法c. 地址动态重定位过程(在程序执行时动态完成)a) 为实施地址动态重定位,硬件要增加一个地址转换机构,这个机构一般由地址转换线路
19、和一个定位寄存器(基址寄存器)组成b) 地址的静态重定位和动态重定位的比较i. 地址转换时刻:静态重定位是在程序运行之前完成地址转换的,而动态重定位是在程序执行时完成ii. 谁来完成任务:静态重定位是由软件完成地址转换工作的,而动态重定位则是由一套硬件提供的地址转换机构来完成iii. 完成的形式:静态重定位是在装入时一次性集中地把程序指令中所有要转换的地址加以转换;而动态重定位则是每执行一条执行时,就对其地址加以转换iv. 完成的结果:实施静态重定位,原来的指令地址部分被修改了,而动态重定位只是按照所形成的地址去执行这条指令,并不对指令本身做任何修改d. 空闲区的合并e. 分区的管理a) 表格法:一张已分配表,一张空闲表(分区号,分区大小,分区起始地址、状态)b) 单链表法:一个存放该分区的长度,另一个存放它下一个空闲分区的起始地址c) 双链表法:还存放上一个空闲区起始地址f. 空闲分区的分配算法a) 最先适应算法:要求空闲分区链以地址递增的次序链接(对大作业
限制150内