文档库 最新最全的文档下载
当前位置:文档库 › 操作系统精髓与设计原理-第12章 文件管理

操作系统精髓与设计原理-第12章 文件管理

操作系统精髓与设计原理-第12章 文件管理
操作系统精髓与设计原理-第12章 文件管理

第12章文件管理

复习题:

12.1、域和记录有什么不同?

答:域(field)是基本数据单位。一个域包含一个值。记录(record)是一组相关的域的集合,它可以看做是应用程序的一个单元。

12.2、文件和数据库有什么不同?

答:文件(file)是一组相似记录的集合,它被用户和应用程序看做是一个实体,并可以通过名字访问。数据库(database)是一组相关的数据集合,它的本质

特征是数据元素间存在着明确的关系,并且可供不同的应用程序使用。

12.3、什么是文件管理系统?

答:文件管理系统是一组系统软件,为使用文件的用户和应用程序提供服务。12.4、选择文件组织时的重要原则是什么?

答:访问快速,易于修改,节约存储空间,维护简单,可靠性。

12.5、列出并简单定义五种文件组织。

答:堆是最简单的文件组织形式。数据按它们到达的顺序被采集,每个记录由一串数据组成。顺序文件是最常用的文件组织形式。在这类文件中,每个记录

都使用一种固定的格式。所有记录都具有相同的长度,并且由相同数目、长度

固定的域按特定的顺序组成。由于每个域的长度和位置已知,因此只需要保存

各个域的值,每个域的域名和长度是该文件结构的属性。索引顺序文件保留

了顺序文件的关键特征:记录按照关键域的顺序组织起来。但它还增加了两个

特征:用于支持随机访问的文件索引和溢出文件。索引提供了快速接近目标记

录的查找能力。溢出文件类似于顺序文件中使用的日志文件,但是溢出文件中

的记录可以根据它前面记录的指针进行定位。索引文件:只能通过索引来访

问记录。其结果是对记录的放置位置不再有限制,只要至少有一个索引的指针

指向这条记录即可。此外,还可以使用长度可变的记录。直接文件或散列

文件:直接文件使用基于关键字的散列。

12.6、为什么在索引顺序文件中查找一个记录的平均搜索时间小于在顺序文件中的平均

搜索时间?

答:在顺序文件中,查找一个记录是按顺序检测每一个记录直到有一个包含符合条件的关键域值的记录被找到。索引顺序文件提供一个执行最小穷举搜索的索引

结构。

12.7、对目录执行的典型操作有哪些?

答:搜索,创建文件,删除文件,显示目录,修改目录。

12.8、路径名和工作目录有什么关系?

答:路径名是由一系列从根目录或主目录向下到各个分支,最后直到该文件的路径

中的目录名和最后到达的文件名组成。工作目录是一个这样的目录,它是含有用

户正在使用的当前目录的树形结构。

12.9、可以授予或拒绝的某个特定用户对某个特定文件的访问权限通常有哪些?

答:无(none),知道(knowledge),执行(execution),读(reading),追加(appending),

更新(updating),改变保护(changing protection),删除(deletion)。

12.10、列出并简单定义三种组块方式。

答:固定组块(fixed blocking):使用固定长度的记录,并且若干条完整的记录被保存在一个块中。在每个块的末尾可能会有一些未使用的空间,称为内部碎片。

可变长度跨越式组块(variable-length spanned blocking):使用长度可变的记

录,并且紧缩到块中,使得块中没有未使用空间。因此,某些记录可能会跨越

两个块,通过一个指向后继块的指针连接。可变长度非跨越式组块

(variable-length unspanned blocking):使用可变长度的记录,但并不采用跨

越的方式。如果下一条记录比块中剩余的未使用空间大,则无法使用这一部分,

因此在大多数块中都会有未使用的空间。

12.11、列出并简单定义三种文件分配方法。

答:连续分配是指在创建文件时,给文件分配一组连续的块。链式分配基于单个的块,链中的每一块都包含指向下一块的指针。索引分配:每个文件在文件分配

表中有一个一级索引,分配给该文件的每个分区在索引中都有一个表项。

习题:

12.1、定义:B=块大小R=记录大小P=块指针大小F=组块因子,即一个块中期望的记录数。对图12.6中描述的三种组块方法分别给出关于F的公式。

答案:

固定组块:最大整数

当一个可变长度记录被保存到组块中的时候,组块中会增加一个标记着记录边界的数据,用来标识记录。当跨越式记录桥联块边界的时候,需要用到一些关联着后继组块的结构。一种可能情况是在每个记录前加一个长度标识。另一种可能情况是在两个记录之间加一个特殊的区分标识。因此,我们假设每一个记录需要一个标识,并且标识大小约等于块指针大小。对于跨越式组块,指向它下一个组块的大小为P的块指针被包含在每一个组块中,所以跨越式记录可以很容易地被重定位。由此可知:

可变组块跨越式:

由于不采用跨越的方式,可变长度非跨越式组块会导致平均R/2的空间浪费,但不需要指向后继组块的指针:

12.2、一种避免预分配中的浪费和缺乏邻近性问题的方案是,分配区的大小随着文件的增长而增加。例如,开始时,分区的大小为一块,在以后每次分配时,分区的大小翻倍。考虑一个有n条记录的文件,组块因子为F,假设一个简单的一级索引用做一个文件分配表。

a.给出文件分配表中入口数的上限(用关于F和n的函数表示)。

b.在任何时候,已分配的文件空间中,未被使用的空间的最大量是多少?

答案:a.

b.未被使用的空间总是小于已分配文件空间。

12.3、当数据

a.很少修改并且以随机顺序频繁地访问时,

b.频繁地修改并且相对频繁地访问文件整体时,

c.频繁地修改并以随机顺序频繁地访问时,

从访问速度、存储空间的使用和易于更新(添加/删除/修改)这几方面考虑,为了达到最大效率,你将选择哪种文件组织?

答案:a.索引文件

b.索引顺序文件

c.索引文件或散列文件

12.4、目录可以当做一种只能通过受限方式访问的“特殊文件”实现,也可以当做普通文件实现。这两种方式分别有哪些优点和缺点?

答案:很明显地,如果操作系统把目录当做一种通过受限方式访问的“特殊文件”实现,安全性更容易被加强。把目录当做一种通过受限方式访问的普通文件实现使得操

作系统更统一地管理对象,更容易地创建和管理用户目录。

