覆盖和对换技术是解决大作业和小内存矛盾的两种存储管理技术,是多道程序环境下用来扩充内存的两种方法,其实质是对内存进行逻辑扩充。 覆盖主要用于早期的操作系统,而对换在现代操作系 统中仍具有较强的生命力。
1. 覆盖技术: 一个程序并不需要一开始就把它的全部信息装入内存再开始执行; 把程序划分成若干个功能上相对独立的程序段,并按 照程序的逻辑结构,让那些不会同时执行的程序段共 享同一块内存区。 这些程序段都被保存在外存(如磁盘)中,当有关程序 段的先头程序段执行结束后,再把后续程序段调入内 存中覆盖前面的程序段。
2. 对换技术: 所谓“对换”(或称交换),是指把内存中暂不能运行的进 程,或暂时不用的程序和数据换出到外存上,以便腾出足 够的内存空间,把已具备运行条件的进程或进程所需要的 程序和数据,换入内存。对换是提高内存利用率的有效措 施。 如果对换是以整个进程为单位,称之为“进程对换”。若 对换以“页”或“段”为单位进行,则分别称之为“页面 对换”或“分段对换”。 为了实现进程对换,系统必须实现3个方面的功能:对换 空间的管理、进程的换出以及进程的换入。
2.OS_Abbr
(1).FAT(File Allocation Table) 文件配置表
(2).NTFS(New Technology File System):文件系统
(3).PCB(Process Control Block):进程控制块
(4).DOS(Disk Operating System):磁盘操作系统
(5).TSS(Time Sharing System):分时系统
(6).RTS(Real Time System):实时系统
(7).PG(Precedence Graph)或(DAG:Directed Acyclic Graph)前去图
(8).RPC(Remote Procedure Call):远程过程(函数)调用
(9).TCB(Thread Control Block):线程控制块
(10).KST(Kernel Supported Threads):内核支持线程
(11).ULT(User Level Threads):用户级线程
(12).PTDA(Per Task Data Area):一个任务数据区
(13).LWP(Light Weight Process):轻型进程
(14).FCFS(first-come first-served):先来先服务调度算法
(15).SJF(short job first):短作业优先调度算法
(16).LLF(Least Laxity First):最低松弛度优先算法
(17).FF(first fit):首次适应算法
(18).NF(next fit):循环首次适应算法
(19).BF(best fit):最佳适应算法
(20).WF(worst fit):最坏适应算法
(21).TLB(Translation Look aside Buffer):快表
(22).PTR(Page-Table Register):页表寄存器
(23).ETA(Effective AccessTime):有效访问时间
(24).FIFO(first-input first-output):先进先出页面置换算法
(25).LRU(Least Recently Used):最近最少使用算法
(26).NRU(Not Recently Used):最近未使用算法
(27).PBA(Page Buffering Algorithm):页面缓冲算法
(28).DMA(Direct Memory Access):直接存储器访问
(29).COCT(Controller Control Table):控制器控制表
(30).DCT(Device Control Table):设备控制表
(31).CHCT(Channel Control Table):通道控制表
(32).SDT(System Device Table):系统设备控制表
(33).LUT(Logical Unit Table):逻辑设备表
(34).SPOOLing(Simultaneaus Periphernal Operating OnLine):假脱机技术
(35).API(Application Program Interface):应用程序接口
(36).SSTF(ShortestSeekTimeFirst):最短寻道时间优先
(37).FCB(File Control Block):文件控制块
(38).UFD(User File Directory):用户文件目录
(39).MFD(Master File Directory):主文件目录
(40).DAG(Directed Acyclic Graph):有向无循环图
(41).LCN(Logical Cluster Number):逻辑簇号
(42).VCN(Virtual Cluster Number):虚拟簇号
(43).RAID(Redundant Array of Inexpensive Disk):廉价磁盘冗余阵列
(44).RR(round robin):轮转调度算法
3.同步机制应遵循的原则
(1).空闲让进
(2).忙则等待
(3).有限等待
(4).让权等待
4.缺页中断与一般中断的区别;
(1).一般中断只需要保护现场然后就直接跳到需及时处理的地方。
(2).缺页中断除了保护现场之外,还要判断内存中是否有足够的空间存储所需的页或段,然后再把所需页调进来再使用。
5.内存管理与外存管理有哪些异同?
(1).主要任务:内存管理的主要任务是为多道程序的运行,提供良好的环境;而外存管理的主要任务则是为文件提供存储空间。
(2).基本功能:内存管理的基本功能包含了内存空间的分配、回收、内存保护、对换、内存扩充等方面;而对外存管理的基本功能则只是对外存空间的分配和回收。
(3).分配方式:它们都可采用连续分配或离散分配方式,且都以离散分配方式为主。
(4).分配算法或机制:对于连续分配方式,内存与外存管理中的分配和回收算法类似,主要有最先适应算法等;在离散分配方式中,两者采用的机制不同,内存管理主要是利用页(段)表;而在外存管理中,则主要利用文件分配表FAT或NTFS。
6.产生抖动的根源
同时在系统中运行的进程太多,由此分配给每一个进程的物理块太小,不能满足进程正常运行的基本要求致使每个进程在运行时,频繁的出现缺页,必须请求系统将所缺之页调入内存。
6.1工作集
所谓的工作集,是指在某段时间间隔△里,进程实际所要访问页面的集合
6.2.抖动的预防方法
(1).采取局部置策略
(2).把工作集算法融入到处理机调度中
(3).利用“L=S”准则调节缺页率(L:缺页之间的平均时间 S:平均缺页服务时间)
(4).选择暂停的进程
7.死锁
定义:多个进程因竞争资源而形成的一种僵持状态,若无外力作用,它将保持这种状态
【1】.产生死锁的原因主要是:
(1) 因为系统资源不足。
(2) 进程运行推进的顺序不合适。
(3) 资源分配不当等。
如果系统资源充足,进程的资源请求都能够得到满足,死锁出现的可能性就很低,否则
就会因争夺有限的资源而陷入死锁。其次,进程运行推进顺序与速度不同,也可能产生死锁。
【2】.产生死锁的四个必要条件:
(1) 互斥条件:一个资源每次只能被一个进程使用。
(2) 请求与保持条件:一个进程因请求资源而阻塞时,对已获得的资源保持不放。
(3) 不剥夺条件: 进程已获得的资源,在末使用完之前,不能强行剥夺。
(4) 循环等待条件: 若干进程之间形成一种头尾相接的循环等待资源关系。
这四个条件是死锁的必要条件,只要系统发生死锁,这些条件必然成立,而只要上述条件之
一不满足,就不会发生死锁。
【3】.死锁的解除:
(1).抢占资源。从一个或多个进程中抢占足够数量的资源,分配给死锁进程,已解除死锁状态。
(2).终止(或撤销)进程。终止(或撤销)系统中的一个或多个死锁进程,直至打破循环环路,使系统从死锁状态解脱出来。
【4】.处理死锁的方法
(1).预防死锁
(2).避免死锁
(3).检测死锁
(4).解除死锁
8.假脱机(SPOOLing)系统的组成
(1).输入输出井
(2).输入和输出缓存区
(3).输入和输出进程
(4).井管理程序
9.脱机I/O的原理
当CPU需要输出时,可先从CPU把数据直接从内存高速地输送到磁带上,然后另一台外围机的控制下,再将磁带上的结果通过相应的输出设备输出,由于程序和数据的输入和输出都是在外围机的控制下完成的,或者说是在脱机的情况下进行的,故称为脱机I/O。
示意图如下:
10.操作系统发展过程
如图所示
11.临界区
是指进程中访问临界资源的那段代码
12.原语操作。
所谓原语(Primitive),就是由若干条指令组成,用于完成一定功能的一个过程(都是原子操作(Action Operation),所谓原子操作,指的是,一个操作中的所有动作要么全做完,要么全不做,换言之,它是一个不可分割的基本单位)
13.紧凑
将内存中的所有作业进行移动,使它们全部都相临接,这样,即可把原来分散的多个空闲小分区拼接成一个大分区,可将一个作业装入该区,这种通过移动内存中的作业的位置,把原来多个分散的小分区拼接成一个大分区的方法,称为“拼接”或“紧凑”。
14.零头
分区中的小分区就是“碎片”,或称为“零头”。
(1).内零头:已经分配给用户又未被使用的内存空间
(2).外零头:系统中存在的分配不出去的细小分区
15.动态分区分配
(1).首次适应(first fit,FF)(顺序)算法:FF算法要求空闲分区链以地址递增的次序连接。在分配内存时,从链首开始顺序查找,直至找到一个大小能满足要求的空闲分区为止。然后在按照作业的大小,从该分区中划分出一块内存空间,分配给请求者,余下的空闲分区仍然留在空闲链中。若找不到合适大小的分区说明没有足够大的内存进行分配了,内存分配失败,返回。
(2).循环首次适应(next fit,NF)算法:为避免低地址部分留下许多很小的空闲分区,以及减少查找可用空闲分区的开销,循环首次适应算法在为进程分配内存空间时,不在从链首开始查找,而是从上次找到的空闲分区的下一个空闲分区开始查找,直至找到一个能满足要求的空闲分区,从中划分出一块与请求大小相等的内存空间给作业。
(3).最佳适应(best fit,BF)算法:把空闲分区进行排序,从小到大进行查找,找到恰好满足请求的空间进行分配
(4).最坏适应(worst fit,WF)算法:与最佳相反是找最大的进行分配,系统中会产生很多的小分区
(5).快速适应(quick fit ,QF)(索引)算法:又称分类搜索法,把分区按大小进行分类,在请求分配的时候,按类进行分配。
16.常规存储器管理方式特征
(1).一次性:一次全部调入内存
(2).驻留性:整个作业一直驻留在内存中
17.虚拟存储器的特征
(1).多次性
(2).对换性
(3).虚拟性
18.操作系统
操作系统是一组控制和管理计算机硬件和软件资源,合理地对各类作业进行调度,以及方便用户使用的程序的集合。
19.分页存储管理与分段存储管理的区别
(1).分页存储管理
将程序分成大小相等的页,内存分为与页相等的物理块,每一页装入一物理块中,属于离散装入方式
(2). 分段存储管理
段是逻辑单位,每一个段是逻辑上完整的单位 ,如代码段、数据段等,每一段须装入内存的连续区域,各段可离散装入。
(3). 分页与分段的区别
1 页是信息的物理单位,分页是为了实现离散分配方式,以消减内存的外零头,提高内存的利用率。分页仅仅是由于系统管理的需要而不是用户的需要;
段是信息的逻辑单位,分段的目的是为了能更好地满足用户的需要
2 页的大小固定,由系统把逻辑地址划分为页号和页内地址两部分,段的长度却不固定,决定于用户所编写的程序
3 分页的作业地址空间是一维的,即单一的线性地址空间。 分段的作业地址空间是二维的 在标识一个地址时,即需给出段名,又需给出段内地址
20.EAT = a*λ+(t+λ)(1-a)+ t = 2t + λ - t*a
λ:表示查询快表所需要的时间
a:表示命中率
t:表示访问一次内存所需要的时间
21.文件和文件系统中的基本文件操作
文件:是保存在外存上,由创建者所定义的、具有文件名的一组相关元素的集合
基本操作:创建文件、删除文件、读文件、写文件、截断文件、设置文件的读/写位置
22.平均周转时间(T)
作业必须是一个接一个的完成
(平均)Ti = 等待执行时间 + 运行
(带权)Ti = (等待执行时间+运行时间)/ 运行时间
(响应比)Ti = (等待时间)/运行时间
23.进程:PCB结构与程序和数据的组合
24.不是说的条件公式
N(W-1)+ 1 <= M
N:进程总个数
W:每个进程所需要的资源个数
M:总资源数
(w-1)表示的是每个进程都少一个资源,只要给其中任意一个进程一个所缺少的资源求可以满足进程的运行的条件,就不会死锁
25.抖动的预防方法(1).采用局部置换策略
(2).把工作集算法融入到处理机调度中
(3).利用“L=S”准则调节缺页率
(4).选择暂停的进程
26.偏序:
设A是一个集合,如果集合A上的一个关系R,满是 自反性、反对称性和传递性,则称R是A上的一个偏序关系