操作系统大题总结解答

合集下载

《操作系统》复习答疑

《操作系统》复习答疑

《操作系统》复习答疑1.什么是操作系统,它与系统软件之间的关系是什么?其主要功能是什么?答:操作系统是控制计算机的所有系统资源并提供开发应用程序的基础。

操作系统是最基本的系统软件。

操作系统的主要功能是虚拟机和资源管理器。

2.资源(设备)可以分为那几类?打印机和磁盘属于什么类资源(设备)?答:从资源的可否剥夺的角度看,可以把资源分为可剥夺资源和不可剥夺资源。

从设备的占有角度看,资源分为独占设备、共享设备和虚拟设备。

3.读盘操作过程中所涉及到的时间开销按照时间开销从大到小依次为那些?有什么好的方法减少读盘操作的时间?答:从大到小依次为:寻道时间、旋转延迟时间、实际的数据传输时间。

选择好的读写臂调度算法,减少寻道时间,有效减少读盘操作整的时间。

4.若某单处理机系统中有M个进程,则处于就绪状态、运行状态、阻塞状态中的进程个数分别最多为多少?答:就绪状态进程最多为M个、运行状态进程最多为1个、阻塞状态进程最多为M个。

5.什么是死锁,死锁发生的必要条件是什么?处理死锁常用的策略有那些?答:若一个进程集合中的每一个进程都在等待只能由本集合中的另一进程才能引发的事件,则这种情况被视为死锁。

死锁发生的必要条件是互斥、非剥夺、部分分配和循环等待条件。

处理死锁常用的策略主要(1)有忽略该问题;(2)检测死锁并恢复;(3)死锁避免;(4)死锁预防。

6.在分页技术中由虚拟地址变换为物理地址的过程有那几步?答:(1)利用CPU所提供的虚拟地址计算出页号和页内偏移;页号=虚拟地址DIV 页大小页内偏移=虚拟地址MOD 页大小(2)根据页号查找页表,得到页架号(块号);(3)计算物理地址物理地址=页架号*页大小+页内偏移7.有一阅览室,读者进入时必须先在一张登记表上进行登记,该表为每一座位列一表目,包括座号和读者姓名。

读者离开时要消掉登记信号,阅览室中共有100个座位,请用类Pascal语言和Wait, Signal操作写出这些进程间的同步算法。

操作系统试题及答案

操作系统试题及答案

操作系统试题及答案一、选择题1. 操作系统的主要功能是什么?A. 文件管理B. 设备管理C. 内存管理D. 所有选项都是答案:D2. 进程和程序有什么区别?A. 进程是程序的执行实例B. 程序是进程的代码C. 进程是程序的存储D. 程序是进程的输出答案:A3. 在现代操作系统中,虚拟内存的作用是什么?A. 提供额外的存储空间B. 允许程序使用更多的内存C. 允许操作系统管理内存D. 允许多个程序同时运行答案:B4. 死锁的四个必要条件是什么?A. 互斥、占有和请求、不可剥夺、循环等待B. 互斥、占有和请求、可剥夺、循环等待C. 互斥、释放和请求、不可剥夺、循环等待D. 互斥、占有和请求、不可剥夺、非循环等待答案:A5. 什么是分页和分段?A. 分页是内存管理的一种技术,分段是文件管理的一种技术B. 分页是文件管理的一种技术,分段是内存管理的一种技术C. 分页和分段都是内存管理的技术D. 分页和分段都是文件管理的技术答案:C二、简答题1. 简述操作系统的五大基本功能。

答:操作系统的五大基本功能包括:进程管理、内存管理、文件系统管理、设备管理以及用户接口。

2. 解释什么是进程和线程,并说明它们之间的关系。

答:进程是程序的执行实例,是操作系统进行资源分配和调度的一个独立单位。

线程是进程中的一个实体,是CPU调度和执行的单位,一个进程可以包含多个线程。

3. 描述死锁的四个必要条件,并给出一个死锁的实例。

答:死锁的四个必要条件包括:互斥条件(资源不能被多个进程同时使用)、占有和请求条件(进程正在占有某些资源,同时请求其他资源)、不可剥夺条件(已分配给进程的资源,在未使用完之前不能被强制夺走)、循环等待条件(存在一种进程资源的循环等待关系)。

