操作系统复习

前言

哎,应试的产物,博主只是只大二的期末狗,以下所有内容不保证逻辑严密性,相关内容参考操作系统大黑书、学校试题答案、网上各类博客论坛,仅为了复习所用

相关参考来源:
csdn上一位大佬关于操作系统知识点的总结,解决了我不少疑惑,写的很好
博客园的一篇选择题总结

大黑书指的是这本:
操作系统复习_第1张图片

1. 操作系统复习范围在这里插入图片描述

2. 复习笔记

上课听老师讲课过了一遍知识点,但开始复习的时候真的很无语,根本不理解各个点之间的关联,然后我在b站这个视频:是一个考研上岸的学长做的操作系统讲解视频
我个人觉得这个比王道考研好,重理解,讲逻辑,哈哈哈每次的举例都是qq和LOL,很亲民了我感觉。当然内容很多,不适合速成,安利一波,大师兄讲的真的很好!

2.1 OS的综述

操作系统复习_第2张图片

操作系统复习_第3张图片

2.2 进程

  • 进程管理逻辑图

操作系统复习_第4张图片

操作系统复习_第5张图片

操作系统复习_第6张图片

操作系统复习_第7张图片

操作系统复习_第8张图片

操作系统复习_第9张图片

操作系统复习_第10张图片
操作系统复习_第11张图片

操作系统复习_第12张图片

操作系统复习_第13张图片

操作系统复习_第14张图片

操作系统复习_第15张图片

操作系统复习_第16张图片

操作系统复习_第17张图片

操作系统复习_第18张图片

2.3 内存管理

操作系统复习_第19张图片

操作系统复习_第20张图片

操作系统复习_第21张图片

操作系统复习_第22张图片

操作系统复习_第23张图片

操作系统复习_第24张图片

操作系统复习_第25张图片

在这里插入图片描述
剩下的文件系统和I/O设备管理感觉背的东西多,就没写笔记了。


