操作系统-精髓设计与原理期末复习

实验20分,考勤作业各十分

五种题型

10个判断题1分,

填空题13个20个空20分

单选题10个10分

简答题共10分

5道综合应用共50分

linux和unix进程创建,填空题易丢分。

 

        56章必考大题  

 

一、哪几种I/O通讯方式,各自的优缺点是什么。

可编程I/O 中断驱动I/O 直接内存存取DMA

·处理器要等待很长时间以确定I/O模块是否做好了接受或发送更多数据的准备。处理器在等待期间必须不断地询问I/O模块的状态以确定I/O操作是否完成。

·当I/O模块准备好交换数据时打断处理器并请求服务。

任何数据传送都必须完全通过处理器

缺陷:

1,I/O传送速度受限于处理器测试设备和提供服务的速度

2,处理器忙于管理I/O传送的工作,必须执行很多指令以完成I/O工作

 

·由系统总线中一个独立模块完成。

工作方式:给DMA模块产生一条命令,产生以下信息:

1. 是否请求一次读或写

2. 所涉I/O设备的地址

3. 开始读或写的存储器单元

4. 需要读或写的字数

传送完成后DMA模块向处理器发送中断信号

存在总线竞争。当处理器使用总线时,需要等待DMA模块一个总线周期(在总线上传输一个字的时间)。

 

二、高速缓冲存储器的原理和访问过程是什么。

Cache

 

三、有哪些替换算法,算法流程是什么。

·页框锁定

·基本算法:

1. 最佳 optimal OPT

置换下次访问据当前时间最长的那些页

2. 最近最少使用(Least RecentlyUsed,LRU)

置换内存中最长时间未被引用的页。

 

 

3. 先进先出(First InFirst Out,FIFO)

分配的页框视为一个循环缓冲区

4. 时钟(Clock)

添加一个使用的附加位。··

 

四、操作系统的发展经历了哪些阶段。

串行处理 批处理系统 多道批处理系统 分时系统

 

五、程序的主要区别是什么

进程=程序代码 + 数据集 + 进程控制块

 

六、进程的状态变迁及变迁的条件

五状态模型

运行态

就绪态-》就绪态

         就绪/挂起态(进程已在外存中,只要载入内存就可执行)

阻塞/等待态—》阻塞态

阻塞挂起态

新建态:刚刚创建的新进程操作系统未把它加入可执行进程组,进程控制块已经创建但还未加载到内存中的新进程。

退出态:操作系统从可执行组释放的进程,要么已停止,要么被取消

 

各种状态都能进入退出态

 

运行-》就绪/挂起(阻塞/挂起 进程具有较高优先级抢占)

运行-》

 

新建的只能进入就绪或就绪/挂起

 

阻塞态 只有运行的程序才能等待一个事件进入阻塞态

 

只有阻塞态才能进入阻塞挂起

 

阻塞/挂起-》阻塞 在特殊情况下合理。优先级高并确信很快会发生

 

不能发生的:

各状态->新建态:新建态是为新创建的进程创建进程控制块等操作,但并未将进程加载到内存。

退出态->各状态:进程自身停止或被取消,已被os从可执行进程组中释放。

       就绪/挂起态->运行态:进程当前仍在外存中,只有被载入内存才可能被执行。

       就绪/挂起态->阻塞/挂起态:进程当前仍在外存中,只有被载入内存才可能被执行。所以不可能因为等待一个事件的发生而再被挂起。

       就绪/挂起态->阻塞态:进程当前仍在外存中,只有被载入内存才可能被执行。所以不可能因为等待一个事件的发生而阻塞。

       就绪态->阻塞态:进程被载入内存,但未执行,所以不可能因为等待一个事件的发生而阻塞。

       就绪态->阻塞/挂起态:进程被载入内存,但未执行,所以不可能因为等待一个事件的发生而再被挂起。

       运行态->阻塞/挂起态:进程在执行过程中因为等待事件阻塞需要先进入阻塞态,再根据内存空间等情况的安排决定是否挂起,无法直接转换到阻塞/挂起态。

       新建态->运行态、阻塞态、阻塞/挂起态:一个进程创建完成,只能加入就绪队列或者就绪/挂起队列。

