操作系统(1~8章的课后习题答案)

更新时间:2024-01-28 21:08:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

1.1:存储程序式计算机的主要特点是:集中顺序过程控制(1)过程性:模拟人们手工操作

(2)集中控制:由CPU集中管理 (3)顺序性:程序计数器

1.2:a:批处理系统的特点:早期批处理有个监督程序,作业自动过渡直到全部处理完,而脱机批处理的特点:主机与卫星机并行操作。

b:分时系统的特点:(1):并行性。共享一台计算机的众多联机用户可以在各自的终端上同时处理自己的程序。

(2):独占性。分时操作系统采用时间片轮转的方法使一台计算机同时为许多终端上同时为许多终端用户服务,每个用户的感觉是自己独占计算机。操作系统通过分时技术将一台计算机改造为多台虚拟计算机。

(3):交互性。用户与计算机之间可以进行“交互会话”,用户从终端输入命令,系统 通过屏幕(或打印机)将信息反馈给用户,用户与系统这样一问一答,直到全部工作完成。

c:分时系统的响应比较快的原因: 因为批量操作系统的作业周转时间较长,而分时操作系统一般采用时间片轮转的方法,一台计算机与许多终端设备连接,使一台计算机同时为多个终端用户服务,该系统对每个用户都能保证足够快的响应时间,并提供交互会话功能。

1.3:实时信息处理系统和分时系统的本质区别:实时操作系统要追求的目标是:对

外部请求在严格时间范围内做出反应,有高可靠性和完整性。其主要特点是资源的分配和调度首先要考虑实时性然后才是效率。此外,实时操作系统应有较强的容错能力,分时操作系统的工作方式是:一台主机连接了若干个终端,每个终端有一个用户在使用。用户交互式地向系统提出命令请求,系统接受每个用户的命令,采用时间片轮转方式处理服务请求,并通过交互方式在终端上向用户显示结果。用户根据上步结果发出下道命。分时操作系统将CPU的时间划分成若干个片段,称为时间片。操作系统以时间片为单位,轮流为每个终端用户服务。每个用户轮流使用一个时间片而使每个用户并不感到有别的用户存在。分时系统具有多路性、交互性、“独占”性和及时性的特征。

1-4:(1):嵌入式系统是指计算机作为某个专用系统中的一个部件而存在,嵌入到更大的,专用的系统中的计算机系统,是一种以应用为中心,以计算机技术为基础,软件硬件课裁剪,功能,可靠性,成本,体积,功耗有严格要求的专用计算机系统。

(2):嵌入式操作系统是一种用途广泛的系统软件,过去它主要用于工业控制和国防系统领域。

1.5:多道程序设计技术是在计算机主存中同时存放几道相互独立的程序,他们在操作系统控制之下,相互穿插地运行。当某道程序因某种原因不能继续运行下去时(如等待外部设备传输)操作系统便将另一道程序投入运行,这样可以是CPU和各外部设备尽可能地并行操作,从而提高计算机的使用效率。 (2)多道程序运行的特征:a:多道:计算机主存中同时存放几道相互独立的程序 b:宏观上并行:同时进入系统的几道程序都处于运行过程中,即它们都开始运行,但都未运行完毕。

c:微观上串行:从微观上看,主存中的多道程序轮流或分时的占有处理机,交替执行。

1.6:分时技术是把处理机时间划分成很短的时间片(如几百毫秒)轮地分配给各个应用程序使用,如果某个程序在分配的时间片用完之前计算还未完成,该程序就暂停执行,等待下一轮继续计算。此时处理机让给另一个用户程序使用。 1.7:a:操作系统是计算机系统中所有软件与硬件想连接的第一层软件,它在裸机上运行。同时是系统软件和应用软件运行的基础。操作系统是计算机中管理所有硬件和软件的软件。

操作系统是一个大型的程序系统,它负责计算机系统软,硬件资源的分配;控制和协调并发活动;提供用户接口,使用户获得良好的工作环境。

b:操作系统的特性是(1):并发 能处理多个同时性活动的能力。在单机上,可以在CPU和I/O设备上同时操作。

(2):共享 多个计算机任务对系统资源的共同享用。

(3):不确定性 操作系统能处理大量的,随机的事件序列,使各用户的计算任务正确地完成。

1.8:操作系统的资源管理功能包括处理机管理,存储管理,输入/输出管理和文件系统管理这四大功能。

其中处理机管理 和输入输出管理这两个功能与计算机系统的硬部件有关 。

1-10:Windows系统是嵌入式操作系统。

1-11:UNIX系统是一个多用户分时操作系统,Linux是类似于UNIX操作系统的个人计算机操作系统。