3. 相关名词解释

  1. Operating System(操作系统)
    是一种运行在内核态的软件;
    是管理系统资源,控制程序执行,协调硬件使用的最基本的系统软件。
  2. Busy Waiting(忙等待):当一个进程位于其临界区内时,其他试图进入临界区的进程都必须在进入区内连续空循环。
  3. Processes(进程)
    进程是具有独立功能的程序在一个数据集上的一次运行活动;
    是系统进行资源分配和调度的一个独立单位;
    其本质上是正在执行的一个程序。
  4. Thread(线程):是进程中某个单一顺序的控制流,是进程中的实体,又称轻量级进程,是CPU使用的基本单元,由线程号,程序计数器,寄存器集合和堆栈组成。
  5. Critical Section(临界区):对共享内存进行访问的程序片段。
  6. Semaphore(信号量):进程间通信处理同步互斥的机制。是在多线程环境下使用的一种设施, 它负责协调各个线程, 以保证它们能够正确、合理的使用公共资源。
  7. Deadlock(死锁):死锁是指两个或两个以上的进程在执行过程中,由于竞争资源或者由于彼此通信而造成的一种阻塞的现象,若无外力作用,它们都将无法推进下去。
  8. Relocation(重定位):重定位就是把程序的逻辑地址空间变换成内存中的实际物理地址空间的过程,也就是说在装入时对目标程序中指令和数据的修改过程。
  9. Atomic Action(原子操作):是指不会被线程调度机制打断的操作,这种操作一旦开始,就一直运行到结束。
  10. RAID(独立磁盘冗余阵列)
    ( Redundant Array of Independent Disks )即独立磁盘冗余阵列。
    其实就是用多个独立的磁盘组成在一起形成一个大的磁盘系统,从而实现比单块磁盘更好的存储性能和更高的可靠性。
  11. Buffer(缓冲器):分为输入缓冲器和输出缓冲器,前者将外设送来的数据暂时存放,以便处理器将它取走;后者的作用是用来暂时存放处理器送往外设的数据。
  12. Virtual Memory(虚拟内存):是计算机系统内存管理的一种技术,它使得应用程序认为它拥有连续可用的内存,而实际上,它通常被分隔成多个物理内存碎片,还有部分暂时存储在外部磁盘存储器上,在需要时进行数据交换。
  13. First Fit(首次适应算法):从空闲分区表的第一个表目起查找该表,把最先能够满足要求的空闲区分配给作业,目的在于减少查找时间。
  14. Best Fit(最佳适应算法):从全部空闲区中找出能满足作业要求的,且大小最小的空闲分区,这种方法能使碎片尽量小。
  15. Paging(分页):是一种操作系统里存储器管理的一种技术,可以使计算机的主存使用存储在辅助存储器中的数据。
  16. Fragmentation(碎片):内存碎片描述一个系统中所有不可用的空闲内存。
  17. Internal Fragmentation(内部碎片)
    已经被分配出去(能够明确指出属于哪个进程),却不能被利用的内存空间。
    (或:当存储器被划分成固定大小的分区时,会产生内部碎片,如果一块数据被分派到一个或多个分区,那么在最后一个分区中会出现被浪费的空间,这发生在最后一部分数据比最后一个分区小的情况下)
  18. Stable Storge(稳定存储器):一个磁盘子系统具有如下特性:当一个写命令发给它时,磁盘要么正确地写数据,要么什么也不做,让先有的数据完整无缺地留下,这样的系统称为稳定存储器。
  19. Banker’s Algorithm(银行家算法):Dijkstra提出的一种能够避免死锁的调度方法。
  20. Two-Stage Locking(两阶段加锁):第一阶段,进程试图对所有所需记录进行加锁,一次锁一个记录,若第一阶段加锁成功,开始第二阶段,完成更新然后施放锁,在第一阶段并没有做实际的工作。
  21. Barriers(屏障):用于进程组中的一种同步机制。这一过程行为可以描述为:在进程执行的每个阶段结尾安置屏障,阻拦进程,直到所有进程都到达该屏障,以达到一组进程同步的效果。(黑书P83页上方)
  22. Avoiding Locks(避免锁):避免锁,指对进程资源申请不加限制,但在分配之前会作安全检查,只有安全才进行分配。(黑书P83页2.3.10)
  23. Grace Period(宽限期):RCU(读-复制-更新Read-Copy-Update)会在读操作执行一段时间之后(持有的这一个数据结构引用的最大时间称为宽限期),安全的回收内存。宽限期设定相关的一个简单准则为:等待所有线程执行完一次上下文切换的时间。(黑书P84页上方)
  24. Scheduler(调度程序):在单核cpu系统中,若当前有多个进程或线程同时竞争CPU,此时执行选择下一个运行进程工作功能的部分操作系统代码称为调度程序。(黑书P84页2.4)
  25. System Calls(系统调用):是用户态和内核态通信的一种方式。表示进程状态发生切换——从用户态到内核态的转换。
  26. Device independence(设备独立性):设备独立性是指操作系统把所有外部设备统一当作成文件来看待,只要安装它们的驱动程序,任何用户都可以像使用文件一样,操纵、使用这些设备,而不必知道它们的具体存在形式。
  27. Monitor(管程):是一种程序结构,结构内的多个子程序(对象或模块)形成的多个工作线程互斥访问共享资源。管程实现了在一个时间点,最多只有一个线程在执行管程的某个子程序。

4. 简答题

不保证正确嗷,我自己的答案

  1. 操作系统类型有哪些?
    这玩意儿背起来跟八股文一样,头大
    ①大黑书上给的:大型机操作系统、服务器操作系统、多处理器操作系统、个人计算机操作系统、掌上计算机操作系统、嵌入式操作系统、传感器节点操作系统、实时操作系统、智能卡操作系统
    ②但我个人觉得从os的发展可以这么背:
    操作系统复习_第26张图片
  2. 与进程创建相关的事件有哪些?
    引起进程创建的主要事件有:用户登录、作业调度、提供服务、应用请求。
  3. 进程的基本状态有几种,画图说明状态之间的转换过程及原因
    基本状态三种:就绪、运行、阻塞
    操作系统复习_第27张图片
    下图以多进程cpu为例解释转换原因:
  4. 用户级线程与系统级线程的区别及优缺点