阻塞态、阻塞/挂起态->运行态:若等待的事件发生,则进程应该转换到就绪态或就绪/挂起态。

       阻塞/挂起态->就绪态:需要先进入就绪/挂起态。

       阻塞态->就绪/挂起态:阻塞态发生时间或者换入外存也只能转换为就绪态或者阻塞/挂起态,无法转换成就绪/挂起态。

 

七、挂起进程状态的特点。

1.该进程不能立即执行

2.该进程可能在也可能不在等待一个事件。若在等待一个事件,那么阻塞条件不依赖于挂起条件,阻塞事件的发生不会是进程立即执行。

3.可通过代理使进程置于挂起态,代理可以是进程本身,父进程或操作系统。

4.除非代理显式地命令系统进行转换,否则进程无法从挂起的状态转移。

 

八、pcb的作用是什么。

进程控制块是操作系统中最重要的数据结构。包含操作系统所需的进程的所有信息。

访问:每个进程都有唯一的ID号,可用作进程控制块的索引表。

保护:一个例程(中断处理程序如)的错误可能会破坏pcb

Pcb的语义变化会影响到操作系统的许多模块

 

九、中央处理器的工作状态有哪些。

运行、空闲、在分派

 

非特权模式:用户模式

特权模式:系统模式,控制模式和内核模式

内核的典型功能:进程管理、内存管理、IO管理、支持功能(中断 记账 监视)

 

十、操作系统的执行有哪些方式。

操作系统是一个程序

操作系统会频繁地释放控制权,并依赖于处理器来恢复控制权。

 

·无进程内核。在所有进程外部执行操作系统内核。进程这一概念只适应于用户程序。操作系统代码是特权模式下单独运行的实体。

·在用户进程内运行 在用户例程内执行操作系统例程

·基于进程的操作系统 操作系统例程作为分离的进程执行

 

3.11 os创建一个新进程所需要的步骤?

答:1.给新进程分配一个唯一的进程标识号。2.给进程分配空间。3.初始化进程控制块。4.设置正确的连接。5.创建或扩充其他的数据结构。

 

 

十一、线程有哪些类型有哪些运行方式

进程=pcb+地址空间+用户堆栈+内核堆栈

线程=pcb+地址空间+tcb1+用户堆栈1+内核堆栈1+tcb2+用户堆栈2+内核堆栈2

优点:1空间tcb<pcb

  2线程创建于进程中,无需进行内存等资源申请、撤销(创建、终止、切换、同一进程中的线程通信速度快)

 

·用户级线程 User—Level Thread,ULT 线程库进行调度。内核继续以进程为单位进行调度并为进程指定状态。

·内核级线程 Kernel—Level Thread KLT

·两者的组合

 

 

十二、什么是微内核。

微内核的基本原理是,只有最基本的操作系统功能才能放在内核中。非基本的服务和应用程序在微内核之上构造,并在用户模式下执行

 

 

十三、什么是进程的切换,其步骤是什么。

进程转换为另一种状态

1. 保存处理器的上下文,包括程序计数器和其他寄存器

2. 更新当前处于运行态进程的进程控制块,包括把进程状态改变为另一状态,更新其他相关的字段,包括推出运行态的原因和记账信息。

3. 把该进程的进程控制块移到相应的队列。

4. 选择另一个进程执行。

5. 更新所选进程的进程控制块

6. 更新内存管理数据结构

7. 载入程序计数器和其他寄存器先前的值,将处理器的上下文回复为所选程序上次推出运行状态时的上下文

 

十四、什么叫临界资源,什么叫临界区。

