操作系统复习

本文全面介绍操作系统相关知识。涵盖批处理、多道程序设计等技术,阐述CPU状态、中断等组织机构内容。还涉及并发处理、资源分配与调度,包括死锁处理。此外,介绍主存管理、输入/输出管理及文件系统的功能、结构、管理等方面。

第一章 绪论

1, 批处理

批处理是指系统中有一个监控程序,它负责完成用户程序的调入、启动运行、输出运行结果等工作

2,多道程序设计技术

多道程序设计技术是在计算机内存中同时存放几道相互独立的程序,它们在管理程序的控制下相互穿插地运行。

  • 多道:内存中同时存放几个作业;宏观上并行运行:都处于运行状态,但都未运行完;
  • 微观上串行运行:各作业交替使用CPU;

3, 分时技术

将处理机的响应时间分成若干个时间段,称之为时间片。每个用户获得CPU,就等于获得了时间片,该用户程序开始运行,当时间片用完则暂停运行等待下一次运行。

4, 实时处理

实时:指计算机对于用户请求能足够快地进行处理,并在受控对象允许的截止期限内做出反映。要求毫秒、微秒级。

  • 实时系统和分时系统的主要区别有两点:
    (1)分时系统的目标是提供一种通用性很强的系统,有较强的交互能力;而实时系统则大都是具有特殊用途的专用系统,交互能力略差。
    (2)分时系统对响应时间虽有要求,但一般来说,响应时间由人所能承受的等待时间来确定;而实时系统对响应时间要求很高,一般由控制系统或信息处理磁头所能接受的延迟时间来决定。
  • 批处理和分时系统区别
    批处理系统没有人机交互,而分时系统允许多个用户同时使用
    批处理系统中允许程序长时间地占用CPU,而分时系统不允许

5, 并发和并行

  • 在单CPU系统中,系统调度在某一时刻只能让一个线程运行,虽然这种调试机制有多种形式(大多数是时间片轮巡为主),但无论如何,要通过不断切换需要运行的线程让其运行的方式就叫并发(concurrent)。
  • 而在多CPU系统中,可以让两个以上的线程同时运行,这种可以同时让两个以上线程同时运行的方式叫做并行(parallel)。

6,处理机的状态

根据对系统资源和机器指令的使用权限,把处理机执行时的工作状态分为核态和用户态,有的操作系统还将系统程序执行时的机器的状态又分为核态和管态。其权限次序是:核态、管态、用户态。

第二章 操作系统的组织机构

7, Cpu两种状态

目态和管态

  • 大多数计算机系统将CPU执行状态分为目态与管态。CPU的状态属于程序状态字PSW的一位。CPU交替执行操作系统程序和用户程序。
  • 管态又叫特权态,系统态或核心态。CPU在管态下可以执行指令系统的全集。通常,操作系统在管态下运行。
  • 目态又叫常态或用户态。机器处于目态时,程序只能执行非特权指令。用户程序只能在目态下运行,如果用户程序在目态下执行特权指令,硬件将发生中断,由操作系统获得控制,特权指令执行被禁止,这样可以防止用户程序有意或无意的破坏系统。
  • 从目态转换为管态的唯一途径是中断。
  • 从管态到目态可以通过修改程序状态字来实现,这将伴随这由操作系统程序到用户程序的转换。

8, 程序状态字(PSW)

程序状态字(Program Status Word, PSW)又称状态寄存器,主要用于反映处理器的状态及某些计算结果以及控制指令的执行。

9, 中断

中断是指某个事件(例如,电源掉电、浮点运算溢出、外部设备传输完成或出错等)发生时,系统中止现运行程序的执行,引出处理事件程序对相应事件进行处理,处理完毕后返回断点继续执行。

  • 外中断:是指由于外部设备事件所引起的中断,如通常的磁盘中断、打印机中断等
  • 内中断:是指由于CPU内部事件所引起的中断,如程序出错(非法指令、地址越界)等

第三章 用户界面

10,作业和作业步

  • 作业:要求计算机系统按指定的步骤对原始数据进行处理,并得到计算结果的加工工作。
  • 作业步:对作业的加工工作中的一个步骤称为一个作业步。

11,系统调用

  • 所谓系统调用,就是用户在程序中调用操作系统所提供的一些子功能。
  • 系统调用的实现:系统调用是通过访管指令实现的。在程序中,如果需要请求操作系统的服务,就要执行一条访管指令,系统处理这个中断,然后为用户提供相应的服务。

第四章 并发处理