12.5、一些操作系统具有一个树结构的文件系统,但是把树的深度限制到某个比较小的级数上。这种限制对用户有什么影响?它是如何简化文件系统的设计的(如果能简化)?

答案:这是一个少见的专题。如果操作系统构造一个文件系统以便子目录被允许包含在一个主目录底下,那么就很少或没有额外的逻辑被要求允许包含任意深度的子目

录。限制子目录树的深度造成对用户组织文件空间不必要地限制。

12.6、考虑一个层次文件系统,空闲的磁盘空间保留在一个空闲空间表中。

a.假设指向空闲空间的指针丢失了。该系统可以重构空闲空间表吗?

b.给出一种方案,确保即使出现了一次存储失败,指针也不会丢失。

答案:a.可以重构。使用的方法与许多LISP的垃圾收集系统用的方法非常相似。首先,我们将建立一种数据结构,代表磁盘的每一块,并且这个磁盘支持一种文件系统。

在这里某种映射是比较合适的。然后,我们从这个文件系统的根目录开始,通过

文件系统的递归下降寻找,我们标记每一块已被文件使用的磁盘块。当完成的时

候,我们将为没有被使用的磁盘块建立一个空闲列表。这实质上就是UNIX命令

fsck的功能。

b.在磁盘上一个或多个地方备份空闲空间列表指针。无论何时列表的开端发生变

化,备份指针也同样更新。这样将会保证即使发生了存储器或者磁盘块错误,

你也总是能找到一个有效的指针值。

12.7、考虑由一个索引节点所表示的UNIX文件的组织(见图12.13).假设有12个直接块指针,在每个索引节点中有一个一级、二级和三级间接指针。此外,假设系统块大小和磁盘扇面大小都是8K。如果磁盘块指针是32位,其中8位用于标识物理磁盘,24位用于标识物理块,那么

a.该系统支持的最大文件大小是多少?

b.该系统支持的最大文件系统分区是多少?

c.假设主存中除了文件索引节点外没有其他息,访问在位置12,423,956中的字节需要多少次磁盘访问?

答案:a.找出每一个块中根据指针大小来划分块大小的磁盘块指针的数目:

8K/4 = 2K pointers per block

I-Node所支持的最大文件大小是:

12 + 2K + (2K×2K) + (2K×2K×2K)

直接寻址一级间接寻址二级间接寻址三级间接寻址

12 + 2K + 4M + 8G blocks

将以上数据乘以块大小(8K),得到:

96KB+16MB+32GB+64TB

这就是该系统支持的最大文件大小。

b.每一个分区中都有24位用于识别物理块,由此可知:

224×8K = 16M×8K = 128GB

c.由问题(a)中所得的信息可知,直接块只覆盖了第一个96KB区域,而一级间接块覆盖了接下来的16MB区域。被请求文件的位置是13MB而其偏移很明显地随机落在了一级间接块中。因此会有2次磁盘存储访问。一次是为了一级间接块,一次是为了包含被请求数据的块。

操作系统精髓与设计原理-第11章_IO管理和磁盘调度,第12章_文件管理

第十一章 I/O管理和磁盘调度 复习题 11.1列出并简单定义执行I/O的三种技术。 ·可编程I/O:处理器代表进程给I/O模块发送给一个I/O命令,该进程进入忙等待,等待操作的完成,然后才可以继续执行。 ·中断驱动I/O:处理器代表进程向I/O模块发送一个I/O命令,然后继续执行后续指令,当I/O模块完成工作后,处理器被该模块中断。如果该进程不需要等待I/O完成,则后续指令可以仍是该进程中的指令,否则,该进程在这个中断上被挂起,处理器执行其他工作。 ·直接存储器访问(DMA):一个DMA模块控制主存和I/O模块之间的数据交换。为传送一块数据,处理器给DMA模块发送请求,只有当整个数据块传送完成后,处理器才被中断。 11.2逻辑I/O和设备I/O有什么区别? ·逻辑I/O:逻辑I/O模块把设备当作一个逻辑资源来处理,它并不关心实际控制设备的细节。逻辑I/O模块代表用户进程管理的一般I/O功能,允许它们根据设备标识符以及诸如打开、关闭、读、写之类的简单命令与设备打交道。 ·设备I/O:请求的操作和数据(缓冲的数据、记录等)被转换成适当的I/O指令序列、通道命令和控制器命令。可以使用缓冲技术,以提高使用率。 11.3面向块的设备和面向流的设备有什么区别?请举例说明。 面向块的设备将信息保存在块中,块的大小通常是固定的,传输过程中一次传送一块。通常可以通过块号访问数据。磁盘和磁带都是面向块的设备。 面向流的设备以字节流的方式输入输出数据,其末使用块结构。终端、打印机通信端口、鼠标和其他指示设备以及大多数非辅存的其他设备,都属于面向流的设备。 11.4为什么希望用双缓冲区而不是单缓冲区来提高I/O的性能? 双缓冲允许两个操作并行处理,而不是依次处理。典型的,在一个进程往一个缓冲区中传送数据(从这个缓冲区中取数据)的同时,操作系统正在清空(或者填充)另一个缓冲区。 11.5在磁盘读或写时有哪些延迟因素? 寻道时间,旋转延迟,传送时间 11.6简单定义图11.7中描述的磁盘调度策略。 FIFO:按照先来先服务的顺序处理队列中的项目。 SSTF:选择使磁头臂从当前位置开始移动最少的磁盘I/O请求。 SCAN:磁头臂仅仅沿一个方向移动,并在途中满足所有未完成的请求,直到

专科《操作系统原理及应用》_试卷_答案

专科《操作系统原理及应用》 一、 (共 题 共 ?分) 在手工操作阶段,存在的一个严重的问题是()。 ( 分) ??计算机的速度不快 ??计算机的内存容量不大 ?外部设备太少 ??用户使用不方便 标准答案: ? 下列选项()不是操作系统关心的。 ( 分) ??管理计算机硬件 ??提供用户操作的界面 ?管理计算机资源 ??高级程序设计语言的编译 标准答案: 批处理最主要的一个缺点是()。 ( 分) ??用户无法与程序交互 ??一次只能执行一个程序 ?没有实现并发处理 ?????的利用率较低 标准答案:? 当 ??执行用户程序的代码时,处理器处于()。 ( 分) ??自由态 ??用户态 ??核心态 ??就绪态 标准答案: ? 根据中断信号的来源,()引起的中断称为外中断。 ( 分) ?????完成 ??内存越界 ?用户态下执行特权指令 ??数据传输出错 标准答案:? ? 作业的处理一般分为多个作业步,连接成功后,下一步的工作是()。 ( 分) ??运行 ??编辑 ??检测 ??连接 标准答案:? 操作系统向用户提供了二种使用计算机的接口,其中一个是()。 ( 分) ??函数库 ??子程序调用 ??中断机制 ??系统调用 标准答案: 并发执行的一个特点是()。 ( 分) ??结果可再现 ??程序与计算不再一一对应 ?计算结果会出错 ??不会顺序执行 标准答案:

