操作系统期末总结_HBNU_理论

本文探讨了操作系统的核心概念,包括其定义、资源管理、多道程序设计技术、用户接口,以及并发、共享、异步等特性。着重介绍了进程、线程、内存管理、调度策略和死锁处理。还涵盖了虚拟存储、设备独立性和SPOOLing技术。
摘要由CSDN通过智能技术生成

第一章

1. 操作系统的定义

系统软件,管理资源包括软硬件资源。

2. 评价操作系统的指标

系统角度:
资源的管理者与控制者。
进程执行的控制者与协调者。
用户角度:
作为用户接口和服务的提供者。
作为扩展机或虚拟机。

3. 操作系统特殊地位

计算机系统的内核与基石。

4. 操作系统与硬件的关系

操作系统的功能之一是管理计算机的硬件资源。

5. 操作系统与支撑软件和应用软件的关系。(直接与间接;基础;控制与被控制)

虽然它们都是软件,但是操作系统是直接作用于硬件上的,有权分配资源,而支撑软件和应用软件都要经过操作系统使用资源,然后实现功能,它们是一种控制与被控制的关系。

6. 资源管理技术:主要了解复用;对于CPU和内存采用什么复用

复用也称为共享,是指操作系统中对时间和空间的管理。
CPU是时分复用,内存是空分复用。

7. 从资源管理的角度看,操作系统的主要功能

//管理计算机的软硬件资源。
(1)处理器管理
(2)存储管理
(3)文件管理
(4)作业管理
(5)设备管理

8. 操作系统的三个主要特征:主要了解并发性

(1)并发性
指两个或多个事件在同一时间间隔内发生。
(2)共享性
(3)异步性

9. 多道程序设计技术是什么意思?以及引入的目的、优缺点(特点)

P19
多道程序设计技术指的是同时在内存中放若干相互独立的程序并发运行,共享系统资源。
目的:
提高CPU的利用率,使计算机系统部件的并行性得到充分发挥。
优缺点:
优点是->提高了CPU利用率,提升了系统吞吐量,提高了设备利用率。
缺点是->延长了平均周转时间,无交互能力。
特点:
宏观上并行,微观上串行,多道。

10. 道数是不是越多越好,与哪些因素有关?

道数过多会导致每个程序分配到的内存不够,导致程序需要临时将磁盘中的数据传输到内存,频繁进行大量I/O操作,降低系统效率。

11. 三种操作系统的基本类型是什么,以及原理与特点。

多道批处理系统:
允许多个用户将若干程序集中交给计算机处理的系统为多道批处理系统。
原理->多道程序交替使用CPU。
特点->’多道‘与’成批‘。
分时操作系统:
计算机使用时间片轮转的方式同时为若干个程序服务的操作系统。
原理->把处理器时间分为若干个时间块轮流分配给多个用户终端。
特点->同时性,交互性,独立性,及时性。【P22详细
实时操作系统:
当外部事件或数据产生时,能够对其进行速度足够快的接收和处理,这种处理的结果能够在规定的时间内控制生产过程或对控制对象进行快速反应,控制所有实时任务协调运行的操作系统。
原理->
特点->对时间的严格限制和对可靠性的严格要求。

12. 用户接口的两种形式

程序接口
操作接口

第二章

1. 为什么分特权指令和非特权指令?

系统中类似于“设置时钟”、“清内存”等这样的指令,如果用户可以使用它们,就会造成系统的混乱,因此系统将全部指令分为“特权指令” 和“非特权指令”,将那些可能对系统造成破坏、涉及系统资源分配的指令作为“特权指令”,只能由操作系统使用,不容许用户使用,以保证系统能在操作系统的控制下正常地运行。

2. 处理器的模式(状态)相应地分为两种:内核态和用户态,每种各有什么样的权限?

执行内核空间的代码,具有ring 0保护级别,有对硬件的所有操作权限,可以执行所有CPU 指令集,访问任意地址的内存,在内核模式下的任何异常都是灾难性的,将会导致整台机器停机。
在用户模式下,具有ring 3保护级别,代码没有对硬件的直接控制权限,也不能直接访问地址的内存,程序是通过调用系统接口(System Call APIs)来达到访问硬件和内存,在这种保护模式下,即时程序发生崩溃也是可以恢复的,在电脑上大部分程序都是在,用户模式下运行的。