实例:银行家算法中,如果多个客户同时请求资源,且每个客户都占有一些资源,同时请求其他资源,就可能发生死锁。

三、论述题1. 论述操作系统中进程调度的几种基本算法,并比较它们的优缺点。

最新操作系统试题及答案

最新操作系统试题及答案

最新操作系统试题及答案最新操作系统试题及答案1. 操作系统概述1.1 什么是操作系统?答:操作系统是计算机硬件与软件之间的桥梁,负责协调和管理计算机系统的资源,提供用户与计算机系统之间的接口。

1.2 操作系统的主要功能有哪些?答:操作系统的主要功能包括进程管理、内存管理、文件系统管理、设备管理和用户界面等。

2. 进程管理2.1 进程是什么?答:进程是指计算机中正在运行的程序的实例。

每个进程都有自己的地址空间和控制信息,它是计算机资源管理的基本单位。

2.2 进程调度算法有哪些?答:常见的进程调度算法有先来先服务(FCFS)、最短作业优先(SJF)、轮转调度(RR)和优先级调度等。

3. 内存管理3.1 什么是虚拟内存?答:虚拟内存是指操作系统为每个进程提供的抽象的内存空间,它将物理内存和磁盘空间结合起来,使得进程可以访问比物理内存更大的地址空间。

3.2 页面置换算法有哪些?答:常见的页面置换算法有最佳页面置换算法(OPT)、先进先出页面置换算法(FIFO)和最近最久未使用页面置换算法(LRU)等。

4. 文件系统管理4.1 什么是文件系统?答:文件系统是操作系统中用于管理文件的组织方式,它通过目录结构将文件进行存储和访问。

4.2 文件系统的常见组织结构有哪些?答:常见的文件系统组织结构包括单级目录结构、多级目录结构和索引节点结构等。

5. 设备管理5.1 什么是设备管理?答:设备管理是指操作系统对计算机系统中的各种设备进行管理和分配,包括输入设备、输出设备和存储设备等。

5.2 设备驱动程序的作用是什么?答:设备驱动程序是操作系统中的一种软件,它负责管理和控制硬件设备的操作,将操作系统和设备之间的接口进行转换。

6. 用户界面6.1 用户界面的分类有哪些?答:用户界面可以分为命令行界面(CLI)和图形用户界面(GUI)两种。

6.2 常见的命令行界面操作命令有哪些?答:常见的命令行界面操作命令包括目录操作命令、文件操作命令和权限管理命令等。

操作系统考试重点习题答案解答

操作系统考试重点习题答案解答

1.(简答题)操作系统的定义2.操作系统的特征:并发性、共享性、异步性、虚拟性3.操作系统的分类:多道批处理操作系统(以脱机操作为标志)、分时操作系统(以联机作为标志)、实时操作系统(做出及时响应)、通用操作系统(分时、实时、批处理功能)、单用户操作系统(为个人计算机配置)、网络操作系统(实现网络通信和网络资源管理)、分布式操作系统、多处理器操作系统(公共内存和公共时钟的多CPU系统)、嵌入式操作系统、多媒体操作系统、智能卡操作系统4.可靠的系统至少要区分两种状态:管态(系统态、核心态)和目态(用户态)5.处理器状态由目态转换为管态的唯一途径是中断(中断是进程切换的前提),管态到目态的转换可以通过修改程序状态字(置PSW)来实现6.单道程序设计和多道程序设计的优缺点:设备资源利用率、内存资源利用率、处理器资源利用率三个方面评价。