进程的基本状态有三种,其中一个是()。 ( 分) ??开始态 ??就绪态 ??唤醒态 ??结束态 标准答案: ? 对进程进行控制的原语,完成的功能包括()。 ( 分) ??执行就绪的进程 ??唤醒等待的进程 ?将运行程序就绪 ??淘汰出错的进程 标准答案: ? 资源描述器中应包含的内容有()。 ( 分) ??分配标志 ??等待队列的指针 ?唤醒程序的地址 ??资源分配程序入口地址 标准答案: ? 死锁四个必要条件中,不能破坏的是()。 ( 分) ??互斥条件 ??部分分配 ??不剥夺条件 ??等待条件 标准答案:? ? 批处理系统中,作业的状态可分为多种,其中一种为()。 ( 分)??提交 ??创建 ??就绪 ??等待 标准答案:? ? 评价作业调度的性能时,衡量用户满意度的准确指标应该是()。 ( 分) ??周转时间 ??带权周转时间 ?平均周转时间 ??平均带权周转时间 标准答案: ? 在进程访问内存时完成的地址变换,称为()。 ( 分) ??局部地址映射 ??全局地址映射 ?动态地址映射 ??静态地址映射 标准答案: ? 当分区采用首次适应算法时,自由主存队列必须按()排序。 ( 分) ??空闲区的首址递增 ??空闲区的首址递减 ?空闲区的大小递增 ??空闲区的大小递减 标准答案:? ? 根据对设备占用方式的不同,设备分配技术中的一种是()。 ( 分) ??动态分配 ??静态分配 ??永久分配 ??虚拟分配

计算机操作系统原理课程设计

上海电力学院 课程设计报告 课程名称:操作系统原理 题目名称:采用可变分区存储管理,模拟主存空间的分配和回收 姓名: xxx 学号: xxx 班级: 2013054 同组姓名: xxx 课程设计时间: 2015.7.6~2015.7.10 评语: 成绩:

课程设计题目 一、设计内容及要求 可变分区存储管理模拟 设计内容:编写程序模拟实现可变分区存储管理。 具体要求: 编写程序模拟实现可变分区存储管理,实现存储管理的基本功能,包括内存的分配、内存的回收、地址变换等。 输入:1、输入新进程名称及使用内存的大小(可创建多个进程); 2、撤销某个指定的进程; 3、某个进程的逻辑地址; 输出:显示每次创建进程或者撤销进程后内存使用的状况,包括每一个进程占据的内存的位置和大小; 计算并输出给定逻辑地址对应的物理地址。 必须分别使用以下分配算法完成模拟: 1、首次适应算法; 2、最佳适应算法; 3、最差适应算法; 小组分工: 程序设计讨论: 程序主体设计: 程序调试及修改: 实验报告设计: 总结: (要求注明小组分工情况) 二、详细设计 1)原理概述 对于可变分区存储管理的内存分配与回收,主要为设计以下几个部分: 1、设计动态输入空闲分区表的程序 2、设计内存分配的程序 3、设计内存回收的程序 首次适应算法: FF算法要求空闲分区表或空闲分区链以地址递增的次序链接。在分配内时,从链首开始查找,直至找到一个大小能满足要求分区为止;然后再按照作业大小,从该分区中划一块内存空间分配给请求者,余下的空闲分区仍留在空闲链中。如从链首直至链尾都不能找到一个能满足要求的分区,则此次分配失败,返回 最佳适应算法: BF算法是指每次为作业分配内存,总是把满足要求、又是最小的空闲分区分配给作业,避免“大材小用”。为了加速寻找,该算法要求所有的空闲分区按其容量以从小到大的顺序形成一空闲分区链。这样,第一次找到能满足要求的空闲区,

《操作系统精髓与设计原理·第五版》练习题及答案

第1章计算机系统概述 1.1、图1.3中的理想机器还有两条I/O指令: 0011 = 从I/O中载入AC 0111 = 把AC保存到I/O中 在这种情况下,12位地址标识一个特殊的外部设备。请给出以下程序的执行过程(按照图1.4的格式): 1.从设备5中载入AC。 2.加上存储器单元940的内容。 3.把AC保存到设备6中。 假设从设备5中取到的下一个值为3940单元中的值为2。 答案:存储器(16进制内容):300:3005;301:5940;302:7006 步骤1:3005->IR;步骤2:3->AC 步骤3:5940->IR;步骤4:3+2=5->AC 步骤5:7006->IR:步骤6:AC->设备 6 1.2、本章中用6步来描述图1.4中的程序执行情况,请使用MAR和MBR扩充这个描述。 答案:1. a. PC中包含第一条指令的地址300,该指令的内容被送入MAR中。 b. 地址为300的指令的内容(值为十六进制数1940)被送入MBR,并 且PC增1。这两个步骤是并行完成的。 c. MBR中的值被送入指令寄存器IR中。 2. a. 指令寄存器IR中的地址部分(940)被送入MAR中。 b. 地址940中的值被送入MBR中。 c. MBR中的值被送入AC中。

3. a. PC中的值(301)被送入MAR中。 b. 地址为301的指令的内容(值为十六进制数5941)被送入MBR,并 且PC增1。 c. MBR中的值被送入指令寄存器IR中。 4. a. 指令寄存器IR中的地址部分(941)被送入MAR中。 b. 地址941中的值被送入MBR中。 c. AC中以前的内容和地址为941的存储单元中的内容相加,结果保存 到AC中。 5. a. PC中的值(302)被送入MAR中。 b. 地址为302的指令的内容(值为十六进制数2941)被送入MBR,并 且PC增1。 c. MBR中的值被送入指令寄存器IR中。 6. a. 指令寄存器IR中的地址部分(941)被送入MAR中。 b. AC中的值被送入MBR中。 c. MBR中的值被存储到地址为941的存储单元之中。 1.4、假设有一个微处理器产生一个16位的地址(例如,假设程序计数器和地址寄存器都是16位)并且具有一个16位的数据总线。 a.如果连接到一个16位存储器上,处理器能够直接访问的最大存储器地址空间为多少? b.如果连接到一个8位存储器上,处理器能够直接访问的最大存储器地址空间为多少? c.处理访问一个独立的I/O空间需要哪些结构特征? d.如果输入指令和输出指令可以表示8位I/O端口号,这个微处理器可以支持

