操作系统经典例题

合集下载

操作系统经典习题+解释

操作系统经典习题+解释

●假定一个阅览室最多可容纳100人,读者进入和离开阅览室时都必须在阅览室门口的一个登记表上进行登记,而且每次只允许一人进行登记操作,请用记录型信号量机制实现上述问题的同步。

定义信号量sum,mutex,初值分别为100,1。

(3分)则第i个读者的活动描述为:procedure P i(i=1,2,3……)beginwait(sum);wait(mutex);登记;signal(mutex);进入阅览室;阅读;wait(mutex);登记;signal(mutex);离开阅览室;signal(sum);end●请用信号量解决以下的“过独木桥”问题:同一方向的行人可连续过桥,当某一方向有人过桥时,另一方向的行人必须等待;当某一方向无人过桥时,另一方向的行人可以过桥。

将独木桥的两个方向分别标记为A和B;并用整形变量countA和countB分别表示A、B 方向上已在独木桥上的行人数,初值为0;再设置三个初值都1的互斥信号量:SA用来实现对countA的互斥访问,SB用来实现对countB的互斥访问,mutex用来实现两个方向的行人对独木桥的互斥使用。

则具体描述如下:Var SA,SB,mutex:semaphore:=1,1,1;CountA,countB:integer:=0,0:beginparbeginprocess A: beginwait(SA);if(countA=0) then wait(mutex);countA:=countA+1;signal(SA);过独木桥;wait(SA);countA:=countA-1;if (countA=0) then signal(mutex);signa(SA);endprocess B: beginwait(SB);if(countB=0) then wait(mutex);countB:=countB+1;signal(SB);过独木桥;wait(SB);countB:=countB-1;if (countB=0) then signal(mutex);signa(SB);endparendend设公共汽车上,司机和售票员的活动分别是:司机的活动:启动车辆;正常行车;到站停车;售票员的活动:关车门;售票;开车门;请用记录型信号量机制实现上述问题的同步。

操作系统实验题

操作系统实验题

1、在操作系统中,进程与线程的主要区别是什么?A. 进程是资源分配的基本单位,线程是处理器调度的基本单位B. 进程和线程都是资源分配和处理器调度的基本单位C. 线程是资源分配的基本单位,进程是处理器调度的基本单位D. 进程和线程都不涉及资源分配问题(答案:A)2、以下哪种调度算法可能会导致饥饿问题?A. 先来先服务(FCFS)B. 短作业优先(SJF)C. 时间片轮转(Round Robin)D. 优先级调度(非抢占式)(答案:B)3、在操作系统的存储管理中,分段存储管理方式的主要目的是?A. 提高内存利用率B. 实现内存保护C. 方便用户编程D. 提高程序运行速度(答案:C)4、关于死锁,以下哪个说法是正确的?A. 死锁是指多个进程因竞争资源而无限期等待的现象B. 死锁只可能发生在多道批处理系统中C. 死锁发生时,系统中一定存在多个进程同时处于就绪状态D. 预防死锁的方法之一是破坏“请求和保持”条件,即要求进程一次性申请所有所需资源(答案:A,注:同时D也是预防死锁的一种方法,但题目要求选择正确说法,A更直接描述了死锁的定义)5、在操作系统的文件系统中,目录结构的主要作用是?A. 实现文件的按名存取B. 提高文件存储的效率C. 增强文件系统的安全性D. 便于用户对文件进行备份(答案:A)6、下列哪一项不是虚拟内存技术的优点?A. 扩大内存容量B. 提高内存利用率C. 简化内存管理D. 加快程序运行速度(在某些情况下可能因换页开销而减慢)(答案:D)7、在操作系统的设备管理中,缓冲区的设置主要是为了?A. 提高设备利用率B. 缓和CPU与I/O设备之间速度不匹配的矛盾C. 实现设备的即插即用D. 减少I/O操作的次数(答案:B)8、关于操作系统的中断机制,以下哪个说法是错误的?A. 中断是由硬件或软件发出的,用于请求CPU处理的事件B. 中断处理过程中,CPU会暂停当前程序的执行,转而执行中断处理程序C. 中断向量表是存储中断处理程序入口地址的表D. 在所有情况下,中断处理程序的执行优先级都高于当前正在运行的程序(答案:D,注:中断处理程序的优先级通常较高,但并非在所有情况下都绝对高于所有正在运行的程序,特别是在某些实时系统中可能有更复杂的优先级策略)。

操作系统原理试题及答案

操作系统原理试题及答案

操作系统原理试题及答案一、单项选择题(每题2分,共20分)1. 操作系统的主要功能不包括以下哪一项?A. 进程管理B. 存储管理C. 设备管理D. 网络管理答案:D2. 在操作系统中,进程和线程的关系是?A. 线程是进程的一部分B. 进程是线程的一部分C. 进程和线程是完全独立的D. 进程和线程是同一个概念答案:A3. 下列哪项不是操作系统的五大基本功能?A. 文件管理B. 作业调度C. 内存管理D. 网络通信答案:B4. 操作系统的调度算法中,时间片轮转调度算法的特点是?A. 所有进程获得相等的CPU时间B. 进程按到达顺序获得CPU时间C. 进程按优先级获得CPU时间D. 进程按最长运行时间获得CPU时间答案:A5. 在操作系统中,虚拟内存的作用是什么?A. 提高CPU的运行速度B. 提高磁盘的读写速度C. 扩展可用的物理内存D. 减少磁盘的读写次数答案:C6. 下列哪项技术用于实现文件的共享?A. 缓冲技术B. 虚拟存储技术C. 多道程序设计D. 文件系统答案:D7. 在操作系统中,死锁的四个必要条件不包括以下哪一项?A. 互斥条件B. 占有和等待条件C. 不剥夺条件D. 循环等待条件答案:A8. 操作系统中,分页和分段的区别在于?A. 分页是固定大小的,分段是可变大小的B. 分页是可变大小的,分段是固定大小的C. 分页和分段都是固定大小的D. 分页和分段都是可变大小的答案:A9. 下列哪项不是操作系统提供的服务?A. 系统调用B. 设备驱动C. 用户界面D. 编译器答案:D10. 在操作系统中,中断和异常的区别是?A. 中断是由硬件产生的,异常是由软件产生的B. 中断是由软件产生的,异常是由硬件产生的C. 中断和异常都是由硬件产生的D. 中断和异常都是由软件产生的答案:A二、填空题(每题2分,共20分)1. 在操作系统中,_________是操作系统提供给用户和应用程序的接口。