12,顺序程序特点

  • 顺序性:处理机严格按照程序所规定的顺序执行;
  • 封闭性:程序一旦开始执行,其计算结果不受外界影响,当程序的初始状态给定之后,其后的状态由程序本身决定,只有1本程序才能改变它。
  • 可再现性:只与初始条件有关,与时间和计算机的速度无关。

13,并发执行的特点

失去了程序的封闭性和可再现性。

14,进程和程序的关系区别

  • 进程是动态的,程序是静态的:程序是有序代码的集合;进程是程序的执行。通常进程不可在计算机之间迁移;而程序通常对应着文件,是静态和可以复制的。
  • 进程与程序的组成不同:进程的组成包括程序、数据和进程控制块(即进程状态信息)。
  • 进程与程序的对应关系:通过多次执行,一个程序可对应多个进程;通过调用关系,一个进程可包括多个程序。进程是竞争计算机系统有限资源的基本单位,也是进行处理机调度的基本单位,也是一个独立的运行单位。

15,进程

  • 分类:系统进程和用户进程。前者是资源管理和控制的作用的进程或者执行操作系统核心代码的进程,后者是执行用户进程的进程。
  • 特征:进程的基本特征:并发性和动态性,其他特征:独立性交互性异步性,结构性。
  • 状态:运行,就绪和等待。
  • 进程控制包括进程创建,进程撤销,进程阻塞,进程唤醒。运行到等待:进程阻塞,等待到就绪是进程唤醒,进程终止是进程撤销,就绪到运行就是进程调度。

16,线程

线程是比进程更小的活动单位,是进程中的一个活动路径,一个进程可以有多个线程。

17,线程与进程的比较

线程是进程中的一条执行路径;私用的堆栈;与父进程共享分配资源;单个进程的多个线程中的一个。进程是可执行程序,拥有私用地址空间,由系统分配资源,每个进程至少有一个线程。

18,互斥和同步

  • 互斥:仅是让两个进程不能同时访问某资源;
  • 同步:互斥且同步执行的各进程前后顺序有限制。

第五章 资源分配与调度

19,死锁

  • 概念:两个或两个以上的进程等候着一个永远不会发生的事件时所处的一个状态、。
  • 死锁的起因:1竞争资源,2进程推进顺序不当。
  • 产生死锁的四个必要条件:互斥条件,不可剥夺条件,部分分配,环路条件
  • 处理死锁的基本方法:死锁预防,死锁避免,死锁检测,死锁解除
  • 死锁的预防:
    1,预先静态分配法(一次性把资源全部给它)
    2,有序资源使用法
    3,“可剥夺”资源使用法(一个程序在申请新的资源不能满足而变为等待状态前释放所有占用的资源)

第六章 处理机调度

20,作业调度

作业调度的主要任务:完成作业从后备状态到执行状态和从执行状态到完成状态的改变。

21,作业控制块

作业控制块:每个作业进入系统,系统为其建立一个作业控制块,他是存放作业控制和管理信息的数据结构。

22,作业调度算法

  • 先来先服务(FCFS)
    在这里插入图片描述

  • 短作业优先(SJF)
    在这里插入图片描述

  • 相应比高者优先调度算法(响应比=1+等待时间/运行时间)(HRRN)
    在这里插入图片描述

  • 轮转(RR)

  • 优先调度算法(给作业设置优先数)

  • 均衡调度算法。

23,进程调用算法之循环轮转调度

  • 进程调用算法之循环轮转调度,将系统中所有的就绪进程按照FCFS原则,排成一个队列。每次调度时将CPU分派给队首进程,让其执行一个时间片。时间片的长度从几个ms到几百ms。在一个时间片结束时,发生时钟中断。
  • 时间片长度的确定时过长->退化为FCFS算法,进程在一个时间片内都执行完,响应时间长。
  • 过短->用户的一次请求需要多个时间片才能处理完,上下文切换次数增加,响应时间长。
  • 为了克服上面调度算法的缺点,人们设计出一种可变时间片的调度算法。其思想是:时间片的大小是可变的,系统可根据系统中当前的进程数,来确定时间片的大小。

24,线程调度图

新创建的进程进入低优就绪状态,一个运行进程因时间片到而转换成低优就绪;进程因等待I/O完成而转换为高优就绪。
在这里插入图片描述

第七章 主存管理

25,内存管理的功能

1,内存控件的分配与回收
2,地址转换:在多道程序环境下,程序中的逻辑地址与内存中的物理地址不可能一致,因此存储管理必须提供地址变换功能,把逻辑地址转换成相应的物理地址。
3,内存空间的扩充:利用虚拟存储技术或自动覆盖技术,从逻辑上扩充内存。
4,存储保护:保证各道作业在各自的存储空间内运行,互不干扰。