操作系统课程设计报告

上海电力学院 计算机操作系统原理 课程设计报告 题目名称:编写程序模拟虚拟存储器管理 姓名:杜志豪.学号: 班级: 2012053班 . 同组姓名:孙嘉轶 课程设计时间:—— 评语: 成绩: 目录 一、设计内容及要求 (4) 1. 1 设计题目 (4) 1.2 使用算法分析: (4)

1. FIFO算法(先进先出淘汰算法) (4) 1. LRU算法(最久未使用淘汰算法) (5) 1. OPT算法(最佳淘汰算法) (5) 分工情况 (5) 二、详细设计 (6) 原理概述 (6) 主要数据结构(主要代码) (6) 算法流程图 (9) 主流程图 (9) Optimal算法流程图 (10) FIFO算法流程图 (10) LRU算法流程图 (11) .1源程序文件名 (11) . 2执行文件名 (11) 三、实验结果与分析 (11) Optimal页面置换算法结果与分析 (11) FIFO页面置换算法结果与分析 (16) LRU页面置换算法结果与分析 (20) 四、设计创新点 (24) 五、设计与总结 (27)

六、代码附录 (27) 课程设计题目 一、设计内容及要求 编写程序模拟虚拟存储器管理。假设以M页的进程分配了N

块内存(N

《操作系统精髓与设计原理·第六版》中文版标准答案

《操作系统精髓与设计原理·第六版》中文版答案

————————————————————————————————作者:————————————————————————————————日期: 2

复习题答案 第1章计算机系统概述 1.1 列出并简要地定义计算机的四个主要组成部分。 主存储器,存储数据和程序;算术逻辑单元,能处理二进制数据;控制单元,解读存储器中的指令并且使他们得到执行;输入/输出设备,由控制单元管理。 1.2 定义处理器寄存器的两种主要类别。 用户可见寄存器:优先使用这些寄存器,可以使机器语言或者汇编语言的程序员减少对主存储器的访问次数。对高级语言而言,由优化编译器负责决定把哪些变量应该分配给主存储器。一些高级语言,如C语言,允许程序言建议编译器把哪些变量保存在寄存器中。 控制和状态寄存器:用以控制处理器的操作,且主要被具有特权的操作系统例程使用,以控制程序的执行。 1.3 一般而言,一条机器指令能指定的四种不同操作是什么? 处理器-寄存器:数据可以从处理器传送到存储器,或者从存储器传送到处理器。 处理器-I/O:通过处理器和I/O模块间的数据传送,数据可以输出到外部设备,或者从外部设备输入数据。 数据处理:处理器可以执行很多关于数据的算术操作或逻辑操作。 控制:某些指令可以改变执行顺序。 1.4 什么是中断? 中断:其他模块(I/O,存储器)中断处理器正常处理过程的机制。 1.5 多中断的处理方式是什么? 处理多中断有两种方法。第一种方法是当正在处理一个中断时,禁止再发生中断。第二种方法是定义中断优先级,允许高优先级的中断打断低优先级的中断处理器的运行。 1.6 内存层次的各个元素间的特征是什么? 存储器的三个重要特性是:价格,容量和访问时间。 1.7 什么是高速缓冲存储器? 高速缓冲存储器是比主存小而快的存储器,用以协调主存跟处理器,作为最近储存地址的缓冲区。 1.8 列出并简要地定义I/O操作的三种技术。 可编程I/O:当处理器正在执行程序并遇到与I/O相关的指令时,它给相应的I/O模块发布命令(用以执行这个指令);在进一步的动作之前,处理器处于繁忙的等待中,直到该操作已经完成。 中断驱动I/O:当处理器正在执行程序并遇到与I/O相关的指令时,它给相应的I/O模块发布命令,并继续执行后续指令,直到后者完成,它将被I/O模块中断。如果它对于进程等待I/O的完成来说是不必要的,可能是由于后续指令处于相同的进程中。否则,此进程在中断之前将被挂起,其他工作将被执行。 直接存储访问:DMA模块控制主存与I/O模块间的数据交换。处理器向DMA模块发送一个传送数据块的请求,(处理器)只有当整个数据块传送完毕后才会被中断。 1.9 空间局部性和临时局部性间的区别是什么? 空间局部性是指最近被访问的元素的周围的元素在不久的将来可能会被访问。临时局部性(即时间局部性)是指最近被访问的元素在不久的将来可能会被再次访问。 1.10 开发空间局部性和时间局部性的策略是什么? 空间局部性的开发是利用更大的缓冲块并且在存储器控制逻辑中加入预处理机制。时间局部性的开发是利用在高速缓冲存储器中保留最近使用的指令及数据,并且定义缓冲存储的优先级。 第2章操作系统概述

操作系统原理及应用试题附答案

操作系统原理及应用试题附答案 第一部分选择题一、单项选择题(本大题共4小题,每小题2分,共8分) 1、从静态角度来看,进程由__________、数据集合、进程控制块及相关表格三部分组成。()A、JCB B、PCB C、程序段 D、I/O缓冲区 2、请求页式管理方式中,首先淘汰在内存中驻留时间最长的帧,这种替换策略是_____.()A、先进先出法(FIFO) B、最近最少使用法(LRU) C、优先级调度 D、轮转法 3、文件安全管理中,___________安全管理规定用户对目录或文件的访问权限。()A、系统级 B、用户级 C、目录级 D、文件级 4、排队等待时间最长的作业被优先调度,这种算法是___________。A、优先级调度 B、响应比高优先 C、短作业优先D、先来先服务第二部分非选择题 二、填空题(本大题共16小题,每小题1分,共16分) 5、常规操作系统的主要功能有:_处理机管理_、存贮管理、设备管理、文件管理以及用户界面管理。 6、操作系统把硬件全部隐藏起来,提供友好的、易于操作的用户界面,好象是一个扩展了的机器,即一台操作系统虚拟机。 7、进程管理的功能之一是对系统中多个进程的状态转换进行控制。 8、逻辑_文件是一种呈现在用户面前的文件结构。 9、操作系统中实现进程互斥和同步的机制称为同步机构_。 10、内存中用于存放用户的程序和数据的部分称为用户区(域)。 11、存贮器段页式管理中,地址结构由段号、段内页号和页内相对地址三部分组成。 12、在操作系统中,通常用户不使用设备的物理名称(或物理地址),而代之以另外一种名称来操作,这就是逻辑设备名。 13、在操作系统中,时钟常有两种用途:报告日历和时间,对资源使用记时。 14、库文件允许用户对其进行读取、执行,但不允许修改.

操作系统原理期末试卷10套含答案7

操作系统原理期末试卷10套含答案7 一、单项选择题(每题2分,共20分) 1.以下著名的操作系统中,属于多用户、分时系统的是( B ). A.DOS系统B.UNIX系统 C.Windows NT系统D.OS/2系统 2.在操作系统中,进程的最基本的特征是( A ). A.动态性和并发性B.顺序性和可再现性 C.与程序的对应性D.执行过程的封闭性 3.操作系统中利用信号量和P、V操作,( C ). A.只能实现进程的互斥B.只能实现进程的同步 C.可实现进程的互斥和同步D.可完成进程调度 4.作业调度的关键在于( C ). A.选择恰当的进程管理程序B.用户作业准备充分 C.选择恰当的作业调度算法D.有一个较好的操作环境 5.系统抖动是指( D ). A.使用机器时,屏幕闪烁的现象 B.由于主存分配不当,偶然造成主存不够的现象 C.系统盘有问题,致使系统不稳定的现象 D.被调出的页面又立刻被调入所形成的频繁调入调出现象 6.在分页存储管理系统中,从页号到物理块号的地址映射是通过( B )实现的. A.段表B.页表 C. PCB D.JCB 7.在下述文件系统目录结构中,能够用多条路径访问同一文件(或目录)的目录结构是( D ) A.单级目录B.二级目录

C.纯树型目录D.非循环图目录 8.SPOOLing技术可以实现设备的( C )分配. A.独占B.共享 C.虚拟D.物理 9.避免死锁的一个著名的算法是( C ). A.先人先出算法B.优先级算法 C.银行家算法D.资源按序分配法 10.下列关于进程和线程的叙述中,正确的是( C ). A.一个进程只可拥有一个线程 B.一个线程只可拥有一个进程 C.一个进程可拥有若干个线程 D.一个线程可拥有若干个进程 二、判断题(选择你认为正确的叙述划√,认为错误的划×并说明原因.每题2分,共10分) 1.简单地说,进程是程序的执行过程.因而,进程和程序是一一对应的.( ) 2.V操作是对信号量执行加1操作,意味着释放一个单位资源,加l后如果信号量的值小于等于零,则从等待队列中唤醒一个进程,使该进程变为阻塞状态,而现进程继续进行.( ) 3.段页式存储管理汲取了页式管理和段式管理的长处,其实现原理结合了页式和段式管理的基本思想,即用分段方法来分配和管理用户地址空间,用分页方法来管理物理存储空间.( ) 4.在采用树型目录结构的文件系统中,各用户的文件名必须互不相同.( ) 5.用户程序应与实际使用的物理设备无关,这种特性就称作与设备无关性.( ) 答案:1.(×)改正为:进程和程序不是一一对应的. 2.(×)改正为:V操作是对信号量执行加1操作,意味着释放一个单位资源,加1后如果信号量的值小于等于零,则从等待队列中唤醒一个进程,现进程变为就绪状态,否则现进程继续进行. 3.(√) 4.(×)改正为:在采用树型目录结构的文件系统中,不同用户的文件名可以相同. 5.(√) 三、填空题(每空2分,共30分)

操作系统精髓与设计原理课后答案

操作系统精髓与设计原理课后答案 第1章计算机系统概述 1.1列出并简要地定义计算机的四个主要组成部分。 主存储器,存储数据和程序;算术逻辑单元,能处理二进制数据;控制单元,解读存储器中的指令并且使他们得到执行;输入/输出设备,由控制单元管理。 1.2定义处理器寄存器的两种主要类别。 用户可见寄存器:优先使用这些寄存器,可以使机器语言或者汇编语言的程序员减少对主存储器的访问次数。对高级语言而言,由优化编译器负责决定把哪些变量应该分配给主存储器。一些高级语言,如C语言,允许程序言建议编译器把哪些变量保存在寄存器中。 控制和状态寄存器:用以控制处理器的操作,且主要被具有特权的操作系统例程使用,以控制程序的执行。 1.3一般而言,一条机器指令能指定的四种不同操作是什么? 处理器-寄存器:数据可以从处理器传送到存储器,或者从存储器传送到处理器。 处理器-I/O:通过处理器和I/O模块间的数据传送,数据可以输出到外部设备,或者从外部设备输入数据。 数据处理:处理器可以执行很多关于数据的算术操作或逻辑操作。 控制:某些指令可以改变执行顺序。 1.4什么是中断? 中断:其他模块(I/O,存储器)中断处理器正常处理过程的机制。 1.5多中断的处理方式是什么? 处理多中断有两种方法。第一种方法是当正在处理一个中断时,禁止再发生中断。第二种方法是定义中断优先级,允许高优先级的中断打断低优先级的中断处理器的运行。 1.6内存层次的各个元素间的特征是什么? 存储器的三个重要特性是:价格,容量和访问时间。 1.7什么是高速缓冲存储器? 高速缓冲存储器是比主存小而快的存储器,用以协调主存跟处理器,作为最近储存地址的缓冲区。1.8列出并简要地定义I/O操作的三种技术。 可编程I/O:当处理器正在执行程序并遇到与I/O相关的指令时,它给相应的I/O模块发布命令(用以执行这个指令);在进一步的动作之前,处理器处于繁忙的等待中,直到该操作已经完成。 中断驱动I/O:当处理器正在执行程序并遇到与I/O相关的指令时,它给相应的I/O模块发布命令,并继续执行后续指令,直到后者完成,它将被I/O模块中断。如果它对于进程等待I/O的完成来说是不必要的,可能是由于后续指令处于相同的进程中。否则,此进程在中断之前将被挂起,其他工作将被执行。 直接存储访问:DMA模块控制主存与I/O模块间的数据交换。处理器向DMA模块发送一个传送数据块的请求,(处理器)只有当整个数据块传送完毕后才会被中断。 1.9空间局部性和临时局部性间的区别是什么? 空间局部性是指最近被访问的元素的周围的元素在不久的将来可能会被访问。临时局部性(即时间局部性)是指最近被访问的元素在不久的将来可能会被再次访问。 1.10开发空间局部性和时间局部性的策略是什么? 空间局部性的开发是利用更大的缓冲块并且在存储器控制逻辑中加入预处理机制。时间局部性的开发是利用在高速缓冲存储器中保留最近使用的指令及数据,并且定义缓冲存储的优先级。 第2章操作系统概述

操作系统原理与应用第2章文件管理

第2章文件管理习题解答 1.什么是文件和文件系统?文件系统有哪些功能? 【解答】文件是具有符号名而且在逻辑上具有完整意义的信息项的有序序列。 文件系统是指操作系统系统中实现对文件的组织、管理和存取的一组系统程序,它实现对文件的共享和保护,方便用户“按名存取”。 文件系统的功能“ (1)文件及目录的管理。如打开、关闭、读、写等。 (2)提供有关文件自身的服务。如文件共享机制、文件的安全性等。 (3)文件存储空间的管理。如分配和释放。主要针对可改写的外存如磁盘。(4)提供用户接口。为方便用户使用文件系统所提供的服务,称为接口。文件系统通常向用户提供两种类型的接口:命令接口和程序接口。不同的操作系统提供不同类型的接口,不同的应用程序往往使用不同的接口。 2.Linux文件可以根据什么分类?可以分为哪几类?各有什么特点? 【解答】在Linux操作系统中,文件可以根据内部结构和处理方式进行分类。 在Linux操作系统中,可以将文件分为普通文件、目录文件、特别文件三类。 各类文件的特点是: 普通文件:由表示程序、数据或正文的字符串构成的文件,内部没有固定的结构。这种文件既可以是系统文件,也可以是库文件或用户文件。 目录文件:由文件目录构成的一类文件。对它的处理(读、写、执行)在形式上与普通文件相同。 特别文件:特指各种外部设备,为了便于管理,把所有的输入/输出设备都按文件格式供用户使用。这类文件对于查找目录、存取权限验证等的处理与普通文件相似,而其他部分的处理要针对设备特性要求做相应的特殊处理。 应该指出,按不同的分类方式就有不同的文件系统。 3.什么是文件的逻辑结构?什么是文件的物理结构?Linux文件系统分别采用什么样的结构?有什么优点和缺点? 【解答】文件的逻辑结构:用户对文件的观察的使用是从自身处理文件中数据时采用的组织方式来看待文件组织形式。这种从用户观点出发所见到的文件组织方式称为文件的逻辑组织。 文件的物理结构:从系统的角度考察文件在实际存储设备上的存放形式,又称为文件的存储结构。 在Linux系统中,所有文件的逻辑结构都被看作是流式文件,系统不对文件进行格式处理。 在Linux系统中,文件的物理结构采用的是混合多重索引结构,即将文件所占用盘块的盘块号,直接或间接地存放在该文件索引结点的地址项中。 在Linux系统中,采用混合索引结构的优点是,对于小文件,访问速度快;对于大中

操作系统原理课程设计报告

操作系统原理课程设计报告

系(院):计算机科学学院 专业班级: 姓名: 学号: 指导教师: 设计时间:2020.5.25——2020.5.30 设计地点:

一、课程设计目的 (4) 二、课程设计的任务和要求 (4) 三、模拟程序的描述: (5) 四、运行环境 (7) 五、算法原理 (8) 1)多级反馈队列调度算法 (13) 2)优先权调度算法 (14) 六、需求分析 (16) 七、总体设计 (17) 八、详细设计与实现[含代码和实现界面] (19) 九、主要代码分析: (26) 十、总结 (44)