用户级线程 系统级线程
区别 ①仅存在于用户空间,内核看不到用户线程(所以只要有一个线程阻塞将使得整个进程阻塞);②内核资源的分配按照进程分配,而用户线程只能在进程内进行资源竞争 1)线程的创建、撤销和切换等,都需要内核直接实现,内核了解每一个作为可调度实体的线程。(2)这些线程可以在全系统内进行资源的竞争;(3)内核空间内为每一个内核支持线程设置了一个线程控制块(TCB),内核根据该控制块,感知线程的存在,并进行控制。
优点 ①实现简单,可以在不支持线程的操作系统中使用;②线程管理代价小;③允许每个进程有自己的线程调度算法,线程管理灵活;④线程能够利用的表空间和堆栈空间更大 当有多个处理机时,一个进程的多个线程可以同时执行
缺点 资源调度按照进程进行,多个处理机下,同一个进程中的线程只能在同一个处理机下分时复用 由内核进行调度
  1. 使用临界区的四个必要条件
    ①空闲让进:临界区空闲时应该允许一个进程访问;
    ②忙则等待:临界区被访问时,其余想访问他的进程必须等待;
    ③有限等待:等待的进程在外等待的时间必须是有限的;
    ④让权等待:若等待进程一直等待,迟迟进不到临界区时,应该让出cpu,防止忙等待。

  2. 什么是信号量以及与信号量相关的两个操作的执行流程
    信号量是进程间通信处理同步互斥的机制。是在多线程环境下使用的一种设施, 它负责协调各个线程, 以保证它们能够正确、合理的使用公共资源。
    信号量相关的两个操作为:P操作和V操作。
    P操作原语和V操作原语组成(原语是不可中断的过程),对信号量进行操作,具体定义如下:

          P(S):
                 ①将信号量S的值减1,即S=S-1;
                 ②如果S>=0,则该进程继续执行;否则该进程置为等待状态,排入等待队列。
    
          V(S):
                 ①将信号量S的值加1,即S=S+1;
                 ②如果S>0,则该进程继续执行;否则释放队列中第一个等待信号量的进程。
    
  3. 存储管理中分页与分段的区别和相应优缺点

分页 分段
目的 分页是为了消减内存碎片,提高内存利用率 分段管理的目的除了可以提高内存空间的利用率(相对分区管理而言)外,主要是为了更好的实现程序的共享和动态链接,方便用户编程。
长度 页的大小固定由系统决定 长度不固定,根据信息的性质划分
地址空间 是一维的线性地址空间 是二维的,程序员需要给出段名+段内地址
绝对地址 由页号和偏移量计算绝对地址 由段号和偏移量计算绝对地址
管理方式 对于分页,操作系统必须为每个进程维护一个页表,以说明每个页对应的的页框。当进程运行时,它的所有页都必须在内存中,除非使用覆盖技术或虚拟技术,另外操作系统需要维护一个空闲页框列表 对于分段,操作系统必须为每个进程维护一个段表,以说明每个段的加载地址和长度。当进程运行时,它的所有段都必须在内存中,除非使用覆盖技术或虚拟技术,另外操作系统需要维护一个内存中的空闲的空洞列表。
实现 分页不容易实现 分段容易实现
  1. 操作系统保存中断现场信息的数据结构有哪些?何种情况下使用这些数据结构保存信息?
    保存中断现场,对于嵌套中断,被中断程序的现场信息依次压入系统栈,中断返回时逆序弹出;

  2. 何谓多道程序?
    多道程序设计技术是在计算机内存中同时存放几道相互独立的程序,使它们在管理程序控制下,相互穿插运行,两个或两个以上程序在计算机系统中同处于开始到结束之间的状态, 这些程序共享计算机系统资源。

  3. 在一个操作系统中系统调用的目的是什么?
    请求系统服务。
    操作系统不允许用户直接操作各种硬件资源,因此用户程序只能通过系统调用的方式来请求内核为其服务,间接地使用各种资源。

  4. 动态分区的内存分配算法有哪些?
    四种:
    首次适应算法(First Fit):将空闲分区链以地址递增的顺序连接;在进行内存分配时,从链首开始顺序查找,直到找到一块分区的大小可以满足需求时,按照该作业的大小,从该分区中分配出内存,将剩下的空闲分区仍然链在空闲分区链中。
    循环首次适应算法(Next Fit):分配内存时不是从链首进行查找可以分配内存的空闲分区,而是从上一次分配内存的空闲分区的下一个分区开始查找,直到找到可以为该进程分配内存的空闲分区;
    最佳适应算法(Best Fit):将空闲分区链中的空闲分区按照空闲分区由小到大的顺序排序,从而形成空闲分区链。每次从链首进行查找合适的空闲分区为作业分配内存,这样每次找到的空闲分区是和作业大小最接近的,所谓“最佳”。
    最坏适应算法(Worst Fit):与最佳适应算法刚好相反,将空闲分区链的分区按照从大到小的顺序排序形成空闲分区链,每次查找时只要看第一个空闲分区是否满足即可。

  5. When an interrupt or a system call transfers control to the operating system, a kernel stack area separate from the stack of the interrupted process is generally used. Why?(当中断或系统调用将控制转移到操作系统时,通常使用与被中断进程的堆栈分离的内核堆栈区域。为什么?)
    首先,不希望操作系统崩溃,由于某些用户程序不允许足够的堆栈空间。
    第二,如果内核将数据保留在用户空间,然后从系统调用返回,那么恶意的用户可能使用这些数据找出某些关于其它进程的信息。

  6. for each of the following decimal virtual address,compute the virtual page number and offset for a 4KB page and for an 8KB page:20000,32768,60000(对于以下每一个十进制虚拟地址,计算4KB页面和8KB页面的虚拟页码和偏移量:20000、32768、60000)