答案:系统调用2. 操作系统的_________是操作系统分配CPU时间给进程的策略和算法。

操作系统经典例题

操作系统经典例题

1、假定访问主存时间为100毫微秒,访问相联存储器时间为20毫微秒,相联存储器为32个单元时快表命中率可达90%,按逻辑地址存取的平均时间为:(100+20)×90%+(100+100+20)×(1-90%)=130毫微秒比两次访问主存的时间100毫微秒×2=200毫微秒下降了四成多。

有效访问内存的时间T=P TLB*(T TLB+T M)+ (1-P TLB)*(T TLB + 2T M)其中,P TLB为快表的命中率,T TLB为快表的访问时间, T M为内存的访问时间2、假设一个分页存储系统具有快表,多数活动页表项都可以存在其中。

如果页表放在内存中,内存访问时间是1us,若快表的命中率是85%,则有效存取时间为多少?若快表的命中率为50%,那么有效存取时间为多少?(1) 0.85*1+(1-0.85)*(1+1)=1.15us(2) 0.5*1+(1-0.5)*(1+1)=1.5us3、设有8页的逻辑空间,每页有1024字节,它们被映射到32块的物理存储区中。

那么,逻辑地址的有效位是(13)位,物理地址至少是(15)位。

某页式存储管理系统中,地址寄存器长度为24位,其中页号占14位,则主存的分块大小应该是(2的10次方),程序最多占有(2的24次方)页。

4、分页存储管理中,页表的功能是什么?当系统中的地址空间变得非常大时,会给页表的设计带来什么样的新问题?请给出一种解决方案,分析它的优点和缺点。

A.页表的作用是实现从逻辑地址中的页号到内存物理块的地址映射。

B.当地址空间变得非常大时,进程的页表也将变得非常大,而且还要求是连续存放的,这样对页表的存储造成困难。

C.采用的解决方案:二级页表。

将页表分页,使每个页面的大小与内存物理块的大小相同,并将它们进行编号,将个页面放在不同的物理块中,或将当前所需的部分页表项装入内存,其余表项驻留在外存,必要时调入。

并为这些离散分配的页表再建立一个外层页表D.二级页表方法适应了地址空间的需要,较好地实现了虚拟存储系统。

操作系统试题及答案

操作系统试题及答案

操作系统试题及答案一、选择题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. 操作系统的主要功能是()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. 简述死锁的条件以及解决死锁的方法。

答案:死锁的条件包括互斥、持有并等待、不可剥夺和循环等待。

解决死锁的方法有预防、避免、检测和恢复等。

预防死锁可以通过破坏死锁条件来实现,如破坏循环等待;避免死锁可以通过资源分配策略来避免产生死锁;检测死锁可以通过资源分配图等方法来检测死锁的发生;恢复死锁可以通过资源抢占和进程终止等方式来解除死锁。

操作系统习题(附参考答案)

操作系统习题(附参考答案)

操作系统习题(附参考答案)一、单选题(共100题,每题1分,共100分)1、下列存储器中,速度最快的是()。

A、内存B、寄存器C、CacheD、磁盘正确答案:B2、时钟中断事件属于()中断事件。

A、程序B、自愿性C、外部D、输入/输出正确答案:C3、可变分区存储管理系统中,若采用最佳适应分配算法,“空闲区表”中的空闲区可按()顺序排列。

A、大小从大到小B、大小从小到大C、地址从大到小D、地址从小到大正确答案:B4、从静态的角度看,下列选项中哪一个是进程必须拥有而程序所没有的?()A、常量数据B、全局变量C、进程控制块D、代码正文正确答案:C5、()不是管程的组成部分。

A、对局部于管程内的数据结构设置初始值的语句B、对管程内数据结构进行操作的一组过程C、局部于管程的共享数据结构D、管程外过程调用管程内数据结构的说明正确答案:D6、下列关于父进程和子进程的叙述中,正确的是()。

A、子进程执行完了,父进程才能执行B、父进程创建了子进程,因此父进程执行完了,子进程才能执行C、撤销子进程时,应该同时撤销父进程D、撤销父进程时,应该同时撤销子进程正确答案:D7、某计算机系统中有8台打印机,有K个进程竞争使用,每个进程最多需要3台打印机。

该系统可能会发生死锁的K的最小值是()。

A、3B、4C、2D、5正确答案:B8、分页虚拟存储管理系统中,若采用FIFO页面置换算法,则当分配的物理页面数增加时,缺页中断的次数()。

A、减少B、可能增加也可能减少C、增加D、不变正确答案:B9、产生内存抖动的主要原因是()。

A、内存空间太小B、CPU运行速度太慢C、CPU调度算法不合理D、页面置换算法不合理正确答案:D10、()存储管理兼顾了段式在逻辑上清晰和页式在存储管理上方便的优点。