一、课程设计目的 《操作系统原理》是计算机科学与技术专业的一门专业核心课程,也是研究生入学考试中计算机专业综合中所涉及的内容。该课程理论性强,纯粹的理论学习相对枯燥乏味,不易理解。通过课程设计,可加强学生对原理知识的理解。 二、课程设计的任务和要求 本次课程设计的题目是,时间片轮转调度算法的模拟实现。要求在充分理解时间片轮转调度算法原理的基础上,编写一个可视化的算法模拟程序。 具体任务如下: 1、根据需要,合理设计PCB结构,以适用于时间片轮转调度算法;

2、设计模拟指令格式,并以文件形式存储,程序能够读取文件并自动生成指令序列。 3、根据文件内容,建立模拟进程队列,并能采用时间片轮转调度算法对模拟进程进行调度。 三、模拟程序的描述: 模拟指令的格式:操作命令+操作时间 ● C :表示在CPU上计算 ●I :表示输入 ●O :表示输出 ●W :表示等待 ●H :表示进程结束 操作时间代表该操作命令要执行多长时间。这里假设I/O设备的数量没有限制,I和O设备都只有一类。 I,O,W三条指令实际上是不占有CPU的,执行这三条指令就应该将进程放入对应的等待队列(输入等待队列,输出等待队列,其他等待队列)。