26,分区存储管理

  • 固定分区: 优点:易于实现、开销小 缺点:内存使用效率极低。存在内部碎片(分区内未被利用空间)、分区总数固定,限制了并发执行的程序数量。
  • 动态创建分区:按照程序申请要求分配。  优点: 没有内部碎片  缺点:有外部碎片(难以利用的小空闲分区)

27,页式存储管理优缺点

  • 优点: 没有外部碎片,最后一页可能有内碎片但不大;程序不必连续存放;便于改变程序占用空间大小。
  • 缺点: 程序仍需要全部装入内存。增加了机器成本硬件开销。

28,放置策略

  • 最佳适应策略:最佳适应算法是将申请者放入与其大小最接近的空闲区中。切割后的空闲区最小,若系统中有与申请区大小相等的空闲区,这种算法肯定能将这种空闲区分配给申请者。
    在这里插入图片描述

  • 首次适应策略:首次适应算法的表是按空闲区首址升序的(即空闲区表是按空闲区首址从小到大)方法组织的。
    在这里插入图片描述

  • 最坏适应算法:为了克服最佳适应算法把空闲区切割得大小的缺点,人们提出了一种最坏适应算法,即每次分配时,总是将最大的空闲区切去一部分分配给请求者,其依据是当一个很大的空闲区被切割了一部分后可能仍是一个较大的空闲区。避免了空闲区越分越小的问题。
    在这里插入图片描述

  • 这三种放置算法的优劣很难区分,要具体情况具体分析。
    例如:某时刻系统中有三个空闲区,其大小和首址为:
    (35KB,100KB)、(12KB,156KB)、(28KB,200KB)
    有一作业系列:
    (JOB1,12KB)、(JOB2,30KB)、(JOB3,28KB)
    在这里插入图片描述

29,碎片

在已分配区之间存在着的一些没有被充分利用的空闲区。

几种置换算法

  • 最佳算法(OPT):淘汰最长时间之后才会用到的页
  • 先进先出(FIFO):淘汰最早进入的页
  • 最久未使用(LRU):淘汰最长时间未使用的页
  • 最不经常使用(LFU):淘汰访问次数最少的页

第八章 输入/输出管理

30,设备管理

设备管理应实现如下目标:

  • 方便性:使用户摆脱具体的、复杂的物理设备特性的束缚,灵活方便地使用各种设备为用户服务;
  • 并行性:既要使CPU与I/O设备的工作高度重叠,又要尽可能地保证设备之间能充分进行工作;
  • 均衡性:监视设备的状态,避免设备忙闲不均的现象,采用缓冲技术,均衡设备的使用。
  • 独立性(或无关性):指程序独立于设备,与设备无关。即用户编程时所使用的设备与实际使用的设备无关。

31,设备独立性

概念

设备独立性是指用户在编程序时所使用的设备与实际设备无关。

实现:

  • 逻辑设备和实际设备的联系通常是由操作系统命令语言(作业控制语言、键盘命令或用户程序中的语言级)中提供的信息实现的。
  • 采用高级语言级则通过软通道实现。

32,缓冲区

概念

在内存中预留指定大小的存储空间用来对输入/输出(I/O)的数据作临时存储,这部分预留的内存空间就叫做缓冲区

使用缓冲区的理由

  • 处理数据流的生产者和消费者之间的速度差异;
  • 协调传输数据大小的不一致;
  • 应用程序的拷贝语义。

分类

单缓冲,双缓冲,环形缓冲,缓冲池

33,SPOOLING系统

特点

在SPOOLING系统中,利用CPU与通道可以并行工作的特点,原来在脱机系统中的预输入和缓输出工作全部由主机系统承担。在操作系统设计了两个程序来代替两台卫星机的工作,这两个程序分别为“预输入程序”和“缓输出程序”在系统运行时形成进程工作。同时在共享设备(磁盘)上开辟出两个称为“井”的特殊的区域来存放输入的信息和执行结果。

组成

硬件上:
  • 输入区(用来存放来自于输入设备的信息)
  • 输出区(用来保存即将送到输出设备上的结果)
  • 输入缓冲区(暂时保存外设准备送入输入井的信息)
  • 输出缓冲区(暂时保存从输出井送出的结果)
软件上:
  • 预输入进程:将用户要求的输入数据输入到输入设备上,再经通道和输入缓冲区送入输入井。
  • 缓输出进程:将用户的输出结果在设备空闲时从输出井中,经输出缓冲区送至输入设备。
  • 输入井管理进程:将输入井中的数据读入内存。
  • 输出井管理进程:将内存中的结果送至输出井中。
    在这里插入图片描述

