操作系统面试题整理

来源:互联网 发布:手机蓝牙网络共享电脑 编辑:程序博客网 时间:2024/06/01 10:42

操作系统面试题整理



1、感知进程存在的唯一标志是:进程控制块PCB。
2、访问临界资源应遵循的准则是:空闲让进、忙则等待、有限等待、让权等待。
3、一个批处理型作业,从进入系统并驻留在外存的后备队列开始,直至作业运行完毕,一般要进行以下三级调度:高级调度、中级调度、低级调度。
4、用信号量S实现对系统中5台打印机的互斥使用,S.value的初值应设置为(5),若S.value的当前值为-1,则表示S.L队列中有(1)个等待进程。
5、进程的(并发执行)是指若干进程在执行时间上是重叠的。
6、(进程)是一个程序对某个数据集的一次运行活动。
7、并发进程在访问共享变量时,可能会出现与(时间)有关的错误。
8、程序并发执行与顺序执行相比产生了一些新特征,分别是:间断性、失去封闭性、不可再现性。
9、(前趋图)展示了语句间的一种执行顺序关系,而(进程图)展示了进程之间的关系。
10、进程的基本特征是:动态性、并发性、独立性、异步性、结构特征。
11、程序的(顺序执行)通常是在单道程序的工作环境中,具有运行结果(可再现性特征)。
12、进程的基本状态有:执行态、就绪态、阻塞态。
13、进程是(动态)的概念,而程序是(静态)的概念。
14、进程控制快的初始化工作包括:初始化标识符信息、初始化处理机状态信息、初始化处理机控制信息。
15、(线程)是进程内一个相对独立、可调度的执行单元,是系统进行调度的基本单位。
16、(进程同步)是指进程间在逻辑上的相互制约的关系。
17、在进程中访问临界资源的代码段叫(临界区)。


18、Windows这样的多任务系统和Unix这样的多进程系统在调度上有何不同?


从调度上讲,在Windows这样的多任务系统中,当前执行哪个任务是由用户决定的,是用户可控制的;而在Unix这样的多进程系统中,当前运行哪个进程是由内部的调度算法决定,是对用户透明的,用户是不可直接控制的。


19、进程和线程的主要区别是什么?


在有进程和线程的系统中,进程是系统资源分配的独立单位,而线程是可调度运行的独立单位。


20、程序的并发执行为什么会有间断性?


并发执行是指系统内有多道程序在宏观上"同时"执行,但系统内往往只有一台处理机(CPU),因此只能分时地为多个程序服务。就一道程序而言,往往不是一次能够运行完成,而是以"走走停停"的方式完成其运行,这就是并发系统内程序执行的间断性。


21、进程能自己将自己唤醒吗?进程能自己将自己撤销吗?


唤醒进程和撤消进程都是要通过CPU上运行程序来实现的。一个进程入睡了,它就不可能被调度到CPU上运行;一个进程在撤消前必须先进入终止状态,而处于终止状态的进程不可能被调度到CPU上运行。因此,进程被唤醒、被撤消都不能由自己来完成,只能由别的进程实现。


22、程序并发执行与顺序执行时相比产生哪些新特征?


程序并发执行与顺序执行时产生的特性有:可分割性、失去封闭性、失去可再现性。


23、程序并发执行的主要特点是什么?


程序并发执行的主要特点是并发程序间具有相互制约的关系,程序并发执行失去了程序的封闭性和再现性,程序和机器执行程序的活动不再一一对应。


24、一个因等待I/O操作结束而进入阻塞状态的进程,何时被唤醒?


是在别的进程执行相应的I/O中断处理程序时唤醒的。


25、在什么情况下,可以一次唤醒一个进程和一次唤醒多个进程?


在I/O中断处理程序中,当唤醒进程时,只唤醒等待该I/O结束的那一个进程;当一个进程释放一个系统资源(如I/O缓存)时,将要唤醒所有因等待使用该资源而进入阻塞状态的进程。


26、进程的就绪状态和阻塞状态有何不同?


阻塞状态的进程还不具务执行的条件,即使放到处理机上能执行;就绪状态的进程具备了执行的所有条件,放在处理机上就能执行。


27、程序的并发执行将导致运行结果失去封闭性,这对所有的程序都成立吗?


并不是所有程序的并行执行都会导致运行结果失去封闭性。例如,当程序中都使用内部变量,不可能被外部程序访问时,程序的运行不会受到环境的影响。


