操作系统期末复习


1.操作系统的定义
(是什么)是计算机系统中的一个系统软件,是一些程序模块的集合
(干什么)它们管理和控制计算机系统中的软硬件资源,合理的组织计算机的工作流程,
(为什么)以便有效的利用这些资源为用户提供一个功能强大、使用方便和可扩展的工作环境,从而在计算机与其用户之间起到接口的作用。

2.操作系统功能

  1. 处理机管理:
    在多道程序或多用户的情况下,要组织多个作业或进程同时运行,允许多个程序共享处理机,就要解决对处理机分配调度策略、分配实施和资源回收等问题
  2. 存储管理
  3. 内存分配:保证各用户程序的存储区不冲突
  4. 存储保护:保证一道程序在执行过程中不会有意无意破坏另一道程序
    内存扩充:把内部存储器和外部存储器结合起来管理,为用户提供一个容量比实际内存 大得多的虚拟存储器
  5. 设备管理:
    对通道,控制器,输入输出设备的分配和管理
    设备独立性:为用户提供一个良好的界面而不去涉及具体的设备特性
    文件系统管理
  6. 用户接口:命令控制界面接口 系统调用接口

3.操作系统的特征 并发 共享 虚拟 异步
并发:指两个或两个以上的事件或活动在同一时间间隔内发生
共享:共享指操作系统中的资源可被多个并发执行的进程所使用
虚拟:虚拟是指把一个物理上的实体变为若干个逻辑上的对应物
异步(不确定):内存中的多个进程都按照各自独立的、不可预知的速度向前推进。这是由于它们共享资源、并发执行的缘故

4.OS分类
批处理:用户课脱机使用计算机,成批处理多道程序运行
优点:共享系统资源,系统资源利用率和作业吞吐量高(用户不干预)
缺点:无交互性,作业周转时间长
分时:交互性,多用户同时性,独立性
实时:及时响应 高可靠性
网络OS:将多个计算机互联
分布式:要求有统一的OS,不可以有明显的主从关系


5.两种接口
命令控制界面接口:组织控制作业执行或管理计算机系统
系统调用接口:请求os提供服务

6.系统调用和普通调用的区别
运行状态不同
系统调用的调用过程和被调用过程运行在不同的状态,而普通的过程调用一般运行在相同的状态。
调用方法不同
系统调用必须通过软中断机制首先进入系统核心,然后才能转向相应的命令处理程序。普通过程调用可以直接由调用过程转向被调用过程。
返回问题
在采用抢先式调度的系统中,当系统调用返回时,要重新进行调度分析――是否有更高优先级的任务就绪。普通的过程调用直接返回调用过程继续执行。

7.系统调用过程
用户在使用系统调用是,产生一条陷阱指令,处理机执行时产生中断
由陷阱处理启动相关的处理程序完成系统调用的相关工作
保护处理机现场,取系统调用功能号并寻找子程序入口,通过入口地址表来调用系统子程序
然后返回用户程序继续执行


8.进程描述
是一个程序对某个数据集执行过程,是分配资源的基本单位
静态描述:程序段,数据段,进程控制块(动态特征)
顺序关联的静态描述:进程上下文

PCB包含了有关进程的描述信息、控制信息以及资源信息,是进程动态特征的集中反映
PCB区的大小决定了系统中最多可同时存在的进程个数,称为系统的并发度

进程上下文切换发生在不同的进程之间而不是同一个进程内

9.程序顺序执行的特点:顺序性;封闭性;可再现性

10.操作系统引入进程的概念
从理论角度看,是对正在运行的程序过程的抽象;
从实现角度看,是一种数据结构,目的在于清晰地刻划动态系统的内在规律,有效管理和调度进入计算机系统运行的程序

11.进程的特征:动态性,独立性,并发性,异步性

12.PCB概念
PCB包含了有关进程的描述信息、控制信息以及资源信息,是进程动态特征的集中反映。
进程的PCB是系统感知进程的唯一实体
为了描述和控制进程的运行,系统为每个进程定义了一个数据结构—进程控制块PCB,它是进程实体的一部分,是操作系统中最重要的记录型数据结构。
PCB中记录了操作系统所需的、用于描述进程的当前情况以及控制进程运行的全部信息。操作系统是根据PCB来对并发执行的进程进行控制和管理的。

13.进程状态

  1. 就绪状态
    当进程已分配到除CPU以外的所有必要资源后,只要再获得CPU,便可立即执行,进程这时的状态称为就绪状态。
    在一个系统中处于就绪状态的进程可能有多个,通常将它们排成一个队列,称为就绪队列。
  2. 执行状态
    进程已获得CPU,正在执行。在单处理机系统中,只有一个进程处于执行状态
  3. 阻塞状态
    正在执行的进程由于发生某事件而暂时无法继续执行时,便放弃处理机而处于暂停状态,亦即进程的执行受到阻塞,把这种暂停状态称为阻塞状态,也称为等待状态。