34,I/O控制方式

  • 循环测试I/O方式:
    在循环测试I/O方式下输入数据的步骤:
    把一个启动位为“1”的控制字写入该设备的控制状态寄存器,从而启动该设备进行输入操作。
    反复读控制寄存器的内容,并测试其中的完成位,若为0,重复此步骤,否则进行下一步。
    把数据缓冲区中的数据读入CPU或主存单元。

    • 特点:过程简单,但由于CPU的高速性和I/O设备的低速性,致使CPU绝大部分时间都处于等待I/O设备完成数据I/O的循环测试中,造成对CPU的极大浪费,CPU利用率相当低
  • I/O中断方式

    • 为了提高CPU和设备的利用率,就应使CPU与设备并行工作,采用I/O中断方式。采用这种方式要求控制寄存器中有一个中断位。
    • 在I/O中断方式下,数据的输入(或输出)步骤如下:
      要求输入数据的进程把一个启动命令和允许中断位“1”写入相应设备的控制 状态寄存器中,从而启动了该设备;
      该进程因等待输入的完成进入睡眠状态;
      当输入完成后,输入设备向CPU发出完成中断请求信号。
  • DMA方式

    • 数据传输的基本单位是数据块,即在CPU与I/O设备之间,每次传送至少一个数据块;
    • 所传送的数据是从设备直接送入内存的,或者相反;
    • 仅在传送一个或多个数据块的开始和结束时,才需CPU干预,整块数据的传送是在控制器的控制下完成的。
  • 通道方式

    • I/O通道方式是DMA方式的发展,它可进一步减少CPU的干预,即把对一个数据块的读(或写)为单位的干预,减少为对一组数据块的读(或写)及有关的控制和管理为单位的干预。 同时,又可实现CPU、通道和I/O设备三者的并行操作,从而更有效地提高整个系统的资源利用率。

第九章 文件系统

35,文件系统的功能

  • 从用户角度来看

1、 用户可以执行创建、修改、删除、读写文件命令。

2、 用户能以合适的方式构造自己的文件。

3、 用户能在系统的控制下,共享其他用户的文件。

4、 允许用户用符号名访问文件。

  • 从系统角度看

1、 系统转存和恢复文件的能力,以防止意外事故的发生。

2、 提供可靠的保护以及保密措施。

3、 负责文件的存储并对存入的文件进行保护、检索

4、 负责对文件存储空间的组织和分配。

36,文件的结构

  • 逻辑结构
    无结构文件–流式文件
    结构文件–记录式文件
    比较:前者相当于给用户一张纸,后者则是一张表格。

  • 物理结构

    • 连续文件
      在这里插入图片描述
    • 串联文件
      一个串联文件结构是按顺序有串联的块组成的,即文件信息按存储介质的物理特性存于若干块中。每个物理块的最末一个字(或第一个字)作为链接字,指出后继块的物理地址。链首指针存放在该文件目录中,文件的结尾块指针为“^”.
      在这里插入图片描述
      优点:
      1,存储空间利用率高
      2,文件创建时不必指明大小
      3,文件动态扩充和修改容易
      4,顺序存储效率高
      缺点
      随机存取效率低,如果要访问文件结尾,相当于访问了整个文件
      指针需要占用额外空间
      指针和数据同时存放,破坏了物理块的完整性
    • 文件映照
      把链接文件的链接字集中在一结构中。将链接文件各物理块的指针,显示存放在内存中的一张链表中。
      在这里插入图片描述
      FAT表大小的计算
      盘块1KB,对于540MB的硬盘,一共有540MB/1KB=540K。在219-220之间,向上取整取20,即2.5B,一共要540K*2.5B=1350KB.
      有两个问题
      1,不能支持高效的直接存取
      2,FAT要占用较大的内存空间
    • 随机文件
      随机文件结构是另一种形式的非连续文件,文件数据的存储介质上的物理块号与文件的逻辑块号一一对应,并建立这样的数据结构,即文件索引表。访问文件时,根据文件的逻辑块号查文件索引表,找到对应的物理块号,然后访问。

37,文件目录

概念

文件目录也被称为文件说明或文件控制块(File Control Block,FCB)即文件名址录。它是一张记录所有文件名及其存放地址、文件的说明和控制信息的表格。
一般情况下,每个文件占用一个表目,即每个文件有一个文件的目录项。