28、父进程创建子进程之后,父子进程间的关系是什么?


一个进程创建子进程之后,进程与产生的进程之间的关系是父子关系,分别成为进程和子进程。子进程一经产生就与你进程并发执行,子进程共享父进程和子进程。子进程一经产生就与你进程并发执行,子进程共享父进程的正文段和已经打开的文件。


29、什么是线程?进程和线程的关系是什么?


线程可定义为进程内的一个执行单位,或者定义为进程内的一个可调度实体。 在具有多线程机制的操作系统中,处理机调度的基本单位不是进程而是线程。一个进程可以有多个线程,而且至少有一个可执行线程。进程和线程的关系是:(1)线程是进程的一个组成部分。(2)进程的多个线程都在进程的地址空间活动。(3)资源是分给进程的,而不是分给线程的,线程在执行中需要资源时,系统从进程的资源分配额中扣除并分配给它。(4)处理机调度的基本单位是线程,线程之间竞争处理机,真正在处理机上运行的是线程。(5)线程在执行过程中,需要同步。


30、简述引进线程的好处。


引进线程的好处为:(1)以线程作为系统调度的基本单位,减少了系统的时空开销。以进程为系统调度的基本单位的系统中,进程的切换是很频繁的。在切换中由于要保留当时的运行环境,还要设置新选中的进程的运行环境,这既花费了处理机的时间,又增加了主存的空间,从而也限制了系统进程的数量和进程的切换速度。(2)引进线程提高了系统的并行能力。线程作为进程内的一个可执行实体,减少了并行粒度。线程作为调度的基本单位而不是资源分配的基本单位,调度更为容易,而且采用线程提高系统的并行能力比采用进程更为有效。(3)同一进程的线程共享进程的用户地址空间,所以同一进程的线程间的通信更容易实现。


31、当系统内所有的进程都进入睡眠之后,系统还有可能复活吗?


只有两种情况下系统可以复活:一种情况是有因等待I/O操作完成而进入睡眠的进程,当相应的I/O操作完成后,I/O中断处理程序唤醒等待本次I/O的进程,而该进程在运行过程中又可能通过释放资源、发送消息等事件而唤醒其他进程,这样整个系统就又活跃起来了;另一种情况是没有等待I/O操作完成的进程,但有定时睡眠的进程,当睡眠时间到期,会由时钟中断将该入睡进程唤醒,从而获得可运行进程,并有可能使系统重新活跃起来。


32、当一个进程的父进程被撤销时,该进程是撤销好还是不撤销好?


