操作系统复习_第1页
操作系统复习_第2页
操作系统复习_第3页
操作系统复习_第4页
操作系统复习_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

本文格式为Word版,下载可任意编辑——操作系统复习

第1章操作系统概论

1早期操作系统设计的主要目标是什么?

便利性:使用户便利、简单的使用计算机系统。有效性:使计算机系统能高效可靠地运转。还要便于操作系统的设计、实现和维护。

2操作系统是资源管理程序,它管理系统中的什么资源?

进程进程表。存储器存储表。I/O设备I/O设备表。文件文件表。

3为什么要引入多道程序系统?它有什么特点?(是指在内存同时存放若干道程序,使它们在系统中交织

运行,共享系统中的各种资源。当一道程序暂停执行时,CPU马上转去执行另一道程序。)提高CPU的利用率,充分发挥系统设备的并行性。系统处理效率高。4表达操作系统的基本功能。

①处理机管理:在多道程序或多用户系统中,由于处理机数目远远少于运行的作业数,且一个作业可能包含多

个算题任务,因此中央处理机的管理和调度就成为关键问题。不同类型的操作系统将针对各种不可怜况采用不同的调度策略。如先来先服务,优先级调度。

②存储器管理:计算机的主存管理。对主存资源进行统一管理,使多个用户能共享有限的主存和便利存取在主

存中的程序和数据。。

③设备管理:设备管理涉及对系统中各种输入设备、输出设备等的管理和控制问题。

④文件管理:信息管理或文件系统。将程序、数据及各种信息资源组织成文件,长期保存在计算机的磁盘或磁

带上。文件管理就是对这样繁杂、巨大的软件资源进行存储、检索和保护。

5批处理系统、分时系统和实时系统各有什么特点?各适合应用于哪些方面?

批处理系统:提高系统资源的利用率,增加系统的吞吐量。缺点:不能直接控制作业运行,作业的周转时间太

长。适用于:比较成熟的,需要花费较优点理时间的大型作业。分时系统:同时性、独立性、交互性、及时性。适用于:短小作业。实时系统:实时性、可靠性、确定性。适用于:实时任务。实时系统与分时系统的区别:

实时系统:

(1)实时性和可靠性较高。(2)交互能力较差。

分时系统:

(1)以用户的容忍程度为依据,对实时性没有要求。(2)允许出错,可重复运算。

6操作系统的特性?

②共享性:支持系统并发性的物质基础是资源共享。为了提高计算机系统的资源利用率,更好地共享系统资源,

①并发性:为了加强计算机系统的处理能力而采用的一种时间上重叠操作的技术。操作系统的各部分功能设计中采用了各种各样的分派调度算法。

③虚拟性:便于用户程序共享计算机系统的各种资源,操作系统把这些资源的一个物理实体变为规律上的多个对应物。

④异步性:由于系统资源的共享,有限的资源使并发进程之间产生相互制约关系。异步性给系统带来潜在的危险,有可能导致系统产生与时间有关的错误。

7衡量OS的性能指标有哪些?什么是吞吐量、响应时间和周转时间?

衡量性能指标:系统效率;系统可靠性;可移植性;可伸缩性;兼容性;安全性。

1

吞吐量:单位时间内系统所处理的信息量。响应时间:用户发出请求或指令到系统做出反应。周转时间:作业进入系统到作业退出系统所经历的时间。

8什么是嵌入式系统?

面向用户、产品、应用的系统。凡是将计算机的主机嵌埋在应用系统或设备中,不为用户所知的计算机应用方式,都是嵌入式应用。

嵌入式系统运行的几乎都是实时操作系统。

9什么是对称多处理?它有什么好处?

操作系统和用户程序可安排在任何一个处理机上运行,或者同时在所有处理机上运行,各处理机共享主存和各种I/O设备。

增加了系统的吞吐率;增加了系统的可靠性。

10为了实现系统保护,CPU寻常有哪两种工作状态?各种状态下分别执行什么程序?什么时候发生状态

转换?状态转换由谁实现的?

用户态:用户程序运行其中。只允许执行处理机的非特权指令,访问指定的寄放器和存储区。

核心态:操作系统程序运行其中。允许执行处理机的全部指令集,访问所有的寄放器和存储区。用户态到核心态:由硬件实现。

核心态到用户态:操作系统程序执行后完成。

11什么是系统调用?什么是特权指令?特权指令执行时,CPU处于哪种工作状态?

系统调用:操作系统内提供的一些子程序。提供了用户程序与操作系统内核的接口。特权指令:关系系统全局的指令。执行时处于核心态。

12操作系统寻常向用户提供哪几种类型的接口?其主要作用是什么?(为了解用户意图,更好地服务用

户。)

①操作接口:命令语言或窗口界面是用户使用计算机系统的主要操作接口。

②系统调用接口:提供了用户与操作系统内核的接口。是用户与操作系统之间的编程接口。

第2-3章进程管理

1程序顺序执行的特点

①封闭性:程序在运行时独占全机资源。

②可再现性:只要初始条件一致,最终结果不变。

2何谓进程,进程由哪些部分组成?试述进程的四大特性(动态性、独立性、并发性、结构性)及进程