(完整word版)操作系统参考书目

参考书目: 1.[美]William Stallings,陈渝等译.操作系统-精髓与设计原理(第五版).北 京:电子工业出版社,2006 2.James L. Peterson,Operating System Concepts(Second Edition), Addison-Wesley Publishing Company Inc.,1985 3.[荷]特纳鲍姆,现代操作系统(英文版.第2版),北京,机械工业出版社, 2002 4.[美]Andrew S.Tanenbaum & Albert S.Woodhull,王鹏等译.操作系统: 设计与实现(第二版).北京:电子工业出版社,1998 5.[美]Larry L.Peterson, Bruce S.Davie著, 计算机网络系统方法(英文.第 三版), 机械工业出版社,2005 6.张尤腊,仲萃豪等,计算机操作系统,北京,科学出版社,1979 7.孙钟秀,费翔林,骆斌,谢立,操作系统教程(第三版),北京,高等教育 出版社,2003 8.汤子瀛,哲凤屏,汤小丹.计算机操作系统(修订版).西安,西安电子科技 大学出版社,2001 9.何炎祥,李飞等,计算机操作系统,北京,清华大学出版社,2006 10.陈向群,向勇等,Windows 操作系统原理(第2版),北京,机械工业出版社, 2004 11.左万历,周长林,计算机操作系统教程(第二版),北京,高等教育出版社, 2005 12.孟庆昌,操作系统,北京,电子工业出版社,2004 13.蒋静,徐志伟,操作系统-原理.技术与编程,北京,机械工业出版社,2004 14.张尧学,史美林.计算机操作系统教程(第2版).北京:清华大学出版社, 2000 15.盂静.操作系统原理教程.北京:清华大学出版社,2001 16.冯耀霖,杜舜国,操作系统(第2版),陕西,西安电子科技大学出版社, 1996 17.李学干,计算机系统结构(第三版),陕西,西安电子科技大学出版社,2000 18.曾平,曾慧.操作系考点精要与解题指导.北京,人民邮电出版社,2002 19.徐甲同,网络操作系统,吉林,吉林大学出版社,2000 20.David A. Rusling,The Linux Kernel,北京,机械工业出版社,2000 21.陈莉君,Linux操作系统内核分析,北京,人民邮电出版社,2000

