操作系统知识点汇总(王道)

目录

第 1 章 概述

1.1 操作系统的基本概念

1.1.1 操作系统的概念、功能和目标

1.1.2 操作系统的特征(并发、共享、虚拟、异步) 

1.2 操作系统的发展与分类

1.2.1 操作系统的发展与分类(手工、批处理、分时、实时)

1.3 操作系统的运行机制与体系结构

1.3.1 操作系统的运行机制与体系结构(大内核、微内核)

1.3.2 中断和异常(内中断和外中断、中断处理过程)

1.3.3 系统调用(库函数与系统调用、底层实现、访管指令)

第 2 章 进程管理

2.1 进程与线程

2.1.1 进程的定义、组成、组织、特征(PCB、程序段、数据段)

2.1.2 进程的状态与转换(运行、就绪、阻塞、创建、终止)

2.1.3 进程控制(原语实现、关中断和开中断)

2.1.4 进程通信(共享存储、管道通信、消息传递)

2.1.5 线程概念和多线程模型(用户级和内核级线程、多线程)

2.2 处理机的调度

2.2.1 处理机调度的概念、层次(高级、中级、低级调度)

2.2.2 进程调度的时机(主动被动)、方式(剥夺非剥夺)、切换与过程(广义狭义)

2.2.3 调度算法的评价指标(CPU利用率、系统吞吐量、周转、等待、响应时间)

2.2.4 作业/进程调度算法(FCFS先来先服务、SJF短作业优先、HRRN高响应比优先)

2.2.5 作业/进程调度算法(时间片轮转RR、优先级、多级反馈队列)

2.3 进程的同步与互斥

2.3.1 进程的同步与互斥

2.3.2 进程互斥的软件实现方法(单标志、双标志先检查、双标志后检查、Peterson)

2.3.3 进程互斥的硬件实现方法(中断屏蔽、TestAndSet 指令、Swap 指令)

2.3.4 信号量机制(整形信号量、记录型信号量)

2.3.5 用信号量机制实现进程互斥、同步、前驱关系

2.3.6 进程同步与互斥经典问题(生产者-消费者、多生产者-多消费者、吸烟者、读者-写者、哲学家进餐)

2.3.7 管程和Java中实现管程的机制

2.4 死锁

2.4.1 死锁的概念

2.4.2 死锁的处理策略(预防、避免[银行家算法]、检测和解除)

第 3 章 内存管理

3.1 内存管理相关概念

3.1.1 什么是内存?进程的基本原理,深入指令理解其过程

3.1.2 内存管理都管些什么?

3.1.3 覆盖技术与交换技术的思想(实现虚拟性)

3.1.4 内存空间的分配与回收(单一连续分配、固定分区分配、动态分区分配)

3.1.5 动态分配分区算法(首次适应、最佳适应、最坏适应、邻近适应)

3.1.6 基本分页存储管理方式 

3.1.7 基本地址变换机构(重点)

3.1.8 具有快表的地址变换机构

3.1.9 两级页表

3.1.10 基本分段存储管理方式

3.1.11 段页式存储管理方式

3.2 虚拟内存管理

3.2.1 虚拟内存的基本概念(局部性原理)

3.2.2 请求分页存储管理方式(页表机制、缺页中断机构、地址变换机构)

3.2.3 页面置换算法(最佳、先进先出、最近最久未使用、时钟、改进时钟)

3.2.4 页面分配策略(固定分配局部置换、可变分配全局置换、可变分配局部置换)

第 4 章 文件管理

4.1 文件系统

4.1.1 初识文件管理

4.1.2 文件的逻辑结构(顺序文件、索引文件、索引顺序文件)

4.1.3 文件目录

4.1.4 文件的物理结构 ---- 分配方式(连续分配、链接分配、索引分配)

4.1.5 文件存储空间管理(空闲表法、空闲链表法、位示图法、成组链接法)

4.1.6 文件的基本操作(create、delete、open、close、read、write)

4.1.7 文件共享(硬链接、软链接)

4.1.8 文件保护(口令保护、加密保护、访问控制)

4.1.9 文件系统的层次结构 

4.2 磁盘管理

4.2.1 磁盘的结构

4.2.2 磁盘调度算法(先来先服务、最短寻找时间优先、扫描算法、循环扫描算法)

4.2.3 减少磁盘延迟的方法(交替编号、错位命名)

4.2.4 磁盘的管理

第 5 章 I/O 管理

5.1 I/O 管理概述

5.1.1 什么是 I/O 设备?有几类 I/O 设备? 

5.1.2 控制 I/O 设备的 I/O 控制器

5.1.3 控制 I/O 的几种方式(程序直接控制方式、中断驱动方式、DMA方式、通道控制方式)

5.1.4 I/O 软件层次结构(用户层软件--设备独立性软件--设备驱动程序--中断处理程序)

5.2 I/O 核心子系统

5.2.1 内核的 I/O 子系统及功能

5.2.2 假脱机技术(SPOOLing技术)

5.2.3  I/O 设备的分配与回收(DCT---COCT---CHCT---SDT)

5.2.4 缓冲区管理(单缓冲---双缓冲---循环缓冲---缓冲池)


第 1 章 概述

1.1 操作系统的基本概念

1.1.1 操作系统的概念、功能和目标

概念:

操作系统(Operating System,OS)是指控制和管理整个计算机系统的硬件和软件资源,并合理地组织调度计算机地工作和资源地分配,以提供给用户和其他软件方便地接口和环境,它是计算机系统中最基本的系统软件。

功能和目标:

  • 作为系统资源的管理者操作系统知识点汇总(王道)_第1张图片

  •  作为用户和计算机硬件之间的接口操作系统知识点汇总(王道)_第2张图片
    操作系统知识点汇总(王道)_第3张图片

  • 作为最接近硬件的层次操作系统知识点汇总(王道)_第4张图片