20000 页码 偏移量
4KB 20000÷212=4……3616 4 3616
8KB 20000÷213=2……3616 2 3616
  1. what are the conditions for a resource deadlock?( 发生资源死锁的条件是什么?)
    四个必要条件:
    ①互斥
    ②占有和等待
    ③环路等待
    ④不可抢占
  2. please list four methods for implementing files storge(请列出四种实现文件存储的方法)
    ①连续分配
    ②链接分配
    ③索引分配
    ④索引+链接(eg:UNIX的文件物理结构)

5. 做题的知识补充

1. 输入井和输出井
输入井和输出井是在磁盘上开辟出来的两个存储区域。

  • 输入井模拟脱机输入时的磁盘,用于收容I/O设备输入的数据。
  • 输出井模拟脱机输出时的磁盘,用于收容用户程序的输出数据。

2. 一个作业从进入系统到运行结束,一般要经历4个状态:

  • 进入状态:当作业信息经输入设备输送到输入井时;
  • 后备状态:当全部作业信息进入系统后,由操作系统把它们全部存放到输入井中,称为后备状态;
  • 运行状态:当一个作业被选中运行时,称它处于运行状态;
  • 完成状态:当一个作业正常运行完毕或是非正常结束时,称为完成状态。

3. 静态地址重定位与动态地址重定位

  • 静态地址重定位:在程序装入过程中随即进行的地址变换方式称为静态地址映射或静态重定位。进行静态重定位要求被装入的程序本身是可以重定位的。(软件支持:重定位装入程序)
  • 动态地址映射:是指在程序执行期间,随着每条指令和数据的访问,自动地、连续地进行映射。(这种重定位的实现需要硬件的支持。最简单的硬件机构是一个重定位寄存器。)
  • 二者的区别在于
    • 1、 地址转换时机不同。静态地址重定位是在程序装入内存前完成从逻辑地址到物理地址的转换。动态地址重定位是在程序执行过程中进行的重定位,由系统硬件完成从逻辑地址到物理地址的转换。装入时不加任何修改,但在每次访问内存单元前才进行地址变换。
    • 2、 需要的支持不同。静态地址重定位需要软件的支持(重定位装入程序)。而动态地址重定位需要硬件的支持(重定位寄存器)。
    • 3、 转换速度不同。静态地址重定位是运行重定位程序来完成地址转换的,他需要花费很多CPU的时间。而动态地址重定位是由硬件完成的,因此转换速度快。
    • 4、 灵活度不同。静态地址重定位是在程序装入主存时就完成了所有地址的转换,之后不能移动,不利于共享。动态地址重定位是在运行时转换,有利于共享。

4. 造成死锁的必要条件之一是因为资源具有不可剥夺的性质。 会因为竞争引起死锁的为不可剥夺资源,可剥夺资源不会因为竞争而引起死锁。
所以举例子——
会引起死锁的资源有:打印机、磁带机、扫描仪
不会引起死锁的资源有:CPU、磁盘

这里解释一下CPU不会引起死锁的原因——
因为CPU是可以剥夺的资源,当多个进程竞争CPU时,要么成功获得CPU的使用权,要么无法取得CPU的使用权。所以不会因为多个进程请求CPU而造成死锁。
而打印机、磁带机、扫描仪资源都是外部设备,在某个进程使用的时候其他的进程无法进行剥夺,需要互斥访问。所以就有可能造成死锁。


5. 在进程运行时发生的如下事件中:
①时钟中断
②调用访管输入
③执行非法指令
④I/O中断
一定进行进程切换的事件是(②③)

首先要明晰任务调度的时机:当系统发生硬件中断、系统调用或者时钟中断时,就有可能发生进程的切换