和程序的区别。

进程是程序的一次执行过程。

程序、数据、进程控制块。

动态性。进程是程序的一次执行过程,是临时的,有生命期的。独立性。进程是系统进行资源分派和调度的一个独立单位。并发性。多个进程可在处理机上交替执行。结构性。系统为每个进程建立一个进程控制块。

进程是程序的一次执行过程,具有动态性;程序是完成某个特定功能的指令的有序序列,是一个静态的概念。进程是系统进行资源分派和调度的一个独立单位,而程序不是;进程具有并发性,程序不具有;进程具有结构性。

没有程序就没有进程。

3进程控制块的作用是什么?它主要包括哪几部分内容?(PCB)进程控制块:描述进程的运行变化状况。是进程存在的唯一标识。

包括:进程标识数、进程的状态以及调度和存储器管理信息、进程使用的资源信息、CPU现场保护区、记账信息、

2

进程之间的家族关系、进程的链接指针。

4进程的基本状态,试举出访进程状态发生变化的事件并描绘它的状态转换图。

就绪、阻塞、运行。画图P28

5什么是原语?什么是进程控制?

原语:由若干条指令组成的,用于完成特定功能的一段程序,具有不可分割性,执行过程中不允许被中断。

进程控制:系统使用一些具有特定功能的程序段来创立、撤销进程以及完成进程各状态间转换。是属于原语一

级的操作,不能被中断。

6进程调度的功能、方式、时机、算法。作业调度,交换调度。作业的周转时间和作业的带权周转时间?

处理机的三级调度:高级调度作业调度低级调度进程调度中级调度交换调度

进程调度的功能:①记录系统中各进程的执行状况

②选择就绪进程真正占有CPU③进行进程上下文的切换

进程调度的方式:①非抢先方式(非剥夺方式)用在批处理系统。主要优点:简单、系统开销小。

②抢先方式(剥夺方式)用在分时系统、实时系统。

进程调度的时机:①现行进程完成或错误终止;

②提出I/O请求,等待I/O完成时;

③在分时系统,依照时间片轮转,分给进程的时间片用完时;④优先级调度,有更高优先级进程就绪;

⑤进程执行了某种操作原语,如阻塞原语和唤醒原语时,都可能引起进程调度。

进程调度算法:(批处理if(放入的是苹果)v(s2);elsev(s3);}Daughter:while(1){p(s2);从盘中取出苹果;v(s1);}Son:while(1){p(s3);从盘中取出桔子;v(s1);}4

②看病。

Labora:while(化验未完成){p(s1);有无化验单,无则等v(s2);送出结果}

读者和写者问题:

写互斥信号量wmutex:实现读写互斥和写写互斥地访问共享文件,初值为1。计数器readcount:记录同时读的读者数,初值为0。

读互斥信号量rmutex:使读者互斥地访问共享变量readcount,初值为1。

intrmutex=1,wmutex=1,readcount=0;Reader:P(rmutex);//互斥访问readcountifreadcount=0thenP(wmutex);readcount++;V(rmutex);读文件;P(rmutex);readcount=readcount-1;ifreadcount=0thenV(wmutex);V(rmutex);①理发师问题:有一个理发师、一把理发椅和n把供等候理发的顾客坐的椅子。假使没有顾客,则理发师坐在椅子上睡觉,当有一个顾客到来时,必需唤醒理发师,请求理发;假使理发师正在理发,又有顾客到来时,只要有空椅子,他就坐下来等待,假使没有空椅子,他就离开。请为理发师和顾客各编写一段程序来描述他们的同步问题。设两个信号量:(1)用s1制约理发师,初值为0,表示有0个顾客;(2)用s2制约顾客,表示可用椅子数,初值为n。顾客:P(s2);申请椅子V(s1);发信号坐椅子等理发;②哲学家进餐问题:

intfork[0]=fork[1]=…=fork[4]=1;第i个哲学家所执行的程序:do{

5

Diagnosis:while(看病未完成){看病;V(s1);送单p(s2);等结果}Writer:?P(wmutex);写文件;V(wmutex);…理发师:P(s1);查是否有顾客给一名顾客理发;V(s2);让顾客离开P(mutex);P(fork[i]);P(fork[(i+1)mod5]);V(mutex);吃饭V(fork[i]);V(fork[(i+1)mod5]);}while(1);

③3-17读者优先intrmutex=1,rwmutex=1,readcount=0Reader:Begin:P(z);读写进程在z上排队P(rmutex);If(readcount==0)P(rwmutex);第一个读者申请读文件的使用权Endif++readcount;V(rmutex);释放对读者计数的使用权V(z);无写者时,多个读者可同时readdata;P(rmutex);读完退出时,申请对读者计数减1--readcount;If(readcount==0)V(rwmutex);最终一个读者释放文件使用权EndifV(rmutex);释放对读者计数的使用权…end写者优先