在实际系统中,两种处理办法都是可行的,且各有优缺点。若撤消,则该进程的任务可能还没有完成,这显然是不利的,特别是当该进程的运行结果对其他进程的运行很重要(如该进程是其他进程的前趋进程,没有它的运行结果其他进程无法运行)时;若不撤消,则该进程又可能成为不可控的"孤儿",从而产生不可预测的结果。比较好的做法是,当一个进程的父进程被撤消时,可以将该进程"过继"给系统内一个级别较高的进程(如Unix中的1#进程),让它有一个"新的父亲",这样既可以继续完成其任务又不会成为不可控的。


33、简述进程为什么不能从就绪状态直接变成阻塞(睡眠)状态?


一个进程要进入阻塞(睡眠)状态,必须通过执行相应的程序才能实现,如Sleep()或Block()。就绪进程当前不在CPU上运行,不能执行任何程序,当然不能使自己直接进入阻塞状态。


34、为什么说进程同步问题关系到QS的成败?


这是因为,进程同步问题若处理不当,有可能会产生种种"与时间有关性错误",特别是当两个或多个进程共享了公共变量而又没有互斥地使用这些变量时,极有可能导致用户程序运行结果的不正确,这量种灾难性的后果。这种OS显然是不成功的,是用户不敢使用的。


35、同步机制应遵循的准则是什么?


有以下四条准则:空闲让进、忙则等待、有限等待、让权等待。


36、进程通信有那三种基本类型?


基于共享存储器的通信、基于消息传递系统的通信和基于管理文件的通信。


37、对临界区管理的要求是什么?


对临界区管理的要求是:(1)当有若干个进程要求进入它们的临界区时,应在有限的时间内使一个进程进入临界区,进程之间不应相互等待而使谁都不能进入临界区。(2)每次只允许一个进程进入临界区内。(3)进程在临界区内逗留应在有限的时间范围内。


38、高级调度和低级调度的主要任务是什么?为什么引入中级调度?


(1)高级调度又称为作业调度。它是批处理系统中使用的一种调度。其主要任务是按照某种算法从外存的后备队列上选择一个或多个作业调入内存,并为其创建进程、分配必要的资源,然后再将所创建的进程控制块插入就绪队列中。(2)低级调度又称进程调度。它是距离硬件最近的一级调度。其主要任务是按照某种算法从就绪队列上选择一个(或多个)进程,使其获得CPU。(3)引入中级调度的目的是为了提高内存利用率和系统吞吐量。其功能是,让那些暂时不能运行的进程不再占用宝贵的内存资源,而是调其到外存上等候。此时的进程状态为挂起状态。当这些进程重新具备运行条件且内存空闲时,由中级调度选择一部分挂起状态的进程调入内存并将其状态变为就绪状态。


39、在作业调度中需作出哪些决定?


(1)作业调度需要按照多道程序度(最大道数)决定一次接纳多少作业进入内存。如果太少将导致系统资源利用率低,且系统吞吐量低;太多将导致内存空间紧张,系统服务质量下降,作业运行周期过长。(2)作业调度需要决定接纳哪些作业进入内存。常用的算法有:先来先服务、短作业优先、最高优先级调度、响应比高者优先等。


40、在剥夺调度中,有哪些剥夺原则?


(1)时间片原则。在轮转算法中,CPU轮流为诸多进程服务,每个进程运行完自己的时间片后,系统就将CPU剥夺过来,交给下一个进程使用。(2)优先级原则。为紧迫的作业赋予较高的优先级,这种作业到达系统或由阻塞状态被唤醒后,若其优先级高于当前运行的进程的优先级,可以剥夺当前运行进程的CPU。(3)短作业(进程)优先原则。若一个作业(进程)到达系统,其运行长度比当前运行的进程长度明显的短,则剥夺当前运行的进程CPU。


41、引起进程调度的主要因素有?


(1)一个进程运行完毕。(2)一个正在运行的进程被阻塞。(3)在抢占式调度中,一个高优先级的进程被创建。(4)在抢占式调度中,一个高优先级进程由阻塞唤醒。(5)在轮转式调度中,正垢进程运行完一个时间片。


42、为什么说多级反馈队列能较好的满足各种用户的需要?


(1)终端用户的作业一般比较短小精悍,大多数在进入多级队列的第一级队列后运行一个时间片就可以完成。对于稍长一些的作业,只需在第二或第三队列上各执行一个时间片就可完成,因而感到满意。对于长作业来说,它将依次在第1,2,…,n个队列上运行,不会因作业太长而长期得不到处理。8.大多用户分时系统时间片长度的选择上,既要保证交互性,又要保证系统的效率。应考虑:(1)系统对响应时间T的要求(一般应小于等于2s~3s)。(2)就绪队列中的进程数目N(N与终端上的用户数目有关)。(3)系统的处理能力,一个时间片的长度q应能保证用户的大部分常用命令可处理完。(4)进程的转换时间q。(5)三者的关系可表示为:T=N(q+p)。


43、未实现实时调度,对实时系统提出了哪些要求?


(1)任务要提供必要的调度信息。开工的最后期限或完工的最后期限、处理时间长度、优先级、就绪时间以及资源需求等。(2)采用适当的调度方式。如果实时任务的运行长度较长且时间要求严格,那么实时系统应采用抢占式调度;如果所有的实时任务都比较小,且预知任务的开工最后期限,也可以采用非剥夺式调度。(3)能够快速响应外部中断。这要求,硬件上要有较高的中断机制,软件 上要使封锁中断时间间隔尽量短,以免贻误电动机。(4)快速的任务分派能力。尽量减少任务切换时间开销,使得一个任务完成后可以较快地切换到下一个任务去。


44、在多处理机系统中,比较有代表性的线程调度方式有哪几种?


(1)自调度方式。诸多CPU可以共享同一就绪队列,从中获取就绪线程运行。(2)成组调度方式。由系统将若干相关的线程同时分配到多台CPU上运行。线程与CPU一一对应。(3)专用处理机分配方式。将若干同属于一个应用程序的线程分配到一组专用CPU上运行。


45、UNIX系统中的优先权和优先数有什么关系?如何确定进程的优先权和优先数?


UNIX中每个进程都有一个优先数,就绪进程能否占用处理器的优先权取决于进程的优先数,优先数越小则优先权越高。UNIX以动态方式确定优先权,如核心的进程优先权高于进入用户态的进程;降低用完一个时间片的进程的优先权;对进入睡眠的进程,其等待事件越急优先数越高;降低使用处理器时间较长的进程的优先权。UNIX中确定进程优先数的方法有两种:设置方法和计算方法。前者对要进入睡眠状态的进程设置优先数,若等待的事件急迫,则设置较小的优先数;后者用户进程正在或即将转入用户状态运行时确定优先数。


46、作业调度算法是按照什么样的原则来选取作业并投入运行,调试算法的合理性直接影响系统的效率,作业调度算法有哪些?对算法的选择要考虑哪些问题?


作业调度算法:1、先来先服务算法;2、短作业优先算法;3、最高响应比作业优先算法;4、资源搭配算法;5、多队列循环算法对算法的选择要考虑三个目标:1、尽量提高系统的作业吞吐量,即每天处理尽可能多的作业;2、尽量使CPU和外部设备保持忙碌状态,以提高资源利用率;3、对各种作业公平合理,使用有用户都满意。


/*********************************************************************************/


47、为什么说互斥也是一种同步?


互斥指的是某种资源一次只允许一个进程使用,即你在使用的时候我不能使用;我在使用的时候你不能使用。这就是一种协调,一种"步伐"上的一致,因而也就是一种同步。但是,为了求解实际问题,将"同步"与"互斥"加以区别是有好处的,因为这两种问题的求解方法是不同的。


48、何为死锁?产生死锁的原因和必要条件是什么?


(1)死锁是指多个进程因竞争资源而造成的一种僵持状态。若无外力作用,这些进程都将永远处于阻塞状态,不能再运行下去。(2)产生死锁的原因有:资源不足、进程推进次序不当。(3)产生死锁的必要条件有:互斥条件、请求和保持条件、环路等待条件。


49、比较三种解决死锁的方法?


比较三种解决死锁的方法:(1)预防死锁方法,主要是破坏产生死锁的必要条件。该方法是最容易实现的,但系统资源利用率较低。(2)避免死锁方法,比较实用的有银行家算法(Banker Algorithm)。该算法需要较多的数据结构,实现起来比较困难,但资源利用率最高。(3)检测死锁方法是基于死锁定理设计的。定期运行该算法对系统的状态进行检测,发现死锁便予以解除。其中,需要比较一下各咱死锁解除方案的代价,找到代价最小的方案。该方法最难实现,资源利用率较高。


50、预防死锁方法是破坏产生死锁的必要条件?


(1)摈弃请求和保持条件。采用静态分配方案,一次性地分配给进程所请求的全部资源。进程运行过程中不可再请求新资源。(2)摈弃不剥夺条件。采用动态分配方案,进程运行中可以请求新资源。若进程请求资源不能满足时,就应使其释放已占有的资源。(3)摈弃环路等待条件。采用动态分配方案,要求进程请求资源时,按资源序号递增(或递减)顺序提出。(4)摈弃不可剥夺条件。利用Spooling系统将独享设备改造成共享设备。


51、何谓安全分配方式和不安全分配方式?


安全分配方式和不安全分配方式的说明如下:(1)安全分配是一种"摒弃请求和保持条件"的资源分配方式。在这种方式中,一个进程请求资源一旦获得(例如I/O请求时获得所需的设备),该进程就由运行状态变为阻塞状态,使它不可能再请求新资源。相反,当该进程再开始运行时(例如I/O完成后被唤醒),它已不再占有该资源。因此,这种分配摒弃了造成死锁的一个条件,分配是安全的。这种分配方式的缺点是进程推进速度慢,因为进程与I/O是串行的。(2)不安全的分配方式是指进程在提出字请求时(例如I/O请求)并不将它阻塞,而是允许它继续使用CPU,并提出第二次资源请求。这样,若第二次请求的资源已被其他今年成占用使该进程被阻塞时,则该进程具备了"请求和保持"条件,可能产生死锁,因而说,这种分配是不安全的分配。


52、何为死锁?产生进程死锁产生的原因和必要条件是什么?


所谓死锁是指多个进程在运行过程中因争夺资源而造成的一种僵局,若无外力作用,这些进程将无法再向前推进。产生的原因有两点:(1)竞争资源(2)进程推进顺序非法。产生死锁的必要条件是:(1)互斥条件(2)请求与保持条件(3)不剥夺条件(4)环路等待条件。


53、解除死锁,在选择撤消进程或抢占资源进程时,可考虑那些因素?


可考虑的因素有:(1)优先权;(2)进程已执行的时间;(3)估计剩余的执行时间;(4)已产生的输出量;(5)已获得的资源量和资源类型;(6)还需要的资源量;(7)进程的类型;(8)需要撤消的进程数目等。


54、简述解决死锁问题的三种方法。


① 死锁的防止。系统按预定的策略为进程分配资源,这些分配策略能使死锁的四个必要条件之一不成立,从而使系统不产生死锁。② 死锁的避免。系统动态地测试资源分配情况,仅当能确保系统安全时才给进程分配资源。③ 死锁的检测。对资源的申请和分配不加限制,只要有剩余的资源就呆把资源分配给申请者,操作系统要定时判断系统是否出现了死锁,当有死锁发生时设法解除死锁。


55、产生死锁的原因是什么?


① 系统资源不足;② 进程推进顺序不合适。在早期的系统中,由于系统规模较小,结构简单,以及资源分配大多采用静态分配法,使得操作系统死锁问题的严重性未能充分暴露出来。但今天由于多道程序系统,以至于数据系统的出现,系统中的共享性和并行性的增加,软件系统变得日益庞大和复杂等原因,使得系统出现死锁现象的可能性大大增加。


56、计算机系统的资源包括哪些?


计算机系统的资源包括两大类:硬件资源和软件资源。硬件资源主要有中央处理器、主存储器、辅助存储器和各种输入输出设备。软件资源有编译程序、编辑程序等各种程序以及有关数据。


57、试说明资源的静态分配策略能防止死锁的原因。


资源静态分配策略要求每个过程在开始执行前申请所需的全部资源,仅在系统为之分配了所需的全部资源后,该进程才开始执行。这样,进程在执行过程中不再申请资源,从而破坏了死锁的四个必要条件之一"占有并等待条件",从而防止死锁的发生。


58、死锁发生的必要条件有哪些?


发生死锁的必要条件有四点:互斥条件、不可抢占条件、部分分配条件和循环等待条件。① 互斥条件:系统中存在一个资源一次只能被一个进程所使用;② 非抢占条件:系统中存在一个资源仅能被占有它的进程所释放,而不能被别的进程强行抢占。③ 占有并等待条件:系统中存在一个进程已占有了分给它的资源,但仍然等待其他资源。④ 循环等待条件:在系统中存在一个由若干进程形成的环形请求链,其中的每一个进程均占有若干种资源中的某一种,同时每个进程还要求(链上)下一个进程所占有的资源。


/*********************************************************************************/


59、把作业装入内存时随即进行地址变换的方式称为(静态重定位)。


60、什么是动态链接?用何种内存分配方法可以实现这种链接?


动态链接就是指当程序运行到需要调用某一模块时,再去链接。对于未使用的模块就可以不必链接。采用段式内存分配方法可以实现这种动态链接。


61、为什么静态重定位后的程序在内存中不能移动?为什么动态重定位的程序在内存中可以移动?


静态重定位后的程序在内存中不能移动的原因如下:静态重定位后的程序的代码发生了变化,由原来逻辑地址的程序已经变为物理地址的程序,按物理地址的方式运行,因此不能再进行移动。动态重定位的程序在内存中可以移动的原因如下:动态重定位是在程序运行过程中由硬件进行地址变换,变换的结果存放在内存地址寄存器中。程序代码并没有发生变化,仍然是逻辑地址的代码,按逻辑地址的方式运行。因此,在内存中移动程序代码之后,仅需要根据代码新的起始位置,重新设定基地址寄存器的值。


62、虚存管理与实存管理的根本区别是什么?


根本区别就在于,虚拟管理允许部分装入和部分对换,而实存管理不允许这样做。所谓"部分装入",指的是一道应用程序不是全部装入内存以后才开始执行而是只装入其中一部分,甚至一点都不装入就开始运行,然后在运行的构成中根据需要逐步的装入其余部分;"部分对换",指的是当内存已满而又有新的将"部分"需要装入时,要把已在内存的某一"部分"换出去,以腾出空间存放新来者。部分装入和部分对换的结果是可以用较小的内存运行较大的程序。实存管理则不同,它所要求的是整体装入。


63、在采用首次适应算法回收内存时,可能会出现几种情况,该如何处理?


1、回收区与插入点的前一个空闲分区F1相邻接,此时应将回收区与插入点的前一分区合并,不必为回收分区分配新表项,而只须修改其前一分区F1的大小。2、回收区与插入点的后一个空闲分区F2相邻接,此时应将两分区合并,形成新的空闲分区,但用回收区的首址作为新空闲分区的首址,大小为两者之和。3、回收区同时与插入点的前、后两个分区邻接,此时将三个分区合并,使用F1的表项和F1的首址,取消F2的表项,大小为三者之和。4、回收区既不与F1邻接,又不与F2邻接。这时应为回收区单独建立一新表项,添写回收区的首址和大小,并根据其首址插入到空闲链中的适当位置。


64、怎样对内存进行分区?


对内存空间的划分是可以静态的,也可以动态的;可以是等长的,也可以不等长。静态划分是指系统运行之前就将内存空间划分成若干区域,通常,分配给进程的内存可能比进程实际所需的区域长。动态划分是在系统运行过程中才划分内存空间。这样,系统可按进程所需要的存储空间大小为其分配恰好满足要求的一个或多个区域。等长分区是将存储空间划分为若干个长度相同的区域。不等长分区则是将存储空间划分若干个长度不同的区域。


65、虚存储器的含义是什么?


虚存储器有两层含义,一是指用户程序的逻辑地址构成的地址空间;二是指当内存容量不满足用户要求时,采用一种将内存空间与外存空间有机地结合在一起,利用内外存自动调度的方法构成一个大的存储器,从而给用户程序提供更大的访问空间。


/*********************************************************************************/


66、什么是文件的逻辑结构和文件的物理结构?


文件的逻辑机构是从用户的观点出发所观察到的文件组织形式,是用户可以直接处理的数据及其结构,它独立于文件的物理特性,又称为文件组织。文件的物理结构,又称为文件的存储结构,是指文件在外存上的存储组织形式。这不仅与存储性能有关,而且与所采用的外存分配方式有关。


67、简述"删除文件"操作的系统处理过程。


用户用本操作向系统提出删除一个文件的要求,系统执行时把指定文件的名字从目录和索引表中除去,并收回它所占用的存储区域,但删除一个文件前应先关闭该文件。


68、简述"打开文件"操作的系统处理过程。


用户要使用一个已经存放在存储介质上的文件前,必须先提出"打开文件"要求。这时用户也必须向系统提供参数:用户名、文件名、存取方式、存储设备类型、口令等。系统在接到用户的"打开文件"要求后,找出该用户的文件目录,当文件目录不在主存储器中时还必须把它读到主存储器中;然后检索文件目录,指出与用户要求相符合的目录项,取出文件存放的物理地址。对索引文件还必须把该文件的索引表存放在主存储器中,以便后继的读写操作能快速进行。


69、一个含五个逻辑记录的文件,系统把它以链接结构的形式组织在磁盘上,每个记录占用一个磁盘块,现要求在第一记录和第二记录之间插入一个新记录,简述它的操作过程。


从文件目录中找到该文件,按址读出第一个记录;取出第一个记录块中指针,存放到新记录的指针位置;把新记录占用的物理块号填入第一个记录的指针位置;启动磁盘把第一个记录和新记录写到指字的磁盘块上。


70、文件、文件系统的概念?


文件是具有符号名的、在逻辑上具有完整意义的一组相关信息项的有序序列。文件系统就是操作系统中实现文件统一管理的一组软件、被管理的的文件以及为实施文件管理所需的一些数据结构的总称。


71、文件从不同角度(性质和用途、信息的保存期限、保护方式、逻辑结构、物理结构、存取方式、内容,特别是逻辑结构和物理结构),可以分哪几类?


根据不同角度,可以将文件划分为不同类别:1、按性质和用途可分为:系统文件;库文件;用户文件;2、按信息的保存期限可分为:临时文件;永久性文件;档案文件;3、按文件的保护方式可分为:只读文件;读写文件;可执行文件;无保护文件;4、按文件的逻辑结构可分为:流式文件;记录式文件;5、按文件的物理结构可分为:顺序文件;链接文件;索引文件;Hash文件;索引顺序文件6、按文件的存取方式可分为:顺序存取文件;随机存取文件;7、按文件内容可分为:普通文件;目录文件;特殊文件。


72、文件系统的功能和优点?


文件系统的功能:1、统一管理文件存储空间(即外存),实施存储空间的分配与回收;2、确定文件信息的存放位置及存放形式;3、实现文件从名字空间到外存地址空间的映射,即实现文件的按名存取;4、有效实现对文件的各种控制操作(如建立、撤消、打开、关闭文件等)和存取操作(如读、写、修改、复制、转储等);5、实现文件信息的共享,并且提供可*的文件保密和保护措施。文件系统的优点:1、按名存取文件,以对用户透明的方式实现对名字空间的管理和信息浮动,使用方便灵活;2、采取保护、保密措施,安全可靠;3、实现文件共享,节省空间和时间开销。


73、具体阐述常用的几种文件物理结构及其优缺点。


常见的文件物理结构有以下几种:1、顺序结构又称连续结构。这是一种最简单的物理结构,它把逻辑上连续的文件信息依次存放在连续编号的物理块中。只要知道文件在存储设备上的起始地址(首块号)和文件长度(总块数),就能很快地进行存取。这种结构的优点是访问速度快,缺点是文件长度增加困难。2、链接结构这种结构将逻辑上连续的文件分散存放在若干不连续的物理块中,每个物理块设有一个指针,指向其后续的物理块。只要指明文件第一个块号,就可以按链指针检索整个文件。这种结构的优点是文件长度容易动态变化,其缺点是不适合随机访问。3、索引结构采用这种结构,逻辑上连续的文件存放在若干不连续的物理块中,系统为每个文件建立一张索引表,索引表记录了文件信息所在的逻辑块号和与之对应的物理块号。索引表也以文件的形式存放在磁盘上。给出索引表的地址,就可以查找与文件逻辑块号对应的物理块号。如果索引表过大,可以采用多级索引结构。这种结构的优点是访问速度快,文件长度可以动态变化。缺点是存储开销大,因为每个文件有一个索引表,而索引表亦由物理块存储,故需要额外的外存空间。另外,当文件被打开时,索引表需要读入内存,否则访问速度会降低一半,故又需要占用额外的内存空间。4、Hash结构又称杂凑结构或散列结构。这种结构只适用于定长记录文件和按记录随机查找的访问方式。Hash结构的思想是通过计算来确定一个记录在存储设备上的存储位置,依次先后存入的两个记录在物理设备上不一定相邻。按Hash结构组织文件的两个关键问题是:定义一个杂凑函数;解决冲突;5、索引顺序结构索引表每一项在磁盘上按顺序连续存放在物理块中。


74、什么是文件目录、目录文件与当前目录?


文件控制块的有序集合构成文件目录,每个目录项即是一个文件控制块。为了实现文件目录的管理,通常将文件目录以文件的形式保存在外存空间,这个文件就被称为目录文件。目录文件是长度固定的记录式文件。系统为用户提供一个目前正在使用的工作目录,称为当前目录。


75、文件目录结构有哪几种,各有什么优缺点?


文件目录结构一般有一级目录结构、二级目录结构和多级目录结构。一级目录结构的优点是简单,缺点是文件不能重名,限制了用户对文件的命名。二级目录结构实现了文件从名字空间到外存地址空间的映射:用户名->文件名文件内容。其优点是有利于文件的管理、共享和保护;适用于多用户系统;不同的用户可以命名相同文件名的文件,不会产生混淆,解决了命名冲突问题。缺点是不能对文件分类;当用文件较多时查找速度慢。多级目录结构的优点是便于文件分类,可为每类文件建立一个子目录;查找速度快,因为每个目录下的文件数目较少;可以实现文件共享;缺点是比较复杂。


76、为了提高检索速度,对文件目录应做怎样的改进?


可以利用目录项分解法解决这一问题,即把目录项(文件控制块)分为两部分:名号目录项,包含文件名以及相应的文件内部号;基本目录项,包含了除文件名外文件控制块的其他全部信息。目录文件也分为名号目录文件和基本目录文件。查找一个目录项就分成两步:首先访问名号目录文件,根据文件名查找相应的文件内部号;然后访问基本目录文件,根据文件内部号,可直接计算出相应基本目录项所在基本目录文件中的相对位置和物理位置,并将它直接读入内存。目录项分解法的优点是提高了文件目录检索的速度。



0 0
原创粉丝点击