视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
操作系统简答题要点
2025-09-29 16:31:58 责编:小OO
文档
1..试述现代操作系统的基本特征

(1)并发性:并发指的是在操作系统中存在着许多同时的或并行的活动。例如,在多道程序设计的环境下,各个程序同时在处理机上交替、穿插地执行。

(2)共享性:系统中存在的各种并发活动,要求共享系统的硬、软件资源。

(3)虚拟性:虚拟指的是讲一个物理实体映射为若干个逻辑实体。前者是客观存在的,后者是虚构的。例如,在多道程序系统中,虽然只有一个CPU,每一时刻只能执行一道程序,但采用多道技术之后,在一段时间间隔内,宏观上有多个程序在运行。在用户看来,就好像有多个CPU在各自运行自己的程序。

(4)不确定性:1.程序执行结果不确定,程序执行结果不能再现。同一程序,对给定相同的初始数据,在相同的环境下运行,多次运行可能得到完全不同的结果。2. 多道程序设计环境下,程序按异步方式运行。也就是说,每道程序在何时执行、各个程序执行的顺序以及每到道程序所需的时间都是不确定的,也是不可预知的。

(有疑惑)2.试述操作系统与用户接口并举例说明。

概念:为了方面用户对计算机系统的使用和编程,操作系统向用户提供了用户与操作系统的接口,简称为用户接口。操作系统提供了两类接口:一类是程序级接口,即系统调用或称操作系统应用程序接口;另一类是作业控制级接口,即键盘控制命令与作业控制命令。

作业控制级接口(即命令程序):分为脱机用户接口和联机用户接口。脱机用户接口由一组作业控制命令或称作业控制语言组成。联机接口由一组操作系统命令组成,用于联机作业的控制。例如,系统管理、环境设置、权限管理、文件管理等。

3.画出进程状态转换图并作必要文字说明。

进程调度的基本调度状态及其转换

文字说明:(1)运行状态。进程已获得必要的资源,并占有一个处理机,处理机正在执行该进程的程序。

(2)就绪状态。如果进程已具备了运行条件,但由于处理机已被其他进程占用,因此暂时不能运行,而等待分配处理机,则称该进程处于就绪状态,有时也称可运行状态。

(3)阻塞状态。进程在运行过程中,因等待某一事件而暂时不能运行的状态,称为阻塞状态,即进程的运行受到了阻塞。此时,及时处理机“空闲”,也无法使用。这种状态也可称为不可运行状态。

进程的各种调度状态,可以根据一定的条件而发生变化。处于运行状态的进程可能因某种事件的发生而变成阻塞状态。相应事件发生之后,该进程可以从阻塞状态变成就绪状态。当系统的进程调度程序把处理机分配给某一就绪状态的进程时,它就从就绪状态进入运行状态。

4.什么是信号量?什么是P、V操作?

(1)在操作系统中,信号量是表示资源的实体,是一个与队列有关的整型变量,其值仅能有P、V操作来改变。操作系统利用信号量对进程和资源进行控制和管理。

(2)P、V操作是定义在信号量S上的两个操作,其定义如下:

P(S): S:=S-1;

 若S>=0,则调用P(S)的进程继续运行;

若S<0, 则调用P(S)的进程被阻塞,并把它插入到等待信号量S的阻塞队列中。

V(S): S:=S+1;

 若S>0,则调用V(S)的进程继续运行;

若S <=0,从等待信号量S的阻塞队列中唤醒头一个进程,然后调用V(S)的进程继续运行。

5:什么是进程互斥?如何实现互斥?

答:进程是操作系统结构的基础,是一个正在执行的程序,用来描述系统和用户的程序活动。两个或两个以上进程由于不能同时使用同一临界资源,只能一个进程使用完了,另一个进程才能使用,这种现象称为进程互斥。