A、分页B、段页式C、可变分区D、分段正确答案:B11、发生死锁的必要条件有四个,要预防死锁的发生,可以破坏这四个必要条件,但破坏()条件是不太实际的。

操作系统例题汇总

操作系统例题汇总

1.2例题精选例1.1如何理解虚拟机的概念?解:一台仅靠由硬件组成的计算机一般被称为裸机,不易使用。

操作系统为用户使用计算机提供了许多服务,从而把一台难于使用的裸机改造成了功能更强大、使用更方便的计算机系统,这种计算机系统称为虚拟机。

所谓虚拟,是指把一个物理上的实体变为若干个逻辑上的对应物。

前者是实际存在的,而后者是虚的,只是用户的一种感觉。

在单CPU的计算机系统中能同时运行多道程序,好像每个程序都独享一个CPU,这就是虚拟。

在构造操作系统时,把操作系统分成若干层,每层完成特定的功能,从而形成一个虚拟机。

下层的虚拟机为上层的虚拟机提供服务,这样逐次扩充以完成操作系统的功能。

讨论“虚拟”的概念体现在操作系统的方方面面。

例如,虚拟存储器,使一台只有4MB 内存的计算机可以运行总容量远远超过4 MB的程序;虚拟外设,能够使多个用户同时访问该外设等。

例1.2什么是多道程序设计,它的主要优点是什么?解: 所谓多道程序设计是指把一个以上的程序存放在内存中,并且同时处于运行状态,这些程序共享CPU和其他计算机资源。

其主要优点是:(1)CPU的利用率高:在单道程序环境下,程序独占计算机资源,当程序等待I/O操作时CPU空闲,造成CPU资源的浪费。

在多道程序环境下,多个程序共享计算机资源,当某个程序等待I/O操作时,CPU可以执行其他程序,这大大地提高了CPU的利用率。

(2)设备利用率高:在多道程序环境下,内存和外设也由多个程序共享,无疑也会提高内存和外设的利用率。

(3)系统吞吐量大:在多道程序环境下,资源的利用率大幅度提高,减少了程序的等待时间,提高了系统的吞吐量。

讨论多道程序在计算机中并发地运行是现代计算机系统的重要特征。

早期的单道批处理系统与人工操作相比自动化程度大大提高,但系统中仍有较多的空闲资源,系统的性能较差。

多遭批处理系统虽有很多优点,但这种系统交互能力差,作业的平均周转时间长。

多道程序处理系统要解决的主要问题是,如何使多个程序合理、有序地共事处理机、内存、外设等资源。

操作系统练习题+参考答案

操作系统练习题+参考答案

操作系统练习题+参考答案一、单选题(共100题,每题1分,共100分)1、若系统中有5个并发进程涉及某个相同的变量A,则变量A的相关临界区由()个临界区构成。

A、1B、3C、5D、6正确答案:C2、在分页虚拟存储管理系统中,采用某些页面置换算法,会出现Belady 异常现象,即进程的缺页次数会随着分配给该进程的页面数量的增加而增加。

下列算法中,可能出现Belady现象的是()。

①LRU算法②FIFO 算法③OPT算法A、仅2B、仅1、2C、仅1、3D、仅2、3正确答案:A3、下列关于管道通信的叙述中,正确的是()。

A、一个管道可以实现双向数据传输B、管道的容量仅受磁盘容量大小的限制C、进程对管道进行读操作和写操作都可能被阻塞D、一个管道只能有一个读进程或一个写进程对其操作正确答案:C4、不属于基本操作系统的是()。

A、网络操作系统B、实时操作系统C、分时操作系统D、批处理操作系统正确答案:A5、采用SPOOLing技术的目的是()。

A、提高独占设备的利用率B、提高程序的运行速度C、提高主机的效率D、减轻用户的编程负担正确答案:A6、在()的控制下,计算机系统能及时处理由过程控制反馈的数据,并作出响应。

A、分时操作系统B、实时操作系统C、批处理操作系统D、多处理机操作系统正确答案:B7、在分页虚拟存储管理中,当发现要访问的页面不在主存时,则由硬件发出()。

A、输入输出中断B、时钟中断C、缺页中断D、越界中断正确答案:C8、()可以用来解决临界区问题。

A、时间片轮转算法B、银行家算法C、LRU算法D、Test正确答案:D9、可变分区存储管理系统中,若采用最佳适应分配算法,“空闲分区表”中的空闲区应该按()顺序排列。

A、地址从大到小B、大小从大到小C、地址从小到大D、大小从小到大正确答案:D10、进程从运行状态转换到阻塞状态可能是由于()。

A、现运行进程执行了signal操作B、现运行进程时间片用完C、现运行进程执行了wait操作D、进程调度程序的调度正确答案:C11、()不是进程的特征。

操作系统试题库(经典版)

操作系统试题库(经典版)