操作系统原理课程设计

操作系统原理课程设计 ——银行家算法模拟 指导老师:周敏唐洪英杨宏雨 杨承玉傅由甲黄贤英 院系:计算机学院计算机科学与技术班级:0237-6 学号:2002370609 姓名:刘洪彬 同组者:杨志 时间:2005/1/10---2005/1/14

银行家算法模拟 一、设计目的 本课程设计是学生学习完《计算机操作系统》课程后,进行的一次全面的综合训练,通过课程设计,让学生更好地掌握操作系统的原理及实现方法,加深对操作系统基础理论和重要算法的理解,加强学生的动手能力。 二、设计要求 银行家算法是避免死锁的一种重要方法,本实验要求用高级语言编写和调试一个简单的银行家算法程序。加深了解有关资源申请、避免死锁等概念,并体会和了解死锁和避免死锁的具体实施方法。 从课程设计的目的出发,通过设计工作的各个环节,达到以下教学要求:两人一组,每组从所给题目中任选一个(如自拟题目,需经教师同意),每个学生必须独立完成课程设计,不能相互抄袭,同组者文档不能相同; 设计完成后,将所完成的工作交由老师检查; 要求写出一份详细的设计报告。 三、设计内容 编制银行家算法通用程序,并检测所给状态的系统安全性。 1)银行家算法中的数据结构 假设有n个进程m类资源,则有如下数据结构: 可利用资源向量Available。这是一个含有m个元素的数组,其中的每一个元素代表一类可利用的资源数目,其初始值是系统中所配置的该类全部可用资源的数目,其数值随该类资源的分配和回收而动态地改变。Available[j]=K,则表示系统中现有Rj 类资源K个。 最大需求矩阵Max。这是一个n*m的矩阵,它定义了系统中n个进程中的每一个进程对m类资源的最大需求。如果Max[i,j]=K,则表示进程i需要Rj类资源的最大数目为K。 分配矩阵Allocation。这也是一个n*m的矩阵,它定义了系统中每一类资源当前已分配给没一进程的资源数。如果Allocation[i,j]=K,则表示进程i 当前已分得Rj类资源的数目为K。 需求矩阵Need。这也是一个n*m的矩阵,用以表示每一个进程尚需的各类资源数。如果Need[i,j]=K,则表示进程i还需要Rj类资源K个,方能完成其任务。

专科《操作系统原理及应用》

[试题分类]:专科《操作系统原理及应用》_08004260 [题型]:单选 [分数]:2 1.批处理最主要的一个缺点是()。 A.用户无法与程序交互 B.没有实现并发处理 C.CPU的利用率较低 D.一次只能执行一个程序 答案:A 2.磁盘空闲块常用的组织形式有三种,其中一种为()。 A.空闲块连续 B.空闲块索引 C.空闲块压缩 D.空闲块链 答案:D 3.常用的文件物理结构有三种,其中的一种形式是()。 A.记录文件 B.压缩文件 C.索引文件 D.流式文件 答案:C 4.批处理系统中,作业的状态可分为多种,其中一种为()。 A.提交 B.就绪 C.创建 D.等待 答案:A 5.并发执行的一个特点是()。 A.计算结果会出错 B.不会顺序执行 C.程序与计算不再一一对应 D.结果可再现

6.下列选项()不是操作系统关心的。 A.管理计算机资源 B.提供用户操作的界面 C.高级程序设计语言的编译 D.管理计算机硬件 答案:C 7.当CPU执行用户程序的代码时,处理器处于()。 A.核心态 B.就绪态 C.自由态 D.用户态 答案:D 8.根据对设备占用方式的不同,设备分配技术中的一种是()。 A.动态分配 B.永久分配 C.静态分配 D.虚拟分配 答案:D 9.评价作业调度的性能时,衡量用户满意度的准确指标应该是()。 A.周转时间 B.平均周转时间 C.带权周转时间 D.平均带权周转时间 答案:C 10.在手工操作阶段,存在的一个严重的问题是()。 A.外部设备太少 B.用户使用不方便 C.计算机的速度不快 D.计算机的内存容量不大 答案:B 11.作业的处理一般分为多个作业步,连接成功后,下一步的工作是()。

《操作系统原理》课程设计

《操作系统原理》课程设计 课题名称:进程调度算法 姓名: 班级: 学号: 课程设计起止时间:2005年1月2日——2005年1月7日指导教师:成绩:

课程设计任务书

进程调度算法 一、设计说明 该程序实现了进程的创建,且对该进程队列进行动态优先权抢占式和时间片轮转算法的调度。 二、详细设计 1. 流程图

2. 程序运行环境 Turbo C 2.0 3. 变量的名称、作用及含义说明 链表结构process,整型变量name表示进程名称,整型变量prior表示优先数,整型变量needtime表示需要执行时间,整型变量CPUtime表示CPU执行时间,整型变量runtime表示进程执行时间,整型变量state表示运行状态(1:ready, 2:execute, 3:finish)。 4. 各主要模块的功能表述 [ 子函数] ①Createp() 用来创建新进程,其中的整型变量n表示需要创建的进程个数; ②PrintP1(h) 用来打印输出时间片轮转算法的创建进程和运行进程的各变量值; ③Finish(h) 用来判断某个进程是否执行完; ④Find(h) 用来查找该进程队列中优先数最大的进程; ⑤PrintP2(h) 用来打印输出动态优先权抢占式算法的创建进程和运行进程的各变量值; ⑥ExecuteP_prio(h) 执行动态优先权抢占式进程调度算法; ⑦ExecuteP_time(h) 执行时间片轮转进程调度算法; [ 主函数] main()中使用字符变量select表示a和b中的一个字母,整型变量num表示1至3中的一个数,用双层switch语句实现各模块功能。 5.程序源代码 #include #include #include #include #define NULL 0 #define Max_Pri 100 struct Process { int name; int prio; int needtime; int piecetime; int CPUtime; int runtime; int state; struct Process *next;