致使进程阻塞的典型事件有:请求I/O,申请缓冲空间等。通常将这种处于阻塞状态的进程也排成一个队列。有的系统则根据阻塞原因的不同而把处于阻塞状态的进程排成多个队列。

14.进程控制
进程控制,就是系统使用一些具有特定功能的程序段(原语)来创建、撤销进程以及完成进程各状态间的转换
创建原语,撤销原语,阻塞原语,唤醒原语
原语:原语是一种特殊的系统功能调用,它可以完成一个特定的功能。其特点是原语执行时不可被中断,不允许并发执行,在操作系统中它是一个不可分割的基本单位。一个原语操作中的所有动作,要么全作,要么全不作。

15.临界区:访问公用数据的程序 不允许多个并发进程交叉执行的一段程序
临界资源:系统中某些资源一次只允许一个进程使用

16.间接制约,直接制约,互斥,同步

  1. 间接约束:
    由于共享某一共有资源而引起的在临界区内不允许并发进程交叉执行,各个进程间竞争使用这些资源的现象,
  2. 互斥:
    一组并发过程中的一个或多个程序段,因共享某一公有资源而导致它们必须以一个不允许交叉执行的单位执行
    不允许两个以上的共享该资源的并发进程同时进入临界区称为互斥
  3. 直接制约:
    系统中多个进程中发生的事件存在某种时序关系,各自的执行结果互为对方的执行条件,需要相互合作,共同完成一项任务。
  4. 同步:
    在异步环境下的一组并发进程因直接约束而互相发送消息而进行互相操作,互相等待,使得各进程按照一定速度执行的过程

17.互斥原则
有空让进:当无进程在临界区时,任何有权使用临界区的进程可进入
忙则等待:同时有多个进程要求进入临界区,只能让其中之一进入临界区,其他进程必须等待
让权等待:并发进程中的某个进程不在临界区时,不阻止其它进程进入临界区;保证平等、独立的竞争和使用公有资源的权力,且保证任一时刻至多只有一个进程在临界区
有限等待:任何进入临界区的要求应在有限的时间内得到满足;保证并发进程不发生死锁

18.信号量含义
当S .value ≥0时,表示某类可用资源的数目。或者说表示可以执行P操作而不会被阻塞的进程的数目
当S .value <0时,其绝对值表示信号量S的阻塞队列中的进程数,即系统中因请求该类资源而被阻塞的进程的数目,亦即被信号灯挡住的进程数目

19.高级通信
共享存储器机制:
要求通信进程之间共享某些变量,并通过这些变量交换信息,不需要数据移动
消息传递机制:
(1)直接通信方式
发送进程直接把消息发送给接收进程,并将它挂在接收进程的消息缓冲队列上
(2)间接通信方式
发送进程把消息发送到某个中间实体中,接收进程从中取得消息
管道通信机制:
是指用于连接一个读进程和一个写进程以实现他们之间通信的一个共享文件

20.死锁
死锁概念:
所谓死锁,是指各并发进程彼此互相等待对方所拥有的资源,且这些并发进程在得到对方的资源之前不会释放自己所拥有的资源。从而造成大家都想得到资源而又得不到资源,各并发进程不能继续向前推进
死锁起因:并发进程的资源竞争
根本原因:系统提供的资源数少于并发进程所要求该类资源数

21.产生死锁必要条件
互斥条件:涉及的资源不能同时被两个进程以上的进程使用
不剥夺条件:不能强行剥夺进程拥有的资源
部分分配条件:进程每次申请它所需要的一部分资源,在等待一新资源时继续占有已分配的资源
环路条件:存在一种进程的循环链,链中的每一个进程已获得的资源同时被链中的下一个进程所请求

22.解决死锁的方法为:预防、避免、检测与解除
预防:是采用某种策略,限制并发进程对资源的请求,从而使得死锁的必要条件在系统执行的任何时间都不满足。
避免:是指系统在分配资源时,根据资源的使用情况提前做出预测,从而避免死锁的发生。
银行家算法
死锁检测与解除:当死锁发生时,能够检测到死锁发生的位置和原因,并能通过外力破坏死锁发生的条件,从而使得并发进程从死锁状态中恢复出来。

23.线程
引入线程是为了提高系统的执行效率,减少处理机的空转时间和调度切换(保护现场信息)的时间和空间,提高操作系统的并发性能
在引入线程的系统中,线程是调度和分派的基本单位,而进程是拥有资源的基本单位
线程可分为用户级线程和内核级线程,同一进程的线程共享进程的进程空间和其他所有资源
线程也有就绪、阻塞和运行三种基本状态
线程最适合多处理机系统、网络或分布式系统

