《2022年操作系统复习-计算机学院 .pdf》由会员分享,可在线阅读,更多相关《2022年操作系统复习-计算机学院 .pdf(26页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、1 第 1 章操作系统概论1 早期操作系统设计的主要目标是什么? 方便性和高效性(1)使用户简单、方便地使用计算机(2)使计算机系统高效可靠地运行(3)便于操作系统的设计、实现和维护2 操作系统是资源管理程序,它管理系统中的什么资源?硬件和软件(程序和数据)资源进程 -进程表存储器 -存储表 I/O设备-I/O设备表文件-文件表3 为什么要引入多道程序系统?它有什么特点?根本目的是提高CPU的利用率,充分发挥系统设备的并行性特点:主存中同时存放多个作业,使之同时处于运行状态,共享系统中的各种资源,宏观上并行微观上串行。4 叙述操作系统的基本功能。处理机管理、存储器管理、文件管理、设备管理5批处
2、理系统、分时系统和实时系统各有什么特点?各适合应用于哪些方面? 批处理:特点:系统吞吐量大,资源利用率高,用户和作业无法进行交互,作业平均周转时间长。适用于:计算量大自动化程度高的大型作业分时:特点:同时性,交互性,独立性,及时性适用于:目标是用户对请求的快速响应,短小的作业,各种事务处理实时:特点:实时性、可靠性、确定性(最坏时间可以预知)适用于 ; 实时控制和实时信息处理系统6操作系统的特性 ? 并发性、共享性、虚拟性、异步性7衡量 OS 的性能指标有哪些?什么是吞吐量、响应时间和周转时间?吞吐量:单位时间系统处理的信息量响应时间:用户发出终端命名到系统响应并开始作答所需要的时间周转时间:
3、作业进入系统到作业退出系统的时间8什么是嵌入式系统?以实际应用为中心、以计算机技术为基础、软硬件可裁剪的专用计算机系统。9什么是对称多处理?它有什么好处?操作系统和用户程序可安排在任何一个处理机上运行,各处理机共享主存和各种I/O 设备。10 为了实现系统保护,CPU 通常有哪两种工作状态?各种状态下分别执行什么程序?什么时候发生状态转换?状态转换由谁实现的?用户态:执行用户程序,只允许执行处理机的非特权指令,访问指定的寄存器和存储区。系统调用时切换到核心态,由硬件实现名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理
4、 - - - - - - - 第 1 页,共 26 页 - - - - - - - - - 2 核心态:执行操作系统程序,允许执行处理机的全部指令集,访问所有的寄存器和存储区。完成系统调用时切换到用户态,由操作系统实现11 什么是系统调用?什么是特权指令?特权指令执行时,CPU 处于哪种工作状态?系统调用 :提供用户程序和操作系统内核的接口特权指令:关系操作系统全局的指令特权指令执行时处于核心态12 操作系统通常向用户提供哪几种类型的接口?其主要作用是什么? 操作接口:命令语言或者界面窗口,组织或控制作业执行编程接口:用户程序和操作系统内核的接口,向操作系统提出资源请求或者获得系统服务第 2-
5、3 章进程管理1程序顺序执行的特点封闭性:程序运行时独占系统资源可再现性:初始条件相同,结果不变2何谓进程,进程由哪些部分组成?试述进程的 四大特性(动态性、独立性、并发性、结构性)及进程和程序的区别。进程:描述操作系统中各个并发活动。进程由程序、数据、进程控制块组成动态性:进程是程序一次执行的过程,是临时的,有生命期的独立性:是系统进行资源分配和调度的独立单位并发性:多个进程可在处理机上并发执行结构性:系统为每个进程建立一个进程控制块区别:进程动态,程序静态。程序是有序代码的集合,进程是程序的执行,没有程序就没有进程。通常,进程不可以在计算机之间迁移,而程序可以复制。进程是暂时的,程序时永久
6、的。进程包括程序、数据、进程控制块进程可以创建其他进程,程序不能创建其他程序3进程控制块的作用是什么?它主要包括哪几部分内容? 管理和调度系统中进程。包含:进程标识数 | 进程状态、 调度、存储器管理信息| 进程使用的资源情况|CPU 现场保护| 记账信息 | 进程间家族关系 | 进程链接指针4进程的基本状态,试举出使进程状态发生变化的事件并描绘它的状态转换图。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 26 页 - - - - - - - - - 3 5什么是原语
7、?什么是进程控制?原语:若干多机器指令构成的完成某种特定功能的一段程序,具有不可分割性,即原语的。进程控制:系统使用一些具有特定功能的程序段来创建、撤消进程,以及完成进程各状态之间的转换。6进程调度的功能、方式、时机、算法。作业调度,交换调度。作业的周转时间和作业的带权周转时间 ? 进程调度的功能:记录系统中各进程的执行情况选择进程真正占有CPU 进行进程上下文切换进程调度的方式:非剥夺方式剥夺方式进程调度的时机:P34 进程调度算法:作业调度:高级调度,用于多道批处理系统进程调度:低级调度交换调度:中级调度。将主存就绪或者阻塞等暂不具备运行条件的进程换到外存交换区名师资料总结 - - -精品
8、资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 26 页 - - - - - - - - - 4 7线程的定义,线程与进程的比较。系统对线程的支持(用户级线程、核心级线程、两级组合)。线程:进程中的一个可执行实体,被操作系统调度的独立单位进程与线程的比较:(1)拥有的资源:进程拥有一个独立的地址空间,用来存放若干代码段和数据段。若干打开文件,以及至少一个线程。一个进程内的多线程共享该进程的所有资源,线程自己拥有很少资源。(2)调度:进程调度需要切换进程上下文。线程仅把拥有的一小部分资源变换了即可,效
9、率高。同一进程内的线程切换比进程切换快得多。(3)并发性:进程之间、进程内的多线程可以并发执行(4)安全性:多进程不会改变其他进程数据,而线程可能会改变同一进程的其他线程的数据。用户级线程:核心级线程:两级组合:8并发执行的进程在系统中通常表现为几种关系?各是在什么情况下发生的? (1)对资源共享引起的互斥关系。相互竞争系统资源。(2)协同完成同一任务而引起的同步关系。相互协作共同完成任务。(3)进程之间的前序关系。进程之间存在着直接和间接的关系。9什么叫临界资源?什么叫临界区 ?对临界区的使用应符合的四个准则(互斥使用、让权等待、有空让进、有限等待)。临界资源:系统中一次仅允许一个进程使用的
10、共享资源。临界区:并发进程访问临界资源的那段必须互斥执行的程序段。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 26 页 - - - - - - - - - 5 互斥使用:不能同时有两个进程在临界区内执行。让权等待:等待进入临界区的进程,应释放处理机后阻塞等待有空让行:在临界区外运行的进程不可阻止其他进程进入临界区有限等待:不应使要进入临界区的进程无限期等待在临界区之外10 解决进程之间互斥的办法:开、关中断,加锁、开锁(又叫测试与设置,通常由一条机器指令完成),软件方
11、法,信号量与P、V 操作。硬件实现: 1. 关中断,限制了处理机交叉执行的能力,多处理机系统中失效2. 加锁和开锁,忙等待(parbegin和 parend )11 若信号量 S表示某一类资源,则对S 执行 P、V操作的直观含意是什么? 当进程对信号量 S 执行 P、V操作时, S的值发生变化,当S0、S=0、和 S0: 在封锁进程之前对信号量s 可施行的 P 操作数,亦即等于 s 所代表的实际使用的物理资源个数。S 0: 绝对值等于登记排列在该信号量s 队列之中等待进程的个数,亦即恰好等于对信号量 s 实施 P操作而被封锁起来并进入信号量s 队列的进程数。S = 0: 不能进行P操作12 在
12、用 P/V 操作实现进程通信时,应根据什么原则对信号量赋初值?进程互斥时应该为1,代表一个时刻只能有一个进程访问进程同步时,同步信号量要根据具体的资源个数来决定13 经典的 IPC 问题。生产者和消费者问题:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 26 页 - - - - - - - - - 6 读者写者问题:理发师问题:哲学家进餐问题:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理
13、- - - - - - - 第 6 页,共 26 页 - - - - - - - - - 7 14 进程高级通信有哪些实现机制?消息缓存、信箱、管道、共享主存区15 死锁产生的必要条件及解决死锁的方法(1)互斥条件(2)保持和等待条件(3)不剥夺条件(4)循环等待条件解决死锁的办法:(1)鸵鸟算法(2)死锁的预防,破坏四个必要条件(3)死锁的避免,银行家算法,进程-资源轨迹图(4)死锁的恢复和检查16 理解银行家算法的实质。能够利用银行家算法避免死锁。根据系统剩余的资源情况进行检查,看满足请求者的要求后,是否仍使系统中的所有进程都能正常完成 (即能找到一个进程完成序列)。若能,系统是安全的。
14、否则,系统是不安全的。第 4 章存储器管理1 存储器管理的功能。名字空间、地址空间、存储空间、逻辑地址、物理地址。存储器功能:存储器分配地址转换和重定位存储器保护存储器扩充存储器共享名字空间:源程序中的各种符号名的集合所限定的空间。源程序中的数据和子程序通常是用符号名进行访问的。地址空间:经编译连接后的目标代码所限定的空间。用地址码替换符号地址。编译时,程序中各个地址总是以“0”作为起始地址顺序编码。存储空间:物理存储器中全部物理存储单元所限定的集合逻辑地址:地址空间中的地址叫逻辑地址。物理地址:物理地址中的地址叫物理空间。2 什么是地址重定位?分为哪两种 ?各是依据什么和什么时候实现的?试比
15、较它们的优缺点。地址重定位(地址映射或地址变换):将逻辑地址转化为物理地址。静态重定位:在进程执行前, 由装入程序把用户程序中的指令和数据的逻辑地址全部转换成存储空间的物理地址。特点: 1)无硬件变换机构2)为每个程序分配一个连续的存储区3)在程序执行期间不能移动,主存利用率低4)难以做到程序和数据的共享5)用于单道批处理系统名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 26 页 - - - - - - - - - 8 动态重定位:装入程序把程序和数据原样装入到已分配的
16、存储区中,然后把该存储区的起始地址送入重定位寄存器。需硬件地址转换机构。优点: 1)主存利用充分。可移动用户程序,移动后只需修改重定位寄存器。2)程序不必占有连续的存储空间。设置多个重定位寄存器。3)便于多用户共享存储器中的同一程序和数据。3 内存划分为两大部分:用户空间和操作系统空间。存储器管理是针对用户空间进行管理的。4 存储保护的目的是什么?对各种存储管理方案实现存储保护时,硬件和软件各需做什么工作? 防止地址越界:进程运行时产生的所有存储器访问地址都要进行检查,确保只访问为该进程分配的存储区域。正确地进行存取:对所访问的存储空间的操作方式:读、写、执行,进行检查,以防止由于误操作,使其
17、数据的完整性受到破坏。5 试述可变式分区管理空闲区的方法及存储区的保护方式。覆盖与交换有什么特点?可变式分区:当进程要求运行时,系统从空闲的存储空间划分出大小正好等于进程大小的一个存储区分配给进程。存储空间的划分推迟到装入进程时进行。管理分区的数据结构:分区说明表(已分配区表,未分配区表)、空闲区链表。分区分配的算法:首次适应法(first fit) 最佳适应法 (best fit) 最坏适应法 (worst fit) 可变式分区采用动态重定位,系统设置基址寄存器和限长寄存器进行存储器保护,由MMU负责完成覆盖与交换技术是解决大进程和小主存矛盾的两种存储器管理技术覆盖:让那些不会同时执行的程序
18、段共用同一个主存区。打破了必须将一个进程的全部信息装入主存后才能运行的限制,在同一进程内进行。交换 (Swapping) :系统根据需要把主存中暂时不运行的进程中的部分或全部信息移到外存,而把外存中的进程移到主存,并使其投入运行。打破了一个程序一旦进入主存就一直运行到结束的限制,在进程之间进行。6 页表的作用是什么?简述页式管理的地址变换过程。能利用页表实现逻辑地址转换成物理地址。管理内存的数据结构有哪些?页表:页式管理中,系统为每个进程建立一张页面映像表,记录逻辑页与主存块的映射关系。页表存放在主存,页表的始址和页表长度记录在进程控制块中。用于动态地址转换。管理内存的数据结构:(1)存储分块
19、表(2)位示图页式地址转换:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 26 页 - - - - - - - - - 9 7 什么是页式存储器的内零头?它与页的大小有什么关系?可变式分区管理产生什么样的零头(碎片)?内零头:分配给进程而没有被进程使用的页。若干页的大小可变式分区管理产生外零头,存在于个分区之间没有被利用的空闲区。8 段式存储器管理与页式管理的主要区别是什么? (1)段是信息的逻辑单位,由用户划分,对用户是可见的。页式是信息的物理单位,由硬件划分,对用户
20、是透明的。(2)段式大小不固定,页式大小固定。(3)段用二维空间,页用一维空间。(4)段允许动态扩充,便于存储保护和信息共享。页是大小是不变的,保护和共享受到限制。(5)段可能产生碎片,而页有效地消除了碎片。(6)段式管理便于实现动态链接,页式管理只能使用静态链接。9 什么是虚拟存储器。虚拟存储器的容量能大于主存容量加辅存容量之和吗? 虚拟存储器:为了满足存储量巨大的需求而为用户构造的一个非常大的地址空间。允许进程的执行实体不必完全在内存中。程序可以比物理内存大。不能。10 实现请求页式管理,需要对页表进行修改,一般要增加状态位、修改位、访问位。试说明它们的作用。状态位(有效位) :页是否在主
21、存修改位:页是否被修改过“1”表示修改过,“0”表示未修改过。访问位(引用位) :指示该页最近是否被访问过。11 产生缺页中断时,系统应做哪些工作? 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 26 页 - - - - - - - - - 10 12 会利用 FIFO、 LRU 、 OPT以及时钟页面置换算法描述页面置换过程,计算产生的缺页率。Belady 异常。1) 最佳置换算法( OPT算法)2) 先进先出置换算法(FIFO) 3) 最近最少使用的页面置换算法(L
22、RU) 4)时钟页面置换算法Belady 异常:为进程分配更多的主存块时,有时产生更多的缺页中断。13 什么是程序的局部性原理?什么叫系统抖动?工作集模型如何防止系统抖动? 局部性原理:指在一定的时间内,进程集中在一组子程序或者循环中执行,导致所有的存储器访问局限于进程地址空间的一个固定子集。系统抖动:从主存中刚刚换出某一页面后,根据请求马上又换入该页,这种反复换出换入的现象,称为系统颠簸,也叫系统抖动。工作集模型: 经常被使用的页面需要在工作集中,而长期不被使用的页面要从工作集中被丢弃。为了防止系统出现抖动现象,需要选择合适的工作集大小。14 多级页表的概念,多级页表中页表建立的时机。写时复
23、制技术的概念。多级页表:页表不必再占用连续的主存空间,页表在使用时才被装入。页表的建立不再是在进程装入主存时,而是推迟到要访问页时,才为包含该页的页表分配空间和建立页表页。写时复制技术:若没有进程向共享主存页写时,两个进程就共享之。若有进程要写某页,系统就把此页复制到主存的另一个页框中,并更新该进程的页表,使之指向此复制的页框,且设置该页为可读/ 写。第 5 章文件系统1 什么是文件和文件系统? 文件系统的主要功能。UNIX系统如何对文件进行分类?它有什么好处?文件:存储在外部存储器上的具有符号名的相关信息集合。文件由文件控制块(放在文件目录的结构中)文件系统: OS中管理文件的软件机构。包括
24、管理文件所需的数据结构、相应的管理软件和被管理的文件。文件系统的功能:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 10 页,共 26 页 - - - - - - - - - 11 UNIX系统中的文件分类:2 文件目录的作用是什么?文件目录项通常包含哪些内容? 文件控制块。文件目录的作用:实现用户按文件名存取文件存储器上的信息,实现这个功能的结构是文件目录文件目录项通常包括:文件名、文件存放的物理地址、文件控制块。文件控制块:包含了文件的说明信息和管理控制信息,操作系统通过文件控
25、制块管理文件。文件控制块保存在文件目录中3 文件的逻辑结构有几种形式?文件的存取方法?文件的逻辑结构: (1)有结构的字节流式文件(2)无结构的记录式文件文件从存取方式:顺序存取直接存取(随机存取)4 文件的物理结构有哪几种?对于不同的结构,文件系统是如何进行管理的? (1)连续文件:文件内容连续存放(2)链接(串联文件) :把文件所占用的物理块用链接指针链接起来,不必占用连续的空间(3)索引文件:为每个文件建立一个索引表(4)索引顺序文件:将顺序文件中的所以记录分成若干组,只为每个组的第一个记录建立一个索引项( windows 的 NTFS系统)5 DOS 文件卷的结构, DOS 系统的文件
26、物理结构是什么?MS-DOS 就是使用文件分配-FAT 来分配和管理磁盘空间的。 DOS系统的文件采用链接结构 (索引顺序文件)6 了解记录的组块和分解。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 11 页,共 26 页 - - - - - - - - - 12 7 文件存储空间的管理方法有几种?它们各是如何实现文件存储空间的分配和回收的? (1)空白文件目录:系统为所有这些空白文件建立一张表, 每个空白文件占用一个表目。(2)空闲区块链表:把所有空闲块连接成一个链表。(3)位示
27、图:每一个二进制位对应一个物理盘块。为1 时表示块已分配,为0 时空闲。8 建立多级目录有哪些好处?文件的重名和共享问题是如何得到解决的? 多级目录结构的优点是便于文件分类,可为每类文件建立一个子目录;查找速度快,因为每个目录下的文件数目较少;可以实现文件共享。9 文件系统中,常用的文件操作命令有哪些?它们的具体功能是什么?打开和关闭文件命令的目的是什么 ? P118 打开文件目的:为了避免多次重复地检索文件目录,OFT (活动文件表)存放所有打开文件的文件目录项关闭文件的目的:释放文件使用时的所有主存资源,若是基于缓冲的文件读写,将未写入磁盘的缓冲区写入磁盘。10存取控制表ACL 的概念。为
28、存取控制矩阵中的每一列建立一张存取控制表(ACL),用一有序对 ( 域, 权集) 表示。11理解内存映射文件(memory mapped file)的过程。将文件映射到进程地址空间的一个区域,返回包含文件复制的字节数组的虚拟地址,仅当需要对文件存取时,才传输实际的数据。第 6 章设备管理1 I/O 设备通常大致可分为哪两大类?各自传输的信息单位有什么特点?(1)字符设备:以字符为单位发送和接受数据的。(2)块设备:以块为单位进行数据传输。还有网络通信设备等名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - -
29、- - - - 第 12 页,共 26 页 - - - - - - - - - 13 2 常用的四种数据传输方式。(1)程序查询方式(2)中断方式(3)DMA 方式传输(4)通道控制方式3 根据设备的使用方式,设备被分为几种类型?何为虚拟设备?它是通过什么技术实现的?独占设备:临界资源,如打印机。共享设备:多个进程可交叉访问。如磁盘。虚拟设备:是指设备本身是独占设备,而经过虚拟技术处理,可以把它改造成共享设备。Spooling 技术是实现虚拟设备的一种技术。它利用可共享磁盘的一部分空间,来模拟独占的 I/O 设备。以空间换时间4 按照设备管理的层次结构,I/O 软件划分为几层?各层主要实现哪些
30、功能?(1)硬件(2)中断处理程序(3)设备驱动程序:设备初始化,启动设备例程,中断处理例程(4)独立于设备的软件:实现所有设备都需要的功能、设备命名、设备保护、提供与设备无关的块尺寸、缓冲技术、负责设备的分配和调度、出错处理(5)用户空间的I/O 接口5 何为设备的独立性?设备独立性是指用户及用户程序不受系统配置的设备类型和具体设备的台号的影响。用户只是使用逻辑设备,具体的映射由操作系统完成。6 什么是 SPOOLING技术?以输出为例,说明它的实现原理。(SPOOLING技术是以空间换时间)Spooling 实际是一种缓冲技术。比如进程要打印时,系统并不为它分配打印机,而是把待打印的数据缓
31、冲到一个独立的磁盘文件上,形成待打印文件队列。之后,Spooling 系统一次一个地将打印队列上的文件送打印机打印。这种技术又叫缓输出技术。7 一个特定磁盘上的信息如何进行编址?盘面号、磁道号和扇区号(或柱面号、磁头号和扇区号)。8 要将磁盘上一个块的信息传输到主存需要系统花费哪些时间?寻道时间、旋转延迟时间和读/写传输时间9 常用的磁盘调度算法:先来先服务、最短寻道时间优先、扫描法(SCAN, C_SCAN, LOOK, C_LOOK) 。第 7 章Linux 进程管理1 进程控制块,其中与进程管理、存储器管理和文件管理有关的一些字段,线程组标识符。(1)pid_t pid 进程标识符( P
32、ID) :每个进程有唯一的pid 号,内核通过pidmap_array 位图来管理已分配和空闲的pid。(2)pid_t tgid 线程组标识符:同一线程组中的所有轻量级进程的tgid 的值相同。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 13 页,共 26 页 - - - - - - - - - 14 (3)当前进程的基本信息(thread_info) :其中 thread_info 中有 task 指向其属于的进程描述符,和核心栈占用两个连续的页框(8k)由于 esp寄存器存
33、放的是核心栈的栈顶指针,内核很容易从esp 寄存器的值获得正在CPU上运行的进程的thread_info 结构的地址。进而获得进程描述符的地址。进程刚从用户态切换到核心态时,其核心栈为空,只要将栈顶指针减去8k,就能得到thread_info 结构的地址。(4)struct pid pids :用于在 pid 哈希表中构造进程链表。作用:根据进程标识符PID 在进程链表中检索进程是可行的,但效率相当低。为了加速对进程的检索,内核定义4类哈希表。(5)mm_struct *mm :指向进程所拥有的虚拟内存描述符(6)mm_struct *active_mm :指向进程运行时所使用的虚拟内存描述符
34、(7)fs_struct *fs :指向文件系统信息(8)files_struct *files : 指向该进程的文件打开信息(9)dentry *proc_dentry 指向目录项结构的指针名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 14 页,共 26 页 - - - - - - - - - 15 2 与进程创建有关的函数:fork( )、vfork( )、clone( )。创建子进程函数fork() :创建成功之后,子进程采用写时复制技术读共享父进程的全部地址空间,仅当父或子
35、要写一个页时,才为其复制一个私有的页的副本。vfork() 系统调用:创建的子进程能共享父进程的地址空间,为了防止父进程重写子进程需要的数据,先阻塞父进程的执行,直到子进程退出或执行了一个新的程序为止。创建轻量级进程函数clone():实现对多线程应用程序的支持。共享进程在内核的很多数据结构,如页表、打开文件表等等。3 理解进程切换的过程。涉及到页目录表、核心栈、硬件上下文。进程切换:内核有能力暂停正在CPU 上运行的进程,回复已就绪的某个进程的运行。进程切换只发生在核心态。在发生进程切换之前,用户态进程使用的所有寄存器值都已被保存在进程的核心栈中。进程切换的两步:第一步,切换页目录表以安装一
36、个新的地址空间;第二步,切换核心栈和硬件上下文。由schedule()函数完成进程切换。硬件上下文: 存放在进程描述符的thread_struct thread 中。该结构包含的字段涉及到大部分CPU寄存器,但象eax、ebx 等通用寄存器的值仍被保留在核心栈中。4 进程调度方式。进程调度时机。进程调度方式:可抢先式的动态优先级调度方式。调度算法:基于进程过去行为的启发式算法。(1)普通进程的调度:新进程总是继承父进程的静态优先级。静态优先数决定了进程的基本时间片值。静态优先级越低,基本时间片越长。调度程序会动态调整进程优先级,适当提升在较长时间间隔内没有获得CPU 的进程优先级,适当降低已在
37、CPU 上运行了较长时间的进程的优先级,以防止出现进程饥饿现象。(2)实时进程的调度: 先进先出的实时进程调度:时间片轮转的实时进程调度5 Linux 有很多内核线程,了解0号进程和1号进程的作用。0 号:就是一个内核线程,0 号进程是所有进程的祖先进程,又叫 idle 进程或叫做swapper 进程。每个 CPU 都有一个 0 号进程。1 号:是由0 号进程创建的内核线程init ,负责完成内核的初始化工作。在系统关闭之前,init进程一直存在,它负责创建和监控在操作系统外层执行的所有用户态进程。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - -
38、 - - - - 名师精心整理 - - - - - - - 第 15 页,共 26 页 - - - - - - - - - 16 第 8 章Linux 存储器管理1 进程地址空间的划分?管理进程私有地址空间的数据结构?链接虚拟内存区域的单链表和红黑树。指向映射文件对象的指针字段?指向进程页目录表的指针字段?前 3G:进程的私有空间,无论是用户态和核心态都可以寻址。后 1G: 内核虚空间。 前 896MB 是用来映射物理空间的前896MB , 后 128MB 是实现对超过896MB物理内存的映射。管理进程私有空间的数据结构:一组虚拟内存区域描述符/虚拟内存描述符。单链表:进程通过一个单链表把所拥
39、有的各个虚拟内存区域按照地址递增顺序链接在一起。红黑树:红黑树是一棵排好序的平衡二叉树,四条基本规则.指向映射文件对象的指针字段:struct file *vm_file 指向进程页目录表的指针字段:虚拟内存描述符中的(pgd_t *pgd )内核线程不拥有虚存描述符。2 Linux 堆的管理: malloc( ),free( )。Malloc() :请求 size 个字节的动态内存。成功时返回分配的内存区间的起始虚地址。Free():释放由 malloc 和 calloc 所分配的起始虚地址为addr的内存区间。3 管理物理内存页框的数据结构?内存管理区zone结构,伙伴系统 ?分区页框分配
40、器分配页框的过程。页框描述符为struct page Linux 把内存节点划分为3 个管理区 zone。ZONE_DMA :包含低于16MB 的常规内存页框。用于对老式的基于ISA 设备的 DMA 支持。ZONE_NORMAL :包含高于16MB 且低于 896MB 的常规内存页框。ZONE_HIGHMEM:包含从 896MB 开始的高端物理页框。内核不能直接访问这部分页框。在 64 位体系结构上,该区总是空的。伙伴系统 :管理连续的空闲内存页框,以解决外碎片问题。外碎片就是夹杂在已分配页框中间的那些连续的小的空闲页框。伙伴算法把空闲页框组织成11 个链表,分别链有大小为1,2,4,8,16
41、,32,64,128,名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 16 页,共 26 页 - - - - - - - - - 17 256,512 和 1024 个连续页框的块。管理空闲页框的链表,包含着每个空闲页框块的起始页框描述符;指向链表中相邻元素的指针存放在页框描述符的lru 字段中。当页框不空闲时,页框描述符的lru 字段用于构建页的最近最少使用双向链表。用页框描述符的private 字段存放页框块的幂指数order。分区页框分配器:负责分配页框。在每个管理区内的页框,
42、除了一小部分页框被保留为每CPU页框高速缓存外(以满足本地CPU 发出的对单个页框的请求),其它的由伙伴系统来管理。4 理解 slab 分配器的原理。 slab分配器的作用?slab 分配器:用于为只有几十或几百个字节的小内存区分配内存。如,file 对象。把小内存区看作对象, slab 分配器对不再引用的对象只是释放但内容保留,以后再请求新对象时,就可直接使用而不需要重新初始化。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 17 页,共 26 页 - - - - - - - -
43、- 18 Slab 着色:利用空闲未用的字节数对slab 进行着色,把slab 中的一些空闲区域从末尾移到开头5 进程页表建立的时机?了解页目录表项或页表项所包含的字段。逻辑地址的划分,利用两级页表实现地址转换的过程。进程页表建立的时机:推迟到访问页时建立。逻辑地址的划分:页目录索引(前10 位) ,页表索引(中10 位) ,页内偏移(后12 位)6 请求调页。所缺的页可能存放的地方。7 了解盘交换区空间的管理方法。每个盘交换区都由一组4KB 的页槽组成。盘交换区的第一个页槽用来存放该交换区的有关信息,有相应的描述符。存放在磁盘分区中的交换区只有一个子区,存放在普通文件中的交换区可能有多个子区
44、,原因是磁盘上的文件不要求连续存放。内核尽力把换出的页存放在相邻的页槽中,减少访问交换区时磁盘的寻道时间。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 18 页,共 26 页 - - - - - - - - - 19 第 9-10 章Linux 文件系统1 Ext2 文件卷的布局?各部分的作用是什么?引导块:用以读入并启动操作系统超级块:存放整个文件卷的资源管理信息数据块位图:记录文件数据区各个盘快的使用情况索引节点位图:记录索引节点区各个索引节点的使用情况索引节点区:一个索引节点
45、存放一个文件的管理和控制信息文件数据区:存放普通文件和目录文件等2 Linux 系统把一般的文件目录项分成哪两部分?这样做的好处是什么?分成简单目录项和文件索引节点。作用: (1)大大提高了对文件目录的检索速度和文件系统的使用效率(2)通过多条路径共享信息文件时,系统只保留一个索引节点,减少了文件的管理控制信息的冗余。3 Linux 文件系统的索引节点中,索引表划分成几级?文件的索引表是如何增长的?要求能够利用索引表实现将文件中的字节地址转换成文件的物理块的操作。直接寻址( 0-11) :直接索引间接索引: 12:一次间接索引13:二次间接索引14:三次间接索引*通过 i_block 数组元素
46、个数EXT2_N_BLOCKS增长4 硬链接和符号链接的区别?硬链接:与文件的索引节点建立链接符号链接:不与索引节点建立链接,这种链接允许在不同的文件系统间建立当为一个文件建立符号链接时硬链接计数不变。5 Linux 文件系统如何管理空闲存储空间?位示图6 VFS 通用文件模型中的四个主要对象?超级块对象索引节点对象目录项对象文件对象名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 19 页,共 26 页 - - - - - - - - - 20 7 Linux 系统中,进程打开一个磁
47、盘文件要涉及哪些数据结构?它们各有哪些关键字段?他们的作用是什么?参考图10.2 P209 8 一个文件在使用与不用时各占用系统哪些资源?9 安装表的作用是什么?要访问一个文件系统,必须将相应的文件系统安装在系统目录树的一个目录下。内核将安装点与被安装的文件系统信息保存在vfsmount 结构中。形成一个链式安装表。第 14 章Windows 2000/XP 模型1 Windows 采用什么样的体系结构?2 硬件抽象层HAL 的作用是什么?HAL :直接操作硬件作用:隐藏各种与硬件有关的细节。使内核、设备驱动程序和执行体免受特殊硬件平台差名师资料总结 - - -精品资料欢迎下载 - - - -
48、 - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 20 页,共 26 页 - - - - - - - - - 21 异的影响。系统可移植性好。3 Windows 系统组件的基本机制包括:陷阱调度、执行体对象管理器、同步(自旋锁、内核调度程序对象) 、本地过程调用LPC 等。4 理解:延迟过程调用DPC ,异步过程调用APC DPC:被用来执行一些相当于当前优先级的任务来说不那么紧急的任务。有时内核在进行系统嵌套调用时,检测到应该进行重调度。为了保证调度的正确性,内核用 DPC 来延迟请求调度的产生。硬件中断服务例程可以把一些相对不紧急的事情
49、放到一个DPC 对象中处理,从而缩短处理机停留在高IRQL 的时间。DPC 队列是一种机制,它能记住有哪些工作尚未处理。当 IRQL 降低到 DPC/Dispatcher 级别以下时, DPC 中断就产生。调度程序依次执行DPC 队列中的每个例程,直至DPC 队列为空。DPC 队列是系统范围的。APC:为用户程序和系统代码提供了一种在特定用户线程环境中执行代码的方法。每个线程都有自己的APC 队列。APC 队列也由内核管理。如果需要从内核空间复制一个缓冲区到用户进程地址空间,那么复制过程需要在用户进程上下文进行,这样页表才能包含内核缓冲区和用户缓冲区。5 Windows 中有哪些对象,都有什么
50、作用?两种类型对象:执行体对象和内核对象。执行体组件:进程和线程管理器、内存管理器、I/O 管理器、对象管理器等。内核对象是由内核实现的一个初级对象集,对用户态代码不可见,仅供执行体使用。一个执行体对象可以包含一个或多个內核对象。6 在多处理机系统中,提供了哪些同步和互斥机制?互斥:内核引入自旋锁实现多处理机互斥机制。同步:内核以内核对象的形式给执行体提供其他的同步机构“调度程序对象”,包括:进程对象、线程对象、事件对象、信号量对象、互斥体对象、可等待的定时器对象及文件对象等。每个同步对象都有“有信号”或“无信号”两种状态。7 线程如何实现等待一个同步对象的操作?名师资料总结 - - -精品资