临界资源是指每次仅允许一个进程访问的资源。

  属于临界资源的硬件有打印机、磁带机等,软件有消息缓冲队列、变量、数组、缓冲区等。  诸进程间应采取互斥方式,实现对这种资源的共享。

  每个进程中访问临界资源的那段代码称为临界区。显然,若能保证诸进程互斥地进入自己的临界区,便可实现诸进程对临界资源的互斥访问。为此,每个进程在进入临界区之前,应先对欲访问的临界资源进行检查,看它是否正被访问。如果此刻该临界资源未被访问,进程便可进入临界区对该资源进行访问,并设置它正被访问的标志;如果此刻该临界资源正被某进程访问,则本进程不能进入临界区。

 

十五、信号量的物理意思是什么,大于小于0的情况。

用于进程间传递信号的一个整数值。信号量上只可进行三种操作,初始化、递增、递减。递减操作用于阻塞一个进程,递增操作用于接触一个进程的阻塞。

1. 一个信号量可以初始化成非负数。

2. semWait操作使信号量减一。若值变成负数,则阻塞执行semWait的进程,否则进程继续执行

3. semSignal操作使信号量加1.若值小于0,则被semWait操作阻塞的进程解除阻塞。

初始化的值代表可以立即继续执行的进程的数量。

 

十六、信号量的值与资源数量进程数量的关系是什么。

大于0,可继续执行的程序的数量

小于0 被阻塞的程序的数量

 

十七、信号量如何控制程序的运行。

十八、如何使用信号量来解决资源竞争和进程同步的实际问题。

 

 

十九、什么是管程其结构是什么,与信号量相比其优点是什么。

管程是由一个或多个过程、一个初始化序列和局部数据组成的软件模块,其特点如下:

1. 局部变量只能被管程的过程访问,任何外部过程都不能访问。

2. 一个进程通过调用管程的一个过程进入管程

3. 任何时候只能有一个进程在管程中执行。其他调用管程的进程被阻塞,以等待管程可用。

 

二十、什么是消息传递,如何通过信箱实现进程的同步与互斥。

为实施互斥,进程间需要同步,实现合作,进程间需要交换信息。

无阻塞send 阻塞receive

 

二十一、什么是资源分配图

1. 圆形 进程

2. 方形 资源类

3. 黑点 资源示例

4. 申请

5. 占有、分配、拥有

 

二十二、从图上可以获取哪些信息。

 

二十三、死锁产生的四个条件是什么。

必要条件:

1. 互斥。一次只有一个进程可以使用一个资源。其他进程不能访问已经分配给其他进程的资源。

2. 占有且等待 。当一个进程等待其他进程时,继续占有已分配的资源。

3. 不可抢占。不能强行抢占进程已占有的资源。

 

必要充分

循环等待:

 

二十四、什么是进程的竞争,竞争会不会引起死锁,如何解决死锁。

多个进程在读写一个共享数据时结果依赖于它们执行的相对时间,这种情形叫竞争。

 

·死锁预防

破坏上面四个条件

·死锁避免 动态选择,不发生资源竞争,安全状态。

 

死锁检测 动态定期检查进程组以确认当前状态下是否有死锁。

 

二十五、案中判断死锁是否存在,存在则举例说明,不存在做原理性说明。

 

二十六、什么是行家算法,引入是为了解决什么问题,其具体的计算过程和步骤什么。

 

二十七、银行家算法中什么是安全不安全状态,不安全状态和死锁的关系是什么。

资源分配拒绝策略,又称银行家算法

安全状态:至少有一个资源分配序列不会导致死锁。

不安全状态:

 

死锁状态一定是不安全状态

系统处于不安全状态不一定导致死锁

 

 

二十八、什么是进程的趋势图,如何根据进程的趋势图来实现进程的同步。

比如:s3要等s1和s2

 

 

二十九、什么是磁盘的动态分区,可以使用哪些算法进行空闲区块的分配。

分区的长度和数量是可变的。

放置算法:最佳适配、

首次适配 从头开始扫描内存。

下次适配 从上一次放置的位置开始扫描内存

 

三十、什么是伙伴系统,如何确定伙伴的地址。

二分

 

 

三十一、什么是页表,页表的作用是什么。

进程中称为页的块分配到内存中称为页框的可以块。

页表给出了进程的每页所对应页框的位置。

 