操作系统试题库一, 选择题第一部分:操作系统概述1.在计算机系统中,操作系统是( B ).A. 一般应用软件B.核心系统软件C.用户应用软件D.系统支撑软件2.( D )不是基本的操作系统.A,批处理操作系统B,分时操作系统C,实时操作系统D,网络操作系统3.(C )不是分时系统的基本特征:A,同时性B,独立性C,实时性D,交互性4.关于操作系统的叙述(D)是不正确的.A."管理资源的程序"B."管理用户程序执行的程序"C."能使系统资源提高效率的程序"D."能方便用户编程的程序"5.操作系统的发展过程是(A )A.设备驱动程序组成的原始操作系统,管理程序,操作系统B.原始操作系统,操作系统,管理程序C.管理程序,原始操作系统,操作系统D.管理程序,操作系统,原始操作系统6.设计批处理多道系统时,首先要考虑的是( B)A.灵活性和可适应性B.系统效率和吞吐量C.交互性和响应时间D.实时性和可靠性7.操作系统是一种(B ).A, 应用软件B, 系统软件C, 通用软件D, 工具软件8.计算机系统的组成包括(B ).A,程序和数据B, 计算机硬件和计算机软件C,处理器和内存D,处理器,存储器和外围设备9.下面关于计算机软件的描述正确的是(B ).A,它是系统赖以工作的实体B,它是指计算机的程序与文档C,位于计算机系统的最外层D,分为系统软件和支撑软件两大类10.财务软件是一种(C).A,系统软件B,接口软件C,应用软件D,用户软件11.世界上第一个操作系统是(B).A,分时系统B,单道批处理系统C,多道批处理系统D,实时系统12.批处理操作系统提高了计算机的工作效率,但(B ).A,系统吞吐量小B,在作业执行时用户不能直接干预C,系统资源利用率不高D,不具备并行性13.允许多个用户以交互使用计算机的操作系统是(A).A,分时系统B,单道批处理系统C,多道批处理系统D,实时系统14.下面关于操作系统的叙述正确的是(A ). A,批处理作业必须具有作业控制信息B,分时系统不一定都具有人机交互功能C,从响应时间的角度看,实时系统与分时系统差不多D,由于采用了分时技术,用户可以独占计算机的资源15.操作系统是一组(C ).A,文件管理程序B,中断处理程序C,资源管理程序D,设备管理程序16.现代操作系统的两个基本特征是(C)和资源共享.A,多道程序设计B, 中断处理C,程序的并发执行D, 实现分时与实时处理17.(D)不是操作系统关心的主要问题. A, 管理计算机裸机B, 设计,提供用户程序与计算机硬件系统的界面C, 管理计算机系统资源D, 高级程序设计语言的编译器18.引入多道程序的目的是(D ).A,为了充分利用主存储器B,增强系统的交互能力C,提高实时响应速度D,充分利用CPU,减少CPU的等待时间19.在多道程序设计的计算机系统中,CPU(C ).A,只能被一个程序占用B,可以被多个程序同时占用C,可以被多个程序交替占用D,以上都不对20.多道程序设计是指(B ).A,有多个程序同时进入CPU运行B,有多个程序同时进入主存并行运行C,程序段执行不是顺序的D,同一个程序可以对应多个不同的进程21.从总体上说,采用多道程序设计技术可以( )单位时间的算题量,但对每一个算题,从算题开始到全部完成所需的时间比单道执行所需的时间可能要(B).A,增加,减少B,增加,延长C,减少,延长D,减少,减少22.(A)没有多道程序设计的特点.A,DOS B,UNIX C,WINDOWS D,OS/223.下列四个操作系统中,是分时系统的为(C ).A,MS-DOS B,WINDOWS 98C,UNIX D,OS/2系统24.在分时系统中,时间片一定,( B),响应时间越长.A,内存越多B,用户数越多C,后备队列D,用户数越少25.批处理系统的主要缺点是(B ).A,CPU的利用率不高B,失去了交互性C,不具备并行性D,以上都不是26.在下列性质中,哪一个不是分时系统的特征.( C )A, 交互性B, 多路性C, 成批性D, 独占性27.实时操作系统追求的目标是( C). A,高吞吐率B,充分利用内存C, 快速响应D, 减少系统开销28.以下(C)项功能不是操作系统具备的主要功能.A,内存管理B,中断处理C,文档编辑D,CPU调度29.操作系统程序结构的主要特点是(C). A, 一个程序模块B,分层结构C, 层次模块化D,子程序结构30.操作系统负责为方便用户管理计算机系统的(C ).A, 程序B, 文档资料C, 资源D, 进程31.计算机在接受用户请求后处理数据以与在数据处理结束时,将结果送到终端显示器.例如,导弹控制系统应选择安装(C )A,批处理操作系统B,分时操作系统C,实时操作系统D,网络操作系统32.操作系统的基本职能是(A).A.控制和管理系统内各种资源,有效地组织多道程序的运行B.提供用户界面,方便用户使用C.提供方便的可视化编辑程序D.提供功能强大的网络管理工具33.分布式操作系统与网络操作系统本质上的不同在于(D ).A.实现各台计算机之间的通信B.共享网络中的资源C.满足较大规模的应用D.系统中若干台计算机相互协作完成同一任务34.Linux操作系统是著名的(B )。

《操作系统》考试练习题及参考答案

《操作系统》考试练习题及参考答案

《操作系统》考试练习题及参考答案一、单选题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的作业进入内存时,浪费的内存为()。

操作系统练习题含参考答案

操作系统练习题含参考答案

操作系统练习题含参考答案一、单选题(共90题,每题1分,共90分)1、在大多数Linux发行版本中,以下哪个属于块设备(blockdevices)?A、硬盘B、打印机C、串行口D、虚拟终端正确答案:A2、在随机存取方式中,用户以______为单位对文件进行存取和检索。

A、数据项B、字节C、逻辑记录D、字符串正确答案:C3、在UNIX系统中获取帮助信息的命令为()。