小结(梳理一下本小节的知识点叭!!!):操作系统知识点汇总(王道)_第5张图片

1.1.2 操作系统的特征(并发、共享、虚拟、异步) 

  • 并发操作系统知识点汇总(王道)_第6张图片
  • 共享操作系统知识点汇总(王道)_第7张图片
  • 虚拟操作系统知识点汇总(王道)_第8张图片
  • 异步 操作系统知识点汇总(王道)_第9张图片 

并发性和共享性互为存在条件: 

  • 如果失去并发性,则系统中只有一个程序正在运行,则共享性失去存在的意义
  • 如果失去共享性,则QQ和微信不能同时访问硬盘资源,就无法实现同时发送文件,也就无法并发

小结(梳理一下本小节的知识点叭!!!):操作系统知识点汇总(王道)_第10张图片

1.2 操作系统的发展与分类

1.2.1 操作系统的发展与分类(手工、批处理、分时、实时)

  1. 手工操作阶段操作系统知识点汇总(王道)_第11张图片
  2. 批处理阶段操作系统知识点汇总(王道)_第12张图片
    操作系统知识点汇总(王道)_第13张图片
  3. 分时操作系统操作系统知识点汇总(王道)_第14张图片
  4. 实时操作系统
  5. 其它三种操作系统 操作系统知识点汇总(王道)_第15张图片

小结(梳理一下本小节的知识点叭!!!):操作系统知识点汇总(王道)_第16张图片

1.3 操作系统的运行机制与体系结构

1.3.1 操作系统的运行机制与体系结构(大内核、微内核)

操作系统知识点汇总(王道)_第17张图片

  • 运行机制操作系统知识点汇总(王道)_第18张图片
  • 操作系统内核操作系统知识点汇总(王道)_第19张图片
    操作系统知识点汇总(王道)_第20张图片
  • 操作系统的体系结构操作系统知识点汇总(王道)_第21张图片

1.3.2 中断和异常(内中断和外中断、中断处理过程)

  • 中断机制的诞生
    • 人们通过操作系统作为计算机的管理者,并引入中断机制,从而实现多道程序并发执行。
    • 本质:发生中断就意味着需要操作系统介入,开展管理工作。
    • 过程:当CPU收到计时部件发出的中断信号时,操作系统切换为核心态,并对中断进行处理(通过内核进行处理),此时意味着进程 1 的时间片已用完,换进程 2 运行,并切换为用户态。进程 2 运行时可能发出系统调用(内中断信号),请求输出,此时,CPU切换为核心态,并对中断进行处理(进程 2 暂停运行、等待 I/O 完成,换进程 3 运行,并切换为用户态)。I/O 完成后,设备向CPU发出中断信号,操作系统切换为核心态,并对中断进行处理(恢复进程 2 的运行,并切换为用户态,以完成后续工作)。
  • 中断的概念和作用操作系统知识点汇总(王道)_第22张图片
  • 中断的分类(内中断、外中断)操作系统知识点汇总(王道)_第23张图片
  • 外中断的处理过程操作系统知识点汇总(王道)_第24张图片

 小结(梳理一下本小节的知识点叭!!!):操作系统知识点汇总(王道)_第25张图片

1.3.3 系统调用(库函数与系统调用、底层实现、访管指令)

什么是系统调用?有何作用?

        “系统调用” 是指操作系统提供给应用程序(程序员 / 编程人员)使用的接口,可以理解为一种可供应用程序调用的特殊函数,应用程序可以发出系统调用请求来获得操作系统的服务。操作系统知识点汇总(王道)_第26张图片

操作系统知识点汇总(王道)_第27张图片

系统调用与库函数有什么区别?

操作系统知识点汇总(王道)_第28张图片

系统调用的底层是如何实现的?

操作系统知识点汇总(王道)_第29张图片

 小结(梳理一下本小节的知识点叭!!!):操作系统知识点汇总(王道)_第30张图片


第 2 章 进程管理

2.1 进程与线程

2.1.1 进程的定义、组成、组织、特征(PCB、程序段、数据段)

  • 定义操作系统知识点汇总(王道)_第31张图片
    操作系统知识点汇总(王道)_第32张图片
  • 组成操作系统知识点汇总(王道)_第33张图片操作系统知识点汇总(王道)_第34张图片
  • 组织操作系统知识点汇总(王道)_第35张图片
    操作系统知识点汇总(王道)_第36张图片
    操作系统知识点汇总(王道)_第37张图片
  • 特征操作系统知识点汇总(王道)_第38张图片

 小结(梳理一下本小节的知识点叭!!!):操作系统知识点汇总(王道)_第39张图片

2.1.2 进程的状态与转换(运行、就绪、阻塞、创建、终止)

操作系统知识点汇总(王道)_第40张图片

 进程的另外两种状态:

  • 创建态(New,又称新建态):进程正在被创建,操作系统为进程分配资源、初始化PCB
  • 终止态(Terminated,又称结束态):进程正在从系统中撤销,操作系统会回收进程拥有得资源、撤销PCB

操作系统知识点汇总(王道)_第41张图片

小结(梳理一下本小节的知识点叭!!!):操作系统知识点汇总(王道)_第42张图片

2.1.3 进程控制(原语实现、关中断和开中断)

进程控制就是要实现进程状态的转换。

操作系统知识点汇总(王道)_第43张图片

操作系统知识点汇总(王道)_第44张图片

操作系统知识点汇总(王道)_第45张图片

2.1.4 进程通信(共享存储、管道通信、消息传递)

操作系统知识点汇总(王道)_第46张图片

  1. 共享存储
  2. 管道通信操作系统知识点汇总(王道)_第47张图片
  3. 消息传递操作系统知识点汇总(王道)_第48张图片