Reader:来一个写进程通过p(x)阻止后续进程读While(1){P(z);其他读进程在z上排队P(x);一个读进程与一个写进程为X竞争P(rmutex)++readcount;If(readcount==1)P(rwmutex)V(rmutex);V(x)V(z);readdata;P(rmutex);--readcount;If(readcount==0)V(rwmutex);V(rmutex);}

}Writer:While(1){P(wmutex);写进程互斥++writecount;If(writecount==1)P(x);V(wmutex);P(rwmutex);其他进程在rwmutex上排队Writedata;V(rwmutex);P(wmutex);--writeclunt;If(writecount==0)V(x);V(wmutex);Writer:BeginP(z);读写进程在此排队P(rwmutex);申请写文件Writedata;V(rwmutex);释放文件的使用权V(z);…End12在用P/V操作实现进程通信时,应根据什么原则对信号量赋初值?13经典的IPC问题。

14进程高级通信有哪些实现机制?是指进程采用系统提供的多种通信方式来实现通信。如消息缓冲、信

箱、管道、共享主存区等。

6

①非阻塞发送,阻塞接收②非阻塞发送,非阻塞接收③阻塞发送,阻塞接收

15死锁产生的必要条件及解决死锁的方法

死锁产生的必要条件:①互斥条件。独占性的资源。

②保持和等待条件。进程因请求资源而阻塞时,对已经获得的资源保持不放。③不剥夺条件。已分派给进程的资源不能被剥夺,只能由进程自己释放。

④循环等待条件。存在一个进程循环链,链中每个进程都在等待链中的下一个进程所占用的资源。产生死锁的根本原因:是对独占资源的共享,并发执行进程的同步关系不当。解决死锁的方法:①鸵鸟算法:忽略死锁。

②死锁的预防:通过破坏产生死锁的四个必要条件中的一个或几个,来防止发生死锁。

③死锁的避免:是在资源的动态分派过程中,用某种方法去防止系统进入担忧全状态,从而避免发生死锁。④死锁的检测和恢复:允许死锁发生,通过设置检测机构,及时检测出死锁的发生,然后采取适当措施清除死锁。

16理解银行家算法的实质。能够利用银行家算法避免死锁。

3-21

1

存储器管理的功能:

第4章存储器管理

存储器管理的功能。名字空间、地址空间、存储空间、规律地址、物理地址。

①存储器分派:解决多道程序或多进程共享主存的问题

②地址转换或重定位:研究各种地址变换方法及相应的地址变换机构。③存储器保护:防止故障程序破坏OS和其它信息

④存储器扩展:采用多级存储技术实现虚拟存储器及所用的各种管理算法。⑤存储器共享:并发执行的进程如何共享主存中的程序和数据。

一个程序只有从地址空间装入到存储空间后才能运行。

需要地址重定位把程序地址空间的规律地址转换为存储空间的物理地址。

2什么是地址重定位?分为哪两种?各是依据什么和什么时候实现的?试比较它们的优缺点。

把程序地址空间的规律地址转换为存储空间的物理地址。

静态重定位:在进程执行前,由装入程序把用户程序中的指令和数据的规律地址全部转换成存储空间的物理地址。

特点:

①无硬件变换机构;

②为每个程序分派一个连续的存储区;③在程序执行期间不能移动,主存利用率低;④难以做到程序和数据的共享;⑤用于单道批处理系统。

动态重定位:装入程序把程序和数据原样装入到已分派的存储区中。程序运行时,把该存储区的起始地址送入重定位寄放器。需硬件地址转换机构。(多道批处理系统、分时系统)优点:

7

①主存利用充分。可移动用户程序。移动后,只需修改重定位寄放器。②程序不必占有连续的存储空间。③便于多用户共享存储器中的同一程序和数据。

3内存划分为两大部分:用户空间和操作系统空间。存储器管理是针对用户空间进行管理的。4存储保护的目的是什么?对各种存储管理方案实现存储保护时,硬件和软件各需做什么工作?存储保护的目的:防止地址越界;正确地进行存取。

5试述可变式分区管理空闲区的方法及存储区的保护方式。覆盖与交换有什么特点?分派算法:

①首次适应(firstfit)法②最正确适应(bestfit)法

③最坏适应(worstfit)法存储区保护方式:

①固定分区:静态重定位,进程运行时使用主存物理地址;设置上、下界寄放器来实现存储器保护。②可变式分区:动态重定位,进程运行时CPU给出的是程序的规律地址;基址+限长寄放器。

覆盖:是指同一主存区可以被不同的程序段重复使用。特点:打破了必需将一个进程的全部信息装入主存后才能运行的限制。在规律上扩展了主存。小主存可运行大进程。

交换:系统根据需要把主存中暂时不运行的进程中的部分或全部信息移到外存,而把外存中的进程移到主存,并使其投入运行。特点:打破了一个程序一旦进入主存,便一直运行到终止的限制。

交换主要是在进程之间进行,而覆盖则主要在同一个进程内进行。

6

页表的作用是什么?简述页式管理的地址变换过程。能利用页表实现规律地址转换成物理地址。管理内存的数据结构有哪些?

页表:系统为每个进程建立一张页面映像表,记录规律页与主存块的映射关系。页表存放在主存。

简述页式管理的地址变换过程(P81):在将虚拟地址分为页号和页内地址两部分时,要将页号与页表长度进行比较。

页式主存分派:为实现页式管理,系统必需建立和管理三种表。

①页表:每个进程一个,在主存,用来实现将进程的虚页转换成主存的物理块。②进程控制块:存有页表在主存的始址和页表长度。

③存储空间使用状况表:a.存储分块表(类似:P171,P308)b.位示图

页式存储管理允许一个进程占用不连续的存储空间,从而战胜了碎片。

7什么是页式存储器的内零头?它与页的大小有什么关系?可变式分区管理产生什么样的零头(碎片)?8段式存储器管理与页式管理的主要区别是什么?

①段是信息的规律单位,段是由用户划分的;页是信息的物理单位,页是为了便利管理由硬件划分的,对用户是透

明的。

②页的大小固定;段的大小不固定。

③段式用二维地址空间;页式用一维地址空间。④段允许动态扩展,便于存储保护和信息共享。⑤段可能产生主存碎片;页消除了碎片。

⑥段式管理便于实现动态链接,页式管理只能进行静态链接。⑦段与页一样,实现地址变换开销大,表格多。

9什么是虚拟存储器。虚拟存储器的容量能大于主存容量加辅存容量之和吗?

虚拟存储器:是系统为了满足应用对存储器容量的巨大需求而构造的一个十分大的地址空间。CPU硬件结构决定了虚拟存储器容量。

8

10实现请求页式管理,需要对页表进行修改,一般要增加有效位(状态位)、修改位、访问位。试说明

它们的作用。

页式虚拟存储器管理又叫请求页式管理。

有效位(状态位):用来指示某页是否在主存。为1表示该页在主存,完成正常的地址变换;为0表示该页不在主存,由硬件发出一个缺页中断,转操作系统进行缺页处理。

11产生缺页中断时,系统应做哪些工作?

①根据当前执行指令中的规律地址查页表的状态位。②状态位为0,缺页中断。

③操作系统处理缺页中断,寻觅一个空闲的内存页。④若有空闲页,则把从磁盘读入信息装入该页面。

⑤若无空闲页,则按某种算法选择一个已在内存的页面,暂时调出内存。若修改过还要写磁盘。调入需要的页。之后要修改相应的页表和内存分派表。⑥恢复现场,重新执行被中断的指令。

12会利用FIFO、LRU、OPT以及时钟页面置换算法描述页面置换过程,计算产生的缺页率。Belady异常。

最正确置换算法简称OPT(optimal)算法。选择以后不再访问的页或经很长时间之后才可能访问的页进行淘汰。

先进先出置换算法(FIFO)当淘汰一页时,选择在主存驻留时间最长的那一页。

Belady异常:Belady在1969年发现,采用FIFO算法,当为进程分派的主存块多时,有时产生的缺页中断次数反而增多。

LRU页面置换算法。根据局部性原理,淘汰那些在最近一段时间里最少使用的一页。

9

时钟页面置换算法:将进程所访问的页放在一个像时钟一样的循环链中。链中的节点数就是为之分派的主存块数。

13什么是程序的局部性原理?什么叫系统抖动?工作集模型如何防止系统抖动?

时间局部性:程序中往往含有大量循环,在一段时间内会重复执行该部分。

空间局部性:程序中含有大量分支,在一次执行中,只有满足条件的代码运行,不满足条件的代码不运行。

14多级页表的概念,多级页表中页表建立的时机。写时复制技术的概念。

第5章文件系统

1什么是文件和文件系统?文件系统的主要功能。UNIX系统如何对文件进行分类?它有什么好处?

文件是存储在外部存储器上的具有符号名的相关信息的集合。

文件系统是OS中管理文件的软件机构。包括管理文件所需的数据结构、相应的管理软件和被管理的文件。UNIX系统中的文件分类:①普通文件:寻常的文件。

②目录文件:由文件目录构成的一类用来维护文件系统结构的文件。对其处理同普通文件。

③特别文件:输入设备和输出设备(字符型特别文件),输入/输出型设备(字符块特别文件),管道文件。文件分类的目的:

①对不同文件进行管理,提高系统效率。②提供用户界面友好性。

2文件目录的作用是什么?文件目录项寻常包含哪些内容?文件控制块。

目的是使用户实现按名存取文件。

文件目录是指记录文件的名字及其存放物理地址的一张映射表,表中包括了大量文件控制块。

3文件的规律结构有几种形式?文件的存取方法?

文件的规律结构:

①无结构的字节流式文件:由无结构的先后到达的相关字节组成,其文件长度就是所包含的字节个数。②有结构的记录式文件:分为定长记录式文件和变长记录式文件。文件的存取方式:

①顺序存取:依照文件信息的规律顺序依次存取。是在前一次存取的基础上进行的。

②直接存取(随机存取):基于文件的磁盘模型,磁盘允许对任意文件块进行随机读和写。对于变长记录式文件,十分低效。

4文件的物理结构有哪几种?对于不同的结构,文件系统是如何进行管理的?

①连续文件(顺序文件):文件内容连续存放。优点:简单;支持顺序存取和随机存取;存取速度快。只要访问一次文件的管理信息,就可便利地存取到任一记录。缺点:不灵活;简单产生碎片。连续结构适合存储长度不变的文件

10

系统。

②链接文件:不要求文件内容连续存放。把文件所占用的物理块用链接指针链接起来。优点:可以解决外存的碎片问题,提高了外存空间的利用率;允许文件动态增长。缺点:只能按文件的指针链顺序存取,查找效率较低。为了战胜链接结构文件的缺点,可以把指针字从文件的各物理块中取出,放在一个表中,并将此表叫盘文件映射表。MS-DOS就使用这种方式分派和管理磁盘空间,并将该表叫做文件分派表。利用文件分派表,不但能便利地实现顺序存取,而且也很简单实现随机存取。但缺点是运行时整个表必需在主存,主存消耗大。

③索引文件:为每个文件建立一张索引表。用索引表记录文件内容的存放地址,即记录文件的规律块号和对应的物理块号之间的关系。优点:文件可动态修改;随机、顺序存取。缺点:索引表的使用增加了存储空间的开销;降低了文件的存取速度。④索引顺序文件:

5DOS文件卷的结构,DOS系统的文件物理结构是什么?

DOS系统的文件采用链接结构。

6了解记录的组块和分解。

①一个物理块可以存放若干个规律记录,一个规律记录可以存放在若干个物理块中。把一个块中存放的规律记录的个数叫做块因子。

②必需使用主存缓冲区:信息交换是以块为单位进行的。用户将要写的记录先写入主存缓冲区,当缓冲区满时,再写磁盘。

③用户使用记录时,先将包含该记录的物理块读入内存缓冲区,然后进行记录分解。

7文件存储空间的管理方法有几种?它们各是如何实现文件存储空间的分派和回收的?

①空白文件目录(是一种最简单的方法):当请求分派存储空间时,系统依次扫描空闲文件目录表目,直到找着一个适合的空闲文件为止;当用户撤消一个文件时,系统回收该文件所占用的空间。这时也需要顺序扫描空闲文件目录,寻觅一个空表目,并将释放空间的第一个物理块号及它所占的块数填入到这个表目中。

②空闲块链表:当用户建立文件时,就按需要从链首依次取下几块分派给文件。当撤消文件时,回收其存储空间,并将回收的空闲块依次链入空闲块链中。

③位映像表(bitmap)或位示图:是适合文件静态分派和动态分派的最简单方法。

8建立多级目录有哪些好处?文件的重名和共享问题是如何得到解决的?

层次结构明了,便于管理和保护;有利于文件分类;解决文件重名问题;提高文件检索速度;能进行存取权限控制。

9文件系统中,常用的文件操作命令有?它们的具体功能是什么?开启和关闭文件命令的目的是什么?

①创立(Create)文件

主要功能:在指定设备上为指定路径名的文件建立一个目录项,并设置文件的有关属性。②删除(Delete)文件

主要功能:根据文件的路径名找到指定的目录项,回收其占用的各个物理块,再将该目录项置为空。③开启(Open)文件

根据文件路径名找到目录项,将文件的目录项复制到主存一个专门区域,返回文件在该区域的索引。建立进程与文件的联系。

目的:避免屡屡重复地检索文件目录。

系统维护了一个系统当前开启文件表。当读/写文件时,通过这个表的索引找到文件的主存目录项。不需要重复地对磁盘进行检索。④关闭(Close)文件

释放文件在主存专门区域中的目录项,切断用户与文件的联系。若该目录项被修改过,则复制到磁盘。若文件作过某些修改,应将其写回辅存。⑤读(Read)文件

命令中必需指出要读的数据个数,以及存放数据的主存地址。

11

根据文件所在设备、文件类型的不同,系统设置不同的读命令。⑥写(Write)文件

命令中必需指出要写的数据个数,以及存放数据的主存地址,将主存中的数据写到指定的文件中。⑦追加(Append)文件

限制了写文件的形式,将数据追加到文件尾。⑧随机存取(Seek)文件

重新定位文件的读/写位置指针。⑨得到文件属性(GetAttributes)

进程在执行时往往需要了解文件的属性。在UNIX系统中,一个软件开发项目寻常由多个源文件组成,make程序用来管理这些软件开发项目。当make被调用时,它检查所有源文件和目标文件的修改时间,并且编排出需要重新编译的文件数。

⑩设置文件属性(SetAttributes)

修改文件的一些属性,以适应用户的要求。(11)重命名(Rename)文件重新命名一个已经存在的文件。

10存取控制表ACL的概念。

为存取控制矩阵中的每一列建立一张存取控制表(ACL),用一有序对(域,权集)表示。

11理解内存映射文件(memorymappedfile)的过程。

存储器映射文件:将文件映射到进程地址空间的一个区域,返回虚拟地址,仅当需要对文件存取时,才传输实际的数据。

1

第6章设备管理

I/O设备寻常大致可分为哪两大类?各自传输的信息单位有什么特点?

①字符设备:人机交互设备。是以字符为单位发送和接收数据的,通信速度比较慢。键盘和显示器、鼠标、扫描仪、打印机、绘图仪等。

②块设备:外部存储器。以块为单位传输数据。常见块尺寸:512B~32KB。如磁盘、磁带、光盘等。

2常用的四种数据传输方式。

①程序查询方式(polling):该方式的工作过程十分简单,但CPU的利用率低。由于CPU执行指令的速度高出I/O设备几个数量级,所以在循环测试中浪费了大量的CPU处理时间。

②中断方式:CPU一旦启动设备成功,CPU转去执行另一个程序。当设备完成时,向CPU提出中断请求,CPU执行完当前一条指令,就响应中断,转去执行中断处理程序。从而使CPU可与设备并行操作。

③直接存储器访问(DMA)方式:允许DMA控制器接纳地址总线的控制权,直接控制控制器内部缓冲区与主存之间的数据交换。比较:

a.中断方式是在数据缓冲R满之后,发中断要求CPU进行处理,而DMA方式则是在所要求转送的数据块全部终止时,要求CPU处理。这就大大减少了CPU进行中断处理的次数。

b.中断方式的数据传送是在中断处理时,由CPU控制完成的,而DMA方式则是在DMA控制器的控制下完成的。④通道控制方式:与DMA方式相比,通道所需的CPU干预更少,且可以做到一个通道控制多台设备,进一步减轻了CPU的负担。通道是一种专用的I/O处理机。通道有自己的指令系统,若干条通道命令连接成通道程序。

3根据设备的使用方式,设备被分为几种类型?何为虚拟设备?它是通过什么技术实现的?

独占型、可共享型、虚拟设备。

虚拟设备:本身具有独立性,经过虚拟技术改造成可共享设备。

4依照设备管理的层次结构,I/O软件划分为几层?各层主要实现哪些功能?

①中断处理程序:进程在启动一个I/O操作后阻塞起来,I/O操作完成,控制器产生一个中断。CPU响应中断,执行中断处理程序。检查设备状态。若正常完成,就唤醒等待的进程。然后检查是否还有待处理的I/O请求,若有就启

12

动。若传输出错,再发启动命令重新传输;或向上层报告“设备错误〞的信息。中断返回被中断的进程,或转进程调度。

②设备驱动程序:寻常包含三部分功能:①设备初始化。②启动设备传输数据的例程。③中断处理例程。

③独立于设备的软件:基本任务是实现所有设备都需要的功能,且向用户提供一个统一的接口。①与设备驱动程序的统一接口。②设备命名。③设备保护。④提供与设备无关的块尺寸。⑤缓冲技术。⑥设备的分派与释放。⑦报告错误信息。

④用户层的I/O接口:大部分I/O软件都包含在操作系统中,有一小部分是由与用户程序连接在一起的库函数构成的。

5何为设备的独立性?

设备独立性是指用户及用户程序不受系统配置的设备类型和具体设备的台号的影响。用户只是使用规律设备,具体的映射由操作系统完成。

6什么是SPOOLING技术?以输出为例,说明它的实现原理。(SPOOLING技术是以空间换时间)

SPOOLING系统是为了满足多进程对独占设备的共享使用而引入的一种技术,放在用户级的I/O软件层。Spooling实际是一种缓冲技术。进程要打印时,系统并不为它分派打印机,而是把待打印的数据缓冲到一个独立的磁盘文件上,形成待打印文件队列。之后,Spooling系统一次一个地将打印队列上的文件送打印机打印。这种技术又叫缓输出技术。

789

一个特定磁盘上的信息如何进行编址?

要将磁盘上一个块的信息传输到主存需要系统花费哪些时间?

常用的磁盘调度算法:先来先服务、最短寻道时间优先、扫描法(SCAN,C_SCAN,LOOK,C_LOOK)。

盘面号、磁道号和扇区号(或柱面号、磁头号和扇区号)。寻道时间、旋转延迟时间和读/写传输时间先来先服务FCFS:最短寻道时间优先SSTF:扫描法SCAN

扫描法C_SCAN:循环扫描法将磁盘视为一个圆,最终一个磁道与第一个磁道紧凑相接。它已到达另一端时,磁头马上返回到开始处。也即回程时,不处理任何请求。

扫描法LOOK:在将磁头向前移动之前,先查询有无请求,若有,才移动,否则,马上反向。扫描法C_LOOK

设某单面磁盘的旋转速度为每分钟6000转,每个磁道有100个扇区,相邻磁道间的平均移动时间为1ms。若在某时刻,磁头位于100号磁道处,并沿着磁道号增大的方向移动,磁道号的请求队列为50、90、30、120,对请求队列中的每个磁道需读取1个随机分布的扇区,则读完这4个扇区总共需要多少时间?需要给出计算过程。

解:循环查询C-LOOK算法。被请求的磁道号顺序为100、120、30、50、90,因此,寻道需要移动的磁道数为:20+90+20+40=170。寻道用去的总时间为:

(20+90+20+40)×1ms=170ms

磁盘每分钟6000转,转一圈的时间为0.01s,通过一个扇区的时间为0.0001s。总共要随机读取四个扇区,用去的时间为:(0.01×0.5+0.0001)×4=0.0204s=20.4ms

所以170ms+20.4ms=190.4ms。

第7章Linux进程管理

1进程控制块,其中与进程管理、存储器管理和文件管理有关的一些字段,线程组标识符。Linux内核为每个进程建立了一个进程控制块。

2与进程创立有关的函数:fork()、vfork()、clone()。

创立子进程函数fork():创立成功之后,子进程采用写时复制技术读共享父进程的全部地址空间,仅当父或子要写一个页时,才为其复制一个私有的页的副本。

vfork()系统调用:创立的子进程能共享父进程的地址空间,为了防止父进程重写子进程需要的数据,先阻塞父进程

13

的执行,直到子进程退出或执行了一个新的程序为止。

创立轻量级进程函数clone():实现对多线程应用程序的支持。共享进程在内核的好多数据结构,如页表、开启文件表等等。

3理解进程切换的过程。涉及到页目录表、核心栈、硬件上下文。

进程切换只发生在核心态。在发生进程切换之前,用户态进程使用的所有寄放器值都已被保存在进程的核心栈中。进程硬件上下文存放在进程描述符的thread_structthread中。

第一步,切换页目录表以安装一个新的地址空间;其次步,切换核心栈和硬件上下文。由schedule()函数完成进程切换。

4进程调度方式。进程调度时机。

Linux2.6系统采用可抢先式的动态优先级调度方式。其内核是完全可重入的。无论进程处于用户态还是核心态运行,都可能被抢占CPU,从而使高优先级进程能及时被调度执行,不会被处于内核态运行的低优先级进程延迟。实时进程调度时机:(1)出现了更高优先级的实时进程。(2)进程执行了阻塞操作而进入睡眠状态。(3)进程中止运行或被杀死。(4)进程调用自愿放弃处理机。(5)在基于时间片轮转的实时进程调度过程中,进程用完了自己的时间片。

5Linux有好多内核线程,了解0号进程和1号进程的作用。

0号进程就是一个内核线程,0号进程是所有进程的祖先进程,又叫idle进程或叫做swapper进程。每个CPU都有一个0号进程。

1号进程是由0号进程创立的内核线程init,负责完成内核的初始化工作。在系统关闭之前,init进程一直存在,它负责创立和监控在操作系统外层执行的所有用户态进程。

第8章Linux存储器管理

1

进程地址空间的划分?管理进程私有地址空间的数据结构?链接虚拟内存区域的单链表和红黑树。指

向映射文件对象的指针字段?指向进程页目录表的指针字段?

32位机,每个进程的地址空间为4GB。

Linux把地址空间分成两部分。进程的私有空间是前3G,进程的公有空间是后1G的内核虚空间。

Linux系统对进程已分派的虚拟内存区域采用两种数据结构进行管理:单向链(虚拟内存区域数较少),红黑树(虚拟内存区域较多)。当插入或删除一个虚拟内存区域时,通过红黑树探寻其相邻节点,并用探寻结果快速更新单链表。管理进程地址空间中的所有保存的虚拟内存区域。虚拟内存描述符mm_struct。虚拟内存描述符中mm_rb指向红黑树的根,mmap指向单链表。pgd指向页目录表。

2Linux堆的管理:malloc(),free()。

malloc(size):请求size个字节的动态内存。free(addr):释放内存。

3

管理物理内存页框的数据结构?内存管理区zone结构,伙伴系统?分区页框分派器分派页框的过

程。

页框描述符为structpage。所有页框描述符存放在mem_map数组中。Linux把内存节点划分为3个管理区zone:

①ZONE_DMA:包含低于16MB的常规内存页框。用于对老式的基于ISA设备的DMA支持。②ZONE_NORMAL:包含高于16MB且低于896MB的常规内存页框。

③ZONE_HIGHMEM:包含从896MB开始的高端物理页框。内核不能直接访问这部分页框。在64位体系结构上,该区总是空的。

在每个管理区内的页框,除了一小部分页框被保存为每CPU页框高速缓存外(以满足本地CPU发出的对单个页框的请求),其它的由伙伴系统来管理。采用伙伴系统(buddysystem)管理连续的空闲内存页框,以解决外碎片问题。

14

4理解slab分派器的原理。slab分派器的作用?

伙伴系统算法以页框为单位,适合于对大块内存的分派请求。

slab分派器用于为只有几十或几百个字节的小内存区分派内存。如,file对象。

slab分派器把小内存区看作对象,slab分派器对不再引用的对象只是释放但内容保存,以后再请求新对象时,就可直接使用而不需要重新初始化。

5

进程页表建立的时机?了解页目录表项或页表项所包含的字段。规律地址的划分,利用两级页表实现地址转换的过程。

虚地址分成3个域:页目录索引(前10位)、页表索引(中10位)和页内偏移(后12位)。

32位处理机普遍采用二级页表模式,为每个进程分派一个页目录表,页表一直推迟到访问页时才建立,以俭约内存。虚实地址转换分两步进行,第一步由页目录索引查页目录表,以确定相应的页表位置;其次步由页表索引查页表,以确定相应的物理页框位置。

6请求调页。所缺的页可能存放的地方。

该页从未被进程访问过,且没有相应的内存映射。

该页属于非线性内存映射文件。非线性内存映射的是文件数据的随机页。给定文件的所有非线性映射虚拟内存区域描述符都存放在一个双向链表中。

该页已被进程访问过,但其内容被临时保存到磁盘交换区上。该页在非活动页框链表中。

该页正在由其它进程进行I/O传输过程中。

7了解盘交换区空间的管理方法。

盘交换区用来存放从内存暂时换出的数据页每个盘交换区都由一组4KB的页槽组成。

盘交换区的第一个页槽用来存放该交换区的有关信息,有相应的描述符。

存放在磁盘分区中的交换区只有一个子区,存放在普通文件中的交换区可能有多个子区,原因是磁盘上的文件不要求连续存放。

内核尽力把换出的页存放在相邻的页槽中,减少访问交换区时磁盘的寻道时间。

第9-10章Linux文件系统&虚拟文件系统1Ext2文件卷的布局?各部分的作用是什么?

由若干个磁盘块组成。1个引导块和n个块组。每个块组又由超级块、块组描述符、数据块位图、文件的索引节点位图、索引节点区和文件数据区组成。

2Linux系统把一般的文件目录项分成哪两部分?这样做的好处是什么?

简单目录项和文件的索引节点两部分。

简单目录项包含了文件名和索引节点号等,可以提高文件目录的检索速度。系统只保存一个索引节点,就可实现多条路径共享文件,减少信息冗余。

3Linux文件系统的索引节点中,索引表划分成几级?文件的索引表是如何增长的?要求能够利用索引

表实现将文件中的字节地址转换成文件的物理块的操作。

四个级别

直接索引;一级索引;二级索引;三级索引。

4硬链接和符号链接的区别?

符号链接与硬链接区别:符号链接不与文件的索引节点建立链接,可以跨文件系统(当为一个文件建立符号链接时,索引节点的硬链接计数不改变)。

5Linux文件系统如何管理空闲存储空间?

磁盘块和索引节点的分派和回收

文件的数据块和其索引节点尽量在同一个块组中。文件和它的目录项尽量在同一个块组中。

15

父目录和子目录尽量在同一个块组中。每个文件的数据块尽量连续存放。

6VFS通用文件模型中的四个主要对象?

①超级块对象:Linux为每个安装好的文件系统都建立一个超级块对象。

②索引节点对象:对于具体文件系统,它代表一个文件,对应于存放在磁盘上的文件控制块。每个文件都有一个索引节点对象,每个索引节点对象都有一个唯一的索引节点号,来标识文件系统中的一个特定文件。③目录项对象:代表一个目录项,是一个文件路径的组成部分,存放目录项与对应文件进行链接的信息。④文件对象:记录了进程与开启的文件之间的交互信息。

7Linux系统中,进程开启一个磁盘文件要涉及哪些数据结构?它们各有哪些关键字段?他们的作用是

什么?参考图10.2

8一个文件在使用与不用时各占用系统哪些资源?9安装表的作用是什么?

第14章Windows2000/XP模型

1.Windows采用什么样的体系结构?

融合了分层和客户/服务器系统模型。

2.硬件抽象层HAL的作用是什么?

直接操纵硬件。

HAL.dll是一个可加载的核心态模块。

HAL隐蔽各种与硬件有关的细节。使内核、设备驱动程序和执行体免受特别硬件平台差异的影响。系统可移植性好。

3.Windows系统组件的基本机制包括:陷阱调度、执行体对象管理器、同步(自旋锁、内核调度程序对象)、本地过程调用LPC等。

4.理解:延迟过程调用DPC,异步过程调用APC

DPC被用来执行一些相对于当前高优先级的任务来说不那么紧急的任务。

有时内核在进行系统嵌套调用时,检测到应当进行重调度。为了保证调度的正确性,内核用DPC来延迟请求调度的产生。

硬件中断服务例程可以把一些相对不紧急的事情放到一个DPC对象中处理,从而缩短处理机停留在高IRQL(中断请求级别)的时间。

异步过程调用APC为用户程序和系统代码提供了一种在特定用户线程环境中执行代码的方法。

假使需要从内核空间复制一个缓冲区到某一用户进程地址空间缓冲区,那么复制过程需要在用户进程上下文运行,这样页表才能包含内核缓冲区和用户缓冲区。

每个线程都有自己的APC队列。APC队列也由内核管理。

5.Windows中有哪些对象,都有什么作用?

两种类型对象:

①执行体对象:执行体的各种组件实现的对象。例如进程和线程管理器、内存管理器、I/O管理器、对象管理器等。②内核对象:由内核实现的一批初级对象,这些对象对用户态代码不可见,它们仅供执行体使用。内核对象提供基本的能力,如执行体对象之间的同步。因此,一个执行体对象可以包含一个或多个內核对象。

6.在多处理机系统中,提供了哪些同步和互斥机制?

内核引入自旋锁实现多处理机互斥机制。内核以内核对象的形式给执行体提供其他的同步机构—“调度程序对象〞,包括:进程对象、线程对象、事件对象、信号量对象、互斥体对象、可等待的定时器对象及文件对象等。每个同步对象都有“有信号〞或“无信号〞两种状态。

7.线程如何实现等待一个同步对象的操作?

一个线程可以等待一个或多个同步对象变为有信号状态,实现同步。

16

第15章Windows进程和线程管理

1.管理进程和线程的数据结构:

执行体进程块EPROCESS、执行体线程块ETHREAD、内核进程块KPRO

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论