1-12:操作系统应该解决的基本问题有:a:资源分配的策略和方法 b:协调并发活动的关系 c:保证数据的一致性 d:实现数据的存取控制

1-13:操作系统的类型主要有:批量操作系统,分时操作系统,实时操作系统,个人计算机操作系统,网络操作系统和分布式操作系统这几种。

1-14:在多用户多任务操作系统中,所采用的关键技术有并行处理技术和虚拟技术。 第二章

2-1:操作系统虚拟机是就是一个操作系统上,通过虚拟机软件的方式,虚拟出另外一

台机器出来,操作系统虚拟机提供了协助用户解决问题的环境,其功能是通过它提供的命令来体现的,用户也是通过这一组命令和操作系统虚拟机打交道。

2-2:在设计操作系统时,可以考虑的结构组织有模块结构,接口和运行时的组织结构三个方面。

2-3:处理机的态又称为处理机的特权级,就是处理机当前处于何种状态,正在执行哪类程序。要区分处理机的态是因为操作系统的管理程序和用户程序在处理机上执行

时,二者的职责不同,权限也不同,为此,根据对资源和机器指令的使用权限,将处理执行时的工作状态区分为不同的态。

2-4:管态又称为系统态,是操作系统的管理程序执行时机器所处的状态。用户态又称为目态,是用户 程序执行时机器所处的状态,在此状态下禁止使用特权指令。

这两者的区别是管态可以在它对应的状态下中央处理机可以使用全部的指令,包括一组特权指令,而用户态在它对应的状态下禁止使用特权指令,管态可以使

用所有的资源,允许访问整个存储区,用户态却不能直接取用资源与改变机器状态,并且只允许用户程序访问自己的存储区域。

2-5:中断是是指某个事件(例如电源掉电,定点加法溢出或I/O传输结束等)发生时,系统中止现行程序的运行,引出处理该事件的程序进行处理,处理完毕后返回断点,继续执行。

在计算机系统中要引进中断的原因是为了实现并发活动,为了实现计算机系统的自动化工作,系统必须具备处理中断的能力。

2-6:按中断的功能来分,中断的类型有输入输出中断,外中断,机器故障中断,程序性中断,访管中断。

2-7:强迫性中断,这类中断事件不是正在运行的程序所期待的,而是由某种事故或外部请求信号所引起的。

自愿中断是运行程序所期待的事件,这种事件是由于运行程序请求操作系统服务而引起的。

例如在按功能所分的五大类中断中,输入输出中断,外中断,机器故障中断,程序性中断属于强迫性中断,访管中断属于自愿中断类型。

2-8:中断与俘获的不同在于:中断由处理机外部事件引起的中断,在x86中称之为异步中断,它是随着CPU的时钟随机产生的,可能发生在一条指令执行过程中,也可能发生在一条指令执行后,包括I/O中断,外中断。

俘获由处理机内部事件引起的中断,在x86中称为异常,也称为同步中断,包括访管中断,程序性中断,机器故障中断。同步中断指的是由CPU控制单元产生,是在一条指令执行完毕后才会发出中断,如执行了一条INT指令。 2-9:中断响应是当中央处理机发现已有中断请求时,中止现行程序执行,并自动引出中断处理程序的过程。,其实质是交换用户程序和处理该中断事件的中断处理程序的指令执行地址和处理器状态,以达到如下目的:(1)保留程序断点及有关信息 (2)自动转入相应的中断处理程序执行。

2-12:当中断发生时,由中断源自己引导处理机进入中断服务程序的中断过程称为向量中断。

提高中断的处理速度,在向量中断中,对于每一个中断类型都设置一个中断向量,中断向量就是该类型中断的中断服务例行程序的入口地址和处理器状态字。

2-13:软件的中断处理过程主要分为三个阶段过程:(1)保护现场和传递参数(2)执行相应的中断(或自陷)服务例程(3)恢复和退出中断 图如下:

第3章

3-1:系统生成是指为了满足物理设备的约束和需要的系统功能,通过组装一批模块来产生一个清晰的,使用方便的操作系统的过程。

3-2:系统引导的主要任务是将操作系统的必要部分装入主存并使系统运行,最终处于命令接受状态。

3-3:处理应用程序分为的步骤有:(1)编辑(修改):建立一个新文件,或对已有的文件中的错误进行修改。

(2)编译:将源程序翻译成浮动的目标代码,完成这一步工作需要有相应语言编译器,如源程序是C 语言写的,那么必须要有C编译器

(3)连接:将主程序和其他所需要的子程序和例行程序连接装配在一起,使之成为一个可执行的,完整的主存映像文件 。