小结(梳理一下本小节的知识点叭!!!):操作系统知识点汇总(王道)_第49张图片

2.1.5 线程概念和多线程模型(用户级和内核级线程、多线程)

操作系统知识点汇总(王道)_第50张图片

操作系统知识点汇总(王道)_第51张图片

线程的两种实现方式:操作系统知识点汇总(王道)_第52张图片
操作系统知识点汇总(王道)_第53张图片

多线程模型:

小结(梳理一下本小节的知识点叭!!!):

2.2 处理机的调度

2.2.1 处理机调度的概念、层次(高级、中级、低级调度)

什么是处理机的调度(概念):
        当有一堆任务要处理,但由于资源有限,这些事情没法同时处理时,就需要确定某种规则来决定处理这些任务的顺序,这就是 “调度” 研究的问题。在多道程序系统中,进程的数量往往是多于处理机的个数的,这样不可能同时并行地处理各个进程。处理机调度,就是从就绪队列中按照一定地算法选择一个进程并将处理机分配给它运行,以实现进程地并发执行。

操作系统知识点汇总(王道)_第54张图片

操作系统知识点汇总(王道)_第55张图片

操作系统知识点汇总(王道)_第56张图片

操作系统知识点汇总(王道)_第57张图片

操作系统知识点汇总(王道)_第58张图片

小结(梳理一下本小节的知识点叭!!!):操作系统知识点汇总(王道)_第59张图片

2.2.2 进程调度的时机(主动被动)、方式(剥夺非剥夺)、切换与过程(广义狭义)

  • 时机操作系统知识点汇总(王道)_第60张图片
  • 方式操作系统知识点汇总(王道)_第61张图片
  • 切换与过程操作系统知识点汇总(王道)_第62张图片

小结(梳理一下本小节的知识点叭!!!):操作系统知识点汇总(王道)_第63张图片

2.2.3 调度算法的评价指标(CPU利用率、系统吞吐量、周转、等待、响应时间)

  • CPU 利用率
    • 指 CPU “忙碌” 的时间占总时间的比例
  • 系统吞吐量
    • 单位时间内完成作业的数量
  • 周转时间操作系统知识点汇总(王道)_第64张图片
    操作系统知识点汇总(王道)_第65张图片
  • 等待时间
  • 响应时间
    • 指从用户提交请求到首次产生响应所用的时间

小结(梳理一下本小节的知识点叭!!!):操作系统知识点汇总(王道)_第66张图片

2.2.4 作业/进程调度算法(FCFS先来先服务、SJF短作业优先、HRRN高响应比优先)

  • 先来先服务(FCFS,First Come First Server)操作系统知识点汇总(王道)_第67张图片
  • 短作业优先(SJF,Shortest Job First)操作系统知识点汇总(王道)_第68张图片操作系统知识点汇总(王道)_第69张图片

  • 高响应比优先(HRRN, Highest Response Ratio Next)操作系统知识点汇总(王道)_第70张图片
    操作系统知识点汇总(王道)_第71张图片
    操作系统知识点汇总(王道)_第72张图片

小结(梳理一下本小节的知识点叭!!!):操作系统知识点汇总(王道)_第73张图片

2.2.5 作业/进程调度算法(时间片轮转RR、优先级、多级反馈队列)

  • 时间片轮转调度算法(RR,Round-Robin)(分时)操作系统知识点汇总(王道)_第74张图片
  • 优先级调度算法(实时)操作系统知识点汇总(王道)_第75张图片操作系统知识点汇总(王道)_第76张图片
    操作系统知识点汇总(王道)_第77张图片
    操作系统知识点汇总(王道)_第78张图片
  • 多级反馈队列调度算法操作系统知识点汇总(王道)_第79张图片
    操作系统知识点汇总(王道)_第80张图片
    操作系统知识点汇总(王道)_第81张图片

小结(梳理一下本小节的知识点叭!!!):操作系统知识点汇总(王道)_第82张图片

2.3 进程的同步与互斥

2.3.1 进程的同步与互斥

什么是进程同步?操作系统知识点汇总(王道)_第83张图片

什么是进程互斥?操作系统知识点汇总(王道)_第84张图片

对临界资源的互斥访问,可以在逻辑上分为如下四个部分:

  • 进入区:负责检查是否可进入临界区,若可进入,则应设置正在访问临界资源的标志(上锁),以阻止其他进程同时进入临界区
  • 临界区:访问临界区资源的那段代码
  • 退出区:负责解除正在访问临界资源的标志
  • 剩余区:做其他处理

注意:临界区是内存中访问临界资源的代码段。进入区和退出区是负责实现互斥的代码段。临界区也可称为 “临界段”。

操作系统知识点汇总(王道)_第85张图片

2.3.2 进程互斥的软件实现方法(单标志、双标志先检查、双标志后检查、Peterson)

  • 单标志法操作系统知识点汇总(王道)_第86张图片
  • 双标志先检查
  • 双标志后检查操作系统知识点汇总(王道)_第87张图片
  • Peterson 算法操作系统知识点汇总(王道)_第88张图片

Peterson 算法用软件方法解决了进程互斥问题,遵循了空闲让进、忙则等待、优先等待 三个原则,但是依然未遵循让权等待的原则。Peterson 算法相较于之前三种软件解决方案来说是最好的,但依然不够好。

小结(梳理一下本小节的知识点叭!!!):操作系统知识点汇总(王道)_第89张图片

2.3.3 进程互斥的硬件实现方法(中断屏蔽、TestAndSet 指令、Swap 指令)

  • 中断屏蔽方法操作系统知识点汇总(王道)_第90张图片
  • TestAndSet(TS指令 / TSL指令)
  • Swap 指令(XCHG 指令)操作系统知识点汇总(王道)_第91张图片