(1).空闲让进 当临界资源处于空闲状态,允许一个请求进入临界区的进程立即进入临界区,从 而有效的利用资源。 

  (2).忙则等待 已经有进程进入临界区时,意味着相应的临界资源正在被访问,所以其他准备进 入临界区的进程必须等待,来保证多进程互斥。 

  (3).有限等待 对要求访问临界资源的进程,应该保证该进程能在有效的时间内进入临界区,防 止死等状态。 

(4).让权等待 当进程不能进入临界区,应该立即释放处理机,防止进程忙等待。

6:存储管理的主要研究课题是什么?

答:存储管理研究课题可归纳为四个方面:

(1):存储分配问题:重点是研究存储共享和各种分配算法。

(2):地址再定位问题:研究各种地址变换机构,以及静态和动态再定位方法。

(3):存储保护问题:研究保护各类程序,数据区的方法。

(4):存储扩充问题:主要研究虚拟存储问题及其各种调度算法。

7:试述文件管理的功能和文件系统的组成。

答:文件系统主要实现了对文件存储器的空间的组织和分配,对文件信息的存储,以及对存入的文件进行保护和检索。文件管理部分的功能有四点:1.文件的结构及有关存取方法;2.文件的目录机构和有关处理;3.文件存储空间的管理;4.文件的共享和存取控制;

文件系统由三部分组成:与文件管理有关的软件、被管理的文件以及实施文件管理所需的数据结构。

8什么是死锁,产生死锁的原因和必要条件是什么?

(1)当某一进程提出资源的使用要求后,使得系统中一些进程处于无休止的阻塞状态,在无外力的作用下,这些进程永远也不能继续前进。我们称这种现象为死锁。

(2)原因:资源竞争和进程推进速度。一个进程在其运行过程中可以提出使用多个资源的要求,仅当指定的全部资源都满足时,进程才能继续运行而到达终点,否则该进程因得不到所要求的资源而处于阻塞状态,当两个或两个以上的进程同时对多个互斥资源提出使用要求时,有可能导致死锁。当进程争夺资源时,有可能产生死锁,但不一定就会死锁。这取决于各进程推进的速度和对资源请求的顺序,从而说明死锁是一种与时间有关的错误。

(3)必要条件:(1)互斥控制:进程对其所要求的资源进行排它控制,一个资源仅能被一个进程独占。(2)非剥夺控制:进程所获得的资源在未被释放之前,不能被其它进程剥夺,即使该进程处于阻塞状态,它所占用的资源也不能被其它进程使用,而其他进程只能等待该资源的释放。(3)逐次请求:进程以随意的零星方式逐次取得资源,而不是集中性的一次请求,这样有利于提高资源的利用率。(4)环路条件:在发生死锁时,其有向图必构成环路,即前一进程保持着后一进程所要求的资源。

9试述文件的物理结构和存取方法的概念及相互关系?

(1)物理结构:文件的物理结构是指逻辑文件在文件存储器上的存储结构。

(2)所谓文件的存取方法,是指读写文件存储器上的一个物理块的方法。通常有三类存取方法:顺序存取法,直接存取法和按键存取法。

(3)文件的物理结构密切依赖于文件存储器的特性和存取方法。究竟采用何种物理结构和存取方法,要看系统的应用范围和文件的使用情况。如果采用顺序存取方法,则连接,串接,索引,连续等几种结构都可存取。如果采用直接存取法,则索引文件效率最高,连续文件效率剧中,串联文件效率最低。

10试述外部设备的体系结构与设备分配算法?(有疑惑)

A、I/O设备的分类:

(1)按使用特性分类。分为存储设备,输入/输出设备,终端设备和脱机设备。169页图6.1

(2)按所属关系分类,分为系统设备和用户设备。

(3)按资源分配角度分类,分为独占设备,共享设备,虚拟设备。

(4)按传输数据数量分类,分字符设备和块设备。

B、I/O设备的分配算法

  (1)先请求先服务。当有多个进程对同一设备提出I/O请求时,该算法是把所有发出I/O请求的进程,按其发出请求的先后顺序排成一个等待该设备的队列。I/O调度程序把I/O设备分配给该队列中的第一个进程。