(4)运行:将主存映像文件调入主存,并启动运行,最后得出计算结果。 这些步骤之间的联系,具体表现为:a:每个步骤处理的结果产生下一个步骤所需要的文件。b:一个步骤能否正确执行,依赖于前一个步骤是否成功的完成。

3-4: 静态连接与动态连接的区别在于:静态连接,当有多个应用程序都需要调用同一个库函数时,这多个应用程序的目标文件中都将包含这个外部函数对应的代码;动态连接不需要将应用程序所需要的外部函数代码从库中提取出来并连接到目标文件中,而是在应用程序需要调用外部函数的地方做记录,并说明要使用的外部函数名和引用入口号,形成调用链表。

3-5:用户与操作系统的接口是:程序接口,命令接口,图形接口。一个分时系统提供的

接口有操作接口和程序接口。一个批处理系统提供的接口是:系统功能调用和作业控制语言 3-6:Windows系统提供的用户接口是图形化用户界面。

3-8 什么是系统调用?对操作系统的服务请求与一般的子程序调用有什么区别?

答:系统调用是用户在程序一级请求操作系统服务的一种手段,它不是一条简单的指令,而是带有一定功能号的访管指令。

区别:操作系统服务的功能都是与操作系统本身有关的,对它的调用是通过一条访管指令来实现的。

3-10 简述系统调用的执行过程?

答:执行过程:在用户程序中,需要请求操作系统服务的地方安排一条系统调用,这样当程序执行到这一条指令时就会发生中断,系统由用户态转为管态,操作系统的访管中断处理程序得到控制权,它将按系统调用的功能号,借助例行子程序入口地址表转到相应的例行程序去执行在完成用户需要的服务功能后,退出中断,返回到用户程序的断点继续执行。

第四章

4-1试解释下列名词,程序的顺序执行,程序的并行执行

答:一个计算机由若干操作组成,若这些操作必须按照某种先后次序来执行,以保证操作结果的正确性,就是程序顺序执行。程序的并行执行时指:若干程序同时在系统中运行,这些程序的执行在时间上是重叠的,一个程序的执行尚未结束,另一个程序的执行已经开始。 4-2.什么是时间有关的错误?试举例说明。

答:程序并行执行时共享了公共变量,其执行结果将与并行执行的相对速度有关,即,给定相同的初始条件,也可能得到不同的结果,此为与时间的有关错误,例如:在程序A和程序B中,共享了变量N=3,程序A进行N++,程序B进行printf和N=0操作,由于程序A和程序B共享N,所以A和B的执行顺序不同会得到不同的结果,就产生了时间有关错误的问题。

4-3:进程是:

(1):进程是这样的计算部分,它是可以和其他计算并行的一个计算。 (2):进程(有时称为任务)是一个程序与其数据一道通过处理机执行所发生的活动。

(3):任务(或称为进程)是由一个程序以及与它相关的状态信息(包括寄存器内容,存储区域和链接表)所组成的。

(4):所谓进程,就是一个程序在给定活动空间和初始环境下,在一个处理机上的执行过程。

(5)根据1978年在庐山召开的全国操作系统会议上关于进程的讨论,结合国外的各种观点,国内对进程这一概念做了如下描述:进程是指一个具有一定独立功能的程序关于某个数据集合的一次运行活动。

进程与程序的主要区别:a:程序是指令的有序集合,是一个静态概念,其本身没有任何运行的含义。而进程是程序在处理机上的一次执行过程,是一个动态概念。程序可以作为一种软件资料长期保存,而进程则是有一定生命期的,它能够动态地产生和消亡。即进程可由”创建“而产生,由调度而执行,因得不到资源而暂停,以致最后由”撤销“而消亡。

b:进程是一个能独立运行的单位,能与其他进程并行地活动。

c:进程是竞争计算机系统有限资源的基本单位,也是进行处理机调度的基本单位。

4-4:(1) 顺序程序的操作是有先后次序的,原因是:以保证操作结果的正确性。

并发程序的操作是可以并发执行的,原因:系统中存在大量的操作,就可以进行并发执行处理,提高系统的处理能力和计算机的利用率。

4-6:进程的基本状态:运行状态,就绪状态,等待状态。在一个系统中必须区分这几种状态的原因是 :

1)系统中处理机的数目总是少于进程数,只有少数进程能够获得处理机控制权。

2)有些进程已经获得处理机控制权(运行状态);

3)有些进程希望获得处理控制权但因处理机太少而暂时得不到(就绪);

4)有些处理机因某种原因暂时不能运行(等待)。

