操作系统复习资料.docx
《操作系统复习资料.docx》由会员分享,可在线阅读,更多相关《操作系统复习资料.docx(23页珍藏版)》请在冰豆网上搜索。
操作系统复习资料
目录
操作系统的有关定义3
操作系统的目标3
操作系统的三个作用4
操作系统的管理功能4
操作系统的基本特征4
计算机系统的构成5
特权指令和非特权指令5
CPU的两种状态5
CPU状态之间的转换6
中断概念:
6
直接内存存取(DMA)6
处理应用程序的步骤6
进程引入7
进程定义7
进程与程序的区别7
进程的状态7
进程状态的变迁8
什么是进程控制块(PCB)8
进程控制块的主要内容9
进程的组成9
进程管理功能9
进程控制的概念9
创建进程的步骤10
原语10
进程切换步骤10
临界资源和临界区的定义10
互斥11
什么是进程同步11
实现同步机构的方法11
用信号灯实现进程互斥11
用信号灯实现进程同步12
用加锁实现进程同步和互斥12
线程的定义12
线程和进程的区别:
13
用户进程和内核进程13
生产者——消费者问题及解答13
死锁的定义和原因13
死锁的必要条件13
解决死锁的方法14
资源分配策略14
处理机调度的功能14
处理机调度分为两级15
作业的状态15
作业调度的功能15
作业调度算法16
什么是逻辑地址?
什么是物理地址?
为什么要进行两者的转换工作?
16
主存管理功能16
什么是地址映射16
地址映射的方法16
主存分配17
分区管理的技术17
常用的置换算法17
资源管理功能18
设备分类18
设备管理的目标18
设备管理功能19
什么是缓冲19
缓冲类别19
为什么要引入缓冲19
常用的缓冲技术20
设备分配20
输入/输出控制方式20
操作系统的有关定义
•它们能有效地组织和管理计算机系统中的硬件及软件资源,合理地组织计算机工作流程
•控制程序的执行,并向用户提供各种服务功能,使得用户能够灵活、方便和有效地使用计算机
•使整个计算机系统能高效运行。
操作系统的目标
▪方便:
操作系统使计算机更易于使用
(这是OS产生的根本原因)
▪有效:
操作系统允许以更有效的方式使用计算机系统资源
(以优化的算法合理分配、调度资源,提高效率)
▪扩展能力:
在构造操作系统时,应考虑如何有效地扩展新功能
操作系统的三个作用
1资源的管理者(进程管理存储管理设备管理文件管理提供用户接口)
2向用户提供服务(命令行操作图形化接口编程接口)
3对硬件扩展
操作系统的管理功能
1、处理器管理功能,包括进程控制、进程同步、进程通信、进程调度等;
2、存贮器管理功能,包括内存的分配和回收、内存保护、地址映射、内存扩充(虚拟内存)等;
3、设备管理功能,包括设备分配和回收、设备驱动、设备独立性实现等;
4、文件管理功能,包括文件存储管理、目录管理、文件读写管理、文件保护等。
5、网络管理功能,包括问网上资源共享管理、数据通信管理、网络性能管理、网络安全管理等;
操作系统的基本特征
1、并发特征,是指若干个事件或活动同时并行发生,即多个程序同时运行。
2、共享特征,是指计算机资源可以被和共享使用,共享方式包括互斥共享、同时访问共享。
3、异步特征,是指每个进程的随机性或不确定性。
4、虚拟特征,是指利用虚拟生成逻辑实体。
例如,利用虚拟存储技术,将计算机物理外存虚拟为逻辑内存使用。
计算机系统的构成
特权指令和非特权指令
•特权(privilege)指令:
只能由操作系统使用、用户程序不能使用的指令
1改变机器状态的指令
2修改特殊寄存器的指令
3涉及外部设备的输入\输出指令
•非特权指令:
用户程序可以使用的指令
CPU的两种状态
管态(SupervisorMode):
又称为系统态,是操作系统的管理程序执行时机器所处的状态。
在此状态下中央处理机可以使用全部机器指令。
用户态(UserMode):
又称目态,是用户程序执行时机器所处的状态。
在此状态下禁止使用特权指令,不能直接取用资源与改变机器状态,并且只允许用户程序访问自己的存储区域。
(补充:
有的系统还将管理程序执行时的机器状态进一步划分为核态和管态,核态具有管态所具有的所有权限。
管态允许使用一些在用户态下所不能使用的资源,但不能修改机器的状态指令。
而无核态的系统,管态执行核态的全部功能。
管态闭核态权限要低,用户态更低)
CPU状态之间的转换
•用户态内核态唯一途径中断/异常/陷入
在下列情况下,有用户态自动转向管态。
1用户进程访问操作系统要求操作系统的某种服务,这种访问称为系统功能调用;
2在用户程序执行时,发生一次中断(I/O完成中断)
3在一个用户进程中产生一个错误状态,这种状态被处理为程序中断‘
4在用户态下企图执行一个特权指令,作为一个种特殊类型的错误并按情况③处理。
从管态返回用户态是用一条指令实现的,这条指令本身也是特权指令。
’
中断概念:
是指某个事件发生时,系统中止现行程序的运行,引出处理该事件的程序进程处理,处理完毕后返回断点,继续执行。
访管中断:
用户程序在运行中使用特权指令引起的中,对操作系统提出某种需求(请求I/O传输,建立进程)是所发出的中断。
直接内存存取(DMA)
I/O操作的三种可能技术:
•编程I/O(programmedI/O)=无中断I/O
•中断驱动I/O(interrupt-drivenI/O)=有中断I/O
•DMA(DirectMemoryAccess,直接内存存取)
处理应用程序的步骤
1编辑建立一个新文件,或对已有的文件中的错误进行修改
2编译将源程序翻译成浮动的目标代码。
3连接主程序和其他所需要的子程序和例行程序连接装配在一起,使之成为一个可执行的、完整的主存映像文件
4运行将主存映像文件调入主存,启动运行,得出计算结果
进程引入
程序的顺序执行:
一个计算的若干操作必须按照严格的先后次序顺序地执行
顺序程序的特点:
顺序性——处理机的操作严格按照程序所规定的顺序执行。
封闭性——程序一旦开始执行,其计算结果不受外界因素的影响。
可再现性——程序执行的结果与它的执行速度无关(即与时间无关),而只与初始条件有关。
程序的并发执行:
若干个程序段同时在系统中运行,这些程序段的执行在时
间上是重叠的,一个程序段的执行尚未结束,另一个程序段的执行已经开始,即使这种重叠是很小的一部分,也称这几个程序段是并发执行的。
并发程序的特点:
1失去程序的封闭性和可再现性
2程序与计算不再一一对应
3程序并发执行的相互制约
进程定义
进程是一个具有一定独立功能的程序关于某个数据集合的一次运行活动。
是资源分配,调度的基本单位。
进程与程序的区别
1程序是指令的有序集合,是一个静态概念。
进程是程序在处理机上的一次执行过程。
是一个动态概念。
2进程是一个能独立运行的单位,能与其他进程并行地活动
3进程是竞争计算机系统有限资源的基本单位,也是进行处理机调度的基本单位。
4一个程序可以对应多个进程,一个进程至少包含一个程序
进程的状态
1运行状态(running)
该进程已获得运行所必需的资源,它的程序正在处理机上执行。
2等待状态(wait)
进程正等待着某一事件的发生而暂时停止执行,即使给它CPU控制权,也无法执行。
3就绪状态(ready)
进程已获得除CPU之外的运行所必需的资源,一旦得到,CPU控制权,立即可以运行。
进程状态的变迁
注意:
运行状态的进程因请求某种服务而变为等待状态,当请求的事件完成后,处于等待状态的进程并不能恢复到运行状态,而是转变为就绪状态,通过重新调度程序才能转变为运行状态。
什么是进程控制块(PCB)
描述进程与其他进程、系统资源的关系以及进程在各个不同时期所处的状态的数据结构,称为进程控制块PCB(processcontrolblock)。
进程控制块的主要内容
2进程标识符进程符号名或内部id号
3进程当前状态本进程目前处于何种状态
4当前队列指针next该项登记了处于同一状态的下一个进程的PCB地址。
5进程优先级反映了进程要求CPU的紧迫程度。
6CPU现场保护区当进程由于某种原因释放处理机时,CPU现场信息被保存,在PCB的该区域中。
7通信信息进程间进行通信时所记录的有关信息。
8家族联系指明本进程与家族的联系
9占有资源清单
进程的组成
①程序与数据
描述进程本身所应完成的功能
②PCB
进程的动态特征,该进程与其他进程和系统资源的关系。
进程管理功能
进程控制,进程调度,进程间同步协调和进程间通信。
进程控制的概念
对系统中的进程实施有效的管理,负责控制进程状态的变化
创建进程的步骤
1从PCB资源池中申请一个空闲的PCB结构
2为新进程分派资源
3初始化PCB
4将新进程插入就绪队列
原语
1是一种特殊的系统调用
2完成一个特定的功能
3执行时不可中断
4原语操作具有原子性,不可再分
用于进程控制的原语有:
创建原语、撤消原语、等待原语,阻塞原语、唤醒原语
进程切换步骤
1保存处理机上下文(保护cpu现场)
2更新当前PCB信息
3把PCB放入相应的队列
4PCB更新
5PCB上下文恢复到CPU
临界资源和临界区的定义
临界资源:
一次仅允许一个进程使用的资源称为临界资源。
临界区:
访问该临界资源的程序段
互斥
当某一进程正在访问某一存储区域(临界资源)时,就不允许其他进程来读出或者修改存储区的内容,否则,就会发生后果无法估计的错误。
什么是进程同步
并发进程在一些关键点上可能需要互相等待与互通消息
实现同步机构的方法
1锁和上锁,开锁操作
2信号灯(信号量)和P,V操作
用信号灯实现进程互斥
书上95页
用信号灯实现进程同步
书上p97
用加锁实现进程同步和互斥
p91p94
线程的定义
1线程是比进程更小的活动单位,它是进程中的一个执行路径
2进程中的一条执行路径
3它有自己私用的堆栈和处理机执行环境
4它与父进程共享分配给父进程的主存
5它是单个进程所创建的许多个同时存在的线程中的一个
线程和进程的区别:
(1)进程是资源的分配和调度的一个独立单元,而线程是CPU调度的基本单元
(2)同一个进程中可以包括多个线程,并且线程共享整个进程的资源(寄存器、堆栈、上下文),一个进行至少包括一个线程。
(3)进程的创建调用fork或者vfork,而线程的创建调用pthread_create,进程结束后它拥有的所有线程都将销毁,而线程的结束不会影响同个进程中的其他线程的结束
(4)线程是轻两级的进程,它的创建和销毁所需要的时间比进程小很多,所有操作系统中的执行功能都是创建线程去完成的
(5)线程中执行时一般都要进行同步和互斥,因为他们共享同一进程的所有资源
(6)线程有自己的私有属性TCB,线程id,寄存器、硬件上下文,而进程也有自己的属性进程控制块PCB,这些私有属性是不被共享的,用来标示一个进程或一个线程的标志
用户进程和内核进程
P104
生产者——消费者问题及解答
第四章ppt65到69页
死锁的定义和原因
定义:
进程之间相互等待资源又都不能向前推进的情况,即造成相互死等的局面。
原因:
系统资源不足、相互竞争资源、请求资源顺序不当。
死锁的必要条件
1.互斥条件
2.不剥夺条件(非抢占)
3.占有并等待(部分分配)
4.环路条件(循环等待)
解决死锁的方法
死锁的预防:
p151
死锁避免:
p152
资源分配策略
先请求先服务(FIFOFirstInFirstOut)优先调度针对设备特性的调度
处理机调度的功能
确定数据结构
确定调度策略(调度原则)
给出调度算法
实施处理机分派
处理机调度分为两级
作业调度:
作业调度又称为宏观调度
任务——对存放在辅存设备上的大量作业,以一定的策略进行挑选,
分配主存等必要的资源,建立作业对应的进程,使其投入运行
进程调度:
进程调度又称为微观调度
任务——对进入主存的所有进程,确定哪个进程在什么时候获得
处理机,使用多长时间。
作业的状态
后备状态
作业已存放在磁盘上,等待调度。
执行状态
作业进入主存开始运行。
完成状态
作业计算完成开始,退出系统。
后备状态
作业调度的功能
确定数据结构
建立作业控制块jcb(jobcontrolblock)。
作业控制块记录了每个作业类型、状态、资源请求及分配情况。
确定调度策略与调度算法
分配资源
为选中的作业分配所需要的系统资源。
善后处理
收回该作业所占用的全部资源,撤消作业控制块以及与该作业有关的全部进程资源。
作业调度算法
P1806-12
什么是逻辑地址?
什么是物理地址?
为什么要进行两者的转换工作?
逻辑地址:
就是cpu逻辑段管理内存而形成的地址。
物理地址:
就是程序或数据在内存中的实际地址,即内存单元的地址,也就是被装入内存的内存地址寄存器的地址。
转换原因:
当程序装入内存时,操作系统要为之分配一个合适的内存空间,由于程序逻辑地址与所分配的内存物理地址编号不一致,而cpu执行指令时是按物理地址进行的,所以要进行地址转换。
主存管理功能
地址映射
主存分配划分方法(p186)
存储保护上,下界防护
虚拟主存
什么是地址映射
将程序地址空间中使用的逻辑地址变换成主存中的物理地址的过程,称为地址映射.
地址映射的方法
①编程或编译时确定地址映射关系
在程序编写或程序编译时确定虚、实地址之间的对应关系,结果是一
个不能浮动的程序模块。
②在程序装入时确定地址映射关系
在程序装入过程中随即进行的地址变换方式称为静态地址映射
③在程序运行时确定地址映射关系
在程序执行期间,随着每条指令和数据的访问自动地连续地进行地址映射,这种地址变换方式称为动态地址映射。
主存分配
②放置策略——在可用资源中,选择一个空闲区的原则
③调入策略——决定信息装入主存的时机
预调策略:
预先将信息调入主存
请调策略:
当需要信息时,将信息调入主存
④淘汰策略——在主存中没有可用的空闲区(对某一程序而言)时,决定哪些信息从主存中移走,即确定淘汰已占用的内存区的原则。
分区管理的技术
页式段式段页式
常用的置换算法
①最佳算法(OPT算法)
当要调入一新页而必须先淘汰一旧页时,所淘汰的那一页
应是以后不再要用的,或者是在最长的时间以后才会用到
的那页。
3先进先出淘汰算法(FIFO算法)
4最久未使用淘汰算法(LRU算法)
资源管理功能
1.处理机管理
2.存储管理
3.设备管理
4.文件管理
5.网络与通信管理
6.用户接口
为了使用户能灵活、方便地使用计算机和操作系统,操作系统还提供了一组友好的用户接口,包括:
1)程序接口;2)命令接口;3)图形接口。
设备分类
(1)存储设备
存储设备又称块设备,是存储信息的设备,如:
磁盘、
磁鼓(以块为单位传输信息)。
(2)输入输出设备
输入输出设备又称字符设备,能将信息从计算机外部输
入到机内,或反之,如:
键盘、显示器、打印机(以字
符为单位传输信息)。
(3)通信设备
通信设备负责计算机之间的信息传输,如调制解调器、
网卡等。
设备管理的目标
(1)提高设备利用率
①合理分配设备
②提高设备与CPU、各外部设备之间的并行性
(2)方便用户的使用
提供使用方便且独立于设备的界面
①统一:
对各种不同的设备提供一致的界面
②独立于设备:
用户使用的设备与物理设备无关
设备管理功能
(1)状态跟踪
动态地记录各种设备的状态。
(2)设备分配
①静态分配——应用程序级
程序进入系统时进行分配,退出系统时收回全部资源。
②动态分配——进程级
进程提出设备申请时进行分配,使用完毕后立即收回。
(3)设备控制
实施设备驱动和中断处理的工作。
什么是缓冲
缓冲是两种不同速度的设备之间传输信息时平滑传输过程的常用手段
缓冲类别
①缓冲器
缓冲器是用来暂时存放数据的一种存储装置,它容量较
小,存取速度快。
②软件缓冲
在I/O操作期间用来临时存放I/O数据的一块存储区域
为什么要引入缓冲
①处理数据流的生产者与消费者间的速度差异
如:
从调制解调器收到一个文件,并保存到硬盘上。
②协调传输数据大小不一致的设备
如:
在计算机网络中用来处理消息的分段和重组。
③应用程序的拷贝语义
如:
操作系统为保证系统调用write的正确语义(应用程
序要写入磁盘的数据就是write系统调用发生时的版本)。
方法:
在系统调用返回前将应用程序缓冲区复制到内
核缓冲区。
常用的缓冲技术
双缓冲、环形缓冲、缓冲池
设备分配
.独享分配共享分配虚拟分配虚拟分配
输入/输出控制方式
循环测试I/O方式
I/O中断方式
DMA方式
通道方式
叙述段页式地址变化过程
段页式地址变换用到的数据结构有:
一张段表,多张页表。
段表记录了段与页表的对应关系,页表记录了页面与物理块的对应关系。
因为在段页式存储管理中,对逻辑空间的组织策略是分段,每个逻辑段在分为若干个大小相等的页面,因此逻辑地址仍然是二维的。
首先根据逻辑地址中的段号区检索段表,找到该对应的页表中的位置,地址变换机构将逻辑地址中的段内地址划分成页号和页内地址。
然后根据页号区检索页表。
找到对应的物理块号,物理块号和页内地址拼接得到物理地址。