(2)优先级高者优先。在进程调度中优先级高者,优先获得处理机。如果在I/O调度中,对优先级高者优先满足它的I/O请求,这也是非常合理的。因为这样做有利于尽快地结束该进程,从而尽早地释放它所占有的资源。

11、试述设备管理的软件体系结构。

答:为了实现I/O系统的四个目标:设备无关性、错误处理、同步/一部传输和必须能够处理独占设备和共享设备的I/O操作,I/O系统应组织成以下四个层次:(1)中断处理程序;(2)设备驱动程序;(3)与设备无关的I/O软件;(4)用户空间的I/O软件;

12、为什么说通道技术是现代操作系统的主要硬件支持?简要说明通道的工作原理。

答:(1)、采用通道技术解决了I/O操作的性和各部件工作的并行性,把CPU从繁琐的输入输出操作中出来,能实现CPU与通道的并行操作,而且通道与通道间也能实现并行操作,各通道上的外设也能实现并行操作,从而大大提高计算机系统的效率。

(2)、工作原理(采用通道技术后,I/O操作过程为):CPU在执行用户程序时如果遇到I/O请求,则它用I/O指令启动指令通道上选址的设备,一旦启动成功,通道开始控制设备进行操作。当设备I/O操作完成后,由通道发出I/O,结束中断,CPU停止当前工作,转向中断处理程序。

13、为什么说进程是操作系统的核心概念?进程与程序有何异同?

答:(1)、因为几乎操作系统的所有内容都离不开进程这一概念,进程是操作系统中最基本的元素,是操作系统中资源分配的基本单位,也是进程调度的基本单位。

(2)进程与程序的区别:

 、进程是程序的一次执行,属于一种动态概念,而程序是一组有序的指令,是一种静态的概念。[但是进程离开了程序也就失去了存在的意义。因此,我们可以说进程是程序的动态过程,而程序是进程运行的静态文本。]

 、一个进程可以执行一个或几个程序;反之,同一个程序可能由几个进程同时执行。

 、程序可以作为一种软件资源长期保留,而进程是程序的一次执行过程,是暂时的。

 、进程具有并发性,它能与其它进程并发运行。而一般的程序不具有这种明显的特性。

 、进程是一个的运行单位,也是系统进行资源分配和调度的一个单位。因此,进程具有性。出来性一面之外,另一方面进程间又具有相互制约性,这种特性变现为进程之间的同步与互斥。

 程序是进程的一部分,是进程的实体。

14. 试比较请求页式存储管理和段式存储管理的异同?

答: 异:段式存储管理:分段由用户设计划分,每段对应一个相应的的程序模块,有完整的逻辑意义。段面是信息的逻辑单位。便于段的共享,执行时按需动态链接装入。段长不等,可动态增长,有利于新数据增长。二维地址空间:段名、段中地址;段号、段内单元号。管理形式上象页式,但概念不同。

     请求页式存储管理:分页用户看不见,由操作系统为内存管理划分。页面是信息的物理单位。页一般不能共享。页面大小相同,位置不能动态增长。一维地址空间。往往需要多次缺页中断才能把所需信息完整地调入内存。

    同:实现页(段)的共享是指某些作业的逻辑页号(段号)对应同一物理页号(内存中该段的起始地址)。页(段)的保护往往需要对共享的页面(段)加上某种访问权限的,如不能修改等;或设置地址越界检查,对于页内地址(段内地址)大于页长(段长)的存取,产生保护中断。

15. 有哪几种方案可以实现虚拟存储器,简要说明其工作原理?

答: 1.请求分页存储管理:

(1) 页框:物理地址分成大小相等的许多区,每个区称为一块;

    (2)址分成大小相等的区,区的大小与块的大小相等,每个称一个页面。

    (3) 逻辑地址形式:与此对应,分页存储器的逻辑地址由两部分组成,页号和单元号。