而其中中断的分类为

  • (1)外中断(又称为中断或异步中断)
    ①泛指来自处理器之外的中断信号,包括外部设备中断、时钟中断、键盘中断和它机中断等;
    ②分为可屏蔽中断和不可屏蔽中断;
    ③高优先级中断可以部分或全部屏蔽低级中断。

  • (2)内中断(又称为异常或同步中断)
    ①泛指来自处理器内部的中断信号,往往由于在程序执行过程中,发现与当前指令关联的、不正常的或错误的事件;
    ②细分为访管中断、硬件故障中断、程序性异常;
    ③内中断不能屏蔽,一旦出现应立即响应并处理。
    操作系统复习_第28张图片
    所以上述中一定发生进程切换的要选择内中断也就是②③


6.关于死锁的计算规则:

某类资源m个,n个进程都需要此种资源a个,如何不死锁:n*(a-1)+1≤m


7.关于线程

线程是CPU使用的一个基本单元,它包括线程ID、程序计数器、寄存器组和堆栈。它与同一进程的其他线程共享代码段、数据段和其他操作系统资源,如打开文件和信号。引入线程后,进程作为系统分配和保护的独立单位,无须频繁地切换;线程作为系统调用和分派的基本单位,会被频繁地调度和切换。单线程(Single-threaded)进程又被为重量级(Heavyweight)进程,多线程(Multithreaded)进程又被称为轻量级(Lightweight)进程。

线程和进程的区别与联系 线程 进程
根本区别 任务调度和执行的基本单位 操作系统资源分配的基本单位
开销 同一类线程共享代码和数据空间,每个线程都有自己独立的运行栈和程序计数器(PC),线程之间切换的开销小 每个进程都有独立的代码和数据空间(进程上下文),进程之间的切换会有较大的开销
所处环境 同一个进程(程序)中有多个线程同时执行(通过CPU调度,在每个时间片中只有一个线程执行) 操作系统中能同时运行多个进程(程序)
内存分配 除了CPU外,系统不会为线程分配内存(线程所使用的资源来自其所属进程的资源),线程组之间只能共享资源 系统在运行的时候会为每个进程分配不同的内存空间
联系 线程是进程的一部分,所以线程也被称为轻权进程或者轻量级进程 没有线程的进程可以看做是单线程

如果是用户级线程, 线程是由进程进行管理的, 那么对于OS而言就不存在线程这个概念, 那么就是进程可以并发执行, 一个进程内的线程串行执行; 而内核级线程则一个进程内的线程也可以并发执行.


8. 页式存储管理中,快表命中率为80%,快表访问时间为20ns,内存访问时间为80ns,则内存的有效访问时间为116ns

首先明晰请求分页式储存系统的访问方式:

  1. 去快表TLB中
  2. ①若快表命中,直接拿着块表对应的页面地址去内存中找页面,所以时间=快表访问时间+内存访问时间
    ②快表没有命中,则要去内存访问页表,找到页面地址,然后再拿着这个页面地址去内存找到页面,所以时间=快表访问时间+内存访问时间*2
    ③假如去内存中没有找到页面地址,发生缺页中断,需要从外存调出页面放到内存中,在页表注册该页面,然后正常访问。

此题说了是内存有效访问,所以不考虑第三种外存重录的情况。那么:
快表命中t1=20+80=100
快表不命中t2=20+80+80=180ns
内存有效访问时间为:0.8t1+0.2t2=80+36=116ns


在请求分页式存储管理中,假设一次内存访问时间为 100ns ,一次快表( TLB )访问时间为 20ns ,地址转换计算时的快表命中率为 80% ,请计算平均有效内存访问时间为多少 140ns ?若缺页率为 1% ,且每次缺页中断处理时间为 20ms ,请计算平均有效内存访问时间为多少 20140ns

解题过程:
如果快表命中(即页号在快表中),则内存访问时间A1=20+100=120ns 如果快表未命中,则内存访问时间
A2=20+100+100=220ns【含一次访问内存中页表】
则平均有效内存访问时间
A=A1×80%+A2×20%=120×0.8+220×0.2=140ns

缺页率p=1‰的含义是,每1000次内存访问中有1次需要调页处理! 因此,请求分页式存储管理过程中,平均有效内存访问时间:
T = (1-p)×A+p×20(ms)
=(1-0.001)×140 + 0.001×20000000(ns)
=139.86+20000
≈20140ns
【注】1s=103ms=106us=109ns


9. 某分布式系统通过Ada语言的会合解决同步问题,该会合被调任务入口的select
语句伪代码如下