4-9:(1) 变迁2发生的原因是:时间片到;变迁3发生的原因是:服务请求(如请求I/O等);变迁4发生的原因是:服务完成、事件来到。 (2):在运行的状态下,进程因请求某种服务而变成等待状态,当请求的事件完成后,处于等待状态的进程并不能恢复到运行状态,而是转变为就绪状态,通过重新调度程序才能转变为运行状态。

(3):a:2->1,c:4—>1与b:3->2的因果关系可能发生,在阻塞的情况下或者运行因请求某种服务,运行可变成等待状况;在唤醒的情况下或者当请求的事件完成后,处于等待状态的进程并不能恢复到运行状态,等待可变成就绪;通过重新调度程序才能转变为运行状态。

4-10:原因:线程在活动期间,其状态时不断变化的,这些变化是有系统运行的状况,同时存在其他线程和线程本身的算法等因素共同决定的。 4-11:进程控制块是一个数据结构,是标识进程存在的实体。

作用是:当系统创建一个进程时,必须为他设置一个进程控制块(PCB),然后根据PCB的信息对进程实施控制和管理,进程任务完成时,系统撤销它的PCB,进程也随之消亡。总之进程控制块具有控制和管理的作用。

4-12: n个并发进程共用一个共用一个公共变量Q,写出用信号灯实现n个进程互斥时的程序描述,给出信号灯值的取值范围,并说明每个取值的物理意义。 main() {

int mutex=1; cobegin P1(); P2(); Pn(); coend }

P1() P2() Pn() { { { ... ... ...

P(mutex); P(mutex); P(mutex); cs1; cs2; csn;

v(mutex); v(mutex); v(mutex); } } }

对于两个并发进程,互斥信号灯的值仅取1、0、-1三个值。 若mutex=1,表示没有进程进入临界区; 若mutex=0,表示有一个进程进入临界区;

若mutex=-1,表示一个进程进入临界区,另一个进程等待进入。

4-13 :图4.30(a)、(b)分别给出了两个进程流图。试用信号灯的P、V操作分别实现图4.30(a)、(b)所示的两组进程之间的同步,并写出程序描述。 a:

P1 P2 P3 M P(S2); P(S3) v(S1); M M