内容

  • 文件名
  • 文件的大小,单位:字节
  • 文件在物理存储介质中的位置。
    取决于文件的物理结构 。对于连续文件:文件起始块号(即文件的第一个物理块块号);对于串联文件:指向第一个物理块的指针;对于索引文件:索引表。
  • 存取控制信息
    文件主和其它用户对该文件的访问权限。
  • 管理信息
    包含文件创建的日期和时间,最近修改该文件的日期和时间等。
  • 文件的类型

38,文件存储空间的管理

空闲文件目录

系统为所有空闲文件单独建立一个目录,而每个空闲文件在这个目录中均有一个表目。表目的内容包括第一个空闲块的地址(物理块号)和空闲块的个数。

在这里插入图片描述

空闲块链

  • 记住存储空间分配情况的另一种办法是把所有“空闲块”链在一起。这是非连续结构。
  • 当创建文件需要一块或几块时,就从链头上依次取下一块或几块。反之,当回收空间时,把这些空闲块依次接到链头上。
  • 常用的链接方法有3种:
    1,按空闲区大小顺序链接方法;
    2,按释放先后顺序链接的方法
    3,按成组链接法。
  • 优点是简单,缺点是工作效率低。

位示图

  • 位示图是系统在内存中划分出的若干字节的集合,用来指示磁盘存储情况。位示图中的每一位(bit)对应外存空间的一个物理块。
    • 若该位为“1”,表示对应块被占用;
    • 若该位为“0”,表示对应物理块空闲。
  • 位示图的大小由其对应的文件存储设备的容量决定,当一个盘组的分块确定后,根据划分的总块数决定位示图由多少字节组成。

分配策略

  • 辅存通常为多用户共享,其存储区域的分配是操作系统预定的功能。
  • 对辅存的分配有两种策略:
    • 静态策略
      用户在创建文件命令中宣布文件的大小,操作系统一次分配所需要的区域。
    • 动态策略
      建立一个文件时不分配空间,而在以后每次写文件体的信息时,才按照所写信息的数量进行分配。

39,共享与安全性

关系

  • 文件共享:是指某一个或某一部分文件可以让事先规定的某些用户共同使用。
  • 为了实现文件共享,系统还必须提供文件保护的能力,即提供保证文件安全性的措施。

实现方法

  • 建立“当前目录”实现文件共享
    “当前目录”又称“值班目录”。
    该系统令每个用户(或作业)获得一个“值班目录”,他们对文件的所有访问都是相对于“值班目录”进行的。
  • 采用“链接技术”实现文件共享
    所谓“链接”,就是在相应目录表目之间进行链接,即一个目录中的表目直接指向另一个目录的表目。
    采用这种方法,在文件说明中必须增加“连访属性”和“用户计数”两项。前者说明表目中的地址是指向文件还是指向共享文件的目录表目;后者说明共享文件的当前用户数目。
  • 存取权限的类型及其验证方法
    1,访问控制矩阵
    2,存取控制表
    3,用户权限表
    4,隐藏文件目录
    5,口令
    6,密码

40,文件操作

最基本的操作是:打开、关闭、读、写文件等

建立文件

实质是建立文件的FCB,并建立必要的存储空间,分配空FCB,根据提供的参数及需要填写有关内容,返回一个文件描述

打开文件

任何一个文件使用前都要先打开,即把FCB送到内存,以建立用户和文件的联系,使今后频繁的查目录操作在内存中完成。如fd=open(文件路径名, 打开方式)

读文件

用户要求读文件信息时就调用本操作,系统允许用户对已经调用过“打开”操作的文件进行渎。调用“读”操作时,用户应提供如下参数:用户名、文件名、主存地址、存取方式、记录号或记录键、长度。

写文件

用户要求保存文件信息时就调用本操作,系统允许用户对已经调用过“建立”操作的文件执行写。调用“写”操作时用户提供的参数与“读”操作的参数相同。

关闭文件

经过“打开”或“建立”的文件,用户在读写完毕后,需要调用“关闭”操作归还文件的使用权。用户只能关闭自己打开或建立的文件。调用“关闭”操作时应给出参数:用户名、文件名。

删除文件

用户调用“删除”操作可请求文件系统删除一个保存在磁盘或磁带上的文件。调用该操作时提供的参数为:用户名、文件名、存储设备类型。

使用

为了保证文件系统对文件的正确管理,用户使用文件时应遵循一定的步骤。为避免一个共享文件(多个用户都可使用的文件)被几个用户同时使用而造成的混乱,规定使用文件前先调用“打开”。一个文件打开后,在它被关闭之前不允许非打开者使用。

评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值