select
   when B1=>accept entry1 do s1 end entry1;or
   when B2=>accept entry2 do s2 end entry2;or
   accept failure_pro do s end failure_proc;
end select;

下面一定正确的叙述为:accept failure_proc是开放的。

首先从代码形象直观看是因为前面两个语句要执行需要when的条件满足,最后一个accept_failure就不用,所以它开放。

其次是我自己的理解:
如果类比书上屏障的概念的话,我想的是为了实现分布式系统各节点交接的同步问题,所以在每一个进程准备执行下一阶段时(也就是题上每一个语句以分号结束)进行阻拦,也就是执行failure_pro中的s任务(我推测其中详细内容就是wait加判断count跟总节点的数目是否相等),如果开放accept entry1的话就破坏了when B1这个前置条件(因为正常逻辑下,B1满足才打开accept entry1)。
总之就是始终打开failure_pro以保证在这一步拦下所有节点不让他们进行下一步操作,最后系统就可以体现同步性。


11. 在多级中断系统中,多层(≥2)嵌套中断的最内层中断处理结束后,以下论述中正确的论述是:D
A.如果该中断是强迫性中断,则需要进程切换
B.如果该中断是自愿性中断,则需要进程切换
C.无论该中断是强迫性中断还是自愿性中断,都需要进程切换
D.无论该中断是强迫性中断还是自愿性中断,都不需要进程切换

内中断才发生进程切换


12.文件系统中,关于FCB分为次部和主部有如下的叙述:其中①②错误
①提高文件的I/O速度
②减少FCB所占空间
③减少文件目录所占空间
④可以实现文件连接

需要明晰将文件的FCB划分为次部和主部两部分的意义何在:

  • (1) 提高查找速度:
    查找文件时,需用欲查找的文件名与文件目录中的文件名字相比较。 由于文件目录是存于外存的,比较时需要将其以块为单位读入内存。由于一个FCB包括许多信息,一个外存块中所能保存的FCB个数较少,这样读入内存作比较的样本也少,就不容易查找成功,就需要不断从外存更新信息到内存,导致查找速度较慢。
    而将FCB分为两部分之后,文件目录中仅保存FCB的次部的话相同大小的外存块就可容纳较多的FCB,从而大大地提高了文件的检索速度。
  • (2) 实现文件连接:
    所谓连接就是给文件起多个名字,这些名字都是路径名,可为不同的用户所使用。
    次部仅包括一个文件名字和一个标识文件主部的文件号
    主部则包括除文件名字之外的所有信息和一个标识该主部与多少个次部相对应的连接计数。 相当于就不用来一个新用户建立访问就保存一遍链接内容了,实现了文件目录公共部分的最大化利用!!当连接计数的值为0时,表示一个空闲未用的FCB主部。

13.1实现虚拟设备采用的技术是:Spooling
13.2在采用 spooling 技术的系统中,用户的打印数据首先被送到(B)。

A、磁盘固定区域
B、内存固定区域
C、中断
D、打印机

spooling就是联机技术,缓冲的一种,放在内存中。

SPOOLing系统

  • spooling系统是实现虚拟设备的一个例子,是关于慢速字符设备如何与计算机主机交换信息的一种技术,通常称为“假脱机技术”。通过采用预输入和缓输出的方法,使用共享设备的一部分空间来模拟独占设备,以提高独占设备的利用率。
  • spooling系统硬件部分包括输入机、输出机、通道、输入井和输出井(在磁盘上开辟出来的两个存储区域,输入井模拟输入设备,用于存储I/O设备输入的数据。输出井模拟虚拟输出设备,用于存储用户程序的输出数据)
  • spooling系统工作过程涉及到预输入进程、缓输出进程和作业调度程序 。
    操作系统复习_第29张图片

操作系统复习_第30张图片

  • spooling技术的特点:
    • 提高了I/O速度:将对低速I/O设备进行的I/O操作变为对输入井或输出井的操作,如同脱机操作一样,提高了I/O速度,缓和了CPU与低速I/O设备速度不匹配的矛盾
    • 设备并没有分配给任何进程:在输入井或输出井中,分配给进程的是一存储区和建立一张I/O请求表
    • 实现了虚拟设备功能:多个进程同时使用一个独享设备,而对每一进程而言,都认为自己独占这一设备,不过,该设备只是逻辑上的设备。

14. 下面不属于实现文件共享的技术是:A
A 存取控制矩阵
B 共享说明
C 文件连接
D 公共目录

