操作系统大题总结解答
《操作系统》复习答疑
《操作系统》复习答疑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. 操作系统的主要功能是什么?A. 提供用户接口B. 管理和分配计算机的资源C. 控制和管理硬件设备D. 执行用户程序参考答案:B. 管理和分配计算机的资源2. 下列哪项不属于操作系统的资源管理功能?A. 内存管理B. 磁盘管理C. 进程管理D. 数据库管理参考答案:D. 数据库管理3. 在进程调度算法中,哪种调度算法能够保证所有进程公平获得CPU时间片?A. 先来先服务(FCFS)B. 短作业优先(SJF)C. 轮转调度(RR)D. 优先级调度参考答案:C. 轮转调度(RR)4. 下列哪个不是进程状态之一?A. 运行态B. 就绪态C. 阻塞态D. 结束态参考答案:D. 结束态5. 现代操作系统采用的存储管理方式是?A. 分页式存储管理B. 段式存储管理C. 段页式存储管理D. 段和页混合存储管理参考答案:C. 段页式存储管理二、填空题1. 在分页式存储管理中,操作系统将内存和磁盘划分为固定大小的______________。
参考答案:页(page)2. 进程在执行过程中如果发生了某些事件而无法继续执行,则进程会进入阻塞态,也被称为______________。
参考答案:等待态3. 进程管理的主要任务之一是实现进程的______________,即从一个进程的执行转到另一个进程的执行。
参考答案:切换(调度)4. 虚拟内存的实现需要使用到的硬件机制是______________。
参考答案:页表5. 一般而言,操作系统的中断处理程序都是使用______________的方式实现的。
参考答案:中断向量表三、简答题1. 请简要说明操作系统的作用及其主要功能。
操作系统是计算机系统中的一个重要组成部分,起着控制和协调计算机硬件与软件资源,为用户提供接口的作用。
操作系统主要功能包括:- 资源管理:负责管理和分配计算机的各种资源,如 CPU、内存、磁盘等,以满足不同进程的需求。
操作系统大题总结解答
操作系统⼤题总结解答处理机的执⾏模式与执⾏状态⼤多数处理器都⾄少⽀持两种执⾏模式,⼀种是同操作系统有关的模式,另⼀种则是同⽤户程序有关的模式。
较低特权的模式称为⽤户模式。
较⾼特权的模式称系统模式、控制模式或内核模式。
内核模式能执⾏所有的指令,访问所有的内存;⽤户模式则只能执⾏有限的指令,访问规定的内存处理器往往有⼀个或多个寄存器来保存处理器模式信息——程序状态字(PSW )为了防⽌操作系统及其关键数据(如PCB )遭到⽤户程序有意或⽆意的破坏,通常将处理机的执⾏状态分为两种:核⼼态与⽤户态核⼼态⼜称管态、系统态,是操作系统管理程序执⾏时机器所处的状态。
它具有较⾼的特权,能执⾏⼀切指令,能访问所有的寄存器和存储区。
⽤户态⼜称⽬态,是⽤户程序执⾏时机器所处的状态。
它具有较低的特权,只能执⾏规定的指令和只能访问指定的寄存器和存储区。
信号量练习2.某电话亭每⼀时刻最多只能容纳⼀个⼈打电话。
来打电话的⼈,如果看到电话亭空闲,则直接进⼊电话亭打电话;如果看到电话亭⾥正有⼈在打电话,则在外⾯排队等候,直到轮到⾃⼰,再进⼊电话亭打电话。
请⽤信号量来表达打电话的进程对电话机的互斥使⽤逻辑。
该电话亭每次只能容纳⼀个⼈打电话(进程)使⽤,所以是⼀个临界资源,资源量为1,各进程要互斥使⽤。
⽤信号量来表达资源的数量:semaphore mutex=1;(或empty=1) main( ) { CobeginPi ();//(i=1,2,3,4,……); Coend }练习3.某电话亭共有3台电话机,即能容纳3个⼈(3个进程)同时打电话。
来打电话的⼈,如果看到电话亭有空闲机⼦,则直接进⼊电话亭打电话;如果看到电话亭⼈满,则在外⾯排队等候,直到轮到⾃⼰再进⼊电话亭打电话。
请⽤信号量机制表达打电话的进程对电话机资源的使⽤限制。
⽤信号量来表达空闲的电话机数:资源量的初值为3(表⽰开始时有3台空机⼦可⽤) semaphore empty=3; main () { CobeginPi (); i=1,2,3,…… Coend }4.⽣产者-消费者问题⼀个说明空缓冲单元的数⽬,⽤empty 表⽰,其初值为有界缓冲区的⼤⼩n ,另⼀个说明满缓冲单元的数⽬,⽤full 表⽰,其初值为0。
计算机操作系统大题整理
四、应用题(每小题8分,共40分)1.在一单道批处理系统中,一组作业的提交时间和运行时间见下表所示。
作业提交时间运行时间1 8.0 1.02 8.5 0.53 9.0 0.24 9.1 0.1计算以下二种作业调度算法的平均周转时间T和平均带权周转时间W。
先来先服务调度算法。
(2)短作业优先调度算法。
2.考虑某个系统在某时刻的状态如下表所示。
Allocation Max AvailableABCDABCD1520P0 00120012P1 10001750P2 13542356P3 00140656使用银行家算法回答下面的问题:(1)求Need矩阵。
(2)系统是否处于安全状态?如安全,请给出一个安全序列。
(3)如果进程P1发来一个请求(0,4,2,0),这个请求能否立刻被满足?如安全,请给出一个安全序列。
(2) 安全,安全序例为:P0,P2,P1,P3……(3分)(3)能立刻被满足,满足的安全序列为:P0,P2,P1,P3……(3分)3.桌子上有一只盘子,每次只能向其中放入一只水果。
爸爸专向盘子中放苹果,妈妈专向盘子中放桔子,儿子专等吃盘子中的桔子,女儿专等吃盘子中的苹果。
只有盘子为空时,爸爸或妈妈就可向盘子中放一只水果;仅当盘子中有自己需要的水果时,儿子或女儿可以从盘子中取出。
用信号量机制解决该问题。
答:在本题中,应设置三个信号量S、So、Sa,信号量S表示盘子是否为空,其初值为l;信号量So表示盘中是否有桔子,其初值为0;信号量Sa表示盘中是否有苹果,其初值为0。
(2分)father(){ 。
while(1) { 。
P(S); 。
放苹果。
V(Sa); 。
}} 。
mather(){。
while(1) { 。
P(S); 。
放苹果。
V(So);。
}} 。
son(){ 。
while(1) { 。
P(So); 。
从盘中取出桔子; 。
V(S); 。
吃桔子; 。
}。
} 。
daughter(){ 。
while(1) { 。
《操作系统》考试练习题及参考答案
《操作系统》考试练习题及参考答案一、单选题1. 在下列存储管理方案中,不适用于多道程序设计的是()。
A 、单一连续分配B 、固定式分区分配C 、可变式分区分配D 、段页式存储管理答案:A2. 若系统中有五台绘图仪,有多个进程均需要使用两台,规定每个进程一次仅允许申请一台,则至多允许()个进程参于竞争,而不会发生死锁。
A 、5B 、2C 、3D 、4答案:D3. 主要由于()原因,使UNIX易于移植。
A 、UNIX是由机器指令书写的B 、UNIX大部分由汇编少部分用C语言编写C 、UNIX是用汇编语言编写的D 、UNIX小部分由汇编大部分用C语言编写答案:D4. 一个计算机系统有7台可互换的磁带机供N个进程竞争使用。
每个进程在一段时间内需要占用2台磁带机。
N最多为()不会发生死锁。
A 、5B 、12C 、6D 、2答案:C5. 虚拟设备是指()。
A 、允许用户使用比系统中具有的物理设备更多的设备B 、允许用户以标准化方式来使用物理设备C 、把一个物理设备变换成多个对应的逻辑设备D 、允许用户程序不必全部装入主存便可使用系统中的设备答案:C6. 位示图方法可用于( )A 、盘空间的管理B 、盘的驱动调度C 、文件目录的查找D 、页式虚拟存储管理中的页面调度答案:A7. 任何两个并发进程之间( )A 、一定存在互斥关系B 、一定存在同步关系C 、一定彼此独立无关D 、可能存在同步或互斥关系答案:D8. 在UNIX系统中,请求调用是采用()算法。
A 、LFUB 、FIFOC 、LRUD 、LIFO答案:C9. ()存储器管理方法可能使系统产生抖动。
A 、简单页式B 、请求页式C 、段式D 、可变连续分区答案:B10. 某系统采用固定分区分配存储管理,内存空间为640K,其中地址0到40K被系统占用,其他空间按分区大小相等的方法划为4个分区,则当有大小分别为7KB 、90KB 、30KB 、20KB的作业进入内存时,浪费的内存为()。
操作系统、简述、大题(含答案)
操作系统、简述、⼤题(含答案)四、问题分析与简答题第⼀章操作系统引论1.*操作系统的⽬标:(1)⽅便性(极⼤⽅便了⽤户,使计算机变得易学易⽤)(2)有效性(⼀层含义:提⾼系统资源的利⽤率;⼆层含义:提⾼系统的吞吐量)(3)可扩充性(OS⼴泛采⽤微内核技术,能够⽅便地添加新的功能模块)(4)开放性(遵循国际标准,使得各种软硬件能够彼此兼容)2.多道程序设计技术:指在内存同时放若⼲道程序,使它们在系统中并发执⾏,共享系统中的各种资源。
当⼀道程序暂停执⾏时,CPU⽴即转去执⾏另⼀道程序。
3.分时系统的特征:(1)同时性,计算机系统能被多个⽤户同时使⽤;(2)独⽴性:⽤户和⽤户之间都是独⽴操作系统的,在同时操作时并不会发⽣冲突,破坏,混淆等现象;(3)及时性:系统能以最快的速度将结果显⽰给⽤户;(4)交互作⽤性:⽤户能和电脑进⾏⼈机对话4.OS基本特征:并发、共享、虚拟、异步5.OS与⽤户之间的接⼝:1、程序⼀级的系统调⽤;2、命令解释和键盘命令;3、联机或交互式⽤户的接⼝;4、脱机或批处理⽤户的接⼝E⽤户内部和外部命令第⼆章进程的描述与控制6.进程定义、进程状态及转换(基本状态、各状态转换的原因)进程(Process)是计算机中的程序关于某数据集合上的⼀次运⾏活动,是系统进⾏资源分配和调度的基本单位,是操作系统结构的基础。
1.创建状态进程由创建⽽产⽣。
创建进程是⼀个⾮常复杂的过程,⼀般需要通过多个步骤才能完成:如⾸先由进程申请⼀个空⽩的进程控制块(PCB),并向PCB中填写⽤于控制和管理进程的信息;然后为该进程分配运⾏时所必须的资源;最后,把该进程转⼊就绪状态并插⼊到就绪队列中。
2.就绪状态这是指进程已经准备好运⾏的状态,即进程已分配到除CPU以外所有的必要资源后,只要再获得CPU,便可⽴即执⾏。
如果系统中有许多处于就绪状态的进程,通常将它们按照⼀定的策略排成⼀个队列,该队列称为就绪队列。
有执⾏资格,没有执⾏权的进程。
《操作系统》习题解答
《操作系统》习题解答1. 进程管理1.1 概念题1.请简述进程和线程的区别。
进程是计算机中程序执行的基本单位,每个进程都有独立的内存空间和系统资源。
线程是进程内部的一个执行流程,线程共享进程的内存空间和系统资源。
进程和线程的主要区别在于资源占用和调度级别。
2.请解释什么是上下文切换,并说明上下文切换的原因。
上下文切换是指操作系统在多道程序设计环境中,为了在多个进程之间进行切换,需要保存和恢复进程的执行状态。
上下文切换的原因主要有以下几点:–进程调度:操作系统根据调度算法,为各个进程分配CPU时间。
–中断处理:硬件或软件中断发生时,操作系统需要保存当前进程的状态,并切换到中断处理程序。
–系统调用:进程执行系统调用时,需要切换到操作系统提供的服务程序。
3.请简述进程同步和互斥的区别。
进程同步是指进程之间按照一定的顺序执行,以完成某个任务。
互斥是指在同一时刻,只有一个进程能够访问共享资源。
进程同步和互斥的主要区别在于它们解决的问题不同。
进程同步解决的是进程之间的执行顺序问题,而互斥解决的是进程对共享资源的访问问题。
1.2 计算题1.有一个单核处理器,使用轮转调度算法进行进程调度。
现有A、B、C、D四个进程,它们的执行时间分别为2ms、3ms、5ms和8ms。
假设每个进程的到达时间都为0ms,请绘制这四个进程的调度顺序和平均等待时间。
调度顺序:A -> B -> C -> D平均等待时间:(2+3+5+8)/ 4 = 4.5ms2.有一个具有两个处理器的计算机系统,使用抢占式优先级调度算法进行进程调度。
现有A、B、C、D四个进程,它们的执行时间分别为2ms、3ms、5ms和8ms,优先级分别为1、2、3、4。
假设每个进程的到达时间都为0ms,请绘制这四个进程的调度顺序和平均等待时间。
调度顺序:A -> B -> C -> D平均等待时间:(2+3+5+8)/ 4 = 4.5ms2. 内存管理2.1 概念题1.请简述虚拟内存和物理内存的区别。
操作系统大题答案
操作系统大题答案操作系统原理复习题一1、试对分时系统和实时系统进行比较。
可以从多路性、独立性、及时性、交互性和可靠性5个方面对分时系统和实时系统进行比较。
(1)多路性。
系统按分时原则为多个终端用户服务;而对实时控制系统,其多路性则主要表现在经常对多路的现场信息进行采集以及对多个对象或多个执行机构进行控制。
(2)独立性。
都有独立性。
每个终端用户在向实时系统提出服务请求时,是彼此独立的操作,互不干扰;而在实时控制系统中信息的采集和对对象的控制,也彼此互不干扰。
(3)及时性。
实时信息系统对实时性的要求与分时系统类似,都是以人所能接受的等待时间来确定;而实时控制系统的及时性,则是以控制对象所要求的开始截止时间或完成截止时间来确定的(4)交互性。
实时信息处理系统具有交互性,而分时系统能向终端用户提供数据处理服务、资源共享等服务。
(5)可靠性。
分时系统要求系统可靠,相比之下,实时系统则要求系统高度可靠。
2、有一个仓库,可以存放A和B两种产品,但要求:(1)、每次只能存放一种产品(A或B);(2)、-N<A产品数量-B产品数量<M。
其中,N和M是正整数。
试用P、V操作描述产品A与产品B的入库过程。
解:在本题中,我们可以设置两个信号量来控制A、B产品的存放数量,a表示当前允许A产品比B产品多入库的数量,即在当前库存量和B产品不入库的情况下,还可以允许a个A产品人库;b表示当前允许B产品比A产品多入库的数量,即在当前库存量和A产品不入库的情况下,还可以允许b个B产品入库。
初始时,a为M-1,b为N-1。
当往库中存放入一个A产品时,则允许存入B产品的数量也增加1:当往库中存放入一个B产品时,则允许存入A产品的数量也增加1。
产品A、B的入库过程描述如下:mute某=1;/某互斥信号量某/a=M-1;b=N-1;Proce_A()Proce_B(){{while(1)while(1){{取一个产品;p(b);p(a);p(mute某);p(mute某);B产品入库;A产品入库;v(mute 某);v(mute某);v(a);v(b);}}}}3、有一页式系统,其页表存放在内存中。
操作系统基础复习 题集附答案
操作系统基础复习题集附答案操作系统基础复习题集附答案一、简答题1. 什么是操作系统?操作系统是一种控制和管理计算机硬件与软件资源的系统软件,它为用户提供了方便、高效且安全的计算环境。
2. 操作系统的主要功能有哪些?主要功能包括进程管理、内存管理、文件系统管理、输入输出设备管理和用户界面。
3. 请简要描述进程与线程的概念。
进程是指计算机执行的程序实例,包括程序代码、数据集合以及执行时的状态。
线程是进程的执行实例,一个进程可以包含多个线程,线程共享进程的资源。
4. 解释用户态与内核态之间的区别。
用户态是指处于用户程序运行状态下的环境,访问受限;内核态是指处于操作系统运行状态下的环境,具有更高的权限,可以执行特权指令。
5. 什么是虚拟内存?虚拟内存是指操作系统在磁盘上为每个进程分配一定量的虚拟地址空间,并根据需要将部分虚拟地址映射到实际的物理内存中,从而扩展可用的内存空间。
6. 什么是页面置换算法?页面置换算法是用于决定在内存中选择哪些页面被置换出去的算法,常见的算法有FIFO、最佳算法、最近最久未使用算法等。
7. 操作系统中的文件系统是什么?文件系统是操作系统用于组织和管理计算机存储设备上的数据的一种机制,包括文件的创建、读取、写入、删除等操作。
8. 什么是死锁?如何避免死锁?死锁是指两个或多个进程因互相等待对方释放资源造成无法继续执行的状态。
避免死锁的方法包括资源预分配、破坏循环等待条件、加锁顺序等。
二、选择题(单选)1. 在多道程序环境下,哪项不是操作系统的主要功能?A. 进程管理B. 文件系统管理C. 用户界面D. 编译器2. 下面哪个不是使系统产生进程的原因?A. 用户发起的操作B. 中断事件C. 定时事件D. 设备出错事件答案:C3. 下面哪种置换算法通常表现最差?A. FIFOB. LRUC. OPTD. LFU答案:A4. 文件系统中用于描述文件的属性和位置的数据结构是什么?A. 文件控制块B. 目录项C. FAT表D. i-node5. 下面哪项是死锁的必要条件?A. 互斥条件B. 请求和保持条件C. 不可剥夺条件D. 循环等待条件答案:D三、编程题请编写一个简单的操作系统进程调度模拟程序,实现以下功能:1. 随机生成10个进程,每个进程有一个唯一的进程ID和一个随机的优先级。
操作系统选择题库答案及详解
操作系统选择题库答案及详解一、单选题1、以下关于操作系统的说法中,错误的是()A 操作系统是管理计算机硬件与软件资源的程序B 操作系统能合理地组织计算机的工作流程C 操作系统能为用户提供各种服务功能D 操作系统能直接对硬件进行操作答案:D详解:操作系统不能直接对硬件进行操作,而是通过驱动程序等中间层来管理和控制硬件。
操作系统主要负责对计算机的资源进行管理和调度,为应用程序提供运行环境和服务。
2、操作系统的主要功能不包括()A 处理机管理B 存储管理C 设备管理D 文字编辑答案:D详解:操作系统的主要功能包括处理机管理、存储管理、设备管理、文件管理和作业管理等。
文字编辑通常是应用程序的功能,而非操作系统的主要功能。
3、在多道程序环境下,操作系统分配资源以()为基本单位。
A 程序B 进程C 作业D 指令答案:B详解:在多道程序环境中,进程是资源分配和调度的基本单位。
程序只是一组指令的集合,本身不具有资源分配的概念。
作业是用户向计算机提交任务的实体,而指令是构成程序的基本单元。
4、进程从运行状态转变为阻塞状态的原因可能是()A 时间片用完B 被选中占有处理机C 等待某一事件发生D 等待的事件已发生答案:C详解:当进程等待某一事件发生时,如等待输入输出完成、等待资源分配等,会从运行状态转变为阻塞状态。
时间片用完会使进程从运行状态变为就绪状态;被选中占有处理机是进程从就绪状态变为运行状态;等待的事件已发生会使进程从阻塞状态变为就绪状态。
5、以下进程调度算法中,对短进程不利的是()A 先来先服务B 短作业优先C 时间片轮转D 高响应比优先答案:A详解:先来先服务调度算法按照进程到达的先后顺序进行调度,不管进程的执行时间长短。
短进程可能会因为长进程先到达而长时间等待,对短进程不利。
短作业优先算法有利于短进程;时间片轮转算法对所有进程相对公平;高响应比优先算法在一定程度上兼顾了短进程和等待时间长的进程。
6、产生死锁的四个必要条件是:互斥、()、循环等待和不剥夺。
操作系统考试题及答案
操作系统考试题及答案一、选择题(每题2分,共20分)1. 在现代操作系统中,进程和线程的区别主要在于:A. 进程有独立的地址空间,线程共享进程地址空间B. 进程和线程都有独立的地址空间C. 进程和线程共享相同的资源D. 进程和线程没有区别答案:A2. 分页和分段存储管理方式的主要区别在于:A. 分页是固定大小的内存块,分段是可变大小的内存块B. 分页和分段都是固定大小的内存块C. 分页是可变大小的内存块,分段是固定大小的内存块D. 分页和分段没有区别答案:A3. 死锁的必要条件包括:A. 互斥条件、占有和等待、不可剥夺条件、环路等待条件B. 互斥条件、占有和等待、可剥夺条件、环路等待条件C. 互斥条件、释放和等待、不可剥夺条件、环路等待条件D. 互斥条件、占有和等待、不可剥夺条件、可剥夺条件答案:A4. 以下哪个算法不是页面置换算法?A. 最近最少使用(LRU)B. 最优页面置换(OPT)C. 先进先出(FIFO)D. 堆排序答案:D5. 操作系统中的文件系统主要负责:A. 内存管理B. 进程调度C. 文件存储、检索和组织D. 网络通信答案:C6. 虚拟内存技术允许:A. 程序的地址空间大于物理内存B. 程序的地址空间等于物理内存C. 程序的地址空间小于物理内存D. 程序不能使用内存答案:A7. 以下哪个不是操作系统提供的系统调用?A. fork()B. read()C. printf()D. exec()答案:C8. 在操作系统中,设备驱动程序的作用是:A. 管理内存B. 管理进程C. 管理输入输出设备D. 管理文件系统答案:C9. 以下哪个是实时操作系统的特点?A. 优先级调度B. 轮询调度C. 先来先服务调度D. 随机调度答案:A10. 操作系统中的用户态和内核态的主要区别在于:A. 用户态可以执行所有指令,内核态只能执行特权指令B. 内核态可以执行所有指令,用户态只能执行非特权指令C. 用户态和内核态都可以执行所有指令D. 用户态和内核态没有区别答案:B二、简答题(每题10分,共30分)1. 简述进程和程序的区别。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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种:①上下界存储保护:是一种简单的存储保护技术。
系统为每个作业设置一对上、下界寄存器,分别用来存放当前运行作业在内存空间上的上、下界地址,用它们来限制用户程序的活动范围。
在作业运行中,每当要访问内存某单元的时候,就检查经过重定位以后产生的内存地址是否在上、下界寄存器规定的范围内。
若在规定的范围内,访问合法;否则产生越界中断,通知系统进行越界处理。
②基址-限长存储保护:是上、下界保护的一个变种。
系统为每个作业设置一个基址寄存器和一个限长寄存器。
基址寄存器存放该作业在内存中的首地址,限长寄存器存放该作业的长度。
基址-限长存储保护通常可结合动态地址重定位实现,基址寄存器相当于重定位寄存器。
对于存储保护,除了防止越界外,还可对某一区域指定专门的保护机制。
常用的保护方式有:禁止做任何操作;只能执行;只能读;能读、写。