(4)页表和地址转换:采用的办法是动态重定位技术,让程序的指令执行时作地址变换。

2.分段存储管理:

一个用户作业的程序按其逻辑结构可划分为若干段,这些段中的每一段都是完整的。在分段存储管理系统中,可以用类似于分页管理用过的地址变换机构,实现分段管理的地址变换。这里使用的是段变换表SMT,它把作业地址空间变换为物理存储空间,作用地址空间的段与主存中的段大小相等,地址变换是在作业执行过程中由硬件自动完成的。

3.段页式存储管理:

是基本分段存储管理方式和基本分页存储管理方式原理的结合,即先将用户程序分成若干个段,再把每个段分成若干个页,并为每一个段赋予一个段名。

16. 什么是文件目录,操作系统如何通过文件目录进行文件操作?

答:系统中文件种类繁多,数量庞大,为了使用户方便地找到所需文件,需要在系统中建立一套目录机构。这套能方便而迅速地对目录进行检索,从而能准确地找到所需文件的目录机构即为文件目录。

通常情况下,系统会为文件目录建立一个简单的索引表,只包含文件的ID、文件名、文件当前状态(可读/可写/不可访问)及一个指向对应文件目录表项的指针。

 系统在对一个文件进行读写的操作过程如下:

  (1)根据提供的文件名查找对应的文件索引表;

  (2)根据索引表指针找到对应的目录项;

  (3)根据目录项的物理地址项找到文件;

  (4)修改文件索引表中文件的当前状态(若系统只读文件,不进行修改,则标记为可读,若系统要对文件进行修改,则标记为不可访问);

  (5)将文件读入内存,对文件进行读写操作;

  (6)操作完毕,释放文件,修改索引表中文件的状态;

1.生产者—消费者问题P72

(1)设置两个私用信号量和一个公用信号量

①公用信号量S,初值为1,表示没有进程进入临界区,它用于实现进程互斥;

②私用信号量S0,用于表示产品数目,初值为0;

③私有信号量Sn,用于表示可用缓冲区数,初值为n;

(2)生产者—消费者进程描述入下:

生产者进程                    消费者进程

生产一种产品                     P(S0)

P(Sn)                         P(S)

      P(S)                      从缓冲区取一种产品

   产品送入缓冲区                    V(Sn)

V(S0)                          V(S)

V(S)                           消耗该产品

  

(3)生产者和消费者可按如下算法进行:

begin

B:array[0..n-1] of integer;

P,R:integer;

S ,Sn, S0:semaphore;

P:=R:=0;

S:=1; Sn:=n; S0:=0;

cobegin

  process producer i(i=1,2….,m)

begin

   L1: produce a product;

       P(Sn);

       P(S);

       B[P]:=product;

P:=(P+1)mod n;

       V(S0);

       V(S);

      go to L1;

end;

process consumer j(j=1,2,…,k);

begin  L2:P(S0);

         P (S);

         take a product from B[R];

         R:=(R+1) mod n;

         V(Sn);

         V(S);

         consume

          go to 12;

end;

coend;

end;  

 

2读者和写者问题P74

(1)写者优先的程序中,信号量S,初值为1,用于读者与写者或写者与写者之间的互斥;

(2)Sn,初值为n,表示系统中最多有n个进程可同时进行读操作。

begin S,Sn:Semaphore;

S:=1; Sn=n;

cobegin

Process Reader i(i=1,2…,n)

begin 

           P(S);

P(Sn);

V(S);

read file F;

V(Sn)

end;

Process Writer j(j=1,2…,k)

  begin

       P(S)

       for i:=1 to n do P(Sn);

Writer file F;

for i:=1 to n do V(Sn);

V(S)

end;

coend;

end;

P94 (24)

3.有一阅览室,读者进入时必须先在一张登记表上进行登记。该表为每一座位列出一个表目,包括座号、姓名。读者离开时要撤销登记信息。阅览室有100个座位,试问:

(1)为描述读者的动作,应编写几个程序,应该设置几个进程?进程和程序之间的对应关系如何?

(2)试用P、V操作描述这些进程间的同步算法。

答:Semaphore zmess=100;座位资源

Semaphore mutex=1;登记表资源

Main()

{

    cobegin

         reader_entry();读者进入

         reader_exit();读者离开

     Coend

     }

Reader_entry()

{

     While(true)

     {

      P(zmess);

      P(mutex);

      Sit and read;

      V(mutex);

   }

}

Reader_exit()

{

While(true)

{

P(mutex);

Mod table

V(mutex);

V(zmess);

   }

}

P94(28)

4..桌上有一只盘子,每次只能放入一个水果。爸爸专向盘中放苹果,妈妈专向盘中放橘子,一个女儿专等吃盘中的苹果,一个儿子专等吃盘中的橘子。试用P、V操作写出他们能同步的程序。

Main()

{

   Int Sp=1; // 是否有空盘子

   Int Sa=0;// 盘中是否有苹果

Int So=0; // 盘中是否有橘子

Pf( );

Pm( );

Pd( );

Ps( );

}

Pf( )

{

  P(Sp);

  向盘中放苹果;

  V(Sa);

}

Pm( )

{

  P(Sp);

  向盘中放橘子;

  V(So);

}

Pd( )

{

  P(Sa);

  取盘中的苹果;

  V(Sp);

}

Ps( )

{

  P(So);

  取盘中的橘子;

  V(Sp);

}

5.哲学家就餐问题

有五个哲学家坐在一圆桌旁,桌有一盘通心面,每个人面前有一只空盘子,每两人之间放一把叉子。每个哲学家思考、饥饿,然后吃通心面。但是,每个哲学家必须获得两把叉子(只能从自己左边和右边去取叉子),才能吃到通心面。

begin S1,S2,S3,S4,S5:semaphore;

S1:=S2:=S3:=S4:=S5:=1

Cobrgin

     process Pi(i=1,2,3,4)

   begin

   Li:thinking;

      hungry;

      P(Si);

      pickup ri;

      P(Si+1);

      pickup ri+1;

      eating;

      putdown ri;

      putdown ri+1;

      V(Si);

      V(Si+1);

    go to Li

end;

process P5

   begin

L5:thinking;

hungry;

P(S1);

pickup r1;

P(S5);

pickup r5;

eating;

putdown r1;

putdown r5;

V(S1);

V(S5);

go to L5

end;

coend;

end

6.在一个请求分页存储管理系统中,一个程序的页面走向为4,3,2,1,4,3,5,4,3,2,1,5,并采用LUR页面置换算法。设分配给该程序的存储块数为M,当M分别为3和4时,试求出在访问过程中发生却也中断的次数和缺页率,并比较两种结果,从中得到什么启发?

表1 LUR性能分析例(M=3)

时刻123456789101112
P432143543215
M4+3+

4

2+

3

1+

2

4+

1

3+

4

5+

3

4

4

5

3

3

4

2+

3

1+

2

5+

1

2

F++++++++++
表2 LUR性能分析例(M=3)

时刻123456789101112
P432143543215
M4+3+

4

2+

3

4

1+

2

3

4

4

1

2

3

3

4

1

5+

3

4

1

4

5

3

1

3

4

5

2+

3

4

1+

2

3

5+

1

2

3

F++++++++
由表1算出缺页中断次数F=10,缺页率f=10/12=83%;

由表2算出缺页中断次数F=8,缺页率f=8/12=67%;

由两表可得出如下事实:

    设G(P,M,t)表示当页面走向为P,主存容量为M,在时刻t的页面集合,对于LUR算法,存在如下关系成立,即G(P,M,t) G(P,M+1,t),即对于任何时刻t(1,2,3,……12),G(P,M,t)所选中的页号必然包含在G(P,M+1,t)之中,这种关系说明了增加主存容量不会增加缺页中断次数。

      

       下载本文

显示全文
专题