小结(梳理一下本小节的知识点叭!!!):操作系统知识点汇总(王道)_第92张图片

2.3.4 信号量机制(整形信号量、记录型信号量)

操作系统知识点汇总(王道)_第93张图片

操作系统知识点汇总(王道)_第94张图片

  • 整型信号量操作系统知识点汇总(王道)_第95张图片
  • 记录型信号量(重点)操作系统知识点汇总(王道)_第96张图片
    操作系统知识点汇总(王道)_第97张图片

小结(梳理一下本小节的知识点叭!!!):操作系统知识点汇总(王道)_第98张图片

2.3.5 用信号量机制实现进程互斥、同步、前驱关系

  • 信号量机制实现进程互斥操作系统知识点汇总(王道)_第99张图片
  • 信号量机制实现进程同步操作系统知识点汇总(王道)_第100张图片
    操作系统知识点汇总(王道)_第101张图片
  • 信号量机制实现进程前驱关系操作系统知识点汇总(王道)_第102张图片

小结(梳理一下本小节的知识点叭!!!):操作系统知识点汇总(王道)_第103张图片

2.3.6 进程同步与互斥经典问题(生产者-消费者、多生产者-多消费者、吸烟者、读者-写者、哲学家进餐

  • 生产者-消费者问题
    操作系统知识点汇总(王道)_第104张图片
    操作系统知识点汇总(王道)_第105张图片
    小结(梳理一下本小节的知识点叭!!!):操作系统知识点汇总(王道)_第106张图片
  • 多生产者-多消费者问题操作系统知识点汇总(王道)_第107张图片
    操作系统知识点汇总(王道)_第108张图片

    原因在于:本题中的缓冲区大小为 1,在任何时刻,apple、orange、plate 三个同步信号量中最多只有一个是1.因此在任何时刻,最多只有一个进程的 P 操作不会被阻塞,并顺利地进入临界区。但如果缓冲区的大小大于 1,就必须专门设置一个互斥信号量 mutex 来保证互斥访问缓冲区。
    小结(梳理一下本小节的知识点叭!!!):操作系统知识点汇总(王道)_第109张图片
  • 吸烟者问题
    操作系统知识点汇总(王道)_第110张图片
    小结(梳理一下本小节的知识点叭!!!):操作系统知识点汇总(王道)_第111张图片
  • 读者-写者问题
    操作系统知识点汇总(王道)_第112张图片
    操作系统知识点汇总(王道)_第113张图片
    小结(梳理一下本小节的知识点叭!!!):操作系统知识点汇总(王道)_第114张图片
  • 哲学家进餐问题
    如何防止死锁的发生呢?有如下三种方法:
    小结(梳理一下本小节的知识点叭!!!):操作系统知识点汇总(王道)_第115张图片

2.3.7 管程和Java中实现管程的机制

为什么要引入管程?

        由于信号量机制存在编写程序困难、易出错等问题,有人提出:能不能设计一种机制,让程序员写程序时不需要再关注复杂的 PV 操作(若 PV 顺序写错就会发生死锁等问题),让写代码更轻松呢?1973 年,Brinch Hansen 首次在程序设计语言中引入了 “管程” 成分 --------- 一种高级同步机制。

管程是一种特殊的软件模块,有如下这些部分则组成:

  1. 局部于管程的共享数据结构说明
  2. 对该数据结构进行操作的一组过程
  3. 对局部于管程的共享数据设置初始值的语句
  4. 管程有一个名字

管程的基本特征:

  1. 局部于管程的数据只能被局部于管程的过程所访问
  2. 一个进程只有通过调用管程内的过程才能进入管程访问共享数据,即管程内部的变量只能被管程内部的函数所修改
  3. 每次仅允许一个进程在管程内执行某个内部过程

操作系统知识点汇总(王道)_第116张图片

操作系统知识点汇总(王道)_第117张图片

操作系统知识点汇总(王道)_第118张图片

关于Java管程相关详细内容可以查看 线程共享模型----之----管程 这篇文章!!!!

小结(梳理一下本小节的知识点叭!!!):操作系统知识点汇总(王道)_第119张图片

2.4 死锁

2.4.1 死锁的概念

什么是死锁?
        在并发环境下,各进程因竞争资源而造成的一种互相等待对方手里的资源,导致各进程都阻塞,都无法向前推进的现象,就是 “死锁”。发生死锁后,若无外力干涉,这些进程都将无法向前推进。

操作系统知识点汇总(王道)_第120张图片

死锁的处理策略:

  • 预防死锁(静态)。破坏死锁产生的四个必要条件种的一个或几个。
  • 避免死锁(动态)。用某种方法防止系统进入不安全状态,从而避免死锁(银行家算法)
  • 死锁的检测和解除。允许死锁的发生,不过操作系统会负责检测出死锁的发生,然后采取某种措施解除死锁。

小结(梳理一下本小节的知识点叭!!!):操作系统知识点汇总(王道)_第121张图片

2.4.2 死锁的处理策略(预防、避免[银行家算法]、检测和解除)

  • 预防操作系统知识点汇总(王道)_第122张图片
    操作系统知识点汇总(王道)_第123张图片
    操作系统知识点汇总(王道)_第124张图片
    操作系统知识点汇总(王道)_第125张图片
    小结(梳理一下本小节的知识点叭!!!):操作系统知识点汇总(王道)_第126张图片
  • 避免【重点】


    操作系统知识点汇总(王道)_第127张图片
    操作系统知识点汇总(王道)_第128张图片

    小结(梳理一下本小节的知识点叭!!!):操作系统知识点汇总(王道)_第129张图片
  • 检测和解除操作系统知识点汇总(王道)_第130张图片
    操作系统知识点汇总(王道)_第131张图片
    操作系统知识点汇总(王道)_第132张图片
    操作系统知识点汇总(王道)_第133张图片
    小结(梳理一下本小节的知识点叭!!!):操作系统知识点汇总(王道)_第134张图片


第 3 章 内存管理

本章内容结构图:

操作系统知识点汇总(王道)_第135张图片

3.1 内存管理相关概念

3.1.1 什么是内存?进程的基本原理,深入指令理解其过程

操作系统知识点汇总(王道)_第136张图片

操作系统知识点汇总(王道)_第137张图片

操作系统知识点汇总(王道)_第138张图片

操作系统知识点汇总(王道)_第139张图片
操作系统知识点汇总(王道)_第140张图片

操作系统知识点汇总(王道)_第141张图片

操作系统知识点汇总(王道)_第142张图片操作系统知识点汇总(王道)_第143张图片

操作系统知识点汇总(王道)_第144张图片

小结(梳理一下本小节的知识点叭!!!):操作系统知识点汇总(王道)_第145张图片

3.1.2 内存管理都管些什么?

  1. 操作系统负责对进程进行内存空间的分配与回收
  2. 操作系统需要提供某种技术从逻辑上对内存空间进行扩充。(虚拟存储技术(操作系统的虚拟性)、覆盖技术、交换技术)
  3. 操作系统需要提供地址转换功能,负责程序的逻辑地址与物理地址的转换。(三种装入方式)
  4. 操作系统需要提供内存保护功能,保证各进程在各自存储空间内运互不干扰。操作系统知识点汇总(王道)_第146张图片

小结(梳理一下本小节的知识点叭!!!):操作系统知识点汇总(王道)_第147张图片

3.1.3 覆盖技术与交换技术的思想(实现虚拟性)

覆盖技术:

操作系统知识点汇总(王道)_第148张图片

操作系统知识点汇总(王道)_第149张图片

交换技术:

操作系统知识点汇总(王道)_第150张图片

小结(梳理一下本小节的知识点叭!!!):

3.1.4 内存空间的分配与回收(单一连续分配、固定分区分配、动态分区分配)

本小节介绍的三种分配方式均为连续分配管理方式,指为用户进程分配的必须是一个连续的内存空间。

  • 单一连续分配操作系统知识点汇总(王道)_第151张图片
  • 固定分区分配操作系统知识点汇总(王道)_第152张图片
    操作系统知识点汇总(王道)_第153张图片
  • 动态分区分配
    操作系统知识点汇总(王道)_第154张图片

小结(梳理一下本小节的知识点叭!!!):操作系统知识点汇总(王道)_第155张图片

3.1.5 动态分配分区算法(首次适应、最佳适应、最坏适应、邻近适应)

  • 首次适应算法(First Fit)操作系统知识点汇总(王道)_第156张图片
  • 最佳适应算法(Best Fit)操作系统知识点汇总(王道)_第157张图片
  • 最坏适应算法(Worst Fit)操作系统知识点汇总(王道)_第158张图片
  • 邻近时应算法(Next Fit)

小结(梳理一下本小节的知识点叭!!!):操作系统知识点汇总(王道)_第159张图片

3.1.6 基本分页存储管理方式 

操作系统知识点汇总(王道)_第160张图片

基本分页存储管理的思想就是按照固定分区分配的方法把内存分成一个个相等的小分区,再按照分区大小把进程拆分为一个个小部分,再把这一个个小部分放到内存分区中去(不要求连续)。显然,如果把分区大小设置的更小一些,内部碎片会更小,内存利用率会更高。

操作系统知识点汇总(王道)_第161张图片

在明白分页的基本概念后,接下来最重要的部分就是:将进程地址空间分页后,操作系统该如何实现逻辑地址到物理地址的转换?
        对于之前讲的进程在内存中连续存放时,操作系统采用动态重定位的方式实现逻辑地址到物理地址的转换。
        那么,对于采用非连续存放分页技术,操作系统应该如何实现地址的转换呢?需要完成以下四个步骤:

  1. 要算出逻辑地址对应的页号
  2. 要知道该页号对应页面在内存中的起始地址
  3. 要算出逻辑地址在该页面内的偏移量
  4. 物理地址 = 页面起始地址 + 页内偏移量

操作系统知识点汇总(王道)_第162张图片

计算实际物理地址(页号页内偏移量)的方式可大体分为两种:手算利用地址的二进制表示法计算(页面大小必须为 2 的正数幂)

下面先来看一看简单的手算法:操作系统知识点汇总(王道)_第163张图片

下面介绍利用地址的二进制表示法计算

操作系统知识点汇总(王道)_第164张图片

上面两种方法可以计算出步骤 1 中的页号和步骤 3 中的页内偏移量,若想计算出步骤 2 中的页面起始地址,还需引入页表操作系统知识点汇总(王道)_第165张图片
操作系统知识点汇总(王道)_第166张图片

小结(梳理一下本小节的知识点叭!!!):操作系统知识点汇总(王道)_第167张图片

3.1.7 基本地址变换机构(重点)

用于实现逻辑地址到物理地址转换的一组硬件机构

操作系统知识点汇总(王道)_第168张图片

来道例题:操作系统知识点汇总(王道)_第169张图片

操作系统知识点汇总(王道)_第170张图片

小结(梳理一下本小节的知识点叭!!!):操作系统知识点汇总(王道)_第171张图片

3.1.8 具有快表的地址变换机构

操作系统知识点汇总(王道)_第172张图片

操作系统知识点汇总(王道)_第173张图片

小结(梳理一下本小节的知识点叭!!!):

3.1.9 两级页表

单级页表会存在什么样的问题?

问题一:页表必须连续存放,因此当页表很大时,需要占用很多个连续的页框

        我们在解决进程在内存中的连续存储问题时,将进程地址空间分页,并为其建立一张页表,记录各页面的存放位置。同样的思路,也可以用于解决 “页表必须连续存放” 的问题,把必须连续存放的页表再分页。

        可将长长的页表进行再分组,使每个内存块刚好可以放入一个分组(例如:页面大小为 4KB,每个页表项 4B,每个页面可存放 1K 个页表项,因此每 1K 个连续的页表项分为一组,每组刚好占一个内存块,再将各组离散地放到内块中)

操作系统知识点汇总(王道)_第174张图片

操作系统知识点汇总(王道)_第175张图片

问题二:没有必要让整个页表常驻内存,因为进程在一段时间内可能只需要访问几个特定的页面

        可以在需要访问页面时才把页面调入内存(虚拟存储技术)。可以在页表项中增加一个标志位,用于表示该页面是否已经调入内存。

操作系统知识点汇总(王道)_第176张图片

操作系统知识点汇总(王道)_第177张图片

小结(梳理一下本小节的知识点叭!!!):操作系统知识点汇总(王道)_第178张图片

3.1.10 基本分段存储管理方式

操作系统知识点汇总(王道)_第179张图片

操作系统知识点汇总(王道)_第180张图片

操作系统知识点汇总(王道)_第181张图片

操作系统知识点汇总(王道)_第182张图片操作系统知识点汇总(王道)_第183张图片

与分页系统类似,分段系统中也可以引入快表机构,将近期访问过的快表项放到快表中,这样可以少一次访问,加快地址变换速度。

小结(梳理一下本小节的知识点叭!!!):操作系统知识点汇总(王道)_第184张图片

3.1.11 段页式存储管理方式

操作系统知识点汇总(王道)_第185张图片

操作系统知识点汇总(王道)_第186张图片

操作系统知识点汇总(王道)_第187张图片

操作系统知识点汇总(王道)_第188张图片

操作系统知识点汇总(王道)_第189张图片

小结(梳理一下本小节的知识点叭!!!):操作系统知识点汇总(王道)_第190张图片

3.2 虚拟内存管理

3.2.1 虚拟内存的基本概念(局部性原理)

操作系统知识点汇总(王道)_第191张图片

操作系统知识点汇总(王道)_第192张图片

操作系统知识点汇总(王道)_第193张图片

虚拟内存有以下三个主要特征:

  • 多次性:无需在作业运行时一次性装入内存,而是允许被多次调入内存
  • 对换性:在作业运行时无需常驻内存,而是允许在作业运行过程中,将作业换入、换出
  • 虚拟性:在逻辑上扩充了内存的容量,是用户看到的内存容量远大于实际的容量

小结(梳理一下本小节的知识点叭!!!):操作系统知识点汇总(王道)_第194张图片

3.2.2 请求分页存储管理方式(页表机制、缺页中断机构、地址变换机构)

请求分页存储管理与基本分页存储管理的主要区别:

  • 请求调页:在程序执行过程中,当所访问的信息不在内存时,由操作系统负责将所需信息从外存调入内存,然后继续执行程序。
  • 页面置换:若内存空间不够时,由操作系统负责将内存中暂时用不到的信息换出到外存

新增步骤:

  1. 请求调页(查到页表项时进行判断)
  2. 页面置换(需要调如页面,但没有空闲内存块时进行)
  3. 需要修改请求页表中新增的表项

操作系统知识点汇总(王道)_第195张图片

操作系统知识点汇总(王道)_第196张图片

操作系统知识点汇总(王道)_第197张图片

小结(梳理一下本小节的知识点叭!!!):操作系统知识点汇总(王道)_第198张图片

3.2.3 页面置换算法(最佳、先进先出、最近最久未使用、时钟、改进时钟)

  • 最佳置换算法(OPT)操作系统知识点汇总(王道)_第199张图片
    最佳置换算法可以保证最低的缺页率,但实际上,只有在进程执行的过程中才能知道接下来会访问到的是哪个页面。操作系统无法提前预判页面访问序列。因此,最佳置换算法实际上是无法实现的。 
  • 先进先出置换算法(FIFO)操作系统知识点汇总(王道)_第200张图片
  • 最近最久未使用置换算法(LRU)操作系统知识点汇总(王道)_第201张图片
  • 时钟置换算法(CLOCK)操作系统知识点汇总(王道)_第202张图片
  • 改进型的时钟置换算法

小结(梳理一下本小节的知识点叭!!!):操作系统知识点汇总(王道)_第203张图片

3.2.4 页面分配策略(固定分配局部置换、可变分配全局置换、可变分配局部置换)

操作系统知识点汇总(王道)_第204张图片

操作系统知识点汇总(王道)_第205张图片

操作系统知识点汇总(王道)_第206张图片

操作系统知识点汇总(王道)_第207张图片

操作系统知识点汇总(王道)_第208张图片

小结(梳理一下本小节的知识点叭!!!):操作系统知识点汇总(王道)_第209张图片


第 4 章 文件管理

操作系统知识点汇总(王道)_第210张图片

4.1 文件系统

4.1.1 初识文件管理

文件就是一组有意义的信息/数据集合。

关于文件的管理,我们可以围绕以下几个问题来学习:

  1. 计算机中存放了各种各样的文件,一个文件有哪些属性?
  2. 文件内部的数据应该怎样组织起来?(逻辑结构)
  3. 文件之间又是怎样组织起来的?(目录结构)
  4. 从下往上看,os 应提供哪些功能,才能方便用户、应用程序使用文件?(create、delete、open、close、read、write 系统调用)
  5. 从上往下看,文件数据应该怎么存放在外存(磁盘)上?(物理结构)

操作系统知识点汇总(王道)_第211张图片

操作系统知识点汇总(王道)_第212张图片

操作系统知识点汇总(王道)_第213张图片

操作系统知识点汇总(王道)_第214张图片

操作系统知识点汇总(王道)_第215张图片

操作系统知识点汇总(王道)_第216张图片

文件共享:使多个用户可以共享使用一个文件

文件保护:如何保证不同的用户对文件有不同的操作权限

4.1.2 文件的逻辑结构(顺序文件、索引文件、索引顺序文件)

操作系统知识点汇总(王道)_第217张图片

操作系统知识点汇总(王道)_第218张图片

操作系统知识点汇总(王道)_第219张图片

操作系统知识点汇总(王道)_第220张图片

操作系统知识点汇总(王道)_第221张图片操作系统知识点汇总(王道)_第222张图片

操作系统知识点汇总(王道)_第223张图片

操作系统知识点汇总(王道)_第224张图片

小结(梳理一下本小节的知识点叭!!!): 操作系统知识点汇总(王道)_第225张图片

4.1.3 文件目录

操作系统知识点汇总(王道)_第226张图片

操作系统知识点汇总(王道)_第227张图片

操作系统知识点汇总(王道)_第228张图片

需要对目录进行哪些操作?

  • 搜索:当用户要使用一个文件时,系统要根据文件名搜索目录,找到该文件对应的目录项
  • 创建文件:创建一个新文件时,需要在其所属的目录中增加一个目录项
  • 删除文件:当删除一个文件时,需要在目录中删除相应的目录项
  • 显示目录:用户可以请求显示目录的内容,如显示该目录中的所有文件及相应属性
  • 修改目录: 某些文件属性保存在目录中,因此这些属性变化时需要修改相应的目录项(如文件重命名等)

操作系统知识点汇总(王道)_第229张图片

操作系统知识点汇总(王道)_第230张图片

操作系统知识点汇总(王道)_第231张图片

小结(梳理一下本小节的知识点叭!!!): 操作系统知识点汇总(王道)_第232张图片

4.1.4 文件的物理结构 ---- 分配方式(连续分配、链接分配、索引分配)

  • 对非空闲磁盘块的管理
  • 文件的分配方式

操作系统知识点汇总(王道)_第233张图片

  • 1. 连续分配操作系统知识点汇总(王道)_第234张图片
    操作系统知识点汇总(王道)_第235张图片
    操作系统知识点汇总(王道)_第236张图片
    操作系统知识点汇总(王道)_第237张图片
    总结:
            优点:支持顺序访问和直接访问(即随机访问);连续分配的文件在顺序访问时速度最快
            缺点:不方便文件拓展;存储空间利用率低,会产生磁盘碎片
  • 2. 链接分配
            链接分配采取离散分配的方式,可以为文件分配离散的磁盘块。分为隐式链接显式链接两种。
    • ①隐式链接
      操作系统知识点汇总(王道)_第238张图片
    • ②显式链接操作系统知识点汇总(王道)_第239张图片
      操作系统知识点汇总(王道)_第240张图片
      操作系统知识点汇总(王道)_第241张图片
  • 索引分配
    操作系统知识点汇总(王道)_第242张图片
    如果一个文件的大小(索引表的表项)超过了一个磁盘块的大小,一个磁盘块装不下,该如何解决?有如下三种解决方案:①链接方案②多层方案③混合索引

    • ①链接方案操作系统知识点汇总(王道)_第243张图片
    • ②多层方案操作系统知识点汇总(王道)_第244张图片
    • ③混合方案操作系统知识点汇总(王道)_第245张图片

小结(梳理一下本小节的知识点叭!!!):

4.1.5 文件存储空间管理(空闲表法、空闲链表法、位示图法、成组链接法

操作系统知识点汇总(王道)_第246张图片

  • 1. 空闲表法操作系统知识点汇总(王道)_第247张图片
  • 2. 空闲链表法操作系统知识点汇总(王道)_第248张图片
    • ①空闲盘块链(以盘块为单位组成一条空闲链)操作系统知识点汇总(王道)_第249张图片
    • ②空闲盘区链(以盘区为单位组成一条空闲链)操作系统知识点汇总(王道)_第250张图片
  • 3. 位示图法
  • 4. 成组链接法操作系统知识点汇总(王道)_第251张图片
    操作系统知识点汇总(王道)_第252张图片

小结(梳理一下本小节的知识点叭!!!):操作系统知识点汇总(王道)_第253张图片

4.1.6 文件的基本操作(create、delete、open、close、read、write)

  1. 创建文件操作系统知识点汇总(王道)_第254张图片
  2. 删除文件操作系统知识点汇总(王道)_第255张图片
  3. 打开文件操作系统知识点汇总(王道)_第256张图片
    操作系统知识点汇总(王道)_第257张图片
  4. 关闭文件操作系统知识点汇总(王道)_第258张图片
  5. 读文件操作系统知识点汇总(王道)_第259张图片
  6. 写文件操作系统知识点汇总(王道)_第260张图片

小结(梳理一下本小节的知识点叭!!!):操作系统知识点汇总(王道)_第261张图片

4.1.7 文件共享(硬链接、软链接)

操作系统知识点汇总(王道)_第262张图片

硬链接 ---- 基于索引节点的共享方式操作系统知识点汇总(王道)_第263张图片

软链接 ---- 基于符号链的共享方式操作系统知识点汇总(王道)_第264张图片
Windows 系统下在桌面创建快捷方式就是软链接的实现。

小结(梳理一下本小节的知识点叭!!!):操作系统知识点汇总(王道)_第265张图片

4.1.8 文件保护(口令保护、加密保护、访问控制)

  • 口令保护操作系统知识点汇总(王道)_第266张图片
  • 加密保护操作系统知识点汇总(王道)_第267张图片
  • 访问控制操作系统知识点汇总(王道)_第268张图片
    操作系统知识点汇总(王道)_第269张图片

小结(梳理一下本小节的知识点叭!!!):操作系统知识点汇总(王道)_第270张图片

4.1.9 文件系统的层次结构 

操作系统知识点汇总(王道)_第271张图片

4.2 磁盘管理

4.2.1 磁盘的结构

操作系统知识点汇总(王道)_第272张图片

操作系统知识点汇总(王道)_第273张图片

操作系统知识点汇总(王道)_第274张图片

小结(梳理一下本小节的知识点叭!!!):操作系统知识点汇总(王道)_第275张图片

4.2.2 磁盘调度算法(先来先服务、最短寻找时间优先、扫描算法、循环扫描算法)

  • 先来先服务(FCFS)操作系统知识点汇总(王道)_第276张图片
  • 最短寻找时间优先(SSTF)操作系统知识点汇总(王道)_第277张图片
  • 扫描算法(SCAN)
    操作系统知识点汇总(王道)_第278张图片
  • 循环扫描算法(C-SCAN)操作系统知识点汇总(王道)_第279张图片
    操作系统知识点汇总(王道)_第280张图片

小结(梳理一下本小节的知识点叭!!!):操作系统知识点汇总(王道)_第281张图片

4.2.3 减少磁盘延迟的方法(交替编号、错位命名

操作系统知识点汇总(王道)_第282张图片

1. 交替编号 

操作系统知识点汇总(王道)_第283张图片

操作系统知识点汇总(王道)_第284张图片

即,在读取地址连续的磁盘块时,采用(柱面号,盘面号,扇区号)的地址结构,可以减少磁头移动所消耗的时间

2. 错位命名

操作系统知识点汇总(王道)_第285张图片

操作系统知识点汇总(王道)_第286张图片

小结(梳理一下本小节的知识点叭!!!):操作系统知识点汇总(王道)_第287张图片

4.2.4 磁盘的管理

操作系统知识点汇总(王道)_第288张图片

操作系统知识点汇总(王道)_第289张图片

操作系统知识点汇总(王道)_第290张图片

小结(梳理一下本小节的知识点叭!!!):操作系统知识点汇总(王道)_第291张图片


第 5 章 I/O 管理

5.1 I/O 管理概述

5.1.1 什么是 I/O 设备?有几类 I/O 设备? 

操作系统知识点汇总(王道)_第292张图片

操作系统知识点汇总(王道)_第293张图片

操作系统知识点汇总(王道)_第294张图片

操作系统知识点汇总(王道)_第295张图片

小结(梳理一下本小节的知识点叭!!!):操作系统知识点汇总(王道)_第296张图片

5.1.2 控制 I/O 设备的 I/O 控制器

操作系统知识点汇总(王道)_第297张图片

操作系统知识点汇总(王道)_第298张图片

操作系统知识点汇总(王道)_第299张图片

操作系统知识点汇总(王道)_第300张图片

小结(梳理一下本小节的知识点叭!!!):操作系统知识点汇总(王道)_第301张图片

5.1.3 控制 I/O 的几种方式(程序直接控制方式、中断驱动方式、DMA方式、通道控制方式)

  • 程序直接控制方式操作系统知识点汇总(王道)_第302张图片
  • 中断驱动方式
  • DMA方式操作系统知识点汇总(王道)_第303张图片
    操作系统知识点汇总(王道)_第304张图片
    操作系统知识点汇总(王道)_第305张图片
  • 通道控制方式操作系统知识点汇总(王道)_第306张图片
    操作系统知识点汇总(王道)_第307张图片

注意:
        一个通道可以控制多个 I/O 控制器,一个 I/O 控制器又可以控制多个 I/O 设备 

小结(梳理一下本小节的知识点叭!!!):操作系统知识点汇总(王道)_第308张图片

5.1.4 I/O 软件层次结构(用户层软件--设备独立性软件--设备驱动程序--中断处理程序)

操作系统知识点汇总(王道)_第309张图片

操作系统知识点汇总(王道)_第310张图片

操作系统知识点汇总(王道)_第311张图片

操作系统知识点汇总(王道)_第312张图片

小结(梳理一下本小节的知识点叭!!!):操作系统知识点汇总(王道)_第313张图片

5.2 I/O 核心子系统

5.2.1 内核的 I/O 子系统及功能

操作系统知识点汇总(王道)_第314张图片

操作系统知识点汇总(王道)_第315张图片

I/O 调度 

设备保护操作系统知识点汇总(王道)_第316张图片

5.2.2 假脱机技术(SPOOLing技术)

操作系统知识点汇总(王道)_第317张图片

操作系统知识点汇总(王道)_第318张图片

操作系统知识点汇总(王道)_第319张图片

操作系统知识点汇总(王道)_第320张图片

操作系统知识点汇总(王道)_第321张图片

操作系统知识点汇总(王道)_第322张图片

操作系统知识点汇总(王道)_第323张图片

小结(梳理一下本小节的知识点叭!!!):操作系统知识点汇总(王道)_第324张图片

5.2.3  I/O 设备的分配与回收(DCT---COCT---CHCT---SDT)

操作系统知识点汇总(王道)_第325张图片

操作系统知识点汇总(王道)_第326张图片

操作系统知识点汇总(王道)_第327张图片

小结(梳理一下本小节的知识点叭!!!):操作系统知识点汇总(王道)_第328张图片

5.2.4 缓冲区管理(单缓冲---双缓冲---循环缓冲---缓冲池)

操作系统知识点汇总(王道)_第329张图片

操作系统知识点汇总(王道)_第330张图片

操作系统知识点汇总(王道)_第331张图片

操作系统知识点汇总(王道)_第332张图片

操作系统知识点汇总(王道)_第333张图片

小结(梳理一下本小节的知识点叭!!!):操作系统知识点汇总(王道)_第334张图片

你可能感兴趣的:(408,学习笔记,后端,进程)