v(S2); M M v(S3); 4-15 : main() {

int sa=1,sb=0;// sa 表示缓冲区s 是否为空,sb 表示是否有数据可被处理。 int ta=1,tb=0;// ta 表示缓冲区t 是否为空,tb 表示是否有数据可被处理。 cobegin get; copy; put; coend }

Get(){ Copy(){ Put(){ while(1){ while(1){ while(1){

P(sa); P(sb); P(tb);

input data to buffer s copy data from buffer s; output data to buffer s;

V(sb); V(sa); V(ta);

} P(ta); }

} input copy-data to buffer t; } V(tb); } }

4-16:a:进程的互斥是当某一进程正在访问某一存储区域时,就不允许其他进程来读出或者修改该存储区的内容,否则,就会发生后果无法估计的错误。进程之间的这种制约关系称为互斥。

b: 进程的同步是:就是并发进程在一些关键点上可能需要互相等待与互通消息,这种相互制约的等待与互通信息称为进程同步。

c: 同步与互斥这两个概念的区别与联系:相交进程之间的关系主要有两

种,同步与互斥。所谓互斥,是指散步在不同进程之间的若干程序片断,当某个进程运行其中一个程序片段时,其它进程就不能运行它 们之中的任一程序片段,只能等到该进程运行完这个程序片段后才可以运行。所谓同步,是指散步在不同进程之间的若干程序片断,它们的运行必须严格按照规定的 某种先后次序来运行,这种先后次序依赖于要完成的特定的任务。 显然,同步是一种更为复杂的互斥,而互斥是一种特殊的同步。 也就是说互斥是两个线程之间不可以同时运行,他们会相互排斥,必须等待一个线程运行完毕,另一个才能运行,而同步也是不能同时运行,但他是必须要安照某种次序来运行相应的线程(也是一种互斥),

互斥:是指某一资源同时只允许一个访问者对其进行访问,具有唯一性和排它性。但互斥无法限制访问者对资源的访问顺序,即访问是无序的。 同步:是指在互斥的基础上(大多数情况),通过其它机制实现访问者对资源的有序访问。在大多数情况下,同步已经实现了互斥,特别是所有写入资源的情况必定是互斥的。少数情况是指可以允许多个访问者同时访问资源。

4-20:进程创建的主要功能是:(1)为新建进程申请一个PCB。 (2)将创建者(即父进程)提供的新建进程的信息填入PCB中。

(3)将新建进程设置为就绪状态,并按照所采用的调度算法,把PCB排入就绪队列中

4.17 : Mian() { int full=0;int empty=n;int

mutex=1; cobegin p1(); p2(); … ;pm(); c1(); c2(); …

;ck(); coend} producer() { while{ …

生产一个产品; p(empty);

p(mutex);送一个产品到有界缓冲区; v(metex); v(full); }}

consumer(){ while{ p(full); p(mutex);

从有界缓冲区中取产品; v(mutex); v(empty) …

消 费一个产品;}}

4-21:用于进程控制的原语主要有:创建原语,撤销原语,阻塞原语,唤醒原语

等。

每个原语的执行将使进程的状态发生的变化有:a:创建原语:系统初始化时,每个PCB结构中进程标识符单元内都存放“-1”,表示该PCB结构为空,当创建原语执行成功后,该项内容为新创建进程的标示符。

b:撤销原语:使用进程撤销原语,将当前运行的进程的PCB结构归还到PCB资源池,所占用的资源归还给父进程,然后转进程调度程序。

c:阻塞原语:阻塞命令的功能是停止调用进程的执行,将CPU现场保留到该进程的PCB现场保护区;然后,改变其状态为“等待”,并插入到等待chan的等待队列;最后使控制转向进程调度。

d:进程唤醒:当进程等待事件发生时,唤醒等待该事件的进程。当发现者进程唤醒了一个等待某事件的进程后,控制仍应返回原进程。

4-22 :

答:线程是比进程更小的活动单位,它是进程中的一个执行路 径。

线程与进程的区别归纳:

a.地址空间和其它资源:进程间相互独立,同一进程的各线程间共享。某进程内的线程在其它进程不可见。

b.通信:进程间通信IPC,线程间可以直接读写进程数据段(如全局变量)来进行通信——需要进程同步和互斥手段的辅助,以保证数据的一致性。 c.调度和切换:线程上下文切换比进程上下文切换要快得多。 d.在多线程OS中,进程不是一个可执行的实体。 4-24:

(1):说明一个进程发生变迁3的原因是:由图可知变迁3是由运行到因I/O而阻塞的一个进程;这个 变迁发生的原因是要请求I/O,使程序运行受I/O限制,而变迁2是运行到低优先就绪,变迁4是因I/O而阻塞到高优先就绪。一个进程如果在运行中超过了它的时间片就进入低优先就绪队列,若一个进程从阻塞状态变为就绪状态时则进入高优先就绪队列。

(2):有可能发生,2->5是指低优先变为高优先,这情况是,当高优先级就绪队列为空,则从低优先级就绪队列中选中一个进程运行;低优先级其次选择是可转向运行状态;I/O完成时,高优先就绪,然后可进行运行程序;当运行超时间片时,又转向低优先就绪状态;因I/O而阻塞的状态,当I/O完成,可进入高优先就绪状态,自然的下一步就进入运行状态。 4-24:

(1):说明一个进程发生变迁3的原因是:由图可知变迁3是由运行到因I/O而阻塞的一个进程;这个 变迁发生的原因是要请求I/O,使程序运行受I/O限制,而变迁2是运行到低优先就绪,变迁4是因I/O而阻塞到高优先就绪。一个进程如果在运行中超过了它的时间片就进入低优先就绪队列,若一个进程从阻塞状态变为就绪状态时则进入高优先就绪队列。

(2):有可能发生,2->5是指低优先变为高优先,这情况是,当高优先级就绪队列为空,则从低优先级就绪队列中选中一个进程运行;低优先级其次选择是可转向运行状态;I/O完成时,高优先就绪,然后可进行运行程序;当运行超时间片时,又转向低优先就绪状态;因I/O而阻塞的状态,当I/O完成,可进入高优先就绪状态,自然的下一步就进入运行状态。

(3):该系统的电镀策略是优先级调度与时间片调度相结合的调度方法,具体如下:

a:当CPU空闲时,首先从高优先级队列中选择一个进程来运行,给定时间片为100ms;

b:如果高优先级就绪队列为空,则从低优先级就绪队列中选择一个进程运行,给定时间片为500ms;

调度效果是优先照顾了I/O量大的进程,适当照顾了计算量大的进程,同时,对提高计算机系统的资源利用率也是十分有利的。

4-26:进程调度的任务是:(1)记录进程的有关情况 (2):决定分配策略 (3):实施处理机的分配和回收

4-28:线程调度的 主要任务是:线程来执行某个短期的后台操作,两个调度程序,分为初始调度程序和时间片调度程序,它们以线程为调度单位,初始调度程序负责计算线程优先级,时间片调度程序负责确定时间,并分配给线程。

第五章:

5-1:虚拟资源是用户使用的逻辑资源,是操作系统将物理资源改造后, 呈现给用户的可供使用的资源,对主存储器而言,用户使用的虚拟资源 是虚拟存储器。提供给用户使用虚拟存储器的手段是逻辑地址空间,用户 在编辑时使用的是逻辑地址,空间大小不受限制。

5-2:常用的资源分配策略有先来先服务策略和优先调度策略。在先来服务 策略中资源请求队列的排序原则是按照提出请求的先后次序排序:在优先 调度策略中资源请求队列的排序原则是按照提出请求的紧迫程度(即优先级) 从高到低排序。

5-3:移臂调度是指在满足一个磁盘请求时,总是选取与当前移臂前进 方向上最近的那个请求,使移臂距离最短,旋转调度是指在满足一个磁盘 请求时,总是选取与当前读写磁盘旋转方向上最近的那个请求,使周旋圈数 最少。

5-4:两种移臂调度算法有:

答:(1)最短寻道时间优先算法(SSTF)

定义:最短寻找时间优先调度算法总是从等待访问者中挑选时间最短的 那个请求先执行 (2)扫描算法(SCAN)

定义:扫描算法又称电梯调度算法。SCAN算法是磁头前进方向上的最短 查找时间优先算法,它排除了磁头在盘面局部位置上的往复移动。

5-6:死锁是:在两个或多个并发进程中,如果每个进程持有某种资源而又都等待着别的进程释放它或它们现在保持着资源,在未改变这种状态之前都不能向前推进,称这一组进程产生了死锁。

例子:设一个具有3个磁带驱动器的系统,现有3个进程,某时刻,每个进程都占用了一个磁带驱动器。如果每个进程都不释放已占用的磁带驱动器,当还需要另一个磁带驱动器时,这3个进程就会处于互相死等的状态,这种状态成为死锁。

5-7:竞争与死锁的区别:两个进程读取文件的操作可以理解为竞争,因为竞争不当,因

此陷入了死循环,这个死循环实际上就是死锁。 但是,死锁不一定是由竞争引起的,譬如,一个进程C的设定是,它要等待消息C来到才能发送消息D,而消息C由进程D发出,而进程D发出消息C的条件是收到消息D——于是,这也形成了死锁。总之,竞争肯定是因为死锁,而死锁不一定因为竞争。

第七章

7-1:“设备独立性”是指用户在编制程序时所使用的设备与实际使用的设备无关,也就是在用户程序中仅使用逻辑设备名。引入这一概念的好处是为了方便用户使用各类设备,系统能屏蔽设备的物理特性,为用户建立虚环境,提高设备的利用率。

7-3:设备控制快是记录设备的硬件特性,连接和使用情况等信息的数据结构。它主要包括的内容:设备名,设备属性,指向命令转换表的指针,在I/O总线上的设备地址,设备状态,当前用户进程指针,I/O请求队列指针。

7-4:缓冲是在两种不同速度的设备之间传输信息时平滑传输过程的常用手段,引入缓冲的原因是用来临时存放I/O传输信息,以缓解信息的源设备和目标设备之间速度不匹配的问题。

7-5:常用的几种缓冲技术有:双缓冲(对于一个具有低频度活动的I/O系统是比较有效的);缓冲池(缓冲池中的缓冲区即可用于输出,也可用于输入)。

7-6:在双缓冲方案下,为输入输出分配两个缓冲区。这两个缓冲区可以用于输入数据,也可以用于输出数据;还可既用于输入,又用于输出数据。 (1):双缓冲用于数据输入:

双缓冲用于数据输入时,可提高设备并行操作的能力,读入数据的示意图如下: a:用双缓冲读入数据时,输入设备首先填满buf1; b:进程从buf1提取数据的同时,输入设备填充buf1;

c:当buf1空,buf2满时,进程又可以从buf2提取数据,与此同时,输入设备又可填充buf1

这两个缓冲区如此交替使用,使CPU和输入设备并行操作程度进一步提高。只有当两个缓冲区都空,进程还要提取数据时,该进程才被迫等待。

7-8:独占设备是让一个 应用程序在整个运行期间独占使用的设备。

独占设备的分配是:独占设备采用独享分配的方式或称为静态分配方式,即在一个应用程序执行之前,分配它所要使用的这类设备;当该应用程序处理完毕撤离时,收回分配给它的这类设备。静态分配方式实现简单,且不会发生死锁,但采用这种分配方式时外部设备利用率不高。

7-9:共享设备是:外部设备中如磁盘等直接存取设备都能进行快速的直接存取。它们往往不是让一个应用程序独占而是被多进程共同使用,或者说,这类设备就是共享设备。

共享设备分配,采用共享分配方式,即进行动态分配,当进程提出资源申请时,由设备管理模块进行分配,进程使用完毕后,立即归还。

7-10:虚拟设备技术 :由于一台设备可以和辅存中的若干个存储区域相对应,所以在形式上就好像把一台输入(或输出)设备变成了许多虚拟的输入(或输出)设备,也就是说,把一台不能共享的输入(或输出)设备转换成了一台可共享的缓冲输入(或输出)设备。

虚拟设备是通常把用来代替独占型设备的那部分外存空间,虚拟设备也是指在一

类设备上模拟另一类设备,被模拟的设备。

虚拟分配,当某个进程需要与独占型设备交换信息时,系统就将与该独占设备所对应的那部分磁盘,磁鼓的一部分存储空间分配给它,这种分配方法就称为设备的虚拟分配技术。

7-11:现代操作系统大多实现了虚拟设备技术,有的操作系统提供外部设备联机同时操作的功能称为Spool系统,又称为假脱机系统。

对于输入而言,预输入是指作业在执行前,预先把用户提交的若干个作业的信息(程序,数据)从低速设备(纸带机,读卡机)输入到高速外设(磁带,磁盘)上。

当用户程序被作业调度程序选中运行时,并发进程试图从低速输入设备上读数据时,SPOOLing程序截获此请求,把它转换为从磁盘上读。

对输出而言,缓输出是指为了将独享的打印机改造成为用户概念上的共享设备,当任何运行的互用进程要向打印机输出信息时,系统截获此请求,首先将输出的信息编制成打印文件,并将它们存放在可共享的快速设备上。

7-13:I/O控制的主要功能是:(1):解释用户的I/O系统调用 (2):设备驱动 (3):中断处理

7-14:使设备I/O的核心模块工作,有下列两种工作方式:(1)通过形式的系统调用 (2):设备处理进程

第八章

8-2:文件系统是操作系统中负责管理和存取文件信息的软件机构,它由负责操作和管理的进程序吗,模块,所需的数据结构(如目录表,文件控制快,存储分配表)以及访问文件的一组操作所组成。

文件系统的主要功能是负责文件的存储并对存入的文件进行保护,检索,负责对文件存储空间和分配等,具体包括:构造文件结构,提供存取文件的方法,辅存空间管理,提供文件共享功能,文件保护,提供一组文件操作命令。

8-3:文件的逻辑结构有(1)流式文件 (2):记录式文件

8-4:对文件的存取有基本方式是:顺序存取和直接存取两种。

顺序存取的特点是:顺序存取是指一次存取总是在前一次存取的基础上进行,所以不必给出具体的存取位置。

随机存取则是用户以任意次序请求某个记录。

8-7:索引文件是为了克服串联文件不适应随机访问的缺点,构造了不仅能充分利用辅存空间,又能随机的访问文件的任何一部分的索引文件,索引文件将逻辑文件顺序的划分成长度与物理存储块长度相同的逻辑快,然后为每个文件分别建立逻辑快号的对照表,这张表就称为该文件的索引表,用这种方法构造的文件就叫做索引文件。

8-10:一级文件的索引结构的构造是:在一级索引文件的构造中,利用磁盘块作为一级间接索引表块,若磁盘块的大小为512B,用于登记磁盘块号的表占用2B,这样会,一个磁盘块可以登记256个表项;一级间接索引。文件目录项中有一组表项,其内容登记的是第一级索引表块的块号,第一级索引表块中的索引表项登记的是文件逻辑记录所在的磁盘块号。

二级文件索引结构是,文件目录项中有一组表项,其内容登记的是第二级索引表块的块号,第二级索引表块中的索引表项登记的第一级索引表块的块号。

8-11:文件目录是记录系统中所有文件的名字及其存放地址的目录表,表中还包括关于文件的说明信息和控制信息。

文件目录项的主要内容:(1):文件名。文件名分为文件的符号名和内部标识符。

(2):文件的逻辑结构。说明该文件的记录是否定长,记录长度及记录个数等。 (3):文件的物理结构,即文件信息在辅存中的位置及排布。

(4):存取控制信息 (5)管理信息 (6)文件类型。指明文件的类型,例如可分为数据文件,目录文件,块存储设备文件,字符设备文件。

8-12:一级文件目录是系统为所有存入系统的文件建立一张表,用以标识和描述用户与系统进程可以存取的全部文件,其中,每个文件占一表目,由文件名和文件说明信息组成,这样的表称为一级文件目录。

一级文件目录的主要功能是实现了按名存取的功能,比较简单。

一级文件目录要求文件名和文件之间有一一对应的关系,即:不允许两个文件有相同的名称。

8-13:树型目录结构是:在多个目录系统中(除最末一级外),任何一级目录的目录项可以描述一个目录文件,也可以描述一个非目录文件(数据文件),而数据文件一定在树叶上,这样,就构成了一个树形层次结构

8-14:多级目录中,文件的路径名是由根目录到该文件的通路上所有目录文件符号名和该文件符号名组成的字符串,相互之间用分隔符分隔。

8-15:当前目录又称值班目录,它是当前用户正在使用的文件所在的目录,当指定当前目录后,用户对文件的所有访问都是相对于“当前目录”进行时。这时,文件路径名是由“当前目录”到信息文件的通路上所有各级目录的符号名加上该信息文件的符号名组成。

8-16:所谓“重名”是指不同用户对不同文件起了相同的名字,即两个或多个文件只有一个相同的符号名。又称为命名冲突。

为了解决命名冲突,获得更灵活的命名能力,文件系统必须采用多级目录结构。

8-17:所谓文件共享,是指某一个或某一部分文件可以让事先规定的某些用户共同使用。

文件路径名加快文件的查找有:建立当前目录;链接技术。

建立当前目录,当前目录又可以称为值班目录。按常规存取文件时给出的文件路径名是从

根目录开始的字符串,查找文件时也是从根目录开始查找。为了实现文件共享,系统令正在运行的进程获得一个当前目录,该进程对文件的所有访问都是相对于当前目录进行的。这时,用户文件的路径名由当前目录到信息文件的通路上所有各级目录的符号名加上该信息文件的符号名组成,符号名之间用分隔符分隔。系统规定标识文件的通路可以往上“走”,并用“*”表示一个给定目录文件的父节点。这样,访问一个文件时可以向上进入另一个用户的子目录,从而达到实现文件共享的目的。

链接技术,就是在相应目录表目之间进行链接,即在一个目录中表目的文件物理位置这一

数据项直接指向需要共享文件所在的目录的表目。注意,这种链接不是直接指向文件,而是指向相应的目录表目。这种办法也称为连访,被共享的文件称为连访文件。

8-19:软链接也叫符号链接,和Windows的快捷方式相似,符号链接文件中并不包括实际的文件数据,而只是包括了它指向文件的路径。它可以链接到任意的文件和目录,包括处于不同文件系统的文件一级目录。当用户对链接文件操作时,系统会自动地转到对源文件的操作,但是删除链接文件时,并不会删除源文件。

硬链接是指通过索引节点对文件的链接。

8-21:全量转储是按固定时间周期把存储器中所有文件内容转存到某个介质上,通常是磁带或磁盘 。

增量转储是只转储以后已经改变过的信息。

它们的优缺点是:全量转储缺点是在整个转存期间,文件系统可能被迫停止工作,转存一般需要耗费较长的时间,因此不能经常进行,于是从转存的介质上恢复的文件系统可能与被破坏的文件系统有着较大的差别。周期性转储的好处是可以把文件进行重新组合,即用户文件散布在磁盘各处的所有块连续地放置在一起。这样当再次启动系统后对用户文件的访问就快很多。

增量转储优点是转储的信息量少,可以在更短的时间周期内进行。使得系统一旦受到破坏后,至少能恢复到数小时前文件系统的状态。

8-22:文件的安全性问题是由于文件共享而引发的。在非共享环境中,唯一允许存取文件的用户是文件主本人。因此,只要对该用户所拥有的目录做一次身份检查就可确保其安全性。对于共享文件涉及多个用户,文件主需要指定哪些用户可以存取他的文件,哪些用户不能存取。一旦某文件确定为可被其他用户共享时,还必须确定他们存取该文件的权限。例如,可允许他的一些伙伴更新他的文件,而另一些伙伴可以读出这些文件,其他的就只能装入和执行该文件。这就涉及文件的安全性(即保护)的问题。

8-23:常用的文件操作命令有:

文件系统操作命令:

1:bdf

说明:查询整个主机目前安装的文件系统的磁盘空间的使用情况,只在IP主机上有效。 2:df

说明:查询整个主机目前安装的文件系统的磁盘空间的使用情况。 3:du

说明:查询当前目录下的磁盘空间的占用情况。 4:cd

说明:切换至指定的系统路径 5:mkdir

说明:创建一个新的目录

本文来源:https://www.bwwdw.com/article/4jqw.html

Top