1、chp1例 1 OS 的作用可表现在哪几个方面?答:OS 的作用表现在以下 3 个方面:提供了用户操作计算机的界面。管理计算机的资源。资源管理主要包括处理机管理、存储器管理、I/O 设备管理、文件管理。扩充计算机的处理功能。即 OS 负责提供功能比裸机更强、使用更方便的机器。例 2 实现多道程序应解决哪些问题?答:实现多道程序应解决如下问题:处理机管理问题。内存管理问题。I/O 管理问题。文件管理问题。作业管理问题。例 3 OS 具有哪几大特征?它的最基本特征是什么?答:OS 具有 4 大特征;并发性、共享性、虚拟性、异步性。操作系统的最基本特征因系统而异:批处理系统具有成批处理的特征,分时系
2、统具有交互性的特征,实时系统具有实时性特征。Chp2例 1请画图说明进程有哪三种基本状态以及各状态之间的转换情况。例 2 试说明 PCB 的作用。为什么说 PCB 是进程存在的唯一标志?答:PCB 的作用是使一个在多道程序环境下不能独立运行的程序(含数据)成为一个能独立运行的进程,OS 根据 PCB 来对并发执行的进程实施控制和管理。PCB 是进程实体的一部分,是 OS 中最重要的数据结构,存放着 OS 所需的、用于描述进程的信息及控制运行的全部信息。系统通过进程的 PCB感知进程的存在,所以说 PCB 是进程存在的唯一标志。例 3 什么是临界资源和临界区?答:临界资源是一种必须互斥进行访问的
3、资源,即一次只能供一个进程使用的资源。临界区是进程中用来访问临界资源的那段代码。例 4 进程之间存在着哪几种制约关系?它们各是什么原因引起的?答:进程之间存在着直接制约和间接制约这两种制约关系,其中直接制约(同步)是由于进程间的相互合作而引起的,而间接制约(互斥)则是由于进程间共享临界资源而引起的。CHP3例 1 关于处理机调度,试问处理机三级调度各是什么?各级调度完成的关键性任务是什么?答: 操作系统的处理机三级调度为:高级调度(又称为“作业调度” ) 、中级调度(又称为“交换调度” ) 、低级调度(又称为“进程调度” ) 。高级调度完成作业调度,使“后备”状态的作业变为“执行”状态;中级调
4、度完成进程信息在内存和外存间对换;低级调度完成进程调度,使“就绪”的进程在 CPU 上 “运行” 。例 2 何谓死锁?产生死锁的原因和必要条件是什么?答:死锁是指多个进程因竞争资源而造成的一种僵持状态。若无外力作用,这些进程都将永远阻塞,不能再运行下去。产生死锁的原因有:资源竞争、进程推进非法。产生死锁的必要条件有:互斥条件、请求和保持条件、不可剥夺条件、环路等待条件。CHP4例 1 在动态分区分配方式中,可利用哪些分区分配算法?答:在动态分区分配方式中可用的分配算法有 4 种:首次适应算法(PP) 循环首次适应算法。最佳适应算法。 最坏适应算法。例 2 在采用首次适应算法回收内存时,可能出现
5、哪几种情况?应怎样处理?答:有 4 种情况。回收区与前一个分区相邻接。此时将回收区与前一个分区合并,将前一分区大小加上回收区的大小。回收区与后一个分区相邻接。此时将回收区与后一个分区合并,将后一个回收区的首地址改为回收区的首地址,其大小是二者之和。回收区与前后各一个分区相邻接。将回收区与这两个分区合并,其首地址保留为前一个分区的首地址,大小是三者大小之和,而且将后一个分区的表项删除。回收区不与任何分区相邻接。为回收区分配一个新表项,将回收区的首地址和大小填入其中。例 3 段页式存储系统中,为了获得一条指令或数据,需几次访问内存?分别是那几次?答:在段页式系统中,为了获得一条指令或数据,需三次访
6、问内存。第一次访问,是访问内存中的段表,从中取得页表始址;第二次访问,是访问内存中的页表,从中取出逻辑页面对应的内存物理块号,并将该块号与页内地址一起形成指令或数据的物理地址;第三次访问,才是真正从第二次访问所得的地址中,取出指令或数据。例 4 为什么在分页和分段管理下取一条指令或一个操作数通常需两次访存?如何解决这一问题?答:这是因为用于地址变换的页表或段表也是存放在内存的,为了将 CPU 给出的逻辑地址变成物理地址,首先就要访问内存的页表和段表,然后,根据形成的物理地址再取指令或数据,这就要两次访存。解决这一问题的办法是提供一个称之为“快表”的硬件,用以存放当前运行进程的页表或段表的部分内
7、容, “快表”的访问时间很快,因此可以节约访问页表和段表的时间。 例 5 在具有快表的段页式存储管理方式中,如何实现地址变换?答:系统将有效地址(逻辑地址)中的页号与页表寄存器中的内容比较,若页号太大,表示访问越界,于是产生越界中断;若未出现越界情况,地址变换机构自动地将页号 P 送入高速缓存,再确定所需要的页是否在快表(高速缓存)中。若在则直接读出该页所对应的物理块号,并送物理地址寄存器;若在快表中未找到对应的页表项,需再访问内存中页表,找到后,把从页表中读出的页表项存入快表中的一个寄存器单元中,以取代一个老的、已被认为不再需要的页表项。与此同时,再将有效地址寄存器中的页内地址直接送入物理地
8、址寄存器,从而完成了从有效地址(逻辑地址)到物理地址的转换。例 6 你学过的存储管理方法有那些?其中那些可以实现虚拟存储器,为什么?答:单一分区、固定分区、可变分区、基本分页、基本分段、基本段页、请求基本分页、请求基本分段、请求基本段页其中请求基本分页、请求基本分段、请求基本段页可以实现虚拟存储器,因为它们都可以在程序的一部分装入内存时就可以运行。CHP5例 1. 试说明 Spooling 系统的组成。答:Spooling 系统主要由 4 部分组成。输出输出井。这是在磁盘上开辟的两个大空间,一个是输入井,用来收容输入设备上的数据(模拟脱机输入的磁盘);另一个是输出井,用来收容用户进程的输出数据
9、(模拟脱机输出的磁盘)。输入缓冲区和输出缓冲区。这是内存中开辟的两个缓冲区,一个是输入缓冲区,暂存输入设备传送来的数据,以后再传送到输入井;另一个是输出缓冲区,暂存输出井送来的数据,以后传送到输出设备。输入进程和输出进程。输入进程实现的是收容输入和提取输入。在收容输入时,负责将输入设备的数据通过内存输入缓冲区转存到磁盘的输入井中;提取输入时,负责将磁盘输入井的数据送入内存用户区。输出进程实现的是收容输出和提取输出,过程与输入过程相反。例 2.引入缓冲的主要原因是什么?答:引入缓冲的主要原因主要归结为以下 3 个方面:缓和 CPU 与 I/O 设备之间的速度不匹配问题。减少对 CPU 的中断频率
10、,放宽对中断响应时间的限制。提高 CPU 和 I/O 设备之间的并行性。例 3 我们学过的 I/O 控制方式有哪几种?分别适用何种场合?答:共有四种 I/O 方式: 程序 I/O 方式。该方式执行一个循环程序,反复查询外设状态,如果外设“忙碌”则循环查询,直到查得外设状态为“闲置”时止。适用于机器没有中断机构的场合。 中断控制 I/O 方式。该方式在进行 I/O 时,CPU 向控制器发出 I/O 命令后,由控制器控制外设操作,CPU 转其他任务的处理,即,CPU 与外设并行工作。当外设完成 I/O 后向 CPU 发中断信号,CPU 只需花费很少的时间进行 I/O 的善后处理,此前毋须进行干预。
11、该方式可适于低速外设 I/O。 DMA(直接内存访问)方式。该方式适于高速外设 I/O,一次可以在外设与内存之间传输一个或多个数据块。传输完毕后才需 CPU 干预。 通道方式。该方式中,系统预先要将 I/O 的过程实现为一段通道程序,置于内存的特定位置,而后启动通道。由通道负责执行通道程序对外设进行 I/O 控制,CPU 转其他程序运行。I/O 完成后通道向 CPU 发中断信号,CPU 花很少时间作善后处理。CHP6例 1 按文件的物理结构可将文件分为哪几类?并给出简要说明。答:按物理结构可将文件划分为以下 3 类:顺序文件。文件中的记录被顺序地存放到连续的物理盘块中。链接文件。文件中的记录可
12、以被存放到不连续的物理盘块中,通过物理块中的指针将物理块连接成一个链表。索引文件。文件中的记录可以被存放到不连续的物理盘块中,通过索引表实现记录和物理块之间的映射。例 2什么是文件的物理结构?在文件存储器中,文件可组织成哪几种基本的物理结构? 并给出各物理结构的简要说明。Chp101在 UNIX System V 中,当一个进程所访问的一页既不在内存又不在文件系统中时,该页面可能在什么地方?存储管理模块是如何把它调入内存的?答:一个进程所访问的一页既不在内存又不在文件系统中时,该页面可能在对换设备上。此时由核心调用有效性错处理程序(即缺页中断处理程序)加以处理。为从对换设备上调入该页面,核心从
13、磁盘块描述项中找到存放该页面的对换设备和块号,然后为缺页分配一内存页,修改此进程的相应页表项,使之指向该内存页,并将页面数据表放入相应的散列队列中,再把该页从对换设备上调入内存2. 在 UNIX 系统中,如何将文件的字节偏移量转换为物理地址?答:UNIX 系统将文件的字节偏移量转换为文件物理块号的过程分两步实现:第一步:将字节偏移量转换为文件逻辑块号,及块内偏移量:将字节偏移量除以盘块大小的字节数,其商是文件逻辑块号,余数是块内位移量。第二步:把逻辑块号转换为文件的物理块号。其转换方法如下:逻辑块号可知对应的文件地址是直接地址还是间接地址,若为直接地址(块号10 时),将文件逻辑块号转换为索引
14、节点的地址项下标,从该地址项中即可获得物理盘块号;若为一次间接寻址,即当文件块号大于或等于 10 且小于 266 时,从索引节点的一次间接项中得到一次间接的盘块号;再将计算一次间接块中的地址下标,即将文件的逻辑块号减 10,从相应下标的地址项中得到物理块号;若为多次间接寻址,即当文件的逻辑块号大于或等于 266 而小于 65802 时,应采用二次间接寻址,而当逻辑块号大于或等于65802 时,应采用 3 次间接寻址,多次间接寻址的转换方法和一次间接寻址相类似,但要多次循环。3如果一个盘块的大小为 1KB,每个盘块号占 4 个字节,那么,一个进程要访问偏移量为 263168 字节处的数据时,需要
15、经过几次间接寻址? 答:对于给定的偏移量 263268,其逻辑块号为:2631681024=257块内偏移量为:263168-1024257=100。因为 10257266,所以偏移地址 263268 的块号在一次间接块内,故一个进程要访问偏移量为 263268 字节处的数据时,只需经过一次间接。4假定一个索引节点为 128 字节,指针为 4 字节长,而状态信息占用了 68 个字节。假定每块的大小为 8K。问在索引节点中有多大的空间给指针?使用直接指针、间接指针、二次间接指针、三次间接指针分别可以表示多大的文件? 答: 由于索引节点为 128B,而状态信息占用 68B,用于指针的空间大小为 6
16、0B。 一次间接指针、二次间接指针和三次间接指针将占用索引节点中的3 个指针项,因此直接指针项数为:604-3=12 使用直接指针时:12*8KB=96KB=98304B;即大小不超过 96KB 的文件使用直接指针即可表示。 使用一次间接指针时:8K/4=2048(即一个盘块中可以装入 2048 个指针项); 2048*8KB=16MB;即大小在 96KB16MB 的文件使用一次间接指针即可表示。 使用二次间接指针时: 2048*2048=4MB(即二次间接可以提供 4M个指针项); 4M*8KB=32G;即大小在 16MB32G 的文件使用二次间接指针即可表示。 使用三次间接指针时:2048
17、*2048*2048=8GB(即三次间接可以提供8G 个指针项); 8G*8KB=64T;即大小在 32G64T 的文件使用三次间接指针即可表示。5 UNIX 进程映像由哪 3 部分组成?各部分的主要包含内容是什么?答:1) 用户级上下文 主要成分是用户程序。 2) 寄存器上下文 主要是由 CPU 中的一些寄存器的内容所组成的。3) 系统级上下文 可分为静态和动态两部分:(1) 静态部分。进程表项、U区及进程区表项、系统区表项和页表。(2) 动态部分。在包括: 核心栈; 若干层寄存器上下文 6 在 UNIX 系统中,将进程控制块(PCB)和文件控制块(FCB)各分解成哪两个部分? 为什么?答:
18、在 UNIX 系统中,将进程控制块(PCB)分解为 proc 结构和 U 区(user 结构) ,proc 结构包括进程的常用信息,常驻内存; U 区(user 结构)包括进程运行时所用的信息,可以调入调出内存,其目的是节省内存空间。在 UNIX 系统中,将文件控制块(FCB)分解为文件名和索引节点号组成的文件目录和由文件属性信息组成的索引节点两部分。其目的是加快检索速度,便于文件的共享。7 UNIX 文件系统为什么有磁盘 i 节点和内存 i 节点?为什么内存 i节点和磁盘 i 节点的内容不完全一样?答:UNIX 系统中,磁盘 i 节点以静态形式存放文件说明信息。引入内存 i 节点是为了减少设备的启动次数以及提高操作速度,把磁盘 i 节点复制到内存特定区域。由于进程对文件进行操作时,需要用到 i 节点中的逻辑结构和物理结构信息,以完成对文件信息的存取、共享和保护,故内存 i 节点中多了当前文件状态信息。