社区
非技术区
帖子详情
操作系统中二级页表的驻留问题。
biubiulzy
2020-05-13 11:05:34
今天做操作系统习题时有一个问题很困惑,老师讲一级页表因为pcb中保存页表起始地址不会变,通过页表寄存器寻址时为了成功定位一级页表必须驻留内存,但我很疑惑如果进程其它部分可以调出内存那么页表中对应的各个块,或者说对应的二级页表的位置难道就不会改变了吗?还是说操作系统会用什么方式同步块号。
...全文
85
回复
打赏
收藏
操作系统中二级页表的驻留问题。
今天做操作系统习题时有一个问题很困惑,老师讲一级页表因为pcb中保存页表起始地址不会变,通过页表寄存器寻址时为了成功定位一级页表必须驻留内存,但我很疑惑如果进程其它部分可以调出内存那么页表中对应的各个块,或者说对应的二级页表的位置难道就不会改变了吗?还是说操作系统会用什么方式同步块号。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
《计算机
操作系统
》期末复习指导
对考试很有帮助的.......... 《计算机
操作系统
》期末复习指导 第一章 计算机
操作系统
概述 1、
操作系统
的概念
操作系统
(Operating System,OS),是一种软件,属于系统软件; 1、科普的观点
操作系统
是计算机系统的管理和控制
中
心,它依照设计者制定的各种调度策略组织和管理计算机系统资源,使之能高效地运行。 2、功能的观点
操作系统
是一个计算机资源管理系统,它负责计算机系统的全部资源的分配、控制、调度和回收。 3、用户的观点
操作系统
是计算机与用户之间的接口,用户通过这种接口使用计算机。 4、软件的观点
操作系统
是程序和数据结构的集合。 5、管理的观点
操作系统
是计算机硬件和软件资源的合理而协调的管理者。 6、
操作系统
是一个大型的程序系统,它负责计算机的全部软、硬件资源的分配、调度工作,控制并协调并发活动,实现信息的存取和保护。它提供用户接口,使用户获得良好的工作环境。
操作系统
使整个计算机系统实现了高效率和高度自动化。 2、
操作系统
的生成和五大类型 生成:产生最适合自己工作环境的OS内核(kernel)。既方便用户,又使系统开销尽量小;生成的配置过程如UNIX
中
newconfig命令;DOS
中
config.sys文件;维护由系统管理员负责。
操作系统
的五大类型是批处理
操作系统
、分时
操作系统
、实时
操作系统
、网络
操作系统
、分布式
操作系统
。 多道程序设计:即在系统内(内存)同时存放并运行几道相互独立的程序。 多道程序设计的基础:是将运行过程进一步细化成几个小的步骤,从而实现宏观上的并行。但从微观上看,内存
中
的多道程序轮流地或分时地占用处理机,交替执行。 多道程序系统 ≠ 多重处理系统 ≠ 多用户 ≠ 多终端 多道是指内存
中
驻留
多个程序或一个程序的多个程序段,因此,多用户系统一定是采用多道技术。而多道系统不一定是多用户系统。多重处理系统一般指多CPU系统。当然,一个CPU的系统采用分时技术可以为多用户服务。多用户的关键技术是在用户之间要有保密保安措施。终端指用户使用的硬件设备,即使一个终端也可为多用户使用,例如,银行的自动取款机(ATM)。 •分时与实时 分时技术:把CPU的时间分成很短的时间片(例如,几十至几百毫秒)工作。随着时间片的时间减少,对换时间所占的比例随之增大。随着用户数目的不断增加,这种矛盾会越来越突出。 实时是指计算机对于外来信息能够以足够快的速度进行处理,并在被控对象允许的时间范围内做出快速反应。交互作用能力较差。 3、
操作系统
的五大功能 •作业管理:包括任务管理、界面管理、人机交互、图形界面、语音控制和虚拟现实等; •文件管理:又称为信息管理; •存储管理:实质是对存储“空间”的管理,主要指对内存的管理; •设备管理:实质是对硬件设备的管理,其
中
包括对输入输出设备的分配、启动、完成和回收; •进程管理:又称处理机管理,实质上是对处理机执行“时间”的管理,即如何将CPU真正合理地分配给每个任务。 4、表征
操作系统
的属性 主要有:响应比,并发性,信息的共享、保密与保护,可扩充性、可移植性、可读性、可“生成”性,安全可靠性,可测试性等。 第二章 用户与
操作系统
的接口 1、基本概念 作业(Job)是让计算机完成一件事或任务,可大可小,可多可少。 作业步(Job steps) :作业顺序执行的工作单元。 作业流(Job Stream) :作业步的控制流程。 作业类别:终端交互作业、批处理作业。 2、用户界面 三代用户界面: •第一代用户界面:操作命令和系统调用在一维空间(命令行界面); •第二代用户界面:图形界面在二维空间(图形界面); •第三代用户界面:虚拟现实在三维空间(虚拟现实的界面元素)。 3、传统的人机接口 •操作命令 联机(键盘操作命令)、脱机(作业控制语言) 用户组合自编(Shell语言):DOS Shell;UNIX ;BShell、CShell等 •系统调用(System Call) 4、作业输入输出方式 •输入输出方式:脱机、直接耦合(交互联机) •SPOOLing:联机外围同时操作,假脱机(排队转储,设备虚拟技术) 5、作业调度 •作业调度的功能: (1)采用JCB(作业控制块)表格,记录各作业状况; (2)按选定的算法,从后备作业队列
中
选出一部分(多道)或一个作业投入运行; (3)为被选
中
的作业做好运行前的准备工作。例如建立相应的执行进程和分配系统资源; (4)作业运行结束的善后处理工作。 •作业调度算法: (1)先来先服务(FCFS) 作业平均周转时间=∑(作业完成时刻i-作业提交时刻i)/n个作业 (2)最短作业优先:在作业内容参差很不均衡时有合理性 (3)“响应比”最高的优先 “响应(系数)比”:作业响应时间(等待和运行)/作业运行时间 (4)定时轮转法(按时间片):适合作业不定的情况 (5)优先数法:急事先办的原则 第三章进程及处理机管理 1、为什么要引入“进程” (1)进程调度属于低级处理机管理,即确定系统
中
哪个进程将获得CPU;而作业调度属于高级处理机管理,即确定系统
中
哪些作业将获得CPU。 (2)进程是一个具有一定独立功能的程序关于某个数据集合的一次运行活动。 (3)引入进程的意义是描述多道程序设计系统
中
程序的动态执行过程。 2、进程的定义及特征 (1)程序和进程的区别 (2)进程的五个基本特征:动态性、并发性、独立性、制约性、结构性 3、进程调度 (1)进程的三个基本状态及转换 三个基本状态是等待、执行和就绪,在一定的条件下,进程的状态将发生转换。 (2)进程调度算法 主要有先来先服务(FCFS)、时间片轮转法、多级反馈轮转法、优先数法。 (3)进程控制块(PCB)是进程存在的唯一标志,它描述了进程的动态性。 4、进程通信 (1)进程的同步与互斥 一般来说同步反映了进程之间的协作性质,往往指有几个进程共同完成一个任务时在时间次序上的某种限制,进程相互之间各自的存在及作用,通过交换信息完成通信。如接力比赛
中
一组队员使用接力棒等。 进程互斥体现了进程之间对资源的竞争关系,这时进程相互之间不一定清楚其它进程情况,往往指多个任务多个进程间的通讯制约,因而使用更广泛。如打篮球时双方挣抢篮板球等。 (2)临界区 并发进程
中
与共享资源有关的程序段定义为临界区。进入临界区的准则是:①一次只准一个进程进入临界区;②本进程结束负责通知下一进程;③进程调度,不能阻塞。 (3)原语 原语是不可
中
断的过程。 •加锁/开锁(LOCK/UNLOCK)原语 优点是实现互斥简单;缺点是效率很低。 •信号量(Semaphore)及PV操作 PV操作能够实现对临界区的管理要求。它由P操作原语和V操作原语组成,对信号量进行操作,具体定义如下: P(S):①将信号量S的值减1,即S=S-1; ②如果S 0,则该进程继续执行;否则该进程置为等待状态,排入等待队列。 V(S):①将信号量S的值加1,即S=S+1; ②如果S>0,则该进程继续执行;否则释放队列
中
第一个等待信号量的进程。 信号量的数据结构为一个值和一个指针,指针指向等待该信号量的下一个进程。信号量的值与相应资源的使用情况有关。当它的值大于0时,表示当前可用资源的数量;当它的值小于0时,其绝对值表示等待使用该资源的进程个数。注意信号量的值仅能由PV操作来改变。 一般来说,信号量S 0时,S表示可用资源的数量。执行一次P操作意味着请求分配一个单位资源,因此S的值减1;当S<0时,表示已经没有可用资源,请求者必须等待别的进程释放该类资源,它才能运行下去。而执行一个V操作意味着释放一个单位资源,因此S的值加1;若S 0,表示有某些进程正在等待该资源,因此要唤醒一个等待状态的进程,使之运行下去。 •消息缓冲通信原语 高级通信原语,用于一组信息发送(Send)与读取(Read)。 5、死锁 (1)死锁的概念 死锁是两个或两个以上的进程
中
的每一个,都在等待其
中
另一个进程释放资源而被封锁,它们都无法向前推进,称这种现象为死锁现象。 产生死锁的原因是共享资源有限,多个进程对共享资源的竞争,而且操作不当。 (2)产生死锁的四个必要条件是资源互斥使用、保持和等待、非剥夺性、循环等待。 (3)解决死锁的方法 一般有死锁的预防,即破坏产生死锁的四个必要条件
中
的一个或多个,使系统绝不会进入死锁状态;死锁的避免,即在资源动态分配的过程
中
使用某种办法防止系统进人死锁状态;和允许系统产生死锁,然后使用检测算法及时地发现并解除它。 安全状态、安全系列、银行家算法等 第四章 存储管理 1、存储管理使用的基本概念 •逻辑地址与物理地址 在具有地址变换机构的计算机
中
,允许程序
中
编排的地址和信息实际存放在内存
中
的地址有所不同。前者叫逻辑(相对)地址,后者叫物理(绝对)地址。 •重定位:将逻辑地址转换为物理地址。 •虚拟存储管理 虚存是由
操作系统
调度,采用内外存的交换技术,各道程序在必需使用时调入内存,不用的调出内存,这样好象内存容量不受限制。 虚存的特点: (1)虚存容量不是无限的,极端情况受内存和外存可利用的总容量限制; (2)虚存容量还受计算机总线地址结构限制; (3)速度和容量的“时空”矛盾,虛存量的“扩大”是以牺牲CPU工作时间以及内外存交换时间为代价的。 •存储管理的目的及功能 目的是方便用户,提高内存资源的利用率,实现内存共享。 功能主要有内存的分配和管理、内存的扩充技术、内存保护技术 2、分区分配存储管理 分为固定分区、可变分区、可重定位分区、多重分区。 内存“扩充”技术: •交换:由
操作系统
做,用户不知道。 •覆盖:由用户控制,
操作系统
提供覆盖机制。 内存保护技术: ---保护系统工作区和用户作业区,特别是如何防止系统区被破坏。方法有存储保护键、界限寄存器 3、请求页式存储管理 (1)页式存储管理实现原理 基于程序在运行时不需要一开始都装入内存(局部性原理),更不应该把最近较长一段时间内不用的程序装入内存。 (2)
页表
的作用是将逻辑页号转换为物理块号。 (3)页面淘汰算法 先进先出算法(FIFO)、循环检测法、最近最少使用页面先淘汰(LRU)、最不经常使用的页面先淘汰(LFU)、最近没有使用页面先淘汰(NUR)、最优淘汰算法(OPT)等。 (4)页式存储管理的优、缺点 优点: •虛存量大,适合多道程序运行,用户不必担心内存不够的调度操作; •内存利用率高,不常用的页面尽量不留在内存; •不要求作业连续存放,有效地解决了“碎片”
问题
。与分区式相比,不需移动作业;与多重分区比,无零星碎片产生。 缺点: •要处理页面
中
断、缺页
中
断处理等,系统开销较大; •有可能产生“抖动”; •地址变换机构复杂,为提高速度采用硬件实现,增加了机器成本。 4、段式、段页式存储管理 段式、页式存储管理的对比。 段页式存储管理特点: •每一段分若干页,再按页式管理,页间不要求连续; •用分段方法分配管理作业,用分页方法分配管理内存; •兼有段式和页式管理的优点,系统复杂和开销增大,一般在大型机器上才使用。 第五章文件管理 1、文件管理任务与功能 任务:把存储、检索、共享和保护文件的手段,提供给
操作系统
本身和用户,以达到方便用户和提高资源利用率的目的。 功能: ---分配与管理外存 ---提供合适的存储方法 ---文件共享、保护,解决命名冲突 文件组织结构:文件、文件元素、文件系统 •文件系统 = 文件管理程序(文件和目录的集合)+ 它所管理的全部文件; •文件系统是用户与外存的接口; •为用户提供统一方法(以数据记录的逻辑单位),访问存储在物理介质上的信息。 2、文件分类 (1)按文件性质与用途分:系统文件、库文件、用户文件 (2)按操作保护分:只读文件、可读可写文件、可执行文件 (3)按使用情况分:临时文件、永久文件、档案文件 (4)按用户观点分:普通文件、目录文件、特殊文件 (5)按存取的物理结构分:顺序(连续)文件、链接文件、索引文件 (6)按文件的逻辑存储结构分:有结构文件、无结构文件 (7)按文件
中
的数据形式分:源文件、目标文件 3、文件的逻辑结构和物理结构 •文件的逻辑结构 ---从用户观点看 ---按文件名及记录号存取文件,是一维、连续的字符序列,方便存储、检索或加工 ---文件由若干个逻辑记录组成,并加以命名或编号 •文件的物理结构 又称文件的存储结构,是指文件在外存上的存储组织形式,是与存储介质的存储性能有关; 空闲空间的管理方法主要有:空闲表法、空闲(自由)链表法、成组链接法 4、文件目录 (1)文件目录分类:一级文件目录、
二级
文件目录、多级文件目录 (2)文件目录的管理 •目录做成文件,文件系统便于内部统一管理,目录文件在使用时调入内存; •在
操作系统
中
,大量采用“表格”管理。 5、文件存取控制 •解决文件保护、保密和共享 •常用的文件存取控制方法有:存取控制矩阵、用户权限表、使用口令、使用密码 6、文件系统的数据结构和表示 UNIX或Linux
操作系统
中
文件系统的主要特点 (1)
操作系统
文件的目录组织是一个树形结构,从根结点到叶子称为文件的全路径名,文件可以由其全路径名唯一确定; (2)文件本身是无结构的字符流; (3)把外部设备的特殊文件和普通文件以及目录文件都统一在文件这一概念上,对于一般文件的访问、共享和保护方式也可以适用于外部设备。 第六章 输入输出设备管理 1、设备管理的任务和功能 •设备管理的任务 (1)按用户需求提出的要求接入外部设备,系统按一定算法分配和管理控制,而用户不必关心设备的实际地址和控制指令; (2)尽量提高输入输出设备的利用率,例如发挥主机与外设以及外设与外设之间的真正并行工作能力。 •设备管理的功能 (1)分配设备 (2)控制和实现真正的输入输出操作 (3)对输入输出缓冲区进行管理 (4)在一些较大系统
中
实现虚拟设备技术 2、外部设备分类 (1)按系统和用户分:系统设备、用户设备 (2)按输入输出传送方式分(UNIX或Linux
操作系统
):字符型设备、块设备 (3)按资源特点分:独享设备、共享设备、虚拟设备 (4)按设备硬件物理特性分:顺序存取设备、直接存取设备 (5)按设备使用分:物理设备、逻辑设备、伪设备 •设备I/O方式:询问、通道、
中
断 •I/O设备分配算法:先来先服务(FCFS)、按优先级进行分配 3、设备管理技术 (1)I/O设置缓存理由 •解决信息的到达率和离去率不一致的矛盾; •缓存起
中
转站的作用; •使得一次输入的信息能多次使用; •在通道或控制器内设置局部寄存器作为缓冲存储器,可暂存I/O信息,以减少
中
断CPU的次数。这种情形可进一步推广,使得一次读入的信息可多次重复使用。 (2)虚拟设备的技术(SPOOLing) SPOOLing,即外围设备联机并行操作,它是关于慢速字符设备如何与计算机主机交换信息的一种技术,通常也叫做“假脱机技术”。是一种预输入、缓输出和转储的管理技术. SPOOLing系统的特点: •提高了I/O速度; •将独享设备改造为共享设备(典型例子是打印机的“共享”); •实现了虚拟设备功能。 4、设备处理程序编制内容 •设备驱动程序的功能 (1)将接收到的抽象要求转换为具体要求; (2)检查用户I/O请求的合法性,了解I/O设备的状态,传递有I/O关参数,设置设备的工作方式; (3)发出I/O命令,启动分配到的I/O设备,完成指定的I/O 操作; (4)及时响应由控制器或通道发来的
中
断请求,并根据其
中
断类型调用相应的
中
断处理程序进行处理; (5)对于设置有通道的计算机系统,驱动程序还应能够根据用户的 I/O请求,自动地构成通道程序。 •设备驱动程序的特点 (1)驱动程序主要是在请求I/O的进程与设备控制器之间的一个通信程序。 (2)驱动程序与I/O设备的特性紧密相关。 (3)驱动程序与I/O控制方式紧密相关。 (4)由于驱动程序与硬件紧密相关,因而其
中
的一部分程序用汇编语言书写,目前有很多驱动程序,其基本部分已经固化,放在ROM
中
。 •设备处理方式 (1)将抽象要求转换为具体要求 (2)检查I/O请求的合法性 (3)读出和检查设备的状态 (4)传送必要的参数 (5)方式的设置和I/O设备启动 难点分析 •如何理解
操作系统
在计算机系统
中
的地位?
操作系统
是软件,而且是系统软件。它在计算机系统
中
的作用,大致可以从两方面体会:对内,
操作系统
管理计算机系统的各种资源,扩充硬件的功能;对外,
操作系统
提供良好的人机界面,方便用户使用计算机。它在整个计算机系统
中
具有承上启下的地位。 •系统调用与一般过程调用的区别。 系统调用在本质上是一种过程调用,但它是一种特殊的过程调用,它与一般过程调用的主要区别如下: (1)运行状态不同。一般的过程调用,其调用和被调用过程都是用户程序,它们都运行在同一系统状态下;而系统调用的调用过程是用户程序,它运行在用户态,其被调用过程是系统过程,运行在系统态。 (2)进入方式不同。一般过程调用可以直接通过过程调用语句将控制转移到被调用过程;而执行系统调用时,由于调用和被调用过程处于不同系统状态,必须通过访管
中
断进入。 (3)代码层次不同。一般过程调用
中
的被调用程序是用户级程序,而系统调用是
操作系统
中
的代码程序,是系统级程序。 •下表给出作业l、2、3的提交时间和运行时间。采用先来先服务调度算法和短作业优先调度算法,试问平均周转时间各为多少?(时间单位:小时,以十进制进行计算。) 解:采用先来先服务调度策略,则调度顺序为l、2、3。 平均周转时间T=(8+11.6+12)/3=10.53 采用短作业优先调度策略,则调度顺序为l、3、2。 平均周转时间T=(8+8+12.6)/3=9.53 •试述文件管理系统设置打开文件、关闭文件命令的原因。 解:
操作系统
需要处理大量用户文件,而访问一个文件需要查询目录,有时甚至需要多次查询目录。由于文件目录与文件一起存放在辅存上,当存取文件时,必须先到辅存
中
读取文件目录信息,从
中
获得文件的存放地址,然后再去存取文件。这样一来,文件信息的存取将花费很多时间。如果将整个文件目录放入主存,虽然可以提高存取速度,但这需要占用大量主存空间,显然这也是不可取的。 实际上,在一段时间内使用的文件数总是有限的,因此只要将目录
中
当前要使用的那些文件的目录表目复制到内存
中
就可以了。这样既不占用太多的主存空间,又可显著提高查询文件目录的速度。为此,大多数
操作系统
中
设置了两个文件操作:打开文件和关闭文件。 打开文件操作完成的功能是将文件的有关目录信息复制到主存活动文件表
中
,以建立用户和这个文件的联系。关闭文件操作的功能是用户宣布这个文件当前不再使用,系统将其在主存
中
的相应目录信息删去,因而也就切断了用户同这个文件的联系。 •有一个文件系统如图(a)所示,图
中
的框表示目录,圈表示普通文件。根目录常驻内存,目录文件组织成链接文件,不设文件控制块,普通文件组织成索引文件。目录表目指示下一级文件名及其磁盘地址(各占2个字节,共4个字节)。若下级文件是目录文件,指示其第一个磁盘块地址。若下级文件是普通文件,指示其文件控制块的磁盘地址。每个目录文件磁盘块最后4个字节供拉链使用。下级文件在上级目录文件
中
的次序在图
中
为从左至右。每个磁盘块有512字节,与普通文件的一页等长。 普通文件的文件控制块组织结构如图(b)所示,其
中
每个磁盘地址占2个字节,前10个地址直接指示该文件前10页的地址。第11个地址指示一级索引表地址,一级索引表
中
每个磁盘地址指示一个文件页地址;第12个地址指示
二级
索引表地址,
二级
索引表
中
每个地址指示一个一级索引表地址;第13个地址指示三级索引表地址,三级索引表
中
每个地址指示一个
二级
索引表地址。问: (1)一个普通文件最多可有多少个文件页? (2)若要读文件J
中
的某一页,最多启动磁盘多少次? (3)若要读文件W
中
的某一页,最少启动磁盘多少次? 答:(1)由题目
中
所给条件可知,磁盘块大小为512字节,每个磁盘地址占2个字节。因此,一个一级索引表可容纳256个磁盘地址。同样地,一个
二级
索引表可容纳256个一级索引表地址,一个三级索引表可容纳256个
二级
索引表地址。这样,一个普通文件最多可有页数为:10+256+256×256+256×256×256=16843018 (2)从图(a)
中
可以看出,目录文件A和目录文件D
中
的目录项都只有两个,因此这两个目录文件都不需要拉链。若要读文件J
中
的某一项,首先从内存的根目录
中
找到目录文件A的磁盘地址,将其读入内存(第1次访问磁盘)。然后再从目录A
中
找出目录文件D的磁盘地址,并将其读入内存(第2次访问磁盘)。从目录D
中
找出文件J的文件控制块地址,将文件J的文件控制块读入内存(第3次访问磁盘)。在最坏情况下,要访问页的磁盘地址需通过三级索引才能找到,这时要三次访问磁盘才能将三级索引表读入内存(第4、5、6次访问磁盘)。最后读入文件J
中
的相应页(第7次访问磁盘)。 由此可知,若要读文件J
中
的某一页,最多启动磁盘7次。 (3)从图(a)
中
可以看出,目录文件C和目录文件U
中
,目录项数目较多,若目录项数超过127(512/4-l=127),则目录文件的读入可能需要多次磁盘读(因目录文件组织成链接文件)。在最好情况下,所找的目录项都在目录文件的第一个磁盘块
中
。若要读文件W
中
的某一页,首先从内存的根目录
中
找到目录文件C的磁盘地址,将其读入内存(第1次访问磁盘)。在最好情况下,能从目录C的第一个磁盘块
中
找出目录文件互的磁盘地址,并将其读入内存(第2次访问磁盘)。从目录I
中
找出目录文件P的的磁盘地址,将其读入内存(第3次访问磁盘)。从目录P
中
找到目录文件U的磁盘地址,将其读入内存(第4次访问磁盘)。在最好情况下,能从目录U的第一个磁盘块
中
找出文件W的文件控制块地址,将文件W的文件控制块读入内存(第5次访问磁盘)。在最好情况下,要访问的页在前10页
中
,这时可直接得到该页的磁盘地址。最后读入文件W
中
的相应页(第6次访问磁盘)。 由此可知,若要读文件W
中
的某一页,最少启动磁盘6次。 •采用可变分区管理存储空间时,若主存
中
按地址顺序依次有五个空闲区,大小分别为15K、28K、10K、226K、110K。现有五个作业J1到J5,它们所需的主存空间依次是10K、15K、102K、26K、180K。问如果采用首次适应分配算法,能否把这五个作业按J1到J5的次序全部装入主存。使用哪种分配算法装入这五个作业,可使主存的利用率最高? 解:按首次适应分配算法,不能把这五个作业全部依次装入主存。这时J1、J2装入第1、2个空闲区,J3、J4装入第4、5个空闲区,J5有180K,无法装入仅有的10K空闲区。 能使主存利用率最高的是采用最佳适应分配算法。这时,这五个空闲块分别装入作业J2、J4、J1、J5、J3。 •某虚拟存储器的用户编程空间共32个页面,每页为1KB,内存为16KB。假定某时刻一用户
页表
中
已调入内存的页面的页号和物理块号的对照表如下: 请计算逻辑地址0A5C(H)所对应的绝对地址。 解:页式存储管理的逻辑地址分为两部分:页号和页内地址。由已知条件“用户编程空间共32个页面”,可知页号部分占5位;由“每页为1KB”,1K=210,可知内页地址占10位。由“内存为16KB”,可知有16块,块号为4位。 逻辑地址0A5C(H)所对应的二进制表示形式是:000 1010 0101 1100 ,根据上面的分析,下划线部分为页内地址,编码 “000 10” 为页号,表示该逻辑地址对应的页号为2。查
页表
,得到物理块号是4(十进制),即物理块地址为:01 00 ,拼接块内地址10 0101 1100,得01 0010 0101 1100,即125C(H)。 •某采用页式存储管理的系统,接收了一个共7页的作业,作业执行时依次访问的页为:1、2、3、4、2、1、5、6、2、1、2、3、7。当内存块数量为4时,请分别用先进先出(FIFO)调度算法和最近最少使用(LRU)调度算法,计算作业执行过程
中
会产生多少次缺页
中
断?写出依次产生缺页
中
断后应淘汰的页。(所有内存开始时都是空的,凡第一次用到的页面都产生一次缺页
中
断。要求写出计算过程) 解:(1)采用先进先出(FIFO)调度算法,页面调度过程如下: 所以,共产生10次缺页
中
断,依次淘汰的页是1、2、3、4、5、6。 (2)采用最近最少使用(LRU)调度算法,页面调度过程如下: 因此,共产生8次缺页
中
断,依次淘汰的页是3、4、5、6。 •试述分页式存储管理系统和分段式存储管理系统的主要区别。 解:分页和分段有许多相似之处,比如两者都不要求作业连续存放。但在概念上两者完全不同,主要表现在以下几个方式: (1)页是信息的物理单位,分页是为了实现非连续分配,以便解决内存碎片
问题
,或者说分页是由于系统管理的需要。段是信息的逻辑单位,它含有一组意义相对完整的信息,分段的目的是为了更好地实现共享,满足用户的需要。 (2)页的大小固定,由系统确定,将逻辑地址划分为页号和页内地址是由机器硬件实现的。而段的长度却不固定,决定于用户所编写的程序,通常由编译程序在对源程序进行编译时根据信息的性质来划分。 (3)分页的作业地址空间是一维的。分段的地址空间是二维的。 •为什么说有了通道技术和
中
断技术才真正做到了CPU与外设的并行操作? 解:通道是负责外围设备与主存之间进行数据交换,能单独完成输入输出操作的处理机。有了通道,主存和外围设备之间的数据交换就不要CPU干预了,CPU可以做与输入输出无关的其他工作,从而使计算机系统获得了CPU与外围设备之间并行工作的能力。 I/O
中
断是通道和CPU协调工作的一种手段。如果没有
中
断技术,CPU就要不断去查询通道以及设备执行的情况,这样一来,CPU还是把大量的时间花在了查询上,不能很好地为其他进程服务。使用
中
断技术,CPU可以完全不管通道和设备的执行情况,因为无论操作正常结束或操作异常结束,通道都会发出
中
断,通知CPU来处理。 综上所述,通道技术和
中
断技术的出现,使得主存可以直接与外设交换数据,而CPU得以并行地工作,大大提高了CPU的使用效率。 •某分时系统的进程出现如图所示的状态变化。 试问:(1)你认为该系统采用的是何种进程调度算法? (2)把图
中
所示的六个状态变化的原因写出来。 解:(1)该分时系统采用的进程调度算法是时间片轮转法。 (2)①进程被选
中
,变成运行态;②时间片到,运行的进程排入就绪队列尾部;③运行的进程启动打印机,等待打印;④打印工作结束,等待的进程排入就绪队列尾部;⑤等待磁盘读文件工作;⑥磁盘传输信息结束,等待的进程排入就绪队列尾部。 •怎样理解
操作系统
的作业调度和进程调度的关系? 解:作业调度和进程调度都属于处理机调度。作业调度是处理机管理的高级形式,它的主要功能是审查系统是否能满足用户作业的资源要求以及按照一定的算法来选取作业。进程调度是处理机管理的低级形式,它的主要功能是根据一定的算法将CPU分派给就绪队列
中
的一个进程。 作业的状态及其转换
操作系统
中
作业的状态主要有:提交、后备、执行、完成,进程的状态主要有等待、就绪、执行。作业调度和进程调度的转换关系见下图。 •用PV操作实现进程间的同步与互斥应该注意什么? 解:用PV操作实现进程间的同步与互斥,应该注意以下四方面
问题
: (1)对每一个共享资源都要设立信号量。互斥时对一个共享资源设立一个信号量;同步时对一个共享资源可能要设立两个或多个信号量,要视由几个进程来使用该共享变量而定。 (2)互斥时信号量的初值一般为1;同步时至少有一个信号量的初值大于等于1。 (3)PV操作一定要成对调用。互斥时在临界区前后对同一信号量作PV操作;同步时则对不同的信号量作PV操作,PV操作的位置一定要正确。 (4)对互斥和同步混合
问题
,PV操作可能会嵌套,一般同步的PV操作在外,互斥的PV操作在内。 三、课程练习及参考解答 一、填空 1、设备I/O方式有如下三种:_________、__________和___________。 2、文件存取方式按存取次序通常分_________________、_______________,还有一类 ______________。 3、从用户观点看,UNIX系统将文件分三类:___________________、___________________和 _________________。 4、引起死锁的四个必要条件是 、________________、 和__________________。 5、进程的三个最基本状态是_____________、____________和_____________。 6、传统
操作系统
提供编程人员的接口称为________________。 7、三代人机界面的发展是指:______________、_________________和_______________。 8、常用的进程调度算法有_________________、_________________和___________________。 二、选择一个正确答案的序号填入括号
中
1、计算机
操作系统
是一个( )。 A. 应用软件 B. 硬件的扩充 C. 用户软件 D.系统软件 2、
操作系统
程序结构的主要特点是( )。 A. 一个程序模块 B. 分层结构 C. 层次模块化结构 D. 子程序结构 3、面向用户的组织机构属于( )。 A. 虚拟结构 B. 逻辑结构 C. 实际结构 D. 物理结构 4、
操作系统
中
应用最多的数据结构是( )。 A. 堆栈 B. 队列 C. 表格 D. 树 5、可重定位内存分区分配目的为( )。 A. 解决碎片
问题
B. 便于多作业共享内存 C. 回收空白区方便 D. 摆脱用户干预 6、逻辑地址就是( )。 A. 用户地址 B. 相对地址 C. 物理地址 D.绝对地址 7、原语是( )。 A. 一条机器指令 B. 若干条机器指令组成 C. 一条特定指令 D.
中
途能打断的指令 8、索引式(随机)文件组织的一个主要优点是( )。 A. 不需要链接指针 B. 用户存取方便 C.回收实现比较简单 D.能实现物理块的动态分配 9、几年前一位芬兰大学生在Internet上公开发布了以下一种免费
操作系统
核心( ),经过许多人的努力,该
操作系统
正不断完善,并被推广。 A. Windows NT B. Linux C. UNIX D. OS2 10.文件目录的主要作用是( )。 A. 按名存取 B.提高速度 C.节省空间 D.提高外存利用率 11、某进程在运行过程
中
需要等待从磁盘上读入数据,此时该进程的状态是( )。 A. 从就绪变为运行 B.从运行变为就绪 C. 从运行变为阻塞 D.从阻塞变为就绪 12、把逻辑地址转变为内存的物理地址的过程称作( )。 A.编译 B.连接 C.运行 D.重定位 13、进程和程序的一个本质区别是( )。 A.前者分时使用CPU, 后者独占CPU B.前者存储在内存,后者存储在外存 C.前者在一个文件
中
,后者在多个文件
中
D.前者为动态的,后者为静态的 三、是非题,正确的在括号内划√,错的划×。 ( )1、进程间的相互制约关系体现为进程的互斥和同步。 ( )2、只有一个终端的计算机无法安装多用户
操作系统
。 ( )3、UNIX的最大特点是分时多用户、多任务和倒树型文件结构。 ( )4、常用的缓冲技术有双缓冲,环形缓冲和缓冲池。 ( )5、实时
操作系统
的响应系数最小,设备利用率最差。 ( )6、死锁是指两个或多个进程都处于互相等待状态而无法继续工作。 ( )7、具有多道功能的
操作系统
一定是多用户
操作系统
。 ( )8、一般的分时
操作系统
无法做实时控制用。 ( )9、多用户
操作系统
在单一硬件终端硬件支持下仍然可以工作。 ( )10、常用的缓冲技术是解决慢速设备与快速CPU处理之间协调工作。 四、回答题 1、试以生产者——消费者
问题
说明进程同步
问题
的实质。 2、以一台打印机为例,简述SPOOLing 技术的优点。 3、简述请求页式存储管理的优缺点。 4、虚拟存储器的基本特征是什么?虚拟存储器的容量主要受到什么限制? 5、现代
操作系统
与传统
操作系统
相比,设计
中
采用了哪些先进技术? 练习参考解答 一、填空 1、询问、
中
断、通道 2、顺序存取、直接存取、按键索引 3、普通(用户)、目录、特殊 4、互斥使用、保持和等待、非剥夺性、循环等待 5、准备(就绪)、执行、等待 6、系统调用 7、一维命令行、二维图形界面、三维虚拟现实 8、先来先服务、优先数法、轮转法 二、选择题 1、D 2、C 3、B 4、C 5、A 6、B 7、B 8、D 9、B 10、A 11、C 12、D 13、D 三、是非题 有错误的是第2、5、7题,其余均是正确的。 四、回答题 1、答:一个生产者,一个消费者和一个产品之间关系是典型的进程同步
问题
。设信号量S为仓库内产品,P-V操作配对进行缺一不可。生产者进程将产品放入仓库后通知消费者可用;消费者进程在得知仓库有产品时取走,然后告诉生产者可继续生产。 2、答:以一台打印机为例, SPOOLing 技术的主要优点是在多用户情况下,每一个用户使用打印机就好像自己拥有一台打印机。不会产生打印机“忙”而等待。 3、答:优点: (1)虛存量大,适合多道程序运行,用户不必担心内存不够的调度操作。动态页式管理提供了内存与外存统一管理的虚存实现方式。 (2)内存利用率高,不常用的页面尽量不留在内存。 (3)不要求作业连续存放,有效地解决了“碎片”
问题
。与分区式比,不需移动作业;与多重分区比,无零星碎片产生。UNIX
操作系统
较早采用。 缺点: (1)要处理页面
中
断、缺页
中
断处理等,系统开销较大。 (2)有可能产生“抖动”。 (3)地址变换机构复杂,为提高速度采用硬件实现,增加了机器成本。 4、答:虚存是由
操作系统
调度,采用内外存的交换技术,各道程序在必需使用时调入内存,不用的调出内存,这祥好像内存容量不受限制。但要注意: (1)虚存容量不是无限的,极端情况受内存、外存的可使用的总容量限制; (2)虚存容量还受计算机总线长度的地址结构限制; (3)速度和容量的“时空”矛盾,虛存量的“扩大”是以牺牲CPU工作时间以及内、外存交换时间为代价的。 5、答:现代
操作系统
是指网络
操作系统
和分布式
操作系统
,采用了网络地址方案、网络协议、路由技术和微内核等先进技术。
操作系统
期末试卷与答案
操作系统
原理 课程试卷(一)答案共4页 学院 专业 成绩 年级 学号 姓名 日期 考试形式: 闭卷 时间: 120分钟 一、 填空题(20分,每空1分) 1、进程通信的常用方式有 直接通信 和 间接通信 等。 2、如果P(S1)和P(S2)两个操作在一起,那么P操作的顺序至关重要,一个同步P操作与一个互斥P操作在一起时同步 P操作在互斥 P操作前。而两个V操作的次序无关紧要 。 3、P(S):表示申请一个资源 ; V(S)表示释放一个资源 。信号量的初值应该大于等于0 。 4、在请求式分页系统
中
,页框的分配
中
有一种方式称为固定分配。固定分配有两种不同的方式,分别是平均分配 和按比率分配 。 5、在请求式分页存储管理系统
中
,不能在计算机
中
实现的页面淘汰算法是最佳算法 ,选择淘汰不再使用或最远的将来才使用的页的算法是先进先出算法 ,选择淘汰在主存
驻留
时间最长的页的算法是最近最少使用 。 6、将作业地址空间
中
的逻辑地址转换为主存
中
的物理地址的过程称为 地址转换。 7、访问磁盘时间由三部分组成 寻道时间 、 旋转延迟时间 和 传输时间 。 8、I/O设备的控制方式有 轮询 、
中
断 和 DMA 等。 二、 判断题(20分,每题4分,请说明正确与否的理由) 1、分布式系统就是紧偶合系统。 错。 分布式系统是松散偶合系统。 2、在一个只有单个CPU的计算机
中
,进程不能并行操作。 错。 一个进程在利用CPU运行,另一个进程可以同时进行I/O操作,它们是并行的。 3、线程可以分为内核级(Kernel Thread)和用户级(User Thread)两种,
操作系统
不可以直接调度用户级的线程。 对。 4、有m个进程的
操作系统
出现死锁时, 死锁进程的个数为1α>0时此算法是什么算法? 2) 请问当α<β<0时此算法是什么算法? 答: 1) 先来先服务 2) 先来后服务 六、 一个程序P的用户空间为16K,存储管理采用请求式分页系统,每个页面大小为2K,存在以下的
页表
: 页框号 有效位 12 1 3 1 0 1 0 0 2 1 15 1 0 0 8 1 其
中
,有效位=1表示页面在内存;0表示页面不在内存。 请将虚地址0x060C,0x1502,0x1d71,0x2c27,0x4000转换为物理地址。 答: 0x060C:1548+12*2048=0x660C 0x1502:0x502 0x1d71:缺页 0x2c27:0x1427 0x4000:越界 七、 1目录文件采用链接式,每个磁盘块存放10个下级文件的描述,最多存放40个下级文件,若下级文件为目录文件,上级目录指向该目录文件的第一块,否则指向普通文件的文件控制块。普通文件采用
二级
索引形式,文件控制块
中
给出12个磁盘块地址,前10个磁盘块地址指出前10页的物理地址,第11个磁盘块地址指向一级索引表,一级索引表给出256个磁盘块地址,即指出该文件第10页至第265页的地址,第12个磁盘块地址指向
二级
索引表,
二级
索引表
中
指出256个一级索引表的地址。 (1) 该文件系统
中
的普通文件最大可有多少页? (2) 若要读文件/A/D/K/Q
中
的某一页, 最少要启动磁盘几次? 最多要启动磁盘几次? 答: (1)该文件系统
中
的普通文件最大可有:10+256+256*256=65802页 (2)若要读文件/A/D/K/Q
中
的某一页, 最少要启动磁盘1+1+1+1+1=5次,最多要启动磁盘4+4+4+4+2+1=19次
【Armv8/Armv9架构】-MMU专题
【课程简介】本课程是《Armv8/Armv9架构从入门到精通 第二期》
中
的第四章。建议购买大课程。本课程以为armv8-aarch64、armv9为基准,不涉及armv7及其以前的版本,也不涉及aarch32。本课程包含但不限于以下内容MMU的基础学习:啥是MMU?工作原理?MMU和cache之间的关系?及其怎样相互影响的?哪些是MMU硬件自动的行为?哪些是软件可配置的行为?地址空间基础:啥是虚拟地址空间?啥是物理地址空间?啥时memory-map? 代码程序
中
的虚拟地址空间是怎样的?arm core硬件决定的物理地址空间是怎样的?SOC memory-map时的地址空间是怎样的?具体的外设又是怎样的地址空间?Translation Regime:系统里有多少个MMU?系统里有多少个Translation Regime?他们之间的关系是怎样的?
页表
翻译:MMU是怎样翻译的?
页表
有几级?这些信息是怎么告诉MMU的,MMU又是怎样工作的,软件又需要怎样设计?stage1和stage2的区别和使用?Descriptor:啥是Descriptor、
页表
项、entry、条目、
页表
条目? Descriptor的格式是怎样的?每一个属性位是怎样的?MMU除了完成地址转换,属性权限的控制/cache的缓存策略是怎样配置的?optee
中
使用MMU的示例MMU深度思考篇:开启MMU瞬间可能出现的
问题
以及多种常用的解决方案。注意这里提到的是多种方案,绝大多数人只知道第一种,除此之外还有没有其它的设计方式? MMU关闭时cache的缓存策略会怎样?【思考】01、一个大系统
中
有多少个MMU ?02、一个ARM Core
中
有多少个Translation regime?03、EL1&0 Translation regime Stage2、EL2 Translation regime stage1、EL2&0 Translation regime stage1 这三者的区别是什么?04、TTBR1_EL2寄存器有啥特殊性,这个寄存器是给谁使用的?05、有没有TTBR1_EL3寄存器?为什么?06、什么是memory-map? 一个ARM的系统
中
,有几套物理地址空间?07、
页表
到底有几级?
页表
最少可以有几级?
页表
最多可以有几级?08、
页表
有多大?
页表
存放在哪里?
页表
由谁来管理?09、
页表
是否能放在cache
中
?10、什么是Translation Table walk? 什么是TLB?11、请简述
页表
查询的过程?12、在一个大系统
中
,物理地址是多少位的? 物理地址是多少位指的是什么?虚拟地址又是多少位的? 物理地址的位数和虚拟地址的位数都是由谁来决定的?13、请说明entry、descriptor、
页表
项、条目 这个四个词汇的由来?14、TCR
中
有缓存属性和共享属性、
页表
的entry
中
也有缓存属性和共享属性,这俩有什么区别?15、请简述TTBR0和TTBR1的概念和意义?16、请简述cacheability和shareability属性的含义?17、stage1和stage2有何区别?18、stage1和stage2的descriptor
中
,有很多重复的属性,当两者属性有冲突了怎么办?19、L1、L2、L2的descriptor
中
也有部分相同的属性,重复时怎么办?20、Descriptor的格式有哪几种?21、Descriptor的类型有哪几种?22、简述您所观察到的系统软件
中
(
操作系统
或hypervisor)的shareability和cacheability一般都是怎样配置的?23、开启一个MMU的步骤是怎样的?24、啥是flat map? 啥是full level table?25、
页表
中
的AF属性位、DBM属性位分别是干啥的?26、
页表
中
的nG属性位是干啥的?27、
页表
中
的Contiguous属性位是干啥的?28、在开启MMU的瞬间会考虑哪些事情?【课程目录】当前21节课,6.8小时
操作系统
中
的
页表
的结构
最近在学习
操作系统
,看到
页表
时有点晕,不过看了如下资料后就比较清楚了: 一、
页表
结构 分页转换功能由
驻留
在内存
中
的表来描述,该表称为
页表
(page table),存放在物理地址空间
中
。
页表
可看做简单的220个物理地址数组。线性到物理地址的映射功能可以简单地看做进行数组查找。线性地址的高20位构成这个数组的索引值,用于选择对应页面的物理(基)地址。线性地址的低12位给出了页面
中
的偏移
#
操作系统
# x86
中
的
页表
结构
最近看了一些
页表
的知识,包括x86
中
的
页表
结构以及
二级
页表
的思想,对于多级
页表
能够节约内存这块思考了好久,看了好多博客终于明白了一些,现在把个人理解记录下来。 一.
页表
结构 分页转换功能由
驻留
在内存
中
的表来描述,该表称为
页表
(page table),存放在物理地址空间
中
。把物理内存分成一块一块的大小,其
中
每一块称为一个页,那么
页表
可以看作是这些页的目录,它可以定位到物理内存上某...
非技术区
427
社区成员
2,551
社区内容
发帖
与我相关
我的任务
非技术区
非技术问题的乐园
复制链接
扫一扫
分享
社区描述
非技术问题的乐园
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章