7.多道程序设计的问题:处理机资源管理问题;内存资源管理问题;设备资源管理问题8.进程的基本状态:就绪、运行、等待9.进程控制块(PCB)是进程存在的标志10.进程的组成:进程控制块和程序(又称为进程映像),程序包括代码和数据11.进程队列:就绪队列、运行队列、等待队列12.进程类型:系统进程(运行于管态)和用户进程13.进程特征:并发性、动态性、独立性、交互性、异步性、结构性14.进程上下文的组成部分用户级上下文、系统级上下文、寄存器上下文15.(简单题)进程和程序、线程的联系和差别16.线程与进程相比的优点:上下文切换速度快、系统开销小、通信容易17.作业:批处理作业、交互式作业18.中断的实现:中断装置(硬件)和中断处理程序(软件)19.(计算题:Gantt图、周转时间=完成时间—到达时间、带权周转时间=周转时间/运行时间、平均带权周转时间、平均周转时间、平均等待时间)处理机调度算法:先到先服务算法(FCFS)、最短作业优先算法(SJF)、最短剩余时间优先算法(SRTU、剥夺式算法)、最高响应比优先算法(HRN)、最高优先数优先算法(HPF)、循环轮转算法(RR、时间片)、分类排队算法(MLQ)、反馈排队算法20.一定能引起进程切换的中断原因有:进程运行终止、进程等待资源、进程等待数据传输的完成等;可能引起进程切换的中断原因有:时钟中断、接收到设备输入输出中断信号等21.I/O中断、时钟中断都可屏蔽;防管中断和掉线中断不可屏蔽22.用户自行处理的中断:溢出、除数为零;操作系统处理的中断:地址越界、非法指令、掉电23.处理器调度的过程:保存下降进程现场、选择将要运行的进程、恢复上升进程现场24.调度级别:低级、中级(交换)、高级(作业)25.(计算题)实时调度(就绪时间、开始截止期、处理时间、完成截止期、发生周期、调度条件),最早截止期优先调度、速率单调调度。

操作系统试题及答案

操作系统试题及答案

操作系统试题及答案一、选择题1. 在操作系统中,进程和程序的主要区别是:A. 进程有程序计数器B. 程序是永久存储的C. 进程具有并发性D. 程序是顺序执行的答案:C2. 分页和分段存储管理方式的主要区别在于:A. 分页有页表,分段没有B. 分页大小固定,分段大小可变C. 分页和分段都需要页表D. 分页和分段的大小都是可变的答案:B二、填空题1. 操作系统的五大基本功能包括________、________、存储管理、设备管理和________。

答案:作业管理;文件系统管理;用户接口2. 死锁的必要条件包括互斥、________、________和循环等待。

答案:占有和请求;不可剥夺性三、简答题1. 简述进程和线程的区别。

答案:进程是操作系统进行资源分配和调度的一个独立单位,是程序的执行实体。

线程是进程中的一个实体,是CPU调度和执行的单位,比进程更小的能独立运行的基本单位。

线程自身基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如执行栈),但它可以与同属一个进程的其他线程共享进程所拥有的全部资源。

2. 描述虚拟内存的工作原理。

答案:虚拟内存是一种内存管理技术,它允许操作系统将虚拟地址空间映射到物理内存。

操作系统通过页面置换算法,将当前不活跃的内存页面交换到磁盘上,从而为当前活跃的页面腾出空间。

这样,应用程序可以使用的地址空间就可以大于实际的物理内存大小。

四、计算题1. 假设一个系统有16个页面,页面大小为4KB,主存大小为256KB。

如果一个程序的页表有32个页表项,计算该系统的页表大小。

答案:每个页表项通常包含一个指向页面的指针,假设指针的大小为4字节。

因此,32个页表项的总大小为32 * 4 = 128字节。

页表大小为128KB。

2. 如果一个系统采用二级页表,主存大小为4GB,页面大小为4KB,计算需要多少个一级页表项和二级页表项。

答案:首先,计算一级页表项的数量:4GB / (4KB * 1024) = 1M个一级页表项。

操作系统复习题及答案

操作系统复习题及答案

操作系统复习题及答案1. 什么是进程?进程与程序有何区别?进程是程序在数据集上的一次执行过程,是系统进行资源分配和调度的一个独立单位。

进程与程序的主要区别在于:进程是动态的,程序是静态的;进程是程序的执行过程,而程序是指令的有序集合。

2. 简述操作系统的五大基本功能。

操作系统的五大基本功能包括:进程管理、存储管理、文件管理、设备管理和用户接口。

3. 什么是死锁?如何避免死锁?死锁是指两个或多个进程在执行过程中,因争夺资源而造成的一种僵局,若无外力作用,这些进程都将无法向前推进。

避免死锁的方法包括:确保系统资源充足、避免进程进入不安全状态、采用资源分配图等。

4. 什么是分页和分段?它们有何区别?分页是将物理内存划分为固定大小的页,并为每个页分配一个唯一的页号。