**存取控制矩阵:**存取控制矩阵. 理论上存取控制方法可用存取控制矩阵,它是一个二维矩阵,一维列出计算机的全部用户(进程),另一维列出系统中的全部文件,矩阵中每个元素Aij是表示第i个用户对第j个文件的存取权限


15.为保证磁盘文件安全,需要对磁盘文件进行转储。假设系统对磁盘文件进行了3次转储之后,发生了磁盘数据丢失。下述对磁盘数据丢失进行恢复的正确论述是(C)
A 完全转储策略只需要2份转储磁带数据恢复磁盘数据
B 增量转储策略只需要2份转储磁带数据恢复磁盘数据
C 差分转储策略只需要2份转储磁带数据恢复磁盘数据
D 都不对

解析:
① 完全转储:对数据库中所有数据进行转储。占据较多时间和空间,但恢复时间短
② 增量转储:只复制上次转储后发生变化的文件和数据块。所需时间及空间短,但只能和完全转储配合才能对数据库进行恢复
③ 差量转储:对最近一次数据库完全转储以来发生的数据变化进行转储。差量转储比增量转储占用空间多,但恢复速度快


16.假设操作系统利用缓冲技术在进程与打印机之间通过缓冲区实现向打印机的输出,则该缓冲区的结构是:B
A 内存连续空间队列
B 内存链式队列
C 外存连续空间队列
D 外存链式队列


17. 在<用户打开文件表中>,有关文件读写指针的正确叙述如下:
①读写指针的值是文件的记录或字节的逻辑顺序号;
②多个进程打开同一个文件f,各进程有关f的表项中的读写指针可能不同。


18.在RAID数据存储标准中,Level4(块级异或校验)和level5(块级分布式异或校验)的不同点是:Level5能有条件并行写,而Level4不能


**19. (中断装置)不属于操作系统提供给用户的可使用资源 **


20. 微内核操作系统
优点
①提高了可扩展性
②增强了安全性和可靠性:是因为微内核一定是精心设计和严格测试的,并且提供了规范的程序接口(API),而且所有服务器都运行在用户态,若出错,不会影响内核,也不会影响其他服务器
③提供了对分布式系统的支持
缺点
①难以整体优化
②进程间互相通信的开销变大


21. 关于用户态和内核态
一般的操作系统对执行权限进行分级,分别为用保护态和内核态。
用户态相较于内核态有较低的执行权限,很多操作是不被操作系统允许的,原因简单来说就是用户态出现问题(自己写的bug),也不能让操作系统崩溃呀。
内核态相当于一个介于硬件与应用之间的层,内核有ring 0的权限,可以执行任何cpu指令,也可以引用任何内存地址,包括外围设备, 例如硬盘, 网卡,权限等级最高。


22.下列选项中,不可能在用户态发生的事件是(C)。
A 系统调用
B 外部中断
C 进程切换
D 缺页

1.系统调用可能在用户态和内核态发生,系统调用把应用程序的请求(用户态的请求)传入内核,由内核(内核态)处理请求并将结果返回给应用程序(用户态) 用户态->核心态
2.中断的发生与CPU当前的状态无关,既可以发生在用户态,又可以发生在内核态,因为无论系统处于何种状态都需要处理外部设备发来的中断请求。
3.进程切换在核心态下完成,不能发生在用户态。原因:需要调度处理器和系统资源,为保证系统安全
4.缺页(异常)也是用户态->内核态
ABD(系统调用中断异常)都是用户态转向内核态,而进程切换只能发生在内核态


23.以下关于管程的叙述错误的是( C)。
A.管程是进程同步工具,解决信号量机制大量同步操作分散的问题
B.管程每次只允许一个进程进入管程
C.管程中的signal操作的作用和信号量机制中的V操作相同
D.管程是被进程调用的,管程是语法范围,无法创建和撤销

答案解析
管程的signal操作与信号量机制中的V操作不同,前者必须在wait操作之后。


24. 下列选项中,降低进程优先级的合理时机是___A__。
A. 进程的时间片用完
B. 进程刚完成 I/ O,进入就绪列队
C. 进程长期处于就绪列队中
D. 进程从就绪态转为运行态

解析:
进程时间片用完降低其优先级,因为这个进程刚用完cpu,该分给别人用了
完成I/O的进程应该提升其优先级,因为相当于说明它现在其他资源准备好了想用cpu了
处于就绪队列等待调度的进程一般不会改变其优先级。


25.在分页虚拟存储管理中,二次机会置换算法和时钟置换算法在决定淘汰的那一页时,都用到了(引用位)