3. PSW指的是什么?

PSW是Program Status Word的缩写,即程序状态字(也叫程序状态寄存器),可用于OS在管态(系统态)和目态(用户态)之间的转换。

4. 进程的定义,与程序、线程进行区分,结合进程的属性去理解

进程是程序的实体,而线程又是进程的实体。进程又是线程的容器。

5. 三态模型,哪三种状态?状态之间如何转换?

三种基本状态:

  • 就绪状态:进程已得到运行所需资源,只等待CPU的调度便可运行。(进程啥都有了,就看CPU爸爸选不选了(调度))
  • 运行状态:进程已得到运行所需资源,并且得到了CPU的调度。(进程被CPU爸爸选中了)
  • 挂起:不具备运行条件、等待时机的状态 (由于某些原因,CPU爸爸不会要你了)

状态之间的转换:

  • 就绪>>>运行: 被调度程序选中
  • 运行>>>就绪: 时间片到了(超时), 或被更高优先级的进程剥夺了
  • 运行>>>挂起: 不具备运行条件,等待某一时间的发生
  • 挂起>>>就绪: 等待的事件已发生, 具备了运行条件
  • 在状态转换中, 不能 挂起>>>运行, 也不能 就绪>>>挂起

6. 挂起技术是什么意思?挂起的进程有什么特殊之处?

挂起(等待,阻塞)进程在操作系统中可以定义为暂时被淘汰出内存的进程,机器的资源是有限的,在资源不足的情况下,操作系统对在内存中的程序进行合理的安排,其中有的进程被暂时调离出内存,当条件允许的时候,会被操作系统再次调回内存,重新进入等待被执行的状态即就绪态。

挂起进程具有如下特征:
• 该进程不能立即被执行。
• 挂起进程可能会等待事件,但所等待事件是独立于挂起条件的,事件结束并不能导致进程具备执行条件。
• 进程进入挂起状态是由于操作系统、父进程或进程本身阻止它的运行。
• 结束进程挂起状态的命令只能通过操作系统或父进程发出。

7. PCB是什么?起到什么作用?

定义:PCB是操作系统用来记录进程相关信息和管理进程而设置的一个专门的数据结构
作用:进程控制块的作用是使一个在多道程序环境下不能独立运行的程序(含数据),成为一个能独立运行的基本单位,一个能与其它进程并发执行的进程。或者说,操作系统是根据PCB来对并发执行的进程进行控制和管理的,PCB是进程存在的唯一标识。

8. 为什么要引进线程?

(1)在进程内创建、终止线程比创建、终止进程要快。
(2)同一进程内的线程间切换比进程间的切换要快,尤其是用户级线程间的切换。
(3)每个进程具有独立的地址空间,而该进程内的所有线程共享该地址空间。因此,线程的出现可以解决父子进程模型中子进程必须复制父进程地址空间的问题。
(4)线程对解决客户/服务器模型非常有效。

9. 线程与进程的关系:

进程是资源的载体,线程是进程之下的控制流,线程本身没有资源,共享所属进程的资源。因此线程没有挂起状态。

10. 处理器调度的三个层次:高级(作业)、低级(进程)、中级,每一级的调度的功能、部位、三级调度的关系。

高级调度 (作业调度)

  • 高级调度是辅存(外存)与内存之间的调度。每个作业只调入一次,调出一次。作业调入时会建立相应的PCB,作业调出时才撤销PCB。高级调度主要是指调入的问题,因为只有调入的时机需要操作系统来确定,调出的时机必然是作业运行结束才调出。
    中级调度 (内存调度)

  • 中级调度,就是要决定将哪个处于挂起状态的进程重新调入内存。

  • 暂时调到外存等待的进程状态为挂起状态。值得注意的是,PCB并不会一起调到外存,而是会常驻内存。PCB中会记录进程数据在外存中的存放位置,进程状态等信息,操作系统通过内存中的PCB来保持对各个进程的监控、管理。被挂起的进程PCB会被放到的挂起队列中。

  • 一个进程可能会被多次调出、调入内存,因此中级调度发生的频率要比高级调度更高。
    低级调度 (进程调度)

  • 低级调度,其主要任务是按照某种方法和策略从就绪队列中选取一个进程,将处理机分配给它。

  • 进程调度是操作系统中最基本的一种调度,在一般的操作系统中都必须配置进程调度。

  • 进程调度的频率很高,一般几十毫秒一次。
    低级调度是所有操作系统类型必不可少的。