操作系统精髓与设计原理-第2章 操作系统概述

第二章操作系统概述 复习题 2.1操作系统设计的三个目标是什么? 方便:操作系统使计算机更易于使用。 有效:操作系统允许以更有效的方式使用计算机系统资源。 扩展的能力:在构造操作系统时,应该允许在不妨碍服务的前提下有效地开发、测试和引进新的系统功能。 2.2什么是操作系统的内核? 内核是操作系统最常使用的部分,它存在于主存中并在特权模式下运行,响应进程调度和设备中断。 2.3什么是多道程序设计? 多道程序设计是一种处理操作,它在两个或多个程序间交错处理每个进程。 2.4什么是进程? 进程是一个正在执行的程序,它被操作系统控制和选择。 2.5操作系统是怎么使用进程上下文的? 执行上下文又称为进程状态,是操作系统用来管理和控制所需的内部数据。这种内部信息和进程是分开的,因为操作系统信息不允许被进程直接访问。上下文包括操作系统管理进程以及处理器正确执行进程所需要的所有信息,包括各种处理器寄存器的内容,如程序计数器和数据寄存器。它还包括操作系统使用的信息,如进程优先级以及进程是否在等待特定I/O事件的完成。 2.6列出并简要介绍操作系统的五种典型存储管理职责。 进程隔离:操作系统必须保护独立的进程,防止互相干涉数据和存储空间。 自动分配和管理:程序应该根据需要在存储层次间动态的分配,分配对程序员是透明的。因此,程序员无需关心与存储限制有关的问题,操作系统有效的实现分配问题,可以仅在需要时才给作业分配存储空间。 2.7解释实地址和虚地址的区别。 虚地址指的是存在于虚拟内存中的地址,它有时候在磁盘中有时候在主存中。实地址指的是主存中的地址。 2.8描述轮循调度技术。 轮循调度是一种调度算法,所有的进程存放在一个环形队列中并按固定循序依次激活。因为等待一些事件(例如:等待一个子进程或一个I/O操作)的发生而不能被处理的进程将控制权交给调度器。

《操作系统原理》考题及答案

《操作系统原理》期末考试题 、单项选择题(每题 分,共分) 1. 操作系统是一种( )。 A. 系统软件 B. 系统硬件 C. 应用软件 D. 支援软件 2. 分布式操作系统与网络操作系统本质上的不同在于( )。 A. 实现各台计算机这间的通信 B. 共享网络中的资 源 C.满足较在规模的应用 D. 系统中多台计算机协作完成同一任务 3. 下面对进程的描述中,错误的是( A.进程是动态的概念 B. C.进程是指令的集合 D. 4?临界区是指并发进程中访问共享变量的( )段。 5. 要求进程一次性申请所需的全部资源,是破坏了死锁必要条件中的哪一条 。 A.互斥 B. 请求与保持 C. 不剥夺 D. 循环等待 6. 以下哪种存储管理不可用于多道程序系统中( )。 A.单一连续区存储管理 B.固定式区存储管理 C.可变分区存储管理 D.段式存储管理 7. 在可变式分区存储管理中,某作业完成后要收回其主存空间,该空间可能与 相邻空闲区合 并,修改空闲区表,使空闲区数不变且空闲区起始地址不变的 )。 进程执行需要处理机 进程是有生命期的 A.管理信息 B.信息存储 C. 数据 D. 程序

情况是()。 A.无上邻空闲区也无下邻空闲区 C.有下邻空闲区但无上邻空闲区 8. 系统“抖动”现象的发生不是由 A.置换算法选择不当 C.主存容量不足 9. 在进程获得所需全部资源,唯却 A.运行 B.阻塞 10. 要页式存储管理系统中,将主存等分成( A.块 B.页B. D. B. D. CPU 时,有上邻空闲区但无下邻空闲区 有上邻空闲区也有下邻空闲 区)引起的。 交换的信息量过大 请求页式管理方案 进程处于( C.就绪 )。 C. 段长 状态。 D.新建 D.段

操作系统原理课程设计

******************* 实践教学 ******************* 兰州理工大学 计算机与通信学院 2007年秋季学期 操作系统原理课程设计 题目:内存管理模拟系统 专业班级:05软件工程(2)班 姓名:尹盼盼 学号:05240204 指导教师:王旭阳 成绩:______________

目录 摘要.......................................................................... 错误!未定义书签。正文.......................................................................... 错误!未定义书签。 1、设计思路............................................................................ 错误!未定义书签。 2、各模块的伪码算法............................................................ 错误!未定义书签。 3、函数的调用关系图............................................................ 错误!未定义书签。 4、测试.................................................................................... 错误!未定义书签。设计总结 ................................................................. 错误!未定义书签。参考文献 ................................................................. 错误!未定义书签。致谢...................................................................... 错误!未定义书签。附录:部分源程序代码 ......................................... 错误!未定义书签。 摘要 操作系统的内存管理是指系统软件对其他应用程序使用内存时所作的管理,是一种统筹关系。本设计采用活动分区方案,但不采用紧凑算法。假设系统内存容量为100KB。能处理内存回收的时候上下邻合并的问题;对随机出现的进程i申请jKB内存,程序能判断是否能分配;释放随机的首地址为Handle的内存块;同时输出内存使用情况和空闲情况。 关键词:C语言、内存管理、操作系统、管理系统、内存的分配和回收 正文 1、设计思路 内存管理是计算机系统以一种优化性能的方式,在需要内存的不同进程(如操作系统或应用程序调用)之间将有限的内存进行分配的过程。执行这种任务的通用技术叫做虚拟内存技术,这项技术利用保留的磁盘空间存储不在物理内存中的对象,来模拟比实际可用的内存大得多的地址空间。此设计为了了解UNIX的

相关文档
相关文档 最新文档