分段则是根据程序的逻辑结构将地址空间划分为若干个段。

分页和分段的主要区别在于:分页是固定大小的划分,而分段是可变大小的划分;分页由系统统一管理,分段由程序员控制。

5. 什么是虚拟内存?虚拟内存的作用是什么?虚拟内存是一种内存管理技术,它允许程序使用比物理内存更大的地址空间。

虚拟内存的作用是扩展可用的内存空间,提高内存的利用率,支持更大的程序运行。

6. 简述文件系统的层次结构。

文件系统的层次结构通常包括:用户层、文件系统层和硬件层。

用户层负责与用户交互,文件系统层负责管理文件和目录,硬件层负责管理存储设备。

7. 什么是中断?中断的作用是什么?中断是计算机系统中的一个信号,用于通知CPU暂停当前执行的程序,转而处理更高优先级的任务。

中断的作用是提高系统的响应性和实时性,允许多任务并发执行。

8. 什么是同步和异步?它们在操作系统中如何应用?同步是指两个或多个进程在执行时,按照一定的顺序和时间关系进行协作。

异步则是指进程之间没有固定的协作顺序和时间关系。

在操作系统中,同步用于控制进程间的协作和资源共享,异步用于提高系统的并发性和效率。

9. 什么是设备驱动程序?设备驱动程序的作用是什么?设备驱动程序是操作系统中用于控制和管理硬件设备的软件。

操作系统试题及答案

操作系统试题及答案

操作系统试题及答案一、选择题1. 操作系统的主要功能是()A. 实现计算机与外部设备的交互B. 管理计算机的硬件资源C. 控制计算机的运行流程D. 以上答案都正确答案:D2. 下列哪个不属于操作系统的基本功能()A. 进程管理B. 文件管理C. 硬件管理D. 内存管理答案:C3. 操作系统的进程是指()A. 计算机运行的一个程序B. 计算机运行的多个程序C. 计算机运行的最核心程序D. 计算机运行的最后一个程序答案:B4. 下列哪个不是进程状态()A. 运行态B. 就绪态C. 阻塞态D. 结束态答案:D5. 操作系统的调度算法是指()A. 确定进程的执行顺序B. 操作系统的启动顺序C. 进程与外设的交互顺序D. 确定进程的创建顺序答案:A二、填空题1. 操作系统内核是指()。

答案:操作系统的核心部分,负责管理计算机的硬件资源和提供基本的系统调用接口。

2. 进程的状态包括()。

答案:运行态、就绪态、阻塞态。

3. 进程调度算法的目标是()。

答案:提高系统的吞吐量、减少响应时间、提高系统的公平性。

4. 死锁是指进程()。

答案:由于竞争有限的资源而陷入无法继续执行的状态。

5. 虚拟内存是一种()。

答案:将进程的部分或全部地址空间放在磁盘上,以此扩充实际内存的技术。

三、简答题1. 请简要说明进程和线程的区别。

答案:进程是计算机运行的一个程序,包括代码、数据和运行状态等;线程是进程的一部分,是程序执行的最小单位。

一个进程可以包含多个线程,它们共享进程的资源,但拥有各自的执行路径和栈空间。

线程之间的切换开销较小,可以提高系统的并发性。

2. 简述死锁的条件以及解决死锁的方法。

答案:死锁的条件包括互斥、持有并等待、不可剥夺和循环等待。

解决死锁的方法有预防、避免、检测和恢复等。

预防死锁可以通过破坏死锁条件来实现,如破坏循环等待;避免死锁可以通过资源分配策略来避免产生死锁;检测死锁可以通过资源分配图等方法来检测死锁的发生;恢复死锁可以通过资源抢占和进程终止等方式来解除死锁。

操作系统习题与解答(含答案)

操作系统习题与解答(含答案)

操作系统习题与解答(含答案)第⼀章操作系统引论⼀、选择题1.在计算机系统中配置操作系统的主要⽬的是(),操作系统的主要功能是管理计算机系统中的(),其中包括()管理和()管理,以及设备管理和⽂件管理。

这⾥的()管理主要是对进程进⾏管理。

(1)A.增强计算机系统的功能;B.为了使⽤系统的资源;C.提⾼系统的运⾏速度;D.提⾼系统使⽤效率,合理地组织系统的⼯作流程,以提⾼系统吞吐量。

