计算机操作系统面试知识点整理

发布时间 : 星期四 文章计算机操作系统面试知识点整理更新完毕开始阅读

(5)回收策略 回收的时机,对所回收的内存空闲区和已存在的内存空闲区的整理。 5.内存信息的共享与保护

常用的存储保护有三种。硬件法、软件法、软硬件结合 (1)上下界保护(常用的硬件保护法)

上界寄存器 存放程序装入内存后的开始地址(首址) 下界寄存器 存放程序装入内存后的末地址 判别式:上界寄存器 ≤ 物理地址≤下界寄存器

(2)保护键法:为每一个被保护存储块分配一个单独的保护键。在程序状态字中则设置相应的保护键开关字段。

(3)界限寄存器与CPU的用户态或核心态工作方式相结合的保护方式。用户态进程只能访问那些在界限寄存器所规定范围内的内存部分,而核心态进程则可以访问整个内存地址空间。 6.分区存储管理

分区管理:把内存划分成若干个大小不等的区域,除操作系统占用一个区域之外,其余由多道环境下的各并发进程共享。

分区管理基本原理:给每一个内存中的进程划分一块适当大小的存储区,以连续存储各进程的数据和程序,使各进程得以并发执行。

按分区的时机,分区管理可以分为固定分区、动态分区。 (1)固定分区

把内存空间分成若干个大小不等的区域,称为分区。每个用户程序(作业、进程)调入内存后,占用其中一个分区,程序运行完成后释放该分区。 (2)动态分区

系统生成后,操作系统占用内存的一部分,剩下的部分作为一个空闲区,当一个用户程序(作业、进程)调入内存时,把这个空闲区的低地址部分的区域分配给它,当有作业完成后释放所占用的存储区。 在系统运行的过程中,系统中形成多个空闲的不连续的存

储区,称主空闲。 分区的分配与回收

(1)固定分区时的分配和回收

当用户程序要装入执行时,通过请求表提出内存分配要求和所要求的内存空间大小。存储管理程序根据请求表查询分区说明表,从中找出一个满足要求的空闲分区,并将其分配给申请者。当进程执行完毕,不再需要内存资源时,管理程序将对应的分区状态置为未使用即可。

(2)动态分区时的分配和回收

动态分区时的分配与回收主要解决三个问题:分配空闲区、更新可用表、合并空闲区 动态分区时的分配方法从可用表或自由链中寻找空闲区的方法:首次适应算法、最佳适应算法、最坏适应算法 ①首次适应算法

首次适应算法的表是按空闲区首址升序的(即空闲区表是按空闲区首址从小到大)方法组织的。

分配时从表首开始,以请求内存区的大小逐个与空闲区进行比较,找到第一个满足要求的空闲后,若空闲区大小与请求区的大小相等,则将该空闲区分配给请求者,并撤消该空闲区所在表目;若大于请求区,就将该空闲区的一部分分配给请求者,然后,修改空闲区的大小和首址。 ②最佳适应算法

最佳适应算法是将申请者放入与其大小最接近的空闲区中。切割后的空闲区最小,若系统中有与申请区大小相等的空闲区,这种算法肯定能将这种空闲区分配给申请者。(首次适应法则不一定)这种算法最大的缺点是分割后的空闲区将会很小,直至无法使用,而造成浪费。 ③最坏适应算法

为了克服最佳适应算法把空闲区切割得大小的缺点,人们提出了一种最坏适应算法,即

每次分配时,总是将最大的空闲区切去一部分分配给请求者,其依据是当一个很大的空闲区被切割了一部分后可能仍是一个较大的空闲区。避免了空闲区越分越小的问题。 (3)动态分区的分配与回收

分配算法中切割空闲区是从低地址开始的,剩下的部分仍作为一个空闲区,门限值是切割空闲区后剩下的区域若小于门限值,就不切割该空闲区,统统分给申请者。 这三种放置算法的优劣很难区分,要具体情况具体分析。

例如:某时刻系统中有三个空闲区,其大小和首址为:(35KB,100KB)、(12KB,156KB)、(28KB,200KB)。有一作业系列:(JOB1,12KB)、(JOB2,30KB)、(JOB3,28KB)

从搜索速度上看,最先适应算法具有最佳性能。从回收过程来看,最先适应算法也是最佳的。最先适应法尽可能地利用了地地址空间,从而保证高地址有较大的空闲区来放置要求内存较多的作业或进程。

最佳适应法找到的空闲区是最佳的,最坏适应法是基于不留下碎片空闲区这一点出发的,它选择最大的空闲区来满足用户的需求,以期分配后的剩余部分仍能进行再分配。 分区存储管理的优缺点: 优点:

(1) 实现了多个作业或进程对内存的共享,有助于多道程序设计,从而提高了系统的资

源利用率

(2) 该方法要求的硬件支持少,管理算法简单,因而容易实现 缺点:

(1) 内存利用率仍然不高

(2) 作业或进程的大小受分区大小控制,除非配合采用覆盖技术和交换技术 (3) 无法实现各分区之间的信息共享 覆盖与交换技术

7.覆盖与交换技术是在多道环境下用来扩充内存的两种方法。

覆盖技术要求程序员提供一个清楚地覆盖结构。即程序员必须完成把一个程序划分成不同的程序段,并规定好它们的执行和覆盖顺序的工作。操作系统根据程序员提供的覆盖结构来完成程序段之间的覆盖。

交换技术是指先将内存某部分的程序或数据写入外存交换区,再从外存交换区中调入指定的程序或数据到内存中来,并让其执行的一种内存扩充技术。

交换技术不要求程序员给出程序段之间的覆盖结构,交换主要是在进程或作业之间进行,覆盖则主要是在同一个作业或进程内执行,覆盖只能覆盖那些与覆盖程序段无关的程序段。

交换进程由换入和换出两个过程组成。 8.页式管理

页式管理的基本原理

首先,进程虚拟地址空间分成大小相等的页面,进程的虚拟地址变为页号P与页内地址W组成。内存空间也按页的大小划分称片或页面,这些页面为系统中的任一进程所共享(除去操作系统以外),分页管理时,用户进程在内存空间内除了在每个页面内地址连续之外,每个页面之间不再连续)。采用请求调页或预调页技术实现内外存存储器的统一管理。

页式虚拟地址变为内存页面物理地址:页式管理把页式虚拟地址与内存页面物理地址建立一一对应页表,并用相应的硬件地址变换机构,来解决离散地址变换问题。

联系合同范文客服:xxxxx#qq.com(#替换为@)