A、manB、cdC、catD、help正确答案:A4、如何删除一个非空子目录/tmp?A、del/tmp/*B、rm-Ra/tmp/*C、rm-rf/tmpD、rm-rf/tmp/*正确答案:C5、运行一个脚本,用户不需要什么样的权限?A、browseonthedirectoryB、readC、executeD、write正确答案:D6、下列关于批处理操作系统的叙述中错误的是()。

A、“通道”和“中断”技术的出现,使得输入/输出设备与CPU可并行工作B、批处理系统可分为单道批处理系统和多道批处理系统C、批处理系统具有用户与计算机的直接交互能力,提高了系统资源的利用率D、单道批处理系统是一种单用户操作系统正确答案:C7、采用段式存储管理的系统中,若地址用24位表示,其中8位表示段号,则允许每段的最大长度是()。

A、216B、224C、232D、28正确答案:A8、如果有多个中断同时发生,系统将根据中断优先级响应优先级最高的中断请求。

若要调整中断事件的响应次序,可以利用()。

A、中断屏蔽B、中断向量C、中断嵌套D、中断响应正确答案:A9、把作页地址空间中的逻辑地址变成内存中物理地址的过程称为()。

A、物理化B、重定位C、逻辑化D、加载正确答案:B10、当CPU执行系统程序时,CPU处于()。

A、管态B、目态C、系统态D、A和C正确答案:D11、若一个系统内存有64MB,处理器是32位地址,则它的虚拟地址空间为()字节。

B、4GBC、100KBD、64MB正确答案:B12、操作系统负责为用户和用户程序完成所有()的工作A、硬件有关和应用无直接关系B、硬件无关和应用有直接关系C、硬件有关和应用有直接关系D、硬件无关和应用无直接关系正确答案:A13、使用页式存储管理使处理器执行指令的速度______。

操作系统面试题目(3篇)

操作系统面试题目(3篇)

第1篇一、操作系统概述1. 请简述操作系统的功能和作用。

2. 操作系统有哪些类型?请举例说明。

3. 请解释单用户操作系统和多用户操作系统的区别。

4. 请简述实时操作系统的特点和适用场景。

5. 请解释分时操作系统和实时操作系统的区别。

二、进程与线程1. 请解释进程和线程的概念,并说明它们之间的关系。

2. 请简述进程的状态及其转换过程。

3. 请解释进程同步和互斥的概念,并举例说明。

4. 请解释线程的调度策略,如先来先服务、时间片轮转等。

5. 请说明进程和线程在资源分配、调度等方面的区别。

三、内存管理1. 请解释虚拟内存的概念及其作用。

2. 请简述内存分配算法,如固定分区、动态分区、分页等。

3. 请解释页面置换算法,如FIFO、LRU、LFU等。

4. 请说明内存碎片的概念及其解决方法。

5. 请解释内存映射的概念及其应用。

四、文件系统1. 请解释文件系统的概念及其作用。

2. 请简述文件系统的分类,如顺序文件系统、索引文件系统等。

3. 请解释文件的存储结构,如链表、树、哈希表等。

4. 请解释文件系统的磁盘调度算法,如先来先服务、最短寻道时间优先等。

5. 请解释RAID技术及其不同级别。

五、设备管理1. 请解释设备管理的概念及其作用。

2. 请简述设备驱动程序的概念及其作用。

3. 请解释中断处理的过程。

4. 请解释DMA的概念及其特点。

5. 请解释I/O控制方式,如程序直接控制方式、中断驱动方式、直接存储器访问方式等。

六、进程调度1. 请解释进程调度的概念及其作用。

2. 请简述进程调度算法,如先来先服务、短作业优先、时间片轮转等。

3. 请解释调度算法的评价指标,如响应时间、吞吐量、周转时间等。

4. 请解释多级反馈队列调度算法。

5. 请解释多处理器调度算法。

七、并发与并行1. 请解释并发和并行的概念及其区别。

2. 请简述进程同步和互斥的方法,如临界区、互斥量、信号量等。

3. 请解释死锁的概念、产生条件、避免和解决方法。

计算机操作系统典型例题解析之三

计算机操作系统典型例题解析之三

计算机操作系统典型例题解析之三【例1】分配到必要的资源并获得处理机时的进程状态是(B)。

A、就绪状态B、执行状态C、阻塞状态D、新状态分析:进程有三种基本状态:就绪状态、执行状态和阻塞状态。

当进程已分配到除CPU以外的所有必要的资源后,只要能再获得处理机便可立即执行,这时的状态称为就绪状态;处于就绪状态的进程如果获得了处理机,其状态转换为执行状态;进程因发生某种事件(如I/O请求、申请缓冲空间等)而暂停执行时的状态,亦即进程的执行受到阻塞,故称这种状态为阻塞状态;而新状态是指创建了进程但尚未把它插入到就绪队列前的状态。

所以本题的答案是B。

【例2】挂起的进程被激活,应该使用(C)原语。

A、CreateB、SuspendC、ActiveD、Wakeup分析:在不少系统中,进程除了三种基本状态外,又增加了一些新的状态,其中最重要的是挂起状态。

“挂起”的实质是使进程不能继续执行,即使挂起后的进程处于就绪状态,它也不能参加对CPU的竞争,进程的挂起调用Suspend()原语。

因此,被挂起的进程处于静止状态,相反,没有挂起的进程则处于活动状态。

而且,处于静止状态的进程,只有通过“激活”动作,调用Active()原语,才能转换成活动状态,调入内存。

所以本题的答案是C。

【例3】任何时刻总是让具有最高优先数的进程占用处理器,此时采用的进程调度算法是(D)。

A非抢占式的优先数调度算法B、时间片轮转调度算法C、先来先服务调度算法D、抢占式的优先数调度算法分析:“让具有最高优先数的进程占用处理器”,我们可以知道,采用的进程调度算法是优先数调度算法,但是我们还要进一步分析是抢占式的还是非抢占式的。

“任何时刻总让”,通过这句话我们知道采用的是抢占式的,所以本题的答案是D。

【例4】若P、V操作的信号量S初值为2,当前值为-1,则表示有(B)等待进程。

A、0个B、1个C、2个D、3个分析:信号量的初始值表示系统中资源的数目,每次的Wait操作意味着进程请求一个单位的资源,信号量进行减1的操作,当信号量小于0时,表示资源已分配完毕,进程自我阻塞。

操作系统典型例题分析

操作系统典型例题分析

1操作系统引论1、什么是操作系统,它的主要功能是什么?关于操作系统,至今沿无严格的统一的定义,对操作系统的定义有各种说法,不同的说法反映了人们从不同的角度所揭示的操作系统的本质特征。

(1)从资源管理的角度,操作系统是控制和管理计算的软、硬件资源,合理地组织计算机的工作流程以及方便用户的程序集合。

(2)从硬件扩充的角度,操作系统是控制和管理计算机裸机之上的第一层软件,是对计算机硬件功能的一次扩充。

操作系统的主要功能有处理机管理、内存管理、设备管理文件管理等功能,以及用户接口。

2、什么是多道程序设计技术?多道程序设计技术的主要特点是什么?多道程序设计技术就是把多个程序同时放入内存,它们共享系统中的各种资源,并发地在处理机上运行。

特点如下:(1)多道,即计算机内存中同时存入多道相互独立的程序。

(2)宏观上并行,是指同时进入系统的多道程序都处于运行过程中。

(3)微观上串行,是指在单处理机环境下,内存中的多道程序轮流地占有CPU,交替执行。

3、批处理系统是怎样的一种操作系统?它的特点是什么?批处理系统是一种基本的操作系统类型。

在该系统中,用户的作业(包括程序、数据及程序的处理步骤)被成批地输入到计算机中,然后在操作系统的控制下,用户的作业自动地执行。

批处理系统的特点是“成批”和“自动”。

成批是指多个作业同时进入系统,其中一部分放在内存中,其余的入在外存的后备队列中,这样便于系统搭配合理的作业使之执行,从而充分发挥系统中各种资源的作用。

自动是指作业一旦提交,用户就不能干预自己的作业。

4、什么是分时系统?什么是实时系统?试从交互性、及时性、独立性、多路性和可靠性几个方面比较分时系统和实时系统。

分时系统允许多个终端用户同时使用计算机,在这样的系统中,用户感觉不到其他用户的存在,好像独占计算机一样。

实时系统是指系统对特定输入做出的反应速度足以控制发出实时信号的对象。

“实时”二字的含义是指在计算机对于外来信息能够及时处理,并在被控对象允许的范围内做出快速反应。

操作系统例题

操作系统例题

操作系统例题1、什么是操作系统?答:操作系统是指控制和管理计算机硬件与软件资源、协调各种设备和应用软件、为用户提供界面与环境的一种系统软件。

2、操作系统的主要功能有哪些?答:操作系统的主要功能包括进程管理、内存管理、文件系统管理、设备管理、用户界面等。

3、进程和线程有什么区别?答:进程是指计算机中已运行的程序的实例,线程是进程中的执行单元。

一个进程可以拥有多个线程,线程共享进程的资源,包括内存空间、文件等。

4、什么是死锁?如何预防和解决死锁?答:死锁是指多个进程因竞争系统资源无法继续执行而陷入无限等待的状态。

预防和解决死锁的方法包括资源预分配策略、资源的有序分配、破坏死锁四个条件、死锁检测与恢复等。

5、什么是派生,什么是覆盖?答:派生是指新的操作系统从旧的操作系统中继承部分或全部功能的过程。

覆盖是指在旧的操作系统上建立新的操作系统,新的操作系统替代旧的操作系统的过程。

6、什么是分时系统?什么是实时系统?答:分时系统是指操作系统按时间片轮流给多个用户或任务分配处理器和其他资源的系统。

实时系统是指操作系统对任务的响应时间有严格要求的系统。

7、什么是虚拟内存?答:虚拟内存是操作系统在使用磁盘作为辅助存储器的情况下,将物理内存和磁盘空间结合起来,为每个进程提供了一个全地址空间。

8、什么是多道程序设计?答:多道程序设计是指操作系统将多个程序同时装入内存,并按一定策略来调度执行,实现多个程序并发执行的技术。

9、什么是缺页中断?答:当进程访问的页面不在物理内存中时,发生缺页中断,操作系统根据中断处理程序将所需页面调入内存,并重新执行导致缺页中断的指令。

10、什么是文件系统?答:文件系统是操作系统中的一个模块,用于在存储设备上组织和管理文件,提供对文件的读写、创建、删除等操作。

(完整word版)操作系统例题讲解

(完整word版)操作系统例题讲解

操作系统例题讲解一、调度算法对如下表所示的5个进程:采用可剥夺的静态最高优先数算法进行调度(不考虑系统开销)。

问 题: ⑴ 画出对上述5个进程调度结果的Gantt 图;⑵ 计算5个进程的平均周转时间、平均带权周转时间。

解: ⑴ 调度结果的Gantt 图如下: 024 579 101214(2) 时间计算:二、存储管理某系统采用虚拟页式存储管理方式,页面大小为2KB ,每个进程分配的页框数固定为4页。

采用局部置换策略,置换算法采用改进的时钟算法,当有页面新装入内存时,页表的时钟指针指向新装入页面的下一个在内存的表项。

设当前进程P 的页表如下(“时钟”指针指向逻辑页面3的表项):逻辑页号0 1 23 4 5 问 题: ⑴ 当进程P 依次对逻辑地址执行下述操作:① 引用 4C7H ; ② 修改 19B4H ; ③ 修改 0C9AH ; 写出进程P 的页表内容;⑵ 在 ⑴ 的基础上,当P 对逻辑地址27A8H 进行访问,该逻辑地址对应的物理地址是多少?解:页面大小为2KB,2KB=2×210=211,即逻辑地址和物理地址的地址编码的低11位为页内偏移;⑴①逻辑地址4C7H=0100 1100 0111B,高于11位为0,所以该地址访问逻辑页面0;引用4C7H,页表表项0:r=1;②逻辑地址19B4H=0001 1001 1011 0100B,高于11位为3,所以该地址访问逻辑页面3;修改19B4H,页表表项3:r=1, m=1;③逻辑地址0C9AH=0000 1100 1001 1010B,高于11位为1,所以该地址访问逻辑页面1;逻辑页1不在内存,发生缺页中断;①、②两操作后,P的页表如下:逻辑页号12345按改进的时钟算法,且时钟指针指向表项3,应淘汰0页面,即把P的逻辑页面1读到内存页框101H,页表时钟指针指向表项2。

并执行操作:修改0C9AH。

经上述3个操作后,P的页表如下:逻辑页号12345⑵逻辑地址27A8H=0010 0111 1010 1000B,高于11位为4,所以该地址访问逻辑页面4;页面4不在内存,发生缺页中断;按改进的时钟算法,淘汰页面2,页面4读到110H页框,所以,逻辑地址27A8H对应的物理地址为:0001 0001 0000 111 1010 1000B=887A8H。

操作系统参考例题

操作系统参考例题

第1章一、填空1.计算机由硬件系统和软件系统两个部分组成,它们构成了一个完整的计算机系统。

2.按功能划分,软件可分为系统软件和应用软件两种。

3.操作系统是在裸机上加载的第一层软件,是对计算机硬件系统功能的首次扩充。

4.操作系统的基本功能是处理机(包含作业)管理、存储管理、设备管理和文件管理。

5.在分时和批处理系统结合的操作系统中引入“前台”和“后台”作业的概念,其目的是改善系统功能,提高处理能力。

6.分时系统的主要特征为多路性、交互性、独立性和及时性。

7.实时系统与分时以及批处理系统的主要区别是高及时性和高可靠性。

8.若一个操作系统具有很强的交互性,可同时供多个用户使用,则是分时操作系统。

9.如果一个操作系统在用户提交作业后,不提供交互能力,只追求计算机资源的利用率、大吞吐量和作业流程的自动化,则属于批处理操作系统。

10.采用多道程序设计技术,能充分发挥CPU 和外部设备并行工作的能力。

二、选择1.操作系统是一种B 。

A.通用软件B.系统软件C.应用软件D.软件包2.操作系统是对C 进行管理的软件。

A系统软件B.系统硬件C.计算机资源D.应用程序3.操作系统中采用多道程序设计技术,以提高CPU和外部设备的A 。

A.利用率B.可靠性C.稳定性D.兼容性4.计算机系统中配置操作系统的目的是提高计算机的B 和方便用户使用。

A.速度B.利用率C.灵活性D.兼容性5.C 操作系统允许多个用户在其终端上同时交互地使用计算机。

A.批处理B.实时C.分时D.多道批处理6.如果分时系统的时间片一定,那么D ,响应时间越长。

A.用户数越少B.内存越少C.内存越多D.用户数越多三、问答1.什么是“多道程序设计”技术?它对操作系统的形成起到什么作用?答:所谓“多道程序设计”技术,即是通过软件的手段,允许在计算机内存中同时存放几道相互独立的作业程序,让它们对系统中的资源进行“共享”和“竞争”,以使系统中的各种资源尽可能地满负荷工作,从而提高整个计算机系统的使用效率。

操作系统测试题(附答案)

操作系统测试题(附答案)

操作系统测试题(附答案)一、单选题(共IOO题,每题1分,共100分)1、一次中断后可能引起若干个进程状态的变化,因此中断处理后,由()决定哪个进程可占用处理器。

A、进程调度B、移臂调度C、页面调度D、作业调度正确答案:A2、某系统正在执行三个进程P1、P2和P3,各进程的计算时间和I/O时间比进例如下表所示。

为提高系统资源利用率,合理的进程优先级设置应为()o程计算时间I/O时间P190%10%P250%50%P315%85%A、P2>P1=P3B、P1>P2=P3C、P1>P2>P3D、P3>P2>P1正确答案:D3、操作系统采用分页存储管理方式,要求()oA、每个进程拥有一张页表,且进程的页表驻留在内存中B、每个进程拥有一张页表,但只有执行进程的页表驻留在内存中C、所有进程共享一张页表,以节约有限的内存空间,但页表必须驻留在内存中D、所有进程共享一张页表,只有页表中当前使用的页面必须驻留在内存中正确答案:A4、分区管理要求为每一个作业都分配()的主存单元。

A、若干地址不连续B、若干连续的页C、若干不连续的帧D、地址连续正确答案:D5、下列关于父进程和子进程的叙述中,正确的是()oA、子进程执行完了,父进程才能执行B、父进程创建了子进程,因此父进程执行完了,子进程才能执行C、撤销子进程时,应该同时撤销父进程D、撤销父进程时,应该同时撤销子进程正确答案:D6、资源的按序分配策略可以破坏()条件。

A、不剥夺B、环路等待C、互斥D、请求和保持正确答案:B7、()用于连接大量的低速和中速I/O设备。

A、数组选择通道B、字节选择通道C、字节多路通道D、数组多路通道正确答案:C8、由磁头进行读写完成信息传送的时间是()oA、优化时间B、查找时间C、传输时间D、等待时间正确答案:C9、wait、SignaI操作是一种()。

A、机器指令B、低级进程通信原语C、作业控制命令D、系统调用命令正确答案:B10、建立多进程的主要目的是提高()的利用率。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1、假定访问主存时间为100毫微秒,访问相联存储器时间为20毫微秒,相联存储器为32个单元时快表命中率可达90%,按逻辑地址存取的平均时间为:
(100+20)×90%+(100+100+20)×(1-90%)=130毫微秒比两次访问主存的时间100毫微秒×2=200毫微秒下降了四成多。

有效访问内存的时间
T=P TLB*(T TLB+T M)+ (1-P TLB)*(T TLB + 2T M)其中,P TLB为快表的命中率,T TLB为快表的访问时间, T M为内存的访问时间
2、假设一个分页存储系统具有快表,多数活动页表项都可以存在其中。

如果页表放在内存中,内存访问时间是
1us,若快表的命中率是85%,则有效存取时间为多少?若快表的命中率为50%,那么有效存取时间为多少?
(1) 0.85*1+(1-0.85)*(1+1)=1.15us
(2) 0.5*1+(1-0.5)*(1+1)=1.5us
3、设有8页的逻辑空间,每页有1024字节,它们被映射到32块的物理存储区中。

那么,逻辑地址的有效位是(13)位,物理地址至少是(15)位。

某页式存储管理系统中,地址寄存器长度为24位,其中页号占14位,则主存的分块大小应该是(2的10次方),程序最多占有(2的24次方)页。

4、分页存储管理中,页表的功能是什么?当系统中的地址空间变得非常大时,会给页表的设计带来什么样的新问题?请给出一种解决方案,分析它的优点和缺点。

A.页表的作用是实现从逻辑地址中的页号到内存物
理块的地址映射。

B.当地址空间变得非常大时,进程的页表也将变得
非常大,而且还要求是连续存放的,这样对页表
的存储造成困难。

C.采用的解决方案:二级页表。

将页表分页,使每
个页面的大小与内存物理块的大小相同,并将它
们进行编号,将个页面放在不同的物理块中,或
将当前所需的部分页表项装入内存,其余表项驻
留在外存,必要时调入。

并为这些离散分配的页
表再建立一个外层页表
D.二级页表方法适应了地址空间的需要,较好地实
现了虚拟存储系统。

但也增加了地址变换的开销
和系统管理的复杂性。

“重定位”,在实际上指的是这样相互联系的两件事情:一是确定一个待执行程序在内存中的位置;二是将程序中的逻辑地址转换成物理地址。

静态重定位,指的是在程序装入时实现的重定位。

就是将程序装入内存后,立即根据其装入位置将程序中需重定位的逻辑地址转换成物理地址。

这种“定位”的特点是“定位”之后,内存中的代码发生了变化,程序不能在内存移动,CPU按物理地址运行程序。

动态重定位,是在程序执行的过程中,根据执行的需要动态地装入、链接和定位。

这种方法主要特点是重定位后,内存中的代码没有发生变化,允许程序执行的过程中在内存移动位置,这种位置移动提高内存空间的利用率。

6、在分页、分段和段页式存储管理中,当访问一条指令或一项数据时,需要访问内存几次?各做什么处理?
A.在分页存储管理中,当访问一条指令或数据时,
系统需要访问内存2次。

其中,第1次需要访问
存放在内存中的页表,并实现地址变换,求得物
理地址;第2次是访问内存中所需的指令或数据。

B.在分段存储管理中,当访问一条指令或数据时,
系统需要访问内存2次。

其中,第1次需要访问
存放在内存中的段表,并实现地址变换,求得物
理地址;第2次是访问内存中所需的指令或数据。

C.在段页式存储管理中,当访问一条指令或数据时,
需要访问内存3次。

第1次访问内存中的段表,
查找段号对应的页表基地址;第2次访问内存中
的页表,实现地址转换;第3次访问所需的指令
和数据。

7.在采用页式存储管理的系统中,某作业J的逻辑地址空间为4页(每页2048字节),且已知该作业的页面映像表(即页表)如下。

试借助地址变换图(要求画出地址变换图)求出有效逻辑地址4865所对应的物理地址。

8、哲学家吃饭问题分析:
最多允许4个哲学家同时坐在桌子周围仅当一个哲学家左右两边的筷子都可用时,才允许他拿筷子( )给所有哲学家编号,奇数号的哲学家必须首先拿左边的筷子,偶数号的哲学家则反之。

semaphore fork[5] = {1,1,1,1,1};
semaphore room =4;
int i;
void philosopher (int i);
{while ⑴
{ think( );
wait (room);
wait (fork[i]);
wait (fork [(i+l) %5]);
eat( );
signal (fork [(i+l) % 5]);
signal (fork[i]);
signal (room);
}}
void main( )
{ for(int i=0;i<5;i++)
cobegin
philosopher (i);
coend }
采用AND信号量集解决哲学家就餐问题
设fork[5]为5 个信号量,初值为均1
Philosopher(i)
while (1)
{ 思考;
Swait( fork[i], fork[(i+1) % 5] );
进食;
Ssignal( fork[i], fork[(i+1) % 5] );
}
semaphore fork[5] = {1,1,1,1,1};
int i;
void philosopher (int i);
{ while ⑴
{ think( );
if(i/2 ==0)
{ wait(fork[i]);
wait(fork [(i+l) %5]);
} else
{wait (fork [(i+l)% 5]);
wait (fork[i]);
}
eat( );
signal(fork [(i+l) % 5]);
signal(fork[i]);
}
}。

相关文档
最新文档