image-20210804153249686

第三章

1. 顺序程序设计与并发程序设计的特征

顺序程序设计:
顺序程序通常作为程序的一部分,用以构造程序中的一些基本功能。
顺序结构程序是最简单、最基本的程序。程序按编写的顺序依次往下执行每一条指令,直到最后一条。它能够解决某些实际问题,或成为复杂程序的子程序。
并发程序设计:
采用并发程序设计可以使外围设备和处理器并行工作,缩短程序执行时间,提高计算机系统效率。

2. 会利用BERNSTEIN条件对并发的进程进行分类:无关与交互,会指出共享变量。

3. 交互进程可能发生与时间相关的错误:结果不唯一(重点理解和掌握的,会列举出可能的运行结果)、永远等待。

发生这种错误的原因是:对共享资源的使用不受限制,进程交叉使用共享资源.

进程运行时经常会由于自身或外界的原因而被中断,且断点是不固定的;进程能占用处理器的时间由进程调度决定;进程执行的相对速度不能由进程自己控制;因此,当出现进程交替访问共享变量时就会发生与时间有关的错误。

4. 区分进程的两种关系:竞争和协作

进程间的竞争关系:当并发进程竞争使用同一个资源时,它们之间就会发生冲突。为了避免冲突,当一个进程获得资源时,另一个进程必须等待。这种情况需要通过互斥机制来解决。

进程间的合作关系:一个进程等待另一个进程的执行,并以另一个进程的执行结果作为本进程的执行条件,就形成了同步机制。

5. 什么是临界区?(会找出并发进程中形成临界区的代码)正确管理临界区的三个原则。

临界区是指不允许多个并发进程交叉执行的一段程序。

为了使并发进程能正确地执行,对若干进程共享某一资源,临界区应满足以下三个要求:
① 一次最多让一个进程在临界区中执行,当有进程在临界区中时,其他想进入临界区执行的进程必须等待;
② 任何一个进入临界区执行的进程必须在有限的时间内退出临界区,即任何一个进程都不应该无限逗留在自己的临界区中;
③ 不能强迫一个进程无限地等待进入它的临界区,即有进程退出临界区时应让下一个等待进入临界区的进程进入它的临界区。

6. P137 三个推论:理解信号量不同值的物理意义;PV操作的物理意义

三个推论:
(1) 若信号量s为正值,则该值等于在封锁进程之前对信号量s可施行的P操作数, 亦即等于s所代表的实际可使用的物理资源个数。
(2) 若信号量s为负值,则其绝对值等于登记排列在该信号量s队列之中等待进程的个数, 亦即恰好等于对信号量s实施P操作而被封锁起来并进入信号量s队列的进程数。
(3) 通常P操作意味着请求一个资源,V操作意味着释放一个资源。 在一定条件下,P操作代表挂起进程操作,而V操作代表唤醒被挂起进程的操作。

PV操作是两种原子操作的组合,分为P操作和V操作。
P操作可理解为获得一个资源.
V操作可理解为释放一个资源.

7. 什么是死锁?

独占设备资源不足产生竞争,推进顺序不合理造成的不会自行解决的僵局。

8. 死锁的解决方案:预防、避免、检测与解除,每种解决方案的思路。死锁防止中的主要技术:静态分配、层次分配、按序分配

死锁处理
死锁处理策略如下
(1)预防死锁:破坏死锁产生的四个必要条件之一。
(2)避免死锁:用某种方法防止系统进入不安全状态,从而避免死锁。
(3)死锁的检测和解除:允许死锁发生,操作系统会负责检测出死锁的发生,然后采取某种措施去解除死锁。

预防死锁
(1)破坏“互斥条件”,把互斥使用的资源改造为允许共享使用。

(2)破坏“请求与保持条件”【占有和等待条件】,每个进程在运行之前,必须预先提出自己所要使用的全部资源,调度程序在该进程所需要的资源未满足之前,不让它们投入运行。
【静态分配】在进程执行之前,预先分配好其所需的所有资源。