用户级线程 OS内核不知道线程的存在,调度单位仍是进程,线程不涉及处理机切换
核心级线程:线程之间的切换需要内核支持;以线程为基础进行调度
核心级线程的上下文切换时间要>用户级(切换需要内核支持)


24.处理机调度
处理机调度分为四级:

  1. 作业调度:又称宏观调度或高级调度
    按一定的原则对外存上的大量后备作业进行选择,给选出的作业分配内存等必要的资源,并建立相应的进程。另外当作业执行完毕时,还负责回收系统资源
    分时系统和实时系统中不存在作业调度
  2. 交换调度:中级调度
    按给定的原则和策略,将处于外存交换区中的就绪状态的进程调入内存,或把处于内存阻塞状态的进程交换到外存交换区
    主要涉及到内存管理与扩充,也归入内存管理部分
  3. 进程调度:微观调度或低级调度-
    按某种策略和方法选取一个处于就绪状态的进程占用处理机。
  4. 线程调度
    对于支持多线程的系统,按某种策略和方法选取一个处于就绪状态的线程占用处理机

25.作业状态:提交;收容;执行;完成

26.调度算法

  1. 衡量:周转时间 作业在系统内停留时间:等待时间+执行时间
    带权周转时间:作业周转时间与作业执行时间之比
  2. 先来先服务FCFS 非抢占
    开销小,不利于短作业
    短进程优先法SPF 非抢占
    可获得最大吞吐量,不利于长作业
    最短剩余时间法SRT 抢占
    最高相应比HRN – 相应比的计算 (W+T)/T 非抢占

对FCFS和SJF方式的一种综合平衡。
FCFS只考虑等待时间未考虑执行时间的长短;SJF只考虑执行时间未考虑等待时间
优先级法HPF 抢占/非抢占
轮转法RR 抢占/非抢占
多级轮转法FB 抢占/非抢占


27.存储管理功能
主要任务合理地建立用户程序与内存空间的对应关系,为各道程序分配内存空间,运行完成后再予以回收,而且始终要保证系统程序和各用户程序安全

  1. 虚拟存储器:不考虑物理存储器的大小和信息存放的位置,只规定每个进程中相互关联的信息的相对位置
    每个进程都拥有自己的虚拟存储空间
  2. 地址变换:将多个虚存的一维线性空间或多维线性空间变化到内存的物理线性地址空间 即:虚拟地址映射为内存地址
    静态地址重定位:程序执行之前全部完成映射, 完成一个首地址不同的连续地址变换
    动态地址重定位:CPU访问内存之前,将要访问的部分程序或数据地址转换为内存地址
  3. 内外存之间的数据传输:为了达到内存扩充的目的;
    用户控制 — 覆盖;一个程序内,不会同时执行(没有调用关系)的程序段共用同一个主 存区
    操作系统控制 — 交换:处于等待状态的进程换出内存,而把那些处于就绪状态的进程 换入内存
    请求调入和预调入
  4. 内存分配与回收
  5. 内存信息的共享和保护:防止地址越界,权限越权

28.分区存储的原理
是把内存划分为若干个大小不等的区域,除OS占用一个区域之外,其余由多道环境下的各并发进程共享
给每个内存的进程划分一块适当大小的存储区,以连续存储各进程的程序和数据,使得各进程得以并发执行。

固定分区法分配与回收:
分区说明表说明各分区号、分区大小、起始地址和是否是空闲区
动态分区法分配与回收:
登记空闲区的说明信息:
空闲区表:空闲区长度和起始地址
空闲区队列:存放本空闲区的大小以及下个空闲区的起始地址
最先适应发,最佳适应法,最坏适应法

29.页式管理
数据结构:
页表:虚地址与页面实地址对应
请求表:保存各进程页表对应位置 和 进程所需要的页面数
存储页面表:内存的页面是否被分配(位置图 空闲页面链)
静态页式管理:各个页所占的内存块可以不连续,一次性把作业的全部页面装入内存
动态页式管理:
地址变换:请求表找到对应页表,由逻辑地址从页表中找到对应的页面号和页内地址(物理地址)
如果对应的页不在内存(由页表中的中断位发现):缺页中断,有空闲页面,直接调入;没有空闲页面进行置换算法,置换的页没有被修改过时可以直接被替换
页面置换算法:FIFO – Belady现象,LRU,clock(访问位),改进clock(访问位,修改位)

30.段式管理
按程序自身的逻辑关系划分为若干个程序段,每个程序段都有一个段名,且有一个段号,以段为单位分配内存,每一个段在内存中占据连续空间,但各段之间可以不连续存放
可以采用与动态分区法相同的数据结构 — 空闲区表 最先/最佳/最坏适应法
可以采用与页式管理相同的置换算法 — FIFO,LRU,clock