(2)A.程序和数据;B.进程;C.资源;D.作业;E.任务。

(3)(4)A.存储器;B.虚拟存储器;C.运算器;D.处理机;E.控制器。

2.操作系统有多种类型:(1)允许多个⽤户以交互⽅式使⽤计算机的操作系统,称为();(2)允许多⽤户将若⼲个作业提交给计算机系统集中处理的操作系统称为();(3)在()的控制下,计算机系统能及时处理由过程控制反馈的数据,并做出响应。

A.批处理操作系统;B.分时操作系统;C.实时操作系统;D.微机操作系统;E.多处理机操作系统。

3.在下列性质中,哪⼀个不是分时系统的特征。

()A.交互性B.多路性C.成批性D.独占性4.实时操作系统追求的⽬标是()。

A.⾼吞吐率B.充分利⽤内存C.快速响应D.减少系统开销5. 现代操作系统的两个基本特征是()和资源共享A.多道程序设计B.中断处理C.程序的并发执⾏D.实现分时与实时处理6.引⼊多道程序的⽬的在于()。

A.有利于代码共享,减少主、辅存信息交换量。

B.提⾼实时响应速度。

C.充分利⽤CPU,减少CPU等待时间D.充分利⽤存储器7.操作系统是⼀组().A.⽂件管理程序B.中断处理程序C.资源管理程序D.设备管理程序8.()不是操作系统关⼼的主要问题.A.管理计算机裸机B.设计、提供⽤户程序与计算机硬件系统的界⾯C.管理计算机系统资源D.⾼级程序设计语⾔的编译器9.⽤户在⼀次计算机过程中,或者⼀次事物处理中,要求计算机完成所做的⼯作的集合,这是指().A.进程B.程序C.作业D.系统调⽤10.订购机票系统处理各⾃各个终端的服务请求,处理后通过终端回答⽤户,所以它是⼀个()。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

处理机的执行模式与执行状态大多数处理器都至少支持两种执行模式,一种是同操作系统有关的模式,另一种则是同用户程序有关的模式。

较低特权的模式称为用户模式。

较高特权的模式称系统模式、控制模式或内核模式。

内核模式能执行所有的指令,访问所有的内存; 用户模式则只能执行有限的指令,访问规定的内存处理器往往有一个或多个寄存器来保存处理器模式信息——程序状态字(PSW )为了防止操作系统及其关键数据(如PCB )遭到用户程序有意或无意的破坏,通常将处理机的执行状态分为两种:核心态与用户态核心态又称管态、系统态,是操作系统管理程序执行时机器所处的状态。

它具有较高的特权,能执行一切指令,能访问所有的寄存器和存储区。

用户态又称目态,是用户程序执行时机器所处的状态。

它具有较低的特权,只能执行规定的指令和只能访问指定的寄存器和存储区。

信号量练习2.某电话亭每一时刻最多只能容纳一个人打电话。

来打电话的人,如果看到电话亭空闲,则直接进入电话亭打电话;如果看到电话亭里正有人在打电话,则在外面排队等候,直到轮到自己,再进入电话亭打电话。

请用信号量来表达打电话的进程对电话机的互斥使用逻辑。

该电话亭每次只能容纳一个人打电话(进程)使用,所以是一个临界资源,资源量为1,各进程要互斥使用。