(3)破坏“不剥夺条件”,系统规定,进程是逐个地提出对资源地请求,当一个已经保持了某些资源地进程,提出新的请求不被满足时,则必须释放它已经保持地所有资源,待以后需要时再重新申请。

(4)破坏“循环等待条件”,系统将所有资源类型进行线性排队,并赋予不同的序号,所有进程对资源的请求必须按照资源序号递增的次序提出,这样在所形成的资源分配图中,不可能出现循环。
【层次分配】先把所有资源分为多个不同层次,然后从底往上进行不同分配,释放资源同理,从上往下释放,如果要申请同级资源的话,要先释放同层资源,再进行申请。
【按序分配】对资源进行排序,根据序号进行分配资源。

预防死锁的方法虽然易实现,但其所施加的限制条件往往太严格,因而可能导致系统资源利用率和吞吐量降低。

避免死锁
避免死锁的基本思想:系统对进程发出的每一个系统能够满足的资源申请进行动态检查,并根据检查结果决定是否分配资源,如果分配后系统可能发生死锁,则不予分配,否则予以分配,这是一种保证系统不进入死锁状态的动态策略。

死锁的检测和解除
检测:用资源分配图来保存资源的请求和分配信息,并利用这些信息,用检测算法检测系统是否进入死锁状态。
解除:一旦检测出死锁的发生,就应该立即解除死锁。

解除死锁的方法有:
(1)资源剥夺法:挂起某些死锁进程,并将它的资源分配给其他死锁进程,但是应防止被挂起的进程长时间得不到资源而饥饿。
(2)撤销进程法:强制撤销部分、甚至全部死锁进程,并剥夺这些进程的资源。这种方法虽然实现简单,但是代价高昂。
(3)进程回退法:让一个或多个死锁进程回退到足以避免死锁的地步,这需要系统记录进程的历史信息,设置还原点。

第四章

1. 逻辑地址、物理地址、重定位以及重定位的两种方式

逻辑地址:用户程序的目标模块都以0为基地址顺序编址的,这种地址称为逻辑地址,也称为相对地址。

物理地址:内存中各物理存储单元的地址是从统一的基地址开始顺序编址的,这种地址称为物理地址,也称为绝对地址。

逻辑地址空间:由程序中逻辑地址组成的地址范围叫做逻辑地址空间,或简称为地址空间。

物理地址空间:由内存中一系列存储单元所限定的地址范围称作物理地址空间,或简称为物理空间,内存空间。

重定位:程序和数据装入内存时,需对目标程序中的地址进行修改。这种把逻辑地址转变为内存物理地址的过程称作重定位。

对程序进行重定位的技术按重定位的时机可分为静态重定位和动态重定位两种。

(1)静态重定位

静态重定位是在目标程序装入内存时,由装入程序对目标程序中的指令和数据的地址进行修改,即把程序的逻辑地址都改成实际的内存地址。静态重定位的时机是在程序装入时一次完成,在程序运行期间不再进行重定位。

(2)动态重定位

动态重定位是在程序执行期间,每次访问内存之前进行重定位。动态重定位靠硬件地址转换机构实现。

2. 固定分区简要了解;可变分区基本思想、分配和回收分区算法

——固定分区

原理:静态分区模式,给进入主存的用户作业划分一块连续存储区域,把作业装入该连续存储区域,若有多个作业装入主存,则它们可并发执行。

优势:实现简单,只需要极少的操作系统开销

缺点:有内部碎片,对内存的使用不充分,活动进程的最大数目是固定的。

——可变分区:在作业要求装入内存时,根据用户作业的大小和当时内存空间使用情况决定是否为该作业分配一个分区。因此分区大小不是预先固定的,而是按作业需求量来划分的;分区的个数和位置也不是预先确定的。它有效地克服了固定分区方式中,由于分区内部剩余内存空置造成浪费的问题。

系统初启时,整个用户区可看作一个大的空闲区。当作业要求装入时,根据作业对内存需求量,从空闲区中划出一个与作业大小一致的分区来装入该作业,剩余部分仍为空闲区。当空闲区能满足需求时(即空闲区长度>=作业长度),作业可装入;否则,作业暂时不能装入。

装入内存的作业执行结束后,所占分区被收回成为一个空闲区,这个空闲区又可用于装入其他作业。随着作业不断装入和撤离,内存空间被分成许多分区,有的被作业占用,有的空闲。

