导图社区 操作系统总复习
计算机操作系统期末复习(仅归纳)不代表所有学校的考点,包括:第一章引论、第二章操作系统接口、第三章进程管理、第四章进程调度与死锁、第五章存储器管理、第六章文件管理、第七章设备管理。
编辑于2022-06-28 20:51:03操作系统复习
第一章引论
OS(Operating Systems)定义
P2 操作系统定义
在计算机硬件系统上配置的第一个大型软件
P3计算机系统层次
应用软件 ^ 高层 其他系统软件 | 操作系统 | 硬件系统 v 低层 1)层,层次结构由若干个层(Layer)组成,层是具有独立功能的模块或部件 2)接口,层与层之间的关系通过接口实现 3)单向依赖,层次结构中各个层从低到高排列。一个层只能使用比它更低的层的接口 4)隐藏性,一个层通过接口使用低层的功能,只需了解相关层的接口而无需关注层内部的设计实现等细节,也称为透明性
为上层提供服务,避免上层过多考虑细节为下层隐藏细节
P5P6图可能与进程调度(P117例4-3图4-4)一起,图要会画
顺序执行与并发执行
多道程序设计并发执行与现代操作系统的关系(例1-1)
I/O控制技术的发展,在硬件上具有处理器(CPU)与设备、设备与设备并行工作的能力,在软件方面提出了多道程序设计技术,两者奠定了操作系统形成的基础
OS基本类型及主要特征
OS:操作系统 基本类型:批处理操作系统,分时操作系统,实时操作系统
批处理
特征:批量处理,方便操作;自动执行,资源利用率高;缺少人机交互能力,不便于调试程序。
假脱机(SPOOLing)
分时系统和实时系统的特征(4/2)P12P14 区别
分时系统:同时性;独立性;及时性;交互性(最主要) 实时系统:高及时性;高可靠性 以数据的采集、传输、处理、控制为主要工作 区别:批处理系统和分时系统中人们对得到结果的时间没有太严格的要求,而在实时系统中,计算机对一个任务处理的正确性,不仅要求计算结果是正确的,还要求在规定的时间内得到结果
批处理系统的作业、作业控制语言、作业说明书
作业:要求计算机处理的一个问题,每个独立的步骤称为一个作业步,一个作业是若干个作业步的有序集合,若干作业的有序集合称为作业流或一批作业 作业控制语言(JCL):由操作系统提供的一组命令,用于定义作业、描述对作业的运行控制 作业说明书:定义一个作业,描述对该作业运行控制的一组JCL命令组成的文件
批处理系统工作的四个阶段
提交:程序员把程序,程序运行所需要的数据连同作业说明书一起提交给操作员 后备:输入计算机控制读卡机将一批作业的所有卡片信息依次读入,再控制磁带机将作业信息写到磁带上,此时磁带上的作业为后备或收容状态 执行:操作员启动主计算机,操作系统的作业调度程序从磁盘中选择若干作业进入主计算机的内存并运行 完成:输出计算机从此袋中读取数据并送到打印机输出
联机批处理系统的核心技术,SPOOLing组成P11图1-5
输入井:磁盘中一个特定的存储区域用于存储从读卡机上读取的作业信息 预输入程序:控制读卡机反复读取卡片上的作业信息并存入输入井(输入井中的作业处于后备状态,并以作业队列方式组织(作业后备队列)) 输出井:磁盘中一个特定的存储区域,作业执行过程中需要打印的数据暂时存储在输出井而没有直接输出到打印机 缓输出程序:控制打印机的工作,如果打印机是空闲的,则读取输出井中的数据送给打印机输出
操作系统主要功能
1、用户接口及作业管理 2、处理器管理(进程) 3、存储器管理 4、文件系统 5、设备管理
第二章操作系统接口
核心态,用户态
核心态:可以运行包含特权指令在内的全部指令 用户态:只能运行非特权指令 特权指令:涉及系统安全的指令或使用比较复杂的指令
OS内核组成,内核基本特点P19
内核是计算机系统最重要的系统软件:内核是实现对计算机系统管理,控制的主要部分,拥有最高的操作权限;内核中的程序和数据需要精心设计,运行时需要严密保护 操作系统内核的程序和数据包括:与硬件密切相关的操作;关键数据结构;基本中断处理程序;使用频繁的功能模块 特点:1、常驻内存,常驻是指程序装入内存运行完成后,操作系统没有回收所占用的空间;常驻技术可以加快系统的运行速度 2、内核的程序运行在核心态,用户不能直接运行内核的数据,也不能直接访问内核的数据
BIOS基本组成P21(操作系统的启动)
ROM BIOS:基本输入/输出系统,存储在只读存储器芯片中的一组程序和数据的统称 基本组成: POST自检程序,开启计算机系统电源时处理机复位并运行,功能是识别系统的硬件配置,并根据这些配置对系统中各部件进行自检和初始化 基本启动程序,检查和运行引导程序,引导程序的执行过程就是读去操作系统的启动装载程序并运行 基本硬件驱动程序和中断处理程序,指系统基本I/O设备的驱动程序及其基本的中断服务程序
OS用户接口类型P29(命名接口和程序接口)
命令接口: 批处理系统中,作业控制语言(JCL)属于命令接口,这种命令被称为脱机命令 分时系统中,用户通过键盘输入命令,主计算机接收,分析命令,这种命令被称为联机命令 现代个人微机操作系统中,联机命令又分为字符命令,菜单命令,和图标命令,其中字符命令是最基本的命令接口 程序接口: 供程序员在程序中使用的接口,通过系统调用来实现
系统调用含义与实现过程P30
含义: 一组操作系统设计人员事先编写的子程序,这些子程序作为内核的一部分 程序员使用这组子程序的方法 实现过程: 处理器切换为核心态,保存用户程序的现场 分析功能号并在地址入口表查找对应的子程序,有时候还需要进行安全控制检查 执行系统调用的子程序并得到结果 现场恢复,处理器切换为用户态并返回结果,必要时进行安全检查
系统调用与用户子程序的主要区别P32
从操作系统角度来看,它们所处的运行环境不同,系统调用运行在核心态,用户子程序则是运行在用户态;系统调用的执行产生中断即访管中断(或陷阱),用户子程序的运行则不会产生中断;系统调用子程序的代码与调用者的程序代码是分开、独立的,而用户子程序的代码与调用者的程序代码在同一个进程地址空间;不同用户程序可以共享使用同一个系统调用,用户子程序通常不能由其他用户程序调用。 对比项目 系统调用 用户子程序 运行环境 核心态 用户态 中断 访管中断 无 与主程序关系 与主程序分开、独立 同一进程地址空间 共享 不同用户可以共享 同一进程内部调用
Win常用基本字符命令的使用(表6-4),UNIX的shell常用基本命令(表2-7)
第三章进程管理
程序可再现性的含义,并发执行微观含义的随机性理解
可再现性:对于一道正确的程序来说,只要初始条件相同,在同一台机器上多次运行,每次运行得到的结果就应该是相同的。或者说,一道程序如果在不同时间多次运行,那么,每次运行所完成的功能应该是相同的。程序员调试程序的依据就是程序的可再现性。 并发执行的随机性:为了表现多道程序并发执行在宏观上的多任务,在微观上这些程序必须轮流交替的在处理器上运行,在这些程序中,哪一道程序先运行,哪一道程序后运行,运行时能够连续运行多长时间,这些都是随机的不确定的 破坏了程序的可再现性
进程定义、进程基本特征
进程是系统资源分配的独立单位,因进程是程序的运行过程,因此进程包含了程序,进程的运行就是其对应的程序的运行,程序规定了进程所要完成的功能,引入进程不仅可以实现对处理器的有效管理,同时也实现了对其他资源的管理 进程的主要特征: 动态性:有一个生命期,从创建、运行到消亡的过程 并发性:多个进程可以并发执行 独立性:进程是操作系统分配资源的基本单位 结构性:由程序块,数据块,进程控制块等部分组成
进程动态性,基本状态及转换关系
基本状态: 1、运行:进程正占用CPU运行 2、就绪:对于当前不处在运行状态的进程,如果把CPU分配给它,它就可以立即运行 3、阻塞:即使分配处理器也不能运行 三种状态进程转换 
进程的表示(PCB)、进程队列P46
描述、管理和控制进程所涉及的数据结构称为进程控制块(PCB),PCB是进程存在的标识,操作系统通过PCB管理,控制进程 PCB分为三个部分: 1.基本描述信息部分: 1)进程名,pname通常是用程序文件名或命名名称表示,不唯一 2)进程标识符pid,由操作系统自动生成,唯一,可用于区别进程,getpid() 3)用户标识uid,操作系统在用户注册时,为每个用户分配一个唯一的标识符uid 4)进程状态pstate表示进程当前的状态 2.管理信息部分 1)程序和数据地址,程序和数据在内存中的位置信息 2)IO操作相关参数,进程进行IO操作时的参数 3)进程通信信息,用于进程间通信的消息队列指针等 3.控制信息部分 1)现场信息,进程离开运行状态时,保存现场以备恢复 2)调度参数,与进程调度相关的参考信息,如优先级、运行时间等 3)同步、互斥信息量,用户保证进程间同步、互斥关系的信息 PCB队列(进程队列): 就绪队列:按照进程性质和优先级,可以有多个就绪队列,以提高进程调度算法选择进城的效率,多处理器系统中每个处理其具有独立的请求队列 等待队列:按照阻塞原因系统可以有多个等待队列,在阻塞原因解除时统一调整进程状态
进程管理的5个功能
控制、同步、通信、调度、死锁
进程阻塞,唤醒原语P48实现进程状态的变化
一个特殊的程序段称为原语,程序段中的所有指令要么全部执行要么一个都不执行,作用是保证系统运行的一致性 进程原语包括晋城的创建(Create),撤销(Destroy),阻塞,唤醒,切换 进程阻塞原语(Block)用于使一个进程进入阻塞状态 完成以下操作: 1.修改进程为阻塞状态 2.将进程的现场保存以备恢复 3.将进程PCB加入合适的等待队列 进程唤醒原语(Wakeup)用于是一个进程从阻塞状态进入就绪状态,在阻塞原因解除时被使用 完成以下操作: 1.将进程PCB从等待队列中移除 2.修改进程状态为就绪状态 3.将进程PCB加入合适的就绪队列 阻塞原因解除后进程未必可以直接运行,因此合理的唤醒源于并不会将阻塞状态直接修改为运行状态
阻塞的概念
临界区的执行,也是顺序的
并发进程的两种制约关系
制约关系: 间接制约:是由资源共享引起的,一组并发进程在共享某种临界资源时存在的一种制约关系 直接制约:由任务协作引起的,一个进程的执行状况直接决定了另一个或几个进程能否执行
临界资源、临界区含义
临界资源:一次只能让一个进程使用的资源,如打印机,存储单元,堆栈,文件 临界区:进程对应的程序中访问临界资源的一段程序代码,就是进程在资源的一次使用过程中,从申请开始至归还为止的一段程序代码,不允许处理器在临界区之间轮流交替的执行
信号量机制的含义(P,V操作定义)
信号量机制由三个要素组成:信号量s、原语p、原语v struct semaphore{ int value; //信号量的值 PCB *bq; //由于该信号量而堵塞的进程的PCB队列(等待队列) } p(s){ s.value = s.value-1; if( s.value < 0 ) blocked(s); } v(s){ s.value = s.value + 1; if( s.value <= 0 ) wakeup(s); } 该机制中,s.value>0表示资源就绪,否则表示有进程在使用或请求使用资源。进程请求资源时需使用原语p,若资源非空闲,则进入由于s而导致的等待队列,直至正在使用资源的进程归还资源时使用原语v将其唤醒
填空
大题
例子: PA()[ int x; p(s); x = count; (1) x = x+1; (2) count = x; (3) v(s); } PB(){ int y; p(s); y = count; (4) y = y-1; (5) count = y; (6) v(s); } 用信号量s表示资源(变量count)的就绪情况,使得临界区(1)(2)(3)与(4)(5)(6)建立互斥关系 按1,4,5,6,2,3顺序能否执行 semaphore s = 1; //定义信号量 处理器在执行PA()的(1)之前,应先执行PA()中的p(s)操作,由于这时s.value = 1,所以执行p(s)后,s.value = 0,不会引起进程堵塞,p(s)操作很快返回,PA()进入临界区,处理器执行(1)。现在,按照假定,处理器转去执行PB()的(4)(5)(6),从上述代码可知,处理器在执行(4)之前,应先执行PB()的p(s)操作,当处理器执行PB()中p(s)之前,s.value = 0,所以,在p(s)执行后s.value = -1,PB()进程因p(s)操作进入阻塞状态,PB()被加入s.bq的等待队列中,而暂时无法执行PB()的(4)及其后续的语句。这样,将来处理器轮到PA(),继续执行PA()的(2)(3)和v(s),并离开了临界区。处理器在执行PA()的v(s)前,s.value = -1,所以,PA()的v(s)操作的执行将从s.bq等待队列中唤醒阻塞状态的进程PB()。当处理器再次轮到PB()执行时,执行PB()中的p(s)的下一条指令,即PB()进入临界区执行。
信号量机制实现互斥关系
可能导致错误结果的轮流交替执行操作都被控制了 p操作和v操作是原语,不会出现如加锁机制的两条语句被分割执行的情况
信号量机制实现同步关系(一般PC问题和复杂PC问题)
对于一组存在直接制约关系的并发进程,为了避免制约关系导致的运行错误,应当使各进程中代码的运行顺序服从内在要求,需要建立进程间单向或相互的依赖关系。 若一组进程中的每一个进程都与其他至少一个进程建立了单向或相互的依赖关系,则称这组进程为同步进程,这组进程间建立了同步关系。  代码段L1对L2依赖时,可将L2的一次执行看做一种“资源”的归还(就绪),而L1的执行,需要申请使用这种“资源”。 信号量机制实现同步关系:在L1执行前执行原语p,在L2执行后执行原语v 与互斥关系不同的是,L1使用“资源”后并不归还(“资源”被消耗)
一般PC问题和复杂PC问题P67P70
进程通信的含义,进程通信方式
进程通信(IPC):两个或多个进程之间交换数据的过程,其中提供数据的一方称为发送进程,得到数据的一方成为接收进程 进程通信方式: 1)共享存储区通信 信号,管程,低级通信机制 2)消息缓冲通信 3)信箱通信 多生产者多消费者的PC问题 4)管道通信
消息缓冲通信的实现P86概念理解
消息缓冲通信:内核空间中为每个进程配备了一个消息队列MQ,并记录在进程的PCB中,发送进程通过Send操作将信息封入一个消息缓冲区中,并追加到接收进程的消息队列内;接收进程通过Receive操作收取自身消息队列中的信息。 消息缓冲区包括:发送进程标识(pid),正文大小(size),正文(data),向下指针(next); 与信箱通信相比,消息缓冲通信中的消息队列专属于进程。消息缓冲通信是一种直接通信,当接收进程未开启时,通信不成功
引入线程的目的
线程:把进程细化为若干个可以独立运行的实体,每一个实体成为一个线程(Thread) 引入线程减小了系统的基本工作单位粒度,其目的在于: -实现进程内部的并发执行,提高并行程度 -减少处理器切换带来的开销 -简化进程通信方式
并发含义和特征P38
并发执行是指在多道程序设计环境下,处理器在开始执行一道程序的第一条指令后,在这道程序完成之前,处理器可以开始执行下一道程序,同样的,更多其他的程序也可以开始运行 并发执行具有复杂性,体现在随机性,不可再现性,相互制约
第四章进程调度与死锁
作业调度基本算法、周转时间、平均周转时间的计算(例4-1,4-2)
作业调度就是按一定的策略从后备队列中选择一部分作业,为它们分配运行所需要资源,创建进程的过程 作业调度称为宏观调度,被作业调度程序选中的作业进入内存,其状态为“执行”状态,需要进过进程调度后才能得到运行 周转时间:第i个作业Ji的周转时间Ti的定义为 Ti = 作业Ji的完成时刻 - 作业Ji的提交时刻 对于批处理用户而言,一个作业的周转时间越小越好 平均周转时间: T = (T1 + T2 +...+ Tn)/n 对于调度应尽可能寻找减少平均周转时间T的管理方法 作业调度基本算法: FCFS:先到先服务 思想:排队 特点:公平合理;算法简单容易实现;服务质量欠佳(不利于短作业) SJF:短作业优先 思想:减少共同等待时间 特点:实现最小的平均周转时间;吞吐量大;存在“饥饿”现象;算法思想简单,但实现困难 HRN:高响应比优先 思想:通过考虑作业已等待时间解决SJF的饥饿问题 响应比R
大题
进程调度两种方式
进程调度就是按一定策略从进程就绪队列中选择一个进程,让其占用处理器运行 两种方式:抢占方式:系统可以基于某些原则在没有任何警告的情况下,让运行的进程停下来,把处理器分配给下一个进程,具有更好的灵活性,但具有更大的系统开销,常见原则有:时间片原则,优先级原则.. 与非抢占方式:运行的进程让他继续除非他自身的原因让出处理器,否则一直运行至完成为止,管理简单系统开销较小,但缺乏灵活性
进程调度基本算法[FCFS,RR,优先级]的思想
FCFS先来先服务
调度时不修改就绪队列,并且总是选择队首 基于非抢占调度 优缺点:公平,易实现,服务质量欠佳
RR时间调度算法
时间片轮转RR 基于抢占调度方式,实现依赖于计时器中断 进程每次被选中时分配一个时间片,调度时判断其时间片是否用尽,若用尽则将其移至就绪队列末尾,否则不修改就绪队列,并且总是选择队首 时间片长为T,若就绪队列中已存在n个进程,则提交的新进程的最长响应时间 R = T * n 根据实际需要确定T的值: T太长则响应时间过长,T太短则进程切换过于频繁,系统开销加大
Priority优先级算法
为每个进程赋予一个优先数,调度时总是选择优先数最高的进程 可基于抢占式调度也可基于非抢占式调度: 抢占式调度可保证总是执行高优先级进程 非抢占式调度,仅能保证当前一个进程阻塞或结束时总能选择优先级最高的进程 关键是进程优先数的配置 静态优先级算法:进程优先数在进程创建时确定,不可被改变 动态优先级算法:进程优先数在创建进程时被赋初值,运行中可根据系统状态改变 IO繁忙型进程应当被赋予高优先级以提高系统并行程度
高响应比计算方法P110
R = 作业等待时间/作业大小 作业等待时间=系统当前时间-作业提交时刻 作业大小是指作业运行是占用处理器时间的总和 短作业一开始就拥有较高的响应比而优先被选中
进程死锁的四个必要条件
1.互斥条件,每一个进程至少与同组的另一个进程共享同一类临界资源,共享同一临界资源的进程必须互斥进行 2.不剥夺条件,一个进程在申请资源得不到满足时不能执行其他进程的自愿归还操作 3.请求与保持条件,进程在申请新资源得不到满足而阻塞时,对原来申请已经分配得到的资源仍然保持着 4.环路等待条件,等待前一个进程归还资源,而他已经拥有的资源优势他的后一个进程所等待的 一组进程死锁则上述四个条件同时成立
死锁预防的含义及预防方法
含义:在资源分配上采取限制措施来破坏死锁产生的4个必要条件之一 互斥条件原则上不能被破坏,因为并发执行方式正是利用互斥执行才得以保证程序的可再现性。(打印机可以把进程对临界资源的使用转化为对可共享资源的使用,采取虚拟技术) 不能通过破坏“不剥夺条件”来实现,被剥夺资源的进程不可预期的被打断,系统需处理回退,缺乏公平性,反复剥夺与被剥夺 破坏请求与保持条件,有两种方式,静态分配(进程需要一次申请完所有可能使用的资源,缺点是难以预知需要使用的资源,降低资源利用率),资源暂时释放(进程申请资源不成功时,暂时归还已分配的资源,缺点是系统需处理回退,反复申请与归还) 环路等待状态:按序分配(对资源编号,进程只允许申请比当前已拥有资源编号更大的资源,缺点是若使用大编号资源的段内需使用小编号资源,则只能实行小范围内的静态分配,编号管理困难)和单请求方式(资源申请不允许嵌套,但一次可申请多个,归还旧资源后方可申请新资源,缺点是同时需要多个资源时只能实行小范围内的静态分配)
安全状态的判断,银行家算法应用
系统处于安全状态就一定不会发生死锁,如果系统进入不安全状态就可能发生死锁,但不一定发生死锁,但发生死锁时一定是在不安全状态 银行家算法核心思想:在资源分配之前预先判断这次分配是否会导致系统进入不安全状态
死锁判断例子(例4-9)
假设某一道程序运行时需要访问临界资源R,该程序可供多个用户同时运行,如果系统拥有资源R的数量为k,而程序申请使用资源R的数量为x(假定程序每次只申请一个,先后分x次申请),有n个用户同时运行该程序。那么,在k、x和 n 满足什么条件下,可以保证用户运行时不会产生进程死锁? 解:该程序被运行n次,将创建n个进程,如果每个进程都得到x-1 个资源R后,资源R还剩余1个单位,那么,这n个进程就不会死锁,因此k、x和n满足k-n * (x-1)≥1即可。
P133银行家算法
第七章设备管理
设备独立性含义P257
I/O软件的层次结构为用户和程序隐藏了底层设备的物理特性差异,实现了设备的独立性。当进程运行时,由操作系统在逻辑设备与物理设备之间建立连接,即设备的分配,把这种设备使用方法的特点称为设备独立性
物理设备和逻辑设备
设备管理中的数据结构及其关系四张表P272
I/O控制方式
I/O缓冲的目的P275
1)缓解设备和处理器之间速度不匹配的矛盾,提高系统工作的并行程度 2)减少I/O操作的次数 3)减少中断次数 4)提高系统的及时性,方便用户操作
磁盘驱动调度组成
移臂调度和旋转调度
移臂调度算法例子(SSTF、SCAN、电梯P284)
SSTF最短寻道时间优先 SCAN扫描算法,总是选择当前磁头方向上距离最近柱面的I/O操作,移到尽头才返回 电梯算法,SCAN算法的改进,当前方向没有I/O操作就换方向
第六章文件管理
没什么大题
文件系统的主要功能,按名存取的含义
按名存取,是指用户只需给出文件名和相关的操作即可(如创建、读或写等操作)而无需关心文件内容在存储介质上的存储形式,以及文件内容的存取细节。 文件系统的主要功能: 1)文件内容的组织。组织形式分为文件的逻辑结构(面向用户使用)和物理结构(面向系统设计,侧重于提高存储空间的利用率和存取速度) 2)文件和目录管理。文件系统通过文件的物理结构和目录文件实现按名存取的功能 3)文件系统的接口 4)文件的共享和安全性
文件逻辑结构的分类
1)流式文件。文件内容按照用户提供的数据顺序,以字符流方式组织,没有对文件内容进行结构上的划分 2)记录式文件。以数据在逻辑上的完整性含义为单位划分文件内容,每个单位成为一个逻辑记录简称记录
三种文件物理结构及其主要特点
1)连续结构:顺序结构,系统按照记录顺序将它们存放在依次相邻的物理块上 特点:管理简单;存取速度快;存储空间连续分配,存储空间利用率不高;不便于文件内容的增加或删除 2)链接结构:指定物理块的一个固定存储单元,作为链表的指针,指向同一个文件内容存储的下一个物理块,并规定指针为空表示该文件的物理块链表结束 特点:非连续的存储分配,提高了存储空间的利用率;方便文件内容的增加或删除;只适合顺序存取,存取速度慢;指针信息造成物理块信息不完整,并导致数据无法控制 3)索引结构:为外存储器上的每个文件建立一个索引表 特点:非连续的存储分配提高了存储空间的利用率;方便文件内容的增加或删除;实现随机存取;索引表占用额外的存储空间;增加检索的开销
FCB和目录文件
文件控制块(FCB)用于描述和管理文件 包括:描述信息部分(有文件名、文件的逻辑结构信息、文件物理结构信息),管理信息部分(存取控制信息和使用信息) 若干文件的FCB数据的有序集合称为文件目录,文件目录是以文件的形式保存在外存储器上,这类文件称为目录文件,简称目录或文件夹。 一个目录作为一个文件也对应一个FCB,一个目录的FCB数据还可以保存在另一个目录文件中,这样按不同的方式划分文件,把若干文件组织在一起作为一个文件目录。
二级目录的名称及结构关系图
分为用户文件目录(UFD)和系统主目录(MFD)。系统为每个用户建立一个用户文件目录,登记该用户的所有文件,另外系统为全部用户建立一个系统主目录用于登记用户名和对应的用户文件目录的存储起始地址
二级目录访问过程
用户访问文件过程是:按照用户名查找系统主目录,得到用户文件目录,接着按照文件名查找用户文件目录,得到文件的FCB,从而得到文件在外存中的存储位置
UNIX空闲块成组链接法的结构及分配算法(首指针结构,专用组节点结构)
文件保密的含义和基于存取权限的访问控制方式P245
文件保密是对文件存取的控制,防止文件的非法访问 基于主体权限的存取控制方式:存取控制矩阵、存取控制表、权能表
文件的共享P241
绕道法,链接法,基本文件目录法(BFD)
第五章存储器管理
处理器的寄存器(Register)可以存放程序的指令和运算数据,寄存器是所有存储部件中存取速度最快的一种 高速缓冲区存储器(Cache):为了缓解CPU与主存之间速度不匹配而采取的技术,在CPU和主存之间加入一级或多级的静态随机存取存储器(SRAM)作为Cache,容量比主存小得多,不能在程序中直接使用 主存(本章所讲)分为只读存储器(RAM)和可以进行读或写操作的随机存取存储器(RAM),RAM的数据不能保存,关机之后数据消失。CPU可以直接访问主存,主存用于存放处理器运行期间的程序和数据
存储管理的主要功能,重定位及其方式
主要功能: 1)存储空间的分配和回收(最基本的功能) 主要任务如下: 1.设计合理的数据结构,登记存储单元的使用情况 2.设计分配算法 3.存储空间回收 2)重定位(静态,动态) 3)存储空间的共享和保护 重定位:也称地址转换或地址映射,就是把虚拟地址转换为物理地址的过程,程序的运行必然需要重定位,因为CPU最终是以物理地址存取数据和指令。 静态重定位:操作系统装入程序时修改其中所引用的逻辑地址值为物理地址值,由操作系统实现 动态重定位:在运行过程中需要做访问操作时才进行地址转换,由CPU的存储管理单元(MMU)自动实现,操作系统只登记MMU进行重定位时需要的相关信息 静态重定位 动态重定位 硬件支持 不需要 需要 操作系统的工作 装入时修改程序 登记MMU所需信息 程序装入 被修改 直接装入 程序运行时移动 困难 容易 程序的不连续装入 困难 容易 其它技术支持 难以实现 容易实现 (动态链接,虚拟存储等)
固定分区基本思想和数据结构
操作系统占用内核空间之外将整个用户空间划分为若干个固定大小的区域,多道程序分别装入不同的分区内,一道程序只能装入一个分区,而一个分区也只能分配给一道程序 数据结构:分区说明表(DPT),记录各分区的位置和使用情况 区号 长度 起始地址 状态 1 75K 32K 1 2 30K 107K 0 分区分配给进程状态置为1
动态分区的FF,BF,WF分配算法(例图5-10)P157
最先适应算法,最佳适应算法,最坏适应算法
结合前面或单独出小题
FIFO/LRU P184
先进先出算法 最近最久未使用算法
静态分页基本思想及例子5-3
静态分页:程序装入内存是装入其所有的页。运行速度快,实现方法简单,程序所需空间不能超过实际内存大小 需记录以下关键数据 1.记录内存中各块的使用(空闲/被分配)情况 位示图法:内存中的第b个块的使用情况被记录在一个位示图第 i 个字的第 j 位上,0 表示空闲,1 表示已分配 b = 字长 * i + j i = b / 字长 j = b % 字长 2.用页表记录进程中的页与内存中的块的对应情况 每个进程创建时将建立该进程的页表,以记录进程的各个页被装入到内存中的块的编号。页表的起始位置(页表基址)及页的个数(页表限长)记录在进程的PCB中以备重定位时MMU使用 静态分页及数采用动态重定位,同时进行存储保护。
页表、快表的作用
页表:登记进程页与块对应关系的数据结构称为页表,主要功能是重定位和存储保护 快表:TLB(在MMU增加的一组专用的硬件高速缓冲区)中所存储的页与块的对应关系,访存时先在TLB中查询 作用:弥补静态分页技术的不足(重定位时两次访存(查找页表和读取数据)增大了CPU的开销)
请求分页中页表结构,中断位P、修改位M的作用
页表需要记录: 页对应的块的编号 中断位P,页是否在内存中 访问位A,页在装入后是否再次被访问过 修改位M,页在装入后是否被修改,在页面调度时使用可以减少写IO操作 外存地址,页在外存中的位置
页面调度的LRU置换算法的思想及淘汰页面的计算例子(图5-27),注意置换的含义
大题
二次机会置换算法的思想(clock算法)及淘汰页面的计算(例图5-29)
抖动现象和Belady现象
Belady现象:可使用的内存块数越多,运行过程中产生的缺页率反而越多(FIFO特有) 抖动现象;缺页中断发生的次数多,反复调入调出
偏调度算法不当
分段存储管理、段页式存储管理的数据结构及重定位过程
段式和页式的区别P204
1.存储空间的分配单位粒度:页长度是固定的,页由硬件虚拟地址结构决定;段由程序员的程序设计决定,段之间长度往往不相等 2.虚拟地址空间的维数:分页是一维的,分段是二维(段号s和段内地址d)的 3.内存分配:分页把内存空间看成由一组大小相等的块组成,分段存储管理则采用动态分区 4.碎片:按页分配存在内碎片,按段分配造成外碎片
段:二维的地址,页:一维
大题
P207
存储管理方法与碎片问题
分页存储管理中每个进程的最后一个页可能不足一个块的长度,按页分配内存块时,存在内碎片;分段存储管理则采用动态分区,随着分配和回收的不断进行,可能存在很小的空闲区造成外碎片
内部碎片可能大可能小,外部碎片很小
分区内存管理和分页内存管理的地址变换方法
分区:物理地址 = 逻辑地址 + 分区首地址 分页:1)逻辑地址整除页长,商为页号,余数为页内地址 2)查页表,找到页表对应的帧号 3)物理地址 = 帧号 * 页长 + 页内地址
主题