用信号量来表达资源的数量:semaphore mutex=1;(或empty=1) main( ) { CobeginPi ( );//(i=1,2,3,4,……); Coend }练习3.某电话亭共有3台电话机,即能容纳3个人(3个进程)同时打电话。

来打电话的人,如果看到电话亭有空闲机子,则直接进入电话亭打电话;如果看到电话亭人满,则在外面排队等候,直到轮到自己再进入电话亭打电话。

请用信号量机制表达打电话的进程对电话机资源的使用限制。

用信号量来表达空闲的电话机数:资源量的初值为3(表示开始时有3semaphore empty=3; main ( ) { CobeginPi ( ); i=1,2,3,…… Coend }4.生产者-消费者问题一个说明空缓冲单元的数目,用empty 表示,其初值为有界缓冲区的大小n ,另一个说明满缓冲单元的数目,用full 表示,其初值为0。

而有界缓冲区是一个临界资源,必须互斥使用,因此还需要另外设置一个互斥信号量mutex ,其初值为1。

semaphore full=0; //第一步:定义信号量, semaphore empty=n; //并为信号量赋初值 semaphore mutex=1;main( ) // 第二步:编写主函数, { cobegin //在其中调用各个进程 produceri ( ); //i=1,2,…mconsumerj ( ); //j=1,2,…k coend }例.有三个作业按下表的时间提交给系统,按照先来先服务的调度算法计算它们的平均周转时间T 和平均带权周转时间W先来先服务;T=(2.00+2.90+3.00)/3=2.63 W=(2/2+2.90/1+3.00/0.25)/3=5.30 短作业优先;T=(2.00+3.15+2.00)/3=2.38 W=(2/2+3.15/1+2.00/0.25)/3=4.05表中有4个作业提交给系统,按响应比高者优先算法调度,计算它们的平均周转时间和平均带权周转时间producer i( ) { while (1) { 生产一个产品; p(empty) ; p(mutex); 将一个产品送入有界 缓冲区; V(mutex); V(full);}consumer j( ) { while (1) { p(full) ; p(mutex); 从缓冲区中取出一个 产品; V(mutex); V(empty); 消费一个产品 }作业1做完后,其它三个作业的响应比为:R2p=1+等待时间/估计运行时间=1+1.5/0.5=4R3p=1+1.0/0.1=11R4p=1+0.5/0.2=3.5故作业3的响应比最大,作业1完成后要运行作业3。

作业3运行结束时,时间为10:06,这时候再看作业2、4的响应比哪个高:R2p=1+等待时间/估计运行时间=1+1.6/0.5=4.2R4p=1+0.6/0.2=4R2p>R4p 所以先调度作业2到内存中,作业2运行完毕,结束时间为:10:36T=(2+2.1+1.1+1.3)/4=1.625W=(2.00/2+2.1/0.5+1.1/0.1+1.3/0.2)/4=5.7银行家算法;例1若系统运行中出现如下所示的资源分配情况,该系统是否安全?如果进程P2此时提出资源申请(1,2,2,2),系统能否将资源分配给它?为什么?解(1):利用安全性算法对此刻的资源分配情况进行分析,可得到如下安全性检测表:从上表中可以看出,此时存在一个安全序列{P0,P3,P4,P1,P2},故该系统是安全的。

请问还有其它的安全序列吗?(如P0-P3-P1-P4-P2)解(2):P2提出请求(1,2,2,2),按银行家算法进行检查:Request(1,2,2,2)<=Need(2,3,5,6)Request(1,2,2,2)<=Available(1,6,2,2)试着把资源分配给P2,资源分配表中P2的项目改变的有:Allocation=Allocation+(1,2,2,2)Need=Need-(1,2,2,2)Available=Available-(1,2,2,2)由此得到新的资源分配表:经检查发现可用的资源Available(0,4,0,0)已不能再满足任何进程的需要,所以,系统处于不安全状态,系统不能把资源分配给P2。

内存的分配与回收在多道程序设计的环境中,当有作业进入计算机系统时,存储管理模块应能根据当时的内存分配情况,按作业要求,分配给它适当的内存。

当某个作业完成之后不再使用内存时,应回收其占用的内存空间。

按照分配时机的不同,有两种内存分配形式:静态存储分配和动态存储分配(1)静态存储分配:指内存分配是在作业运行之前,各目标模块连接后,把整个作业一次性全部装入内存,并规定在作业的整个运行过程中,不允许再申请其它内存或在内存中移动位置。

也就是说,内存分配是在作业运行前一次性完成的。

(2)动态存储分配:作业要求的基本内存空间是在目标模块装入内存时分配的,但在作业运行过程中,允许作业再申请附加的内存空间或者在内存中移动。

即分配工作可以在作业运行前及运行过程中逐步完成显然,动态存储分配具有较大的灵活性。

它不要求一个作业把全部信息装入内存才开始运行,而是在作业运行期间需要某些信息时,系统才将其调入内存,作业中暂不使用的信息可放在辅存中,不必进入内存,从而大大提高了内存的利用率。

因此,内存中所有的空闲区和已分配的区域应当被合理地组织起来。

通常可用分区说明表、空闲区链表、存储分块表等组织内存区域。

地址重定位1.内存空间(物理空间)内存是由若干个存储单元组成的,每个存储单元都有一个编号。

该编号能唯一地确定一个存储单元,称为内存地址(物理地址)。

内存地址的集合称为内存地址(物理地址)空间,简称内存空间。

它是一个线性空间,其编址顺序为0,1,2,3,……,n-1,n的大小由实际组成存储器的存储单元的个数决定。

如,某个系统有64KB内存,则其内存空间为集合{0,1,2,……,65535}。

2.逻辑地址空间在多道程序环境中,内存中可同时驻留多个相互独立的进程。

这些进程在内存中的地址,用户事先并不知道,且应用程序装入内存是随机的,每次装入内存时所占用的内存空间可能都不一样。

因此,用户不能直接使用内存的物理地址来编程。

为了方便用户编程,用户使用高级语言或汇编语言编程时,使用的是符号地址,即用符号名来访问某一单元。

把程序中由符号名组成的程序空间称为符号名空间,简称名空间。

用户编写的源程序经过编译后,会形成若干个目标程序。

每个目标程序的首地址都为0,即每个目标程序都是以0为基址顺序进行编址的。

原来用符号名访问的单元被具体的数据——单元号取代。

这些地址(或相对于基址的单元号)称为逻辑地址(或虚地址、相对地址)。

由逻辑地址组成的集合称为逻辑地址空间或程序地址空间。

3.地址重定位目标程序只有经过链接、装入内存后才能运行。

当程序装入内存的时候,每道程序不可能都从内存空间的0地址开始装入,因此程序的逻辑地址与所分到的内存地址会不一致。

为使程序能正确运行,必须将逻辑地址空间中的逻辑地址转换为内存空间中的物理地址,这一过程称为地址重定位或地址映射。

换句话说,地址重定位就是建立用户程序的逻辑地址和物理地址之间的对应关系。

按重定位的时机不同,地址重定位又分为静态地址重定位和动态地址重定位。

(1)静态地址重定位静态地址重定位是在程序执行之前由操作系统的重定位装入程序完成的。

它根据要装入的内存起始地址,直接修改所有涉及到的逻辑地址,一次性完成逻辑地址到物理地址的转换,在程序运行中,不再进行任何地址转换。

例如,有一个目标程序,其逻辑地址空间是{0,1,…,60},把它装入内存的首地址为100.若采用静态重定位的方式,应根据:物理地址=逻辑地址+100,对程序中所有逻辑地址进行转换。

静态地址重定位的优点是只需通过重定位装入程序,即可实现逻辑地址向物理地址的转化,不需要硬件的支持,可以在任何机器上实现。

早期的操作系统大多采用这种方法。

缺点是程序必须占据连续的内存空间,且一旦装入内存后,就不能被移动,不利于内存空间的利用所以静态重定位只适用于静态内存分配方式动态地址重定位的优点是不要求程序装入连续的内存空间。

在内存中允许程序再次移动位置,而且还可以部分地装入程序运行。

便于作业共享同一程序的副本。

因此现代计算机系统广泛采用动态地址重定位技术。

动态地址重定位的缺点是需要硬件的支持,而且实现存储管理的软件算法也比较复杂。

存储保护界限寄存器保护的技术有2种:①上下界存储保护:是一种简单的存储保护技术。

系统为每个作业设置一对上、下界寄存器,分别用来存放当前运行作业在内存空间上的上、下界地址,用它们来限制用户程序的活动范围。

在作业运行中,每当要访问内存某单元的时候,就检查经过重定位以后产生的内存地址是否在上、下界寄存器规定的范围内。

若在规定的范围内,访问合法;否则产生越界中断,通知系统进行越界处理。

②基址-限长存储保护:是上、下界保护的一个变种。

系统为每个作业设置一个基址寄存器和一个限长寄存器。

基址寄存器存放该作业在内存中的首地址,限长寄存器存放该作业的长度。

基址-限长存储保护通常可结合动态地址重定位实现,基址寄存器相当于重定位寄存器。

对于存储保护,除了防止越界外,还可对某一区域指定专门的保护机制。

常用的保护方式有:禁止做任何操作;只能执行;只能读;能读、写。

相关文档
最新文档