3. 为什么引进快表?

在操作系统中引入快表是为了加快地址映射速度

4. 分页与分段的区别

分页是由系统将一个进程的逻辑地址空间划分成若干大小相等的部分,每一部分称做一个页面。

分段是用户根据作业的逻辑关系进行自然划分,每个分段是作业中相对独立的一部分。

分段和分页都是非连续的存储管理方法,分页和分段的主要区别有:

①页是信息的物理单位,段是信息的逻辑单位。

②页面的大小由系统确定,并且各页大小都相同;各段长度因段而已,由用户决定。

③分页的作业地址空间是一维的,分段的作业的地址空间是二维的。

④分页的活动对用户是不可见的,而分段是用户可见的活动。

5. 虚拟存储管理的主要设计思想:有程序局部性原理的支撑得以实现,采用部分装入(内存),自动部分对换

[[操作系统(OS)#8.具有快表的地址变换机构#1.局部性原理|局部性原理]]

部分装入内存是指操作系统从外存中把部分需要的程序装载到内存中,供CPU运行。这样做的好处是可以减少内存空间的占用,同时也可以提高系统的运行效率。
操作系统装入有以下作用:

  1. 可以减少内存空间的占用,提高系统的运行效率;
  2. 将指定的程序装入

6. ”抖动“是什么

抖动是指操作系统中的调度器在处理多种任务时,将多个任务依次调度,但是由于某种原因,调度器长时间无法调度某种任务,而导致某种任务无法正常运行,这种现象就叫做抖动。

7. 简单了解请求段页式

请求段页式是操作系统中的一种存储管理技术,它是在每次存取数据时,操作系统将逻辑地址映射到相应物理地址,从而实现页面置换,将连续的虚拟存储空间划分成一组小的内存块,可以被称为页和段。

第五章

1. 设备的分类:字符设备和块设备

字符设备是指以字符为处理单位的设备,如打印机、显示器等;块设备是指以字节为处理单位的设备,如磁带机、磁盘等。

2. 磁盘访问的三个参数;访问时间;驱动调度技术的意思?

三个参数是磁盘的读取速度(Read Speed),写入速度(Write Speed)和访问速度(Access Speed)。
磁盘的读取速度指磁盘在单位时间内从磁盘上读取数据的速度;
写入速度指磁盘在单位时间内向磁盘上写入数据的速度;
访问速度指磁盘从停止到读取或写入数据所花费的时间。

访问时间是指磁盘从停止到读取或写入数据所花费的时间;
驱动调度技术指的是磁盘系统中的调度算法,用于优化磁盘访问的顺序,从而提高磁盘的性能。

3. 了解优化分布

操作系统中可以采用缓存技术、预取技术、压缩技术等来优化信息的分布,实现信息的快速传输和加载,减少系统资源的消耗,提高系统的效率。

4. 设备独立性是什么意思?有什么优点?

设备独立性是指设备能够独立完成工作的能力,它可以使硬件、软件和系统之间的关系更加紧密,从而实现设备的更好的整体性和兼容性。
优点是可以有效地提升设备的功能性和性能,减少系统的学习成本,提高系统的可用性,改善用户体验。

5. 设备分配的方式:静态分配、动态分配,各是什么意思?有什么特点?

静态分配是指在编写程序时,就为计算机的一些硬件设备分配固定的地址空间,在程序运行时不改变。
动态分配是指在程序运行时,系统根据需要分配和释放计算机的硬件设备的地址空间。

特点:

  1. 静态分配的优点是程序运行时不需要额外的时间消耗,可以提高程序的运行效率;
  2. 动态分配的优点是可以有效地利用计算机的硬件设备,可以节省计算机的运行空间,减少程序的代码量,提高程序的可靠性和可维护性。

6. 虚拟设备SPOOLING技术是什么意思?什么目的?

是一种虚拟设备技术,旨在将输入输出设备与主机连接起来,以便在同一时间进行多个输入和输出操作。它允许用户将输入数据暂存在缓冲磁盘上,而不是立即发送给输出设备。当输出设备准备好接收数据时,SPOOLING技术会将数据发送给输出设备。

SPOOLING技术的主要目的是提高系统的性能,使用户可以在主机和外部设备之间快速传输数据,从而提高设备利用率。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

忘川幻象

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值