26 电梯算法、Scan算法、Cscan算法

电梯算法=SCAN算法: 当磁头沿着当前方向移动,所选择的下一个访问对象应是其欲访问的磁道——既在当前磁道之外,又是距离最近的。如果在磁头移动方向上没有别的请求,就可以立即改变磁头移动方向。

Cscan算法:循环扫描算法,与上面算法的不同在于他会一直访问到磁盘的边缘才转向。


27. 下列关于文件操作open()和关闭文件close操作的叙述中,只有(A)是错误的
Aclose()操作告诉系统不再需要指定文件,可以丢弃文件了
Bopen()操作告诉系统开始使用指定文件
C文件必须先打开,后使用
D目录必须先打开,后使用

A不对,close的作用时:
出于效率的考虑,会先将数据临时存储到缓冲区中,只有使用 close() 函数关闭文件时,才会将缓冲区中的数据真正写入文件中。


**28. 在操作系统中,文件系统的主要目的是“实现对文件的按名存取”。 **
文件系统是操作系统用于明确存储设备或分区上的文件的方法和数据结构;文件系统实现了“按名存取”,只要知道文件名就可以存取文件,而不必考虑文件存储在磁盘上什么地方。 在操作系统中,文件系统的主要目的是“实现对文件的按名存取”。


29. 允许多个用户以交互方式使用计算机的操作系统是“分时操作系统”。


30. 系统调用是操作系统提供给编程人员的唯一接口。–《计算机操作系统教程》


31. 若系统中有五个并发进程涉及某个相同的变量A,则变量A的相关临界区是由(5 )临界区构成。
(因为临界区的概念是:对于某一共享内存区域进行访问的程序片段,所以每个进程都需要有相关的临界区)


**32.分区分配内存管理方式的主要保护措施是___A___。 **
A.界地址保护
B.程序代码保护
C.数据保护
D.栈保护

在分区分配内存管理方式中,主要用上、下界寄存器保护分区,也称为界地址保护。本题答案为A。


33.如果 I/O 设备与存储设备间的数据交换不经过 CPU 来完成,则这种数据交换方式是(C)。
A、程序查询方式
B、中断方式
C、 DMA 方式
D、提供主、辅存接口

解析:在DMA(直接内存存储)控制器控制下,外设直接与内存交换成批数据而不用CPU干预。故选C。


34.下列文件物理结构中,适合随机访问且易于文件扩展的是__B____。

A.连续结构 B.索引结构

C.链式结构且磁盘块定长 D.链式结构且磁盘块变长

解析:索引结构适合随机访问且易于文件扩展。


35.程序员利用系统调用打开 I/O 设备时,通常使用的设备标识是 A

A.逻辑设备名 B.物理设备名 C.主设备号 D.从设备号

程序员所看到的是设备的逻辑设备名


36.在段页式分配中,CPU 每次从内存中取一次数据需要______次访问内存。

  • 段式2次
    ①第一次,访问内存中的段表,从中计算出该段对应段表项的位置,从中读出该段在内存中起始地址,若未越界(段内地址大于段长)则将该段的基址与段内地址相加得到要访问的内存物理地址。
    ②第二次 才是从第一次所得地址中获得所需数据。
  • 页式也是2次如段式
  • 而在段页式系统中,为了获得一条指令或数据,须3次访问内存
    ①第一次访问是访问内存中的段表,从中取得页表始址;
    ②第二次访问是访问内存中的页表,从中取出该页所在的物理块号,并将该块号与页内地址一起形成指令或数据的物理地址;
    ③第三次访问才是真正从第二次访问所得的地址中,取出指令或数据。

37.一个进程被唤醒意味着__A__。
A 该进程可以重新占有 CPU
B 优先级变为更大
C PCB 移到就绪队列之首
D 进程变为运行态


38.操作系统采用分页存储管理方式,要求__B____。
A 每个进程拥有一张页表,且进程的页表驻留在内存中
B 每个进程拥有一张页表,但只要执行进程的页表驻留在内存中
C 所有进程共享一张页表,以节约有限的内存空间,但页表必须驻留在内存中
D 所有进程共享一张页表,只有页表中当前使用的页面必须驻留在内存中

进程互斥(读者写者问题)

操作系统复习_第31张图片

操作系统复习_第32张图片

管程书上示例(生产者消费者问题)

操作系统复习_第33张图片

操作系统复习_第34张图片

你可能感兴趣的:(#,操作系统笔记,操作系统)