三十二、给定一个页表或段表,如何实现逻辑地址到物理地址的映射与转换,有哪些需要考虑的因素,具体的过程是什么。

虚拟地址 段号+页号+偏移量

段号+段表指针=段表中的段号(第几个段表项)-》页表头

页表头+页号=页表项-》页框号

页框号+偏移量-》物理地址

 

三十三、什么是二级页表反向页表。

根页表-》用户页表-》内存

页号使用散列函数映射到散列表中。

 

三十四、时间片、系统响应时间、系统效率之间的关系是什么。

时间片,即进程在被中断前可以执行的最大时间段

时间片越短
系统响应时间越短
系统效率越低

 

 

三十五、在页式管理系统中。页面大小与内存空间浪费的关系是什么。

页面越小内部碎片越少

 

 

 

三十六、多个进程如何共同使用用一个临界资源。

临界区、互斥

进程在临界区使用临界资源,但临界区中一次只能有一个进程。

 

三十七、什么是缺页中断,如何处理缺页中断。

需要的页不在主存中,这时将产生一次存储器访问故障,称为页错误。这时离开硬件作用范围,调用操作系统,由操作系统负责装入所需要的页,并更新页表。

 

 

三十八、操作系统如何实现文件名与文件实际物理存储之间的映射关系。

目录

 

 

三十九、unix和linux系统如何创建进程。

通过在父进程中调用fork()函数,该函数对父进程返回子进程的PID,对子进程返回0

 

 

 

四十、什么是最先、最佳和最近适配算法。

 

四十一、什么是作业进程的平均周转时间,如何计算。

 

四十二、什么是文件的逻辑结构,什么是文件的物理结构。

文件的逻辑结构:文件组织,由用户访问记录的方式确定。

a)     文件的逻辑结构是用户可见结构,逻辑文件从结构上分成二种形式:

一种是无结构的流式文件,是指对文件内信息不再划分单位,它是依次的一串字符流构成的文件。

一种是有结构的记录式文件, 是用户把文件内的信息按逻辑上独立的含义划分信息单位,每个单位称为一个逻辑记录(简称记录)。

所有记录通常都是描述一个实体集的,有着相同或不同数目的数据项,记录的长度可分为定长和不定长记录两类。

 

文件的物理结构是从系统的角度来看文件,从文件在物理介质上的存放方式来研究文件:连续结构(顺序)、链接结构、索引结构

(具体优缺点http://kjwy.5any.com/czxt/content/czxt05/Czxt-kcjj-050203.htm

 

 

四十三、什么是平均寻道长度,在不同的调度算法下如何计算平均寻道长度。

FIFO:按顺序处理

SSTF:最短服务时间优先(找下一个离当前磁道最近的)

SCAN:磁头臂仅仅沿着一个方向移动,并在途中满足所有未完成的请求,直到达到这个方向上的最后一个磁道,接着反方向扫描。

CSCAN:磁头臂仅仅沿着一个方向移动,并在途中满足所有未完成的请求,直到达到这个方向上的最后一个磁道,接着从磁盘相反方向磁道的末端开始扫描

 

 

 

四十三、什么是虚拟存储器,其理论基础是什么。

一个进程只能在主存中执行,因此这个存储器称为实存储器,但是程序员或者用户感觉到的是一个更大的内存,通常它被分配到磁盘上,这称为虚拟内存。理论基础是局部性原理。

 

 

四十四、什么是程序的局部性原理包括时间和空间。

概括来说,局部性原理描述了一个进程中程序和数据引用的集簇倾向。因此,假设在很短的时间内仅需要访问进程的一部分块是合理的。同时,还可以对在不远的将来可能会访问的块进行猜测,从而避免系统抖动。

 

四十五、页式、段氏和段页式管理系统的特点各是什么。

在内存中每个进程浪费的空间仅仅是进程最后一页的一小部分形成的内部碎片。没有任何外部碎片。

分段的方案中,一个程序可以占据多个分区,并且这些分区不要求是连续的。分段消除了内部碎片,但是和动态分区一样,它会产生外部碎片。不过由于进程被分城许多小块,因此外部碎片是很小的。

 

 

四十六、页表中页的大小和地址计数和空间大小的关系是什么。

页越小,内部碎片越小

页越小,每个进程需要更多的页

每个进程需要更多的页,则页表越大

页表越大,更多的页表在虚拟内存中

辅存被设计成能有效地传输大块数据,因此一个大的页尺寸可能更好

 

 

 

四十七、什么是TLB,有后访问过程是什么,如何计算平均查找时间,意志平均查找时间求命中率。

TLB 转移后背缓冲器:为页表项使用的一个特殊的高速缓冲

a)     先判断页表项是否在TLB中,如果在直接读取页号,再去内存读具体数据      TLB+内存

