操作系统复习提纲(DOC)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
操作系统复习提纲
第一章
1.处理器的组成:运算器,寄存器,控制器,高速缓存。
2.处理器的典型寄存器中保存的内容及作用,如PC,IR,PSW。
数据寄存器:存储程序员指派的内容
地址寄存器:存储指向数据或指令的地址,也可以是指向一个地址的指针。
程序计数器PC:存储处理器下一条将要执行的指令的地址
指令寄存器IR :存储处理器下一条将要执行的指令的内容
程序状态字PSW:存储指令执行结果表现的各种状态
中断寄存器:保存与中断管理有关的信息和状态字
3.处理器的运行状态。
a.特权级别的处理器状态,运行特权指令
b.一般级别的处理器状态,运行大部分指令
4.处理器中的MMU是什么?在系统执行指令时起何作用?
MMU是内存管理单元,它是中央处理器(CPU)中用来管理虚拟存储器、物理存储器的控制线路,同时也负责虚拟地址映射为物理地址,以及提供硬件机制的内存访问授权。
5.系统中多级存储器有哪些特征。
保持金字塔配置结构,逐级向下价格便宜、访问速度慢具有高速缓存的主存储器访问机制(图1-16 P23)
过程:
(1)当处理器需要读取主存中的一个字时,首先要查寻该字是否在cache中。
(2)若在其中,就从中读出,这样就完成了一次内存访问操作。
(3)若不在cache中,要先从主存中查找所需要读取字的位置,然后将该字所在位置的一块数据读到cache中,并将该字传递给处理器。
(4)这时cache中的信息就进行了一轮更新。
(5)若在读入信息的过程中发现cache已满,则需要做交换处理,即需要在cache中找出一批不再使用的信息块交换出cache,这个空间可用来放置新读入的数据。
6.时钟在系统中可起何作用?
(1)时钟在计算机系统中承担着非常重要的各部件协调任务。
通过它的协调,可以使计算机的各功能部件在统一的时间顺序下工作。
(2)CPU保护:防止进程得到CPU后不放弃控制权。
(3)资源定时分配:分配给每一个进程一段时间(时间片),时间片到,发生时钟中断,资源控制权还给操作系统。
7.计算机软件分类:固化软件、系统软件、工具软件、应用软件。
固化软件:它们是与计算机硬件关联比较密切、主要完成各项硬件设备设置、实现系统引导的基本功能程序,被固化在系统的“只读存储器ROM”中,计算机加电后会被自动读取并执行。
如PC机中的BIOS,嵌入式系统中使用的软件。
优缺点:对软件做固化处理可以使其具有硬件的特征,如运行快、不易出错、可靠性高。
但固化软件的修改较麻烦。
系统软件:系统软件可管理计算机系统中的各种资源,生成计算机可识别的代码,与计算机硬件一起为用户提供运行环境或编程工具。
如:操作系统,高级语言编译系统,各种分布式软件系统(分布式文件系统、分布式数据库)
工具软件:工具软件是可为用户提供各种具有公共用途的软件支持或中间件的一种软件。
如:数据库系统,人机交互软件。
应用软件:应用软件是指在系统软件和工具软件之上建立的应用程序,它们是为某种特殊应用服务的软件系统。
如办公软件、电子商务软件、通信软件、游戏软件等。
8.指令执行周期
(1)基本指令执行周期
(2)带中断查询的指令周期
9.中断源、中断字、中断优先级
(1)中断源---引起中断的事件
(2)中断字---是中断寄存器中保存的固定格式内容
(3)中断优先级---在处理多个中断时的先后规则
第二章
1.操作系统是什么?
(1)从资源管理的角度看:操作系统是资源管理器。
(2)从用户的角度看:操作系统是虚拟计算机。
(3)从进程的角度看:操作系统是由一些可同时独立运行的进程和一个对这些
2.实时性方面:实时用于控制实时过程,对外部事件的迅速响应,有较强的
中断处理机构;分时这方面较差。
3.可靠性方面:实时要求高度可靠,不惜用高冗余;其它系统主要考虑资源
利用率.
4.以事件驱动和队列驱动:实时和分时具备接受外部消息,分析消息,调用
处理程序进行处理的能力。
而批处理系统通常不具备。
UNIX是分时操作系统
3.操作系统的基本功能
(1)操作系统提供标准的用户接口
(2)为用户和用户程序提供多种服务
(3)协调计算机资源使用冲突
第三章
对程序的阅读,能读懂程序。
第四章
1.进程的定义
进程是一个具有一定独立功能的程序在一个数据集合上的一次动态执行过程。
2.进程与程序的区别
(1)进程是动态的,程序是静态的
(2)进程是暂时的,程序是永久的
(3)进程与程序的组成不同
(4)进程与程序有对应关系(既有区别又有联系)
3.进程的状态及其转换
五状态进程模型
1.运行状态:占用处理器资源,该状态进程的数目应小于等于处理器数目。
2.就绪状态:进程已获得了除处理器外的所有资源,等待分配处理器资源后
就可执行。
3.阻塞状态:进程因等待某种条件(如I/O操作或进程同步),在条件满足
之前无法继续执行。
4.创建状态:进程刚创建,还不能运行
5.结束状态:进程已结束运行,已回收除进程控制块(PCB)之外的其他资
源。
状态转换:
1.Null—新建:用户登录、OS创建某项服务、批处理作业。
2.新建—就绪:收容一个新进程,使其进入就绪状态。
3.就绪—运行:从就绪进程表中选择一个进程,使其运行;
4.运行—退出:由于进程完成或失败而中止进程运行;
5.运行—就绪:用完时间片或高优先进程就绪导致;
6.运行—阻塞:进程要求的事件未出现而进入阻塞;原因:申请系统服务或
资源、通信、I/O操作等;
7.阻塞—就绪:等待的事件出现;如操作完成、申请成功等。
4.进程挂起的概念与意义
概念:将那些低优先级、等待时间较长的进程从内存换出至外存中,空出有限的内存资源为急需运行的进程提供服务的过程叫做进程的挂起。
意义:
1.提高处理器的执行效率
2.为正在运行的进程提供足够的内存
3.便于调试
5.进程阻塞的概念:进程因等待某种条件(如I/O操作或进程同步),在条件满足之前无法继续执行。
6.进程控制块(PCB)中主要包含什么内容,它在进程管理中起到什么作用。
1.进程的标识信息
2.进程的状态信息
3.进程的控制信息
作用:进程控制块的内容是进程动态特性的反映,在进程创建时首先要创建进程的PCB,操作系统是从进程PCB的信息中感知到进程的存在的。
7.原语的定义
在系统态下运行的具有某种特定功能的程序段,这些程序段的执行具有不可分割、不可间断、不可并发的原子特性。
8.临界区
在共享某个资源时,不允许多个并发进程交叉执行的一段程序。
在系统中还将具有这种特性的共享资源称为临界资源,将为管理和使用这种资源编写的程序称为临界程序段。
9.进程互斥
多个进程共享某个公共资源时,为了保证共享资源能够被正确使用,在临界区内不允许多个并发的进程交叉执行的这种制约关系。
10.进程同步
并发进程之间各自执行的结果互为对方的执行条件,这种相关性使得进程的运行直接影响着其它进程的执行速度。
这时具有直接制约关系的并发进程,需要通过相互传递信号达到协同工作的目的,这种在一组并发进程中,因为直接制约关系而相互发送信息、协同工作的过程称为进程同步。
11.与进程创建、同步、终止有关的系统调用,重点理解当父子进程共享同一变量时发生什么影响。
(估计是程序阅读题)
第六章
1.进程对临界资源访问需要采用什么机制?
互斥机制。
否则会出现失去封闭性和可再现性的情况。
2.进程间互斥的原则是什么?
1.进程对共享资源访问必须采用强制的互斥方式;
2.当某进程退出临界区时,不能阻止其它进程进入临界区;
3.每个进程从申请进入临界区,到允许进入临界区这个时间段应该是一个有
限值;
4.当临界区中没有进程存在时,任何请求进入临界区的进程都应该能够立即
进入;
5.进程互斥对进程执行速度和使用处理器的个数应该没有要求和限制;
6.一个进程驻留在临界区的时间必须是有限的。
3.进程互斥的实现方法
1.中断屏蔽法
2.锁变量法
3.忙等待法
4.进程同步的含义
一个进程的执行结果是另一个进程的执行条件,这时进程间需要相互传递或接收信息,协同工作的过程叫做进程的同步。
5.理解并能描述“生产者/消费者问题”中存在的进程同步和互斥关系。
1.存在的同步问题:
(1)消费者想用缓冲区数据时,缓冲区至少有一个单元被填写过;
(2)生产者要填写数据时,缓冲区至少有一个单元是空的。
2.存在的互斥问题:
因为有界缓冲区是临界资源,所以在多个同类进程对缓冲区操作时应进行互斥控制,因此生产指针和消费指针使用时要互斥。
6.信号量及信号量操作
信号量是为了更好的管理临界区而设置的一种变量,对信号量的操作只能用“up/down”原语。
7.管程的概念
管程是一种程序设计语言结构,而非一种并发调度单元。
8.进程通信:信号通信,消息通信,共享存储区的通信(主要掌握概念)
进程通信是进程并发中进程间信息交互的主要手段。
信号通信:信号是系统中设立的运行状态通报机制,进程收到信号时将做出不同反映。
消息通信:用消息传递方式实现进程的交互。
共享存储区的通信:在内存中建立一个用于通信的共享存储区,需要通信的进程可以将信息写入该存储区或从存储区中读出信息,以此完成进程间通信。
9.读者—写者问题
问题描述:对共享数据区的多个进程,有一些只读进程和一些只写进程,它们必须满足:
1.任一时刻“写者”最多只允许一个
2.多个“读者”允许同时访问共享数据区
3.若一个写进程正在写时,禁止所有读写操作.
分析:读/写问题与其它问题的差异
(1)一般互斥问题----进程可能对共享数据区进行读/写
(2)生产者/消费者问题----生产者进程中不仅包含写还有对写指针的读,消费者进程不仅包含读还有对读指针的调整
(3)读/写问题----是更单纯的只读或只写问题,应该有更高效的解决方案考虑设置信号量:
(1)mutex---互斥信号量,负责对全局变量rc修改过程的保护,初值为1.(2)db----互斥信号量,负责对读写共享数据区保护,初值为1.
(3)rc----是读/写进程的全局量,记录读进程数目,初值为0.
该问题难点:考虑多个读进程允许进入的情况.
哲学家就餐问题
(1)哲学家吃/思考(2)吃时需要两个叉子(3)每次放下一个叉子
(4)如何避免死锁
---该问题是针对多道并发进程,对有限共享资源竞争使用过程中的同步与互斥问题.
一种有意义的解法:
(1)用一组状态标志哲学家行为。
(2)用宏LEFT和RIGHT定义哲学家i的相临者。
(3)每当某哲学家要用餐时,须测试左右两边哲学家是否处于用餐状.
(4)将取叉子及放叉子的动作分别做在一个函数中,避免循环判过程.
第七章
1.处理器的调度:分级调度包含哪些内容(长程,中程,短程)
长程-----宏观调度,作业的管理
中程-----存储器的管理
短程-----微观调度,最小占用处理器单元管理
2.衡量处理器调度的标准
周转时间:从进程提交到进程完成所经历的时间。
i
i
s
e
i
T
T
T-
=
i
T:周转时间
i
e
T:进程的完成时间
i
s
T:进程的提交时间
平均周转时间:n为进程数
∑
=
i
T
n
T/1
带权周转时间:i W
i i r w i T T T +=
i T :周转时间 i w T :进程等待时间 i r T :进程运行时间
i i i i i i r w r w r r i i T T T T T T T W /1/)(/+=+== 吞吐量:单位时间内所完成的作业数,与作业本身特性和调度算法都有关系。
3.处理器调度算法的应用(重点是对优先级法,短进程优先法的理解应用)
:
优先级法(PS )是多级队列算法的改进,平衡各进程对响应时间的要求。
可
对长进程来说,响应时间存在一下关系:
T(FCFS)<T(SPN)<T(RR)
对短进程来说,响应时间存在一下关系:
T(RR)<T(SPN)<T(FCFS)
响应时间:从进程的请求输入计算机,直到系统给出首次回复的时间。
进程调度应用举例(几乎必考)
针对单处理器系统,假定有三个进程A、B、C,它们的调度数据如表所示,使用下列不同调度算法对这三个进程进行调度,分别计算出每种调度算法中进程平均周转时间。
(a) 优先级调度法
解:
(1)优先级法
因为进程是同时到达的,只须按进程的优先级来考虑;又因为系统中规定优先数越大其优先级越低,因此可知该三进程的优先级分别是B >C >A。
所以这些进程的调度次序及各自的周转时间为:
B:10:020-10:00=20(秒)
C:10:050-10:00=50(秒)
A:10:060-10:00=60(秒)
所以有三进程的平均周转时间为:
(20+50+60)/3=43.33(秒)
(2)短进程优先法
按短进程优先法调度时,进程的调度次序为:A> B> C。
每个进程的周转时间为:
A:10:010-10:00=10(秒)
B:10:030-10:00=30(秒)
C:10:060-10:00=60(秒)
所以三进程的平均周转时间为:
(10+30+60)/3=33.33(秒)
4.死锁问题
定义:当一个进程组中每个进程都在等待只能由该组进程中的其他进程才能引发的事件时,称这组进程处于死锁。
5.死锁问题的解决(主要针对死锁避免中的银行家算法的应用,要求能理解请求矩阵,分配矩阵,资源向量表,剩余向量表的意义与作用,并能将它们应用到解决实际问题中)
请求矩阵claim:用来说明多个进程对多种资源的请求数量
分配矩阵allocation:用来说明当前已分配的情况
资源向量表resource:用来说明系统所拥有各种资源的总量
剩余向量表available:用来说明各资源当前剩余量
资源分配拒绝法(银行家算法)详见课件第七章p44
(1)问题描述
一个银行家把他的固定资金贷给若干顾客。
只要不出现一个顾客借走所有资金后仍不够的情况,银行家的资金就能够周转。
银行家需一个算
法保证借出去的资金在有限时间内可以收回。
(2) 算法描述
假定顾客借款分成若干次;并在第一次借款时,能说明他的最大借款额。
具体算法:
顾客的借款操作按顺序进行,直到全部操作完成;
银行家对当前顾客的借款操作进行判断,以确定其安全性(能否支
持顾客借款,直到全部归还);
安全时,贷款;否则,暂不贷款。
一个安全状态的确定,初始态为:
分析后可知P2可运行直到完成:
P2运行完成后归还它所占用的资源,可利用资源向量中的内容增加。
分配P1运行直到完成:
再分配P3运行直到完成:
显然P4请求的资源可以满足,所以这是一个安全的分配状态。
一个不安全状态的确定,初始态为:
若给P1一个R1资源和一个R3资源,则有:
此时的4个进程若要运行都需要R1资源,但R1已没有了,所以该分配是不安全的。
因此p1请求被拒绝。
第八章
1.存储器配置策略有几种?
单一连续分区,多分区,分页,分段,段页式
2.逻辑地址空间,物理地址空间,地址重定位概念理解
逻辑地址空间(相对地址,虚地址):用户的程序形成的目标代码,它所限定的地址范围是地址空间,此空间的地址单元编号是逻辑地址,形成相对地址关系:
–首地址为0,其余地址相对于首址编址
–不能使用逻辑地址在内存中读取信息
物理地址空间(绝对地址,实地址):内存中存储单元的地址,该地址单元的集合称为物理地址空间,可直接寻址。
地址重定位:将程序中的逻辑地址转换为运行时机器直接寻址的物理地址过程是地址重定位。
实现地址重定位
可采用静态或动态方式实现地址重定位。
常见方式包括:
(1)当从外存向内存装载程序或数据时完成。
由链接程序给出重定位标志,用起始+原址方式实现。
(2)对内存地址按块进行管理、保护。
程序装载时按块分配,并记录块标志,以备执行时判断。
(3)设立专用寄存器辅助完成地址分配。
3.分页管理中的地址变换过程的具体理解
1、基本思想:将程序的逻辑地址空间划分成固定大小的页(page ),其大小
与内、外存大小,内外存传输速度有关。
将物理空间按页的大小划分成页面(page frame),页面可被所有进程共享。
分配时,内存中的进程除在一个页面中是连续的,页面间的分配可以不连续。
采用页式分配实现了内存空间的不连续
4.分页管理中的逻辑地址标识方式(读懂页号和页内偏移量的意义)
分页后进程的逻辑地址由页号和页内地址两部分构成,如:
页内地址表示页长,页号代表页数该址可以表示页长为1K,有1024页的逻辑地址空间。
5.对分区分配算法的理解
1、分区分配算法的任务
经过一段时间后,内存中会形成多个分区,再分配时需要做选择。
分配算法任务:分配时,寻找空闲分区,分区大小应大于或等于请求进程的要求;若大于,则将该分区分割成两个,其中一个标记为“占用”,而另一
方法描述优点缺点
最先匹配法(first-fit) 按分区的先后次
序,从头查找,找
到符合要求的第
一个分区就分配。
分配和释放的时
间性能较好,较大
的空闲分区可以
被保留在内存高
端。
但随着低端分区
不断划分而产生
较多小分区,每次
分配时查找时间
开销会增大。
下次匹配法(next-fit) 按分区的先后次
序,从上次分配的
分区起查找(到最
后分区时再回到
开头),找到符合
要求的第一个分
区就分配。
该算法的分配和
释放的时间性能
较好,使空闲分区
分布得更均匀
较大的空闲分区
不易保留
最佳匹配法(best-fit) 将分区按小大顺
序组织,找到的第
一个适应分区是
大小与要求相差
最小的空闲分区.
个别来看,外碎片
较小,较大的空闲
分区可以被保留
整体来看,会形成
较多外碎
片
最坏匹配法(worst-fit) 将分区按大小顺
序组织,查找到的
第一个大于需求
的分区就分配,找
到的是最大的空
闲分区.
基本不留下小空
闲分区
较大的空闲分区
不会被保留。
(1)对同一个分配请求,采用不同的分配算法会产生不同的分配效果。
(2)在设计分配算法时,要结合实际情况测评一个算法
(3)一般来讲,算法没有好坏之分只有是否合适的差异,只有满足系统整体要求的算法才是最合适的算法。
6.什么叫缺页中断?在缺页中断中主要完成什么工作?
缺页中断:就是要访问的页不在主存,需要操作系统将其调入主存后再进行访问。
当进程访问到某些不在内存的页面时,进程发出缺页中断请求,由系统程序将所缺页面调入内存。
7.分页管理策略的特点,分页过大、过小对系统的影响。
分配时,内存中的进程除在一个页面中是连续的,页面间的分配可以不连续。
采用页式分配实现了内存空间的不连续。
分页过大:进程页表较短,开销就会减小,且内外存交换时I/O响
应效率高。
但页比较大,内存分配时的内碎片就会增大。
分页过小:分配时产生的内碎片会比较小;但当系统内存容量比较大,描述进程占用内存的页表就会比较长,因页表本身也需占用内存空间,因此增加存储空间。
当页表比较长时对页表的查找时间也会加长,这些会对系统性
定的局限性。
主要体现在
时间局部性:一条指令的一次执行和下次执行,一个数据的一次访问和下次访问是集中的;
空间局部性:邻近的指令及邻近的数据的使用集中在一个较小区域内。
10.虚拟存储的概念(重点理解页面置换算法的功能。
要求对FIFO,OPT,LRU置换算法理解,并能用这些算法解决实际问题)
虚拟存储的概念:利用程序运行的互斥性和局部性原理。
我们允许程序装入内存时不必装入全部,只将需要的部分页或段读入内存就可让程序开始执行。
执行中,如果需要的指令或数据未在内存时(称为缺页或缺段),则由处理器通知操作系统将相应的页或段调入到内存,然后继续执行程序。
页面置换算法的功能:在进行页面装入时会碰到内存空间不够用的情况,这时需要用页面置换算法选择一些页面换出内存,腾出空余空间给急需的进程页面使用,置换算法就是在选择换出页面时进行计算的方法。
页面置换算法描述
(1)随机淘汰算法:随机淘汰页面。
(2)最近最少使用算法(LRU):选择内存中最久未使用的页面做置换。
这
是局部性原理的合理近似,需要记录页面使用时间的先后关系,硬
件开销太大。
(3)先进先出法(FIFO):在认定先调入的页面没有新调入的页面被访问机率
大的前提下。
在淘汰时将先调入的页面换出到交换区。
存在以下问题:内存利用率较低,因为较早调入的页往往是经常被访问的页,且FIFO算
法会出现Belady现象(如果对一个进程未分配它所要求的全部页面,有
时会出现分配的页面数增多,缺页率反而提高的异常现象).
(4)最佳算法(OPT): 根据局部性原理选择“未来不再使用的”或“在离当前
最远位置上出现的”页面被置换。
是一种理想情况,实现此算法要求事先知道每个进程的访问串,但在实际中无法预知,因而几乎无法实现。
第九章
1.文件组织结构可以采用几种方式?哪种结构比较适应文件长度的随意调整?
文件组织结构:堆结构,顺序记录结构,索引结构。
索引结构比较适应文件长度的随意调整。
2.按照文件的内部组织方式可以将文件分成几种类型?
1.普通文件:用于存储信息的一般文件(如ASCII文件,二进制文件)
2.目录文件:用于目录查询和文件管理的一种特殊文件
3.特殊文件:有特殊用途的文件(如管道文件,字符设备文件,块设备文件,
链接文件)
在UNIX系统中目录文件中包含目录项,每个目录中至少包含两个目录项,即当前目录项和父目录项。
每个目录项中包含文件名和文件的索引节点,而索引节点是指向文件描述信息数据结构的一个指针,一个目录中的所有信息构成了该目录文件的内容。
4.文件描述符是什么?它与文件名有何联系?
文件描述符代表着一个系统中打开文件的标识,是一个正整数。
它与文件名之间有着一一对应的关系。
5.对UNIX系统采用的多重索引文件存储结构策略的理解(要求理解下图的含义和表述机制,并能用实际问题与之套用。
书上P266)
对于一个UNIX 文件,如果其长度不超过10个物理块的大小,则文件的物理地址空间用10个直接寻址指针就可以表示出来。
如果超出10个磁盘块的大小,则文件的存储方法改为直接寻址指针加上间接寻址指针的方式,对于超出10个磁盘块的信息从第11个以后的指针给出的地址进行寻址(间接寻址)。
假定磁盘块大小为512字节,每个地址指针由4个字节组成,则UNIX 下一个文件可以占用的最大容量是:2113674128128128103
2=+++块=1056837字节
若磁盘块大小为1KB ,每个地址指针由4个字节组成,则UNIX 下一个文件可以占用的最大容量是:168430182562562561032=+++块=16843018字节 6.有关文件管理的系统调用(能看懂相关的C 程序)
第十章
1.设备控制器(DC )
I/O 设备中的电子控制部件构成了设备控制器。
2.设备控制器与设备间的标准接口
串口(COM 接口)、并口(SCSI 和IDE ),USB 口,MIDI 口等
3.I/O 中断机制的意义
I/O 中断是使CPU 和I/O 通道协调工作的一种手段。
I/O 通道可以借助中断 请求向CPU 进行干预,CPU 根据产生的I/O 中断事件来了解输入输出的执行 情况。
4.中断缓冲技术的意义
(1)引入缓冲机制是为了缓解处理器与I/O 设备之间的速度不匹配问题。
(2)减少对CPU 的中断次数,提高CPU 与I/O 设备之间以及各个I/O 设备 之间的处理并行性。