31.局部性原理
在几乎所有的程序的执行中,在一段时间内CPU总是集中地访问程序中某一个部分而不是随机地对程序所有部分具有平均访问概率--这种现象称为局部性原理

抖动问题
如果置换算法选择不当,有可能产生刚被调出内存的页又要马上被调回内存,调回内存不久又要马上被调出,如此反复的局面
系统换页或换段频繁时,以致大部分时间都花费在内外存之间的来回调入调出上,访问外存时间和输入/输出处理时间大大增加,反而造成CPU因等待数据空转,使得整个系统性能大大下降,这就造成了系统抖动
产生抖动原因:分给进程的内存小于所要求的工作集;选择的页或段的淘汰算法不适
解决抖动:扩大工作集;选择不同的淘汰算法;挂起某些进程


32.传输控制方式
程序直接控制法:有用户进程直接控制内存或CPU和外围设备之间进行传输数据
优点:控制简单,不需要多少硬件支持
缺点:CPU与外围设备只能串行工作
中断控制方式:利用CPU发送中断的方式控制外围设备和CPU传输数据
优点:提高了CPU的利用率,支持多道程序和设备并行操作
缺点:数据缓存寄存器比较小,中断次数过多仍占用大量的CPU时间,也可能造成CPU 无法相应中断导致中断丢失
DMA:在外围设备和内存间开辟直接的数据交换通路进行数据传输
优点:除了在数据块传输开始时需要CPU启动指令,在整个数据块传输结束后需要CPU 中断外,不需要CPU干涉
缺点:多个DMA控制器同时使用会造成内存地址冲突;对外围设备的管理和某些操作 仍由CPU控制
通道:控制内存或CPU和外围设备进行数据传输,通道是一个独立于CPU的专门管输入输出的控制机构,控制设备与内存直接进行数据交换
优点:进一步减轻了CPU的负担,一个通道可控制多台设备与内存进行数据交换
缺点:增加了额外的硬件

33.中断
在计算机执行期间,系统内发送任何非寻常的或非预期的急需处理的事件,使得CPU暂时中断当前正在执行的程序而转去执行相应的事件处理程序,待处理完成后又返回原来被中断处继续执行的过程

34.缓冲
为了匹配外设与CPU之间的处理速度,为了减少中断次数和CPU中断处理时间,同时也为了解决DMA或通道瓶颈问题
(为了提高CPU与外设的并行度,减少CPU中断频率)
种类:单缓冲,双缓冲,多缓冲,缓冲池

35.设备分配
系统设备表SDT
记录所有物理设备的情况 包含DCT
设备控制表DCT
系统中每个设备都必须有一张 设备和控制器相连 包含COCT
控制器表COCT
每个控制器一张 I/O控制器与通道相连情况 包含CHCT
通道控制表CHCT
每个通道一张

36.磁盘访问时间
寻道时间:mn+s m磁盘驱动速度 n 寻道道数 s 启动磁头
旋转延迟(平均): 1/2 * 1/r r为磁盘每秒钟的转数
数据读取时间: b
1/r*1/N N为一个磁道上的字节数。 1/r 旋转一周时间


37.文件的逻辑结构和物理结构

  1. 逻辑结构:字符流式无结构文件 和 记录式有结构文件
  2. 物理结构:文件存储设备划分若干大小相等的物理块,将文件信息也划分为与物理存储设备 的物理块大小相等的逻辑块,以块作为分配和传输信息的基本单位

连续文件:

  • 优点:文件读取表现好,高效的顺序访问和随机访问
  • 缺点:碎片问题,不利于文件的动态增长

链式文件:

  • 优点:文件长度可以动态增长,可以使用非连续的物理空间存储
  • 缺点:不利于随机存取,搜索效率低

索引文件:

  • 优点:动态增长很容易,没有碎片,可以顺序和随机访问
  • 缺点:需要访问两次外存

逻辑块号到物理块号的变换也是由文件物理结构决定的

38.文件存储管理
实质是一个空闲块的组织和管理的问题
数据结构
空闲目录文件:把文件存储设备中的空闲块的块号统一放在一个称为空闲文件目录的物理块中,每个表项对应 由多个空闲块构成的空闲区

空闲链法:把文件存储设备的所有空闲链都链接在一起,从链头分配,链尾回收

位示图法:每一位对应一个物理块使用情况

39.目录文件,文件目录
文件目录:把文件名和对文件实施控制管理的控制管理信息称为该文件的文件说明(文件控制块FCB)

目录文件:文件目录组成目录文件
文件系统利用目录文件完成按名存取和对文件信息的保护

Guess you like

Origin blog.csdn.net/qq_43779658/article/details/114005340