b)     不在TLB中访问页表,如果在内存中就更新TLB并读取页号,再去内存中读取具体指向的数据块:页表(内存)+内存

c)     访问页表,不在主存中就调用缺页中断(从磁盘中读取该页,传送该页到主存中,主存满就执行页替换,不满就页更新),再访问页表读取地址,最后访问内存读具体数据:页表(内存)+缺页中断+页表+内存

 

四十八、不同的内存访问速率对缺页率的影响。

 

 

四十九、什么是交换技术,好处和代价是什么。

交换技术用于将额外的就绪进程加载到主存,从而保持处理器处于工作状态,但就交换技术本身而言,其就是一个IO操作。

 

 

 

五十、文件系统如何解决同名的问题。

目录

用树形结构目录来解决同名问题。即文件名不一定要唯一,只要文件路径是唯一的就够了。而拼写完整路径也是比较困难的,因此对于进程或是交互用户,总有一个当前路径与之相关联,通常称为工作目录。

 

 

 

五十一、什么是系统的抖动,如何避免系统的抖动。

处理器的大部分时间都用于交换块,而不是执行指令。使用基于局部性原理的推理避免系统抖动。假设在很短的时间内仅需要访问进程的一部分块是合理的,同事对在不远的将来可能会访问的块进行猜测。

优化算法,不至于不断倒入倒出

 

五十二、有哪些不同的内存管理方法,哪些管理方法会产生系统抖动。

 

 

五十三、在请求式分页式内存管理系统中,如何在不同内存块数和调度算法算法下极端缺页率。

 

 

 

五十四、文件的五种逻辑组织形式什么,各自特点,哪些适合文件的记录添加操作,哪些不适合。

数据按他们到达的顺序被采集,每个记录由一串数据组成。当保存的数据大小和结构不同时,这种类型的文件空间使用情况很好,能较好的用于穷举搜索,且易于修改。

顺序文件

在这类文件中,每个记录都使用一种固定的格式。所有记录都具有相同的长度,并且由相同数目、长度固定的域按特定的顺序组成。

顺序文件通常用于批处理的应用中,并且如果这类应用设计到对所有记录的处理,则顺序文件通常是最佳的。对于查询或更新记录的交互式应用,顺序文件表现出很差的性能。

索引顺序文件

索引顺序文件保留了顺序文件的关键特征,它还增加了两个特征,用于支持随机访问的文件索引和溢出文件。索引提供了快速接近目标记录的查找能力。

索引文件

为了基于其他的属性而不是关键域搜索一条记录时,需要一种采用多索引的结构,每种可能成为搜索条件的域都有一个索引。可以使用长度可变的记录。当往主文件增加一条新记录时,索引文件必须全部更新。所以,索引文件大多用于对于信息的及时性要求比较严格并且很少会对所有数据进行处理的应用。

直接或散列文件

直接文件或散列文件开发直接访问磁盘中任何一个地址已知的块的能力。直接文件使用基于关键字的散列,常在要求快速访问时使用,并且记录的长度是固定的,通常一次只访问一条记录。文件操作(文件组织方式对应何种操作)

 

 

五十五、什么是缓冲技术,为什么使用,缓冲技术如何减少程序的运行时间,最多减多少。

 

缓冲技术是为了协调吞吐速度相差很大的设备之间数据传送的工作

作用有:

改善CPUIO设备间速度不匹配的矛盾

减少对CPU的中断频率,放宽对中断响应时间的限制

提高CPUIO设备之间的并行性

 

 

五十六、什么是寻道时间,旋转延迟,存储时间,传送时间如何计算。

寻道时间:磁头定位到磁道所需要的时间

旋转延迟:磁头到达扇区开始位置的时间

存取时间:寻道时间和旋转延迟的总和

传送时间:传送所需的时间

 T表示传送时间,b表示要传送的字节数,N表示一个磁道中的字节数,r表示旋转速度

 Ta为总平均存取时间,Ts为平均寻道时间,为平均旋转延迟如何

 

五十七、如何访问一个文件,其过程是什么,包括读和写。

 

五十八、磁盘的调度有哪几种调度类型,有哪几种磁盘调度算法,最短的服务时间有限算法调度原则是什么。

 

五十九、文件的物理存储分配有哪些凡是,这些方式需要哪些辅助信息。

预分配:要求在发出创建文件的请求时声明该文件的最大大小

动态分配:只有在需要的时候才给文件分配空间

 

文件分配方法:

连续分配:在创建文件时,给文件分配一组连续的块

链式分配:链式分配基于单个的块。链中的每一块都包含指向下一块的指针。局部性原理不再适用,适合于顺序处理的顺序文件。

索引分配:每个文件在文件分配表中有一个一级索引。分配给该文家的每个分区都在索引中有一个表项。

 

六十、什么是多道程序设计,在这个环境下cpu和I/O设备如何并发运行。

 

由于IO操作,CPU的等待时间很长。所以引入多道程序或多任务处理。假设内存空间容得下操作系统的两个用户程序,那么当一个作业要求等待IO时,处理器可以切换到另一个可能并不在等待IO的作业。进一步还可以扩展存储器以保存三个、四个或更多的程序。

 

六十一、什么是记录的存储与分解。

记录的组块和分解

组块:固定组块、可变长度跨越式组块、可变长度非跨越式组块

 

六十二、什么是spooling系统。

SPOOLing是SimultaneousPeripheral Operation On-Line (即外部设备联机并行操作)的缩写,它是关于慢速字符设备如何与计算机主机交换信息的一种技术,通常称为“假脱机技术”。实际上是一种外围设备同时联机操作技术,又称为排队转储技术。
  它在输入和输出之间增加了“输入井”和“输出井”的排队转储环节。
  SPOOLing系统主要包括以下三部分:
  (1)输入井和输出井:这是在磁盘上开辟出来的两个存储区域。输入井模拟脱机输入时的磁盘,用于收容I/O设备输入的数据。输出井模拟脱机输入时的磁盘,用于收容用户程序的输出数据。
  (2)输入缓冲区和输出缓冲区:这是在内存中开辟的两个缓冲区。输入缓冲区用于暂存有输入设备送来的数据,以后在传送到输出井。输出缓冲区用于暂存从输出井送来的数据,以后再传送到输出设备。
  (3)输入进程和输出进程:输入进程模拟脱机输入时的外围控制机,将用户要求的数据有输入设备到输入缓冲区,再送到输入井。当CPU需要输入设备时,直接从输入井读入内存。输出进程模拟脱机输出时的外围控制机,把用户要求输入的数据,先从内存送到输出井,待输出设备空闲时,再将输出井中的数据,经过输出缓冲区送到输出设备上。
  SPOOLing技术的特点:
  (1)提高了I/O速度.从对低速I/O设备进行的I/O操作变为对输入井或输出井的操作,如同脱机操作一样,提高了I/O速度,缓和了CPU与低速I/O设备速度不匹配的矛盾.
  (2)设备并没有分配给任何进程.在输入井或输出井中,分配给进程的是一存储区和建立一张I/O请求表.
  (3)实现了虚拟设备功能.多个进程同时使用一独享设备,而对每一进程而言,都认为自己独占这一设备,不过,该设备是逻辑上的设备.

 

发布了4 篇原创文章 · 获赞 1 · 访问量 8111
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 大白 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览