操作系统笔记



操作系统笔记

第一章

操作系统的概念功能

1.1.1&1.1.3

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

联机式命令接口(或者叫交互式命令接口):用户说一句,系统做一句 黑窗口

脱机式命令接口(批处理命令接口):用户说一堆,系统做一堆 .bat文件

有的教材中:

  1. 命令接口和程序接口同城为 用户接口(狭义的用户接口不包含GUI

  2. 系统调用叫做 广义指令

    外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

1.1.2 操作系统的特征

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传


1.2操作系统的发展与分类

单道批处理系统

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

多道批处理系统——操作系统正式诞生

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

分时操作系统

计算机以时间片为单位轮流为各个用户|作业服务各用户可通过终端向计算机进行交互

优点:解决了人机交互的问题,多个用户共同使用一台计算机,感受不到他人的存在

缺点:无法优先处理一些紧急的任务

实时操作系统

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

小结外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

1.3 操作系统的运行环境

1.3.1 操作系统的运行机制

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传


1.3.2 中断和异常
中断的作用

中断会使CPU 从用户态转变为内核态,使操作系统重新夺回对CPU的控制权。且为唯一途径

没有中断技术就无法实现并发,也没有操作系统

内中断(也被称作异常)

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

例子1,2分别代表故障(错误条件引起,内核可以修复如缺页故障)和终止(致命错误引起,内核无法修复。如:整数除零,非法使用特权指令。CPU的使用权不再给程序,终止程序)

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

陷入指令是特殊的指令但不是特权指令

外中断

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

(类似时分多路复用,应用程序占据CPU划分的小的时间片)

例子2:打印机(I\O中断的一种)——输入输出完成后向CPU 发送中断信号

中断机制的基本原理

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

1.3.3 系统的调用

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

1.3…4 操作系统的体系结构

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

依据是否把 “对内核资源的管理的功能” 放入内核结构中,将操作系统划分为大内核与微内核两种

ps:(时钟管理、中断处理与原语(即执行过程不可再分的几条程序指令)与硬件电路结合紧密,必须放进内核系统中。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

CPU的状态转化消耗很多时间,频繁的状态转换会导致CPU性能降低。


外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

新加入的知识点:分层结构、模块化、外核

对于外核:

普通的操作系统给磁盘分配的空间是经过抽象的,(看起来是相连的一整个部分,实际上在硬盘的不同位置。在计算机组成原理中,机械硬盘的磁头需要不断的切换寻址)

外核的作用在于 分配磁盘中的一片连续的空间,于是磁头切换的时间减少。

“保证硬盘资源的使用安全…" 意为 当磁盘的一片存储空间被外核分配出去后,再有其他的资源想要使用这篇空间,外核对这种请求作出拒绝。etc…

“降低了系统的一致性” 外核的系统同时具有普通操作系统的虚拟的内存分配方式,同时还具有直接分配物理地址的方式。两种方式并存,降低了系统的一致性。

1.5 操作系统引导

主引导记录:

  1. 磁盘引导程序

  2. 分区表:一种数据结构,分别解释了每一个盘的空间大小以及相应的地址范围

C盘:引导记录简称PBR (负责找到 启动管理器(存在根目录中))、根目录、其他

操作系统的引导(开机过程)

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

开机后,ROM引导程序——>将C盘中主引导记录导入到RAM中

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传


1.6 虚拟机

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

对比

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

为何第二类虚拟机的性能差?

A:宿主机器建立内存索引表,将内存分配给了虚拟机,虚拟机二次建立内存索引表,再对内存进行二次分配


第二章 进程与线程 操作系统分数占比三分之一(难题出发点)

2.1进程与线程 & 2.1.3进程的组成

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

PCB:操作系统需要记录PID、进程所属UID、分配了多少资源等信息,记录在PCB当中

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

2.1.2 进程的状态与转化

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

进程五状态模型

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

进程的组织(了解即可)——链接方式

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

ps:大部分进程使用的是链式方式

绿框是重点

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

2.1.4 进程控制

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

原语的执行具有原子性,如何保证原子性的执行?

使用开中断指令与关中断指令,让操作系统在一段时间执行之后不再查看是否有中断信号。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

2.1.5 进程通信

共享存储的通信方式

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

基于数据结构的共享方式:灵活性差,速度慢

基于存储区的共享方式:灵活性高,速度快

进程间消息的传递

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

管道通信

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

管道内部类似一个循环队列。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

半双工:只允许水管内部的水流向着一个方向流(单向)

总结

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

2.1.6—1 线程的概念与多线程模型

传统的进程是程序执行流的最小单位,只能串行的执行一系列程序。加入线程后增加了程序的并发度。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

引入线程后,进程只作为 除CPU之外的系统资源的分配单元(如 打印机,系统地址空间等都是分配给进程的)


2.1.6——2 线程的实现方式和多线程模型

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

用户级线程

Q:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

A:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

内核级线程

Question:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

A:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

多线程模型
一对一 多线程模型

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

多对一 多线程模型

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

多对多模型——多线程模型

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

只有所有的内核级线程都被阻塞 进程才被阻塞。

处理机调度

2.1.6 ——3 线程的状态与转化

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

2.2 处理器的调度

调度的概念、层次

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

自主命题学校可能考察七状态模型)

2.2.2 调度算法的评价指标(调度的目标)

CPU利用率

CPU忙碌的时间占总时间的比例

系统吞吐量

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

周转时间

作业被提交给系统开始到作业完成的时间

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

等待时间

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

响应时间

用户从 提出请求首次响应的时间

2.2.3 进程调度的时机、切换与过程、方式

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

注意:本节不算考试重点,理解即可

2.2.3-2 调度器与闲逛进程

调度程序永远的备胎,没有其他就绪进程时,运行闲逛进程。

闲逛进程的特性:

  1. 优先度最低
  2. 可以是零地址指令占据一个完整的指令周期(指令周期末尾进行例行检查中断)
  3. 能耗低

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

2.2.4 调度算法:先来先服务、最短作业优先、最高响应优先

知识框架

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

先来先服务(FCFS)

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

注意:本例子中的进程都是纯计算型的进程,一个进程到达后要么在等待,要么在运行。如果是又有计算、又有I|O操作的进程。其等待时间就转换成了 周转时间 - 运行时间 - I/O操作的时间

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

短作业优先算法(SJF)
非抢占式

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

抢占式的短作业优先算法(最短剩余时间优先算法 Shortest remaining Time Next)

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

需要注意的点

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

高响应比优先算法(HRRN Highest Responed Ratio Next)

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

是前两种算法的折中的思想方法

总结

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

2.2.4—2 调度算法 时间片轮转 优先级、 多级反馈队列

时间片轮转调度算法

可以让各个进程得到及时的响应

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

如果时间片过大, 每一个进程都可以在一个时间片内完成任务。则 时间片轮转算法会退化为先来先服务算法,并且会增大进程响应时间,所以对于时间片轮转调度算法而言,时间片不可以太大。

另一方面,线程的调度、切换是有时间代价的(保存、恢复环境),因此时间片太小会导致进程切换过于频繁,系统会花大量时间去处理进程切换,从而导致了实际上用于进程执行的时间比例大大缩短。so,时间片不可以很小

一般来讲,让切换进程所占的时间比例不超过 百分之一 为合适的大小。

优先级调度算法

注意优先数和优先级,题目中 优先数 越大 或者 越小 对应优先级,要注意。

优先级调度算法可以 灵活调整各个进程被服务的机会。

非抢占式优先级调度算法

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

抢占式优先级调度算法

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

优先级调度算法的一些补充

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

优先级调度算法总结:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

多级反馈队列调度算法 (是对其他调度算法的折中取衡)

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

小结

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

2.2.4——3 多级队列调度算法

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

同步与互斥

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

进程互斥的软件实现算法(考察频率高

总览

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

单标志法

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

形象的例子

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

双标志 先检查 法

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

双标志 后检查 法

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

peterson算法

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

最后说客气话的人会丧失行动的优先权

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

进程互斥的三种硬件实现方法

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

中断屏蔽方法

利用“开 | 关中断指令” 实现(与原语的实现思想相同,即在某进程开始访问临界区到结束访问为止都不允许被中断,也就不能发生进程切换,因此也不可能发生两个同时访问临界区的情况)

优点:简单。高效

缺点:不适用于多处理机;只适用于操作系统内核进程,不适用于用户进程(因为开关中断指令只能运行在内核态,这组指令如果能让用户随意使用会很危险。

补充:两台处理机,可能一起使用访问临界区的某一资源

Test And Set指令(也称作Test and Set Lock指令 即TSL指令

类似于软件实现方法中的双标志法,(但不需要再去考虑是否存在异步的问题)使得 上锁 和检查操作用硬件的方式变成了一起课程的原子操作。

优点:实现简单,无需像软件实现方法那样阉割检查是否会有逻辑楼佛那个‘;适用于多处理机的系统

缺点:不满足"让权等待原则",暂时无法进入临界区的进程会占用CPU并循环执行TSL指令,从而导致了“忙等

Swap指令

逻辑上与TSL指令并无太大区别,都是首先记录下此刻临界区是否已经被上锁(记录在OLD变量上)再将上锁标记lock设置为true,最后检查old,若为false则说明之前没有进程对临界区进行上锁操作,则可跳出循环,进入临界区。

优点:实现简单,无需像软件那样实现方法那样严格检查是否会有逻辑漏洞,适用于多处理机环境

缺点:不满足“让权等待”原则。暂时无法进入临界区的进程会占用cpu的资源并循环执行TSL指令,从而导致“忙等”


2.3.4 信号量机制

2.3.4 信号量—用信号量实现线程互斥、同步、前驱关系{每年都有大题❤❤❤

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

注意上图中注意的三个点

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

上图分析,先执行P2操作会出现进程阻塞的情况(semaphore S=0,P(s)申请不出资源)

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

核心还是前V后P

总结

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传


2.3.5 管程

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

说明:共享数据结构:就是都需要访问的共享资源,比如生产者消费者问题中的 缓冲区

一组过程:就是函数

只能被局部于管程的过程所访问:一个管程是一个类,其他函数通过调用这个类的函数实现对于这个类中的共享资源区的修改,不可以直接修改!!

每次仅允许……某个内部过程:一次只能调用管程类中的一个函数

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

生产者消费者 的一个例子

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

、Java语言中线程的synchronized关键字就是管程,使得程序要不需要自己考虑线程的相关问题

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传


2.3.6 经典同步关系

1.生产者问题

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

只有缓冲区没满的时候,生产者才能把产品放入缓冲区,否则必须等待

只有缓冲区不空时,消费者才能从中取出产品,否则必须等待

能否改变pv 操作的顺序呢?

不能,否则出发死锁。互相等待对方执行V操作。外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

结论:实现互斥的P操作一定要在实现同步的P操作之后

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

2. 多生产者–多消费者问题

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

3. 吸烟者问题

一个系统中有三个抽烟者进程和一个供应者进程,每个抽烟者要不停的卷烟并且抽掉。抽烟者需要三种材料,烟草、纸、胶水。三个抽烟者中,每个人都有其中的一种材料,供应者会不断的往桌子上提供三种材料,但是每次只能将两种材料放在桌子之上。一个人取完发信号。供应者会再将另外两种材料放在桌子上。

注意:分析时需要遵循的原则:1. 同步——>先V后P

  1. 互斥 先P后V

吸烟者问题的核心是——解决了可以生产多个产品的单生产者的问题

4. 读者写者问题

有读者和写者两组并发的进程,共享一个文件,当两个或两个以上的进程同时访问共享数据时不会产生副作用。

要求1.允许多个读者可以同时对文件执行读操作

2.只允许一个写者往文件中写信息

3.任一写者在完成写操作之前不允许其他读者或写者工作

4.写者执行写操作前,应让已有的读者和写者全部退出

(后三条的意思;写之前其他的操作先进行完,之后进行写操作。

一 关系分析

互斥关系:读进程-写进程、写进程-写进程。但是读-读不互斥

为解决读-读不互斥问题:

semaphore rw=1 //用于实现对共享文件的互斥访问
int count =0//  记录当前有几个读进程在访问文件

如果当前访问文件的读进程数+1 则 执行count++; 不然count–

if(count == 0)//由最后一个读进程负责

V(rw)//读完之后进行解锁

如果发现自己是第一个,则上锁

但:若两个读进程并发执行,则count=0时两个进程也许都能满足if条件,都会执行P(rw),从而使得第二个读进程阻塞的情况。

原因是;对于count变量的检查和赋值无法一气呵成,此时需要设置一个互斥信号保证各杜金城对count的访问是互斥的。

semaphore mutex = 1//用于保证对count变量的互斥访问

还有一个问题,只要有读进程还在读,写进程就要一直阻塞等待,可能饿死

因此,这种算法中读进程是优先的

小结

遇到复杂的同步的问题——考虑生产者消费者

遇到复杂的互斥问题 ——读者写者

5. 哲学家就餐

圆桌上坐着五位哲学家。每两个哲学家之间一根筷子,哲学家饥饿拿起筷子吃饭(左右两根)

2.3.7 死锁问题

死锁、饥饿、死循环的区别

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

死锁发生的必要条件

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

2.4.2 预防死锁

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

1.

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

2

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

3.

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

4

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

2.4.3 避免死锁——银行家算法(*********)

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

2.4.4 死锁的处理策略——死锁的检测与解除

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传.

绿色边:资源分配给进程结点

蓝色边:进程结点申请资源

注意:在消除边的同时也需使用银行家算法

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

第三章 内存管理

3.1 内存的基础知识(考察的频率不高)

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

将指令的装入内存的过程

绝对装入

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

将逻辑地址 直接转化为物理地址(绝对地址)而后对其进行相关指令或者数据的装入

问题:如果要将可执行文件(.exe)文件转移到别的电脑中时,物理地址可能发生改变,但在绝对装入中物理地址是固定的。所以灵活性差

只适用于操作系统还未诞生时候的计算机

可重定位装入

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

一旦确定了第一条地址在内存中的存储位置,就可以确定所有指令或者数据的位置(因为采用的都是逻辑地址)

特点:必须给这些 指令分配一个足够大且连续的内存地址空间。一次性进行装入

在运行期间不能再移动:重定位之后,逻辑地址全部转化为了物理地址,若移动则所有的地址都出现错误。

动态重定位——动态运行时装入

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

装入内存后仍然使用的还是逻辑地址

重定位寄存器:记录装入模块装入内存时的起始地址

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

(绿色部分涉及虚拟存储技术模块,可以暂时不理解)

注意:使用动态重定位技术时,允许程序在内存中发生移动。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

三种链接的方式

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. 在装入之前就将各目标模块链接成一个完整的可执行文件
  2. 边装入边链接
  3. 用到某个模块,某个模块链接

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

内存管理

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

覆盖与交换(一般只在选择中进行考察)新大纲已删除仅供学习使用

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

覆盖技术

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

交换技术

中级调度的目的就是为了实现交换技术

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

3.1.3 连续分配管理运行方式

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

内部碎片:比如原本 用户区+用户进程A 都是分配给用户进程A的内存区域,但是用户进程A只占用了其中的一部分,其余的蓝色的部分就是内部碎片。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

覆盖技术的切换会降低系统的性能

动态分区分配-1、使用什么数据结构?

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

动态分区-2、 (后续课程还会细讲)

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

动态分区-3、如何进行分区的分配与回收(分为4中情况)

第一种、分配时候的处理1

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

进程5是待进入内存的进程

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

第二种 分配时候的处理2

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

进程5与某一内存中的外部碎片大小相等

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

删除空闲分区表或者删除空闲分区链的一个结点

第三种、回收时候的处理1

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

第四种、 回收时候的处理2

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

第五种、回收时候的处理3

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

第六种、回收时候的处理4

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传


外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

紧凑技术:例如进程4与进程1不存在进程是待分配的内存空间,其中有一新的进程需要调入内存当中,进程4与进程1任何一个的内存大小都不足以满足需求,于是。通过紧凑技术将进程2、4紧靠一起并向上挪动,凑出新的内存位置给新的进程

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

3.1.3.3 动态分区分配算法

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

首次适应算法

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

ps: 空闲分区链和空闲分区表都是从低地址向高地址递进的。

当进程5(15MB)到来时,首先与第一个链头(表头)进行对比,发现第一个节点可以满足进程5的需求,于是

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

将进程5移入到空闲分区当中,之后对空闲分区链或空闲分区表进行修改

最佳适应算法

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

找到的第一个适合存放的第一个空闲分区一定是 大小最小的。所以可以尽可能多的留下大片的分区

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

更新空闲分区链

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

最坏临近算法

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

ps:和最佳适应算法正好相反

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

进程5、进程6为后到来的进程

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

临近适应算法

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

与首次适应算法极为相似,但是不同点在于,每次分配查找是从上次分配查找的那个分区开始进行查找

四种算法综合起来还是首次适应算法最好

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

3.1.4——1 基本分页存储的概念

知识总览

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

分页存储

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

重要的数据结构——页表

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

页号、块号可以理解为 页其中的一行

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

4GB转化为多少B 的运算一定要背过 快速反应

计算机分配存储空间是用字节为单位来分配的。所以需要3B

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

页号是隐藏的不占用存储空间

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

传统计算方法

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

如果页面大小是2的整数次幂

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

3.1.4——2 基本地址变换机构(重要,可能结合选择或者答题进行考察)

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

回顾:

在分页存储中要把逻辑地址转换为物理地址 需要知道

1、 逻辑地址对应的页号

2、 逻辑地址对应的页面偏移量

3、逻辑地址对应的页面在内存中存放的位置是多少

4、根据页面的起始位置和页面偏移量得到最终的物理地址

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

页号大于等于(注意:此处存在一个等于的问题)页表长度则判定为越界

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

一个例子

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

实际应用中,因为每一个页框存在页内碎片,会导致查找比较麻烦;在这里,优化的思路是一个页表项直接采用4字节进行存储则不存在页内碎片

(如果题目中说需要按照最小页表项长度去计算,则此题目中还是按照3字节去计算)

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

总结

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

3.1.4——3 具有块表的地址变换机构

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

快表TLB是一个专门的硬件设备

TLB仅仅存放页表项的副本, 但是Cache存有其他数据的副本

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

文字描述以及相关计算

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

快表和满表同时查找:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

回顾——局部性原理

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

总结

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

3.1.4——4 两级页表

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

几个细节

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

二级页表带来的缺点

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

访存次数增加,带来的时间开销和相关的系统资源开销变大

规律:N级页表访存次数是N+1次

总结:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

3.1.5 基本分段存储管理方式

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

段表

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

与页表相比 段表多了段长,因为每一个段的长度可能是不同的

分段存储中地址变换的过程

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

分段管理与分页管理的对比

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

分段管理中实现共享线程的一种方式

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

总结

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

3.1.6 段页式管理方式

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

段页式管理的基本思想

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

先对进程进行分段,之后对分出的每一个段进行分页

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

与此相对应的,在分段管理中,二维;在分页管理,一维

用户在使用的时候只需给出段号、段内地址。之后系统会自动的把段内地址拆分为页号和页内偏移量。后者这一过程对于用户而言是不可见的。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

一个进程对应一个段表,一个段表对应多个页表

段表项由 段号、页表长度、页表存放块号(页表起始地址)三部分组成

段页式管理的地址变换过程

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

总结

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

段页式管理的地址变换过程,需要自己默写

重要补充:知识框架总结

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

3.2.1 虚拟内存的基本概念(比交换、覆盖技术先进)

知识框架图

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

虚拟内存技术是基于局部性原理而生

局部性简单来讲:刚刚访问过某一块内存则在未来的一段时间内会经常访问这块已经访问过的内存。或者某个程序刚刚被执行,未来的一段时间内会经常执行这段程序;某个数据被访问过,未来一段时间会经常被访问

虚拟内存的定义和特征

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

传统段页式管理在虚拟内存技术中的应用

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

请求分页对应——》请求调页和页面置换

请求分段存储管理对应——》请求调段和段置换

总结

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

3.2.2 请求分页管理方式

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

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

  1. 如果需要访问 的信息不存在与内存中,则需要将内容调入到内存中
  2. 内存中暂时用不到的调出内存

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

缺页中断

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

中断后需要进行IO操作

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

3.2.4 页面置换算法(英文简写也需要记忆)

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

最佳置换算法(OPT)

最佳置换算法:每次选择淘汰的页面将是以后永不使用,或者在最长时间内不再被访问到的页面 这样可以保证最低的缺页率。

算法执行的前提是已经知道 将要 需要访问的页面是哪一些。实际上,操作系统无法预知将要访问到的页面有哪一些。所以最佳置换算法OPT是理想型的算法,现实中无法实现。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

算法执行流程,如此时进行到了需要箭头所指3的位置,往后看,依次访问的是0423032……,0、2都会先被访问到,1在很长的一段时间内是不需要被访问的,于是选择置换出1。

缺页率:所有需要访问的页面分之缺页中断的次数 缺页中断不一定发生页面置换 如前三次。

先进先出置换算法(FIFO)

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

每次都淘汰队头的元素

队列的长度取决于 可以分配的内存块的个数

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

贝拉底异常:先被淘汰的页面后期可能经常被访问到。

最近最久未使用置换算法(LRU)

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

该算法需要专门的硬件支持,虽然性能很好,但实现困难 开销大。

时钟置换算法(CLOCK)

性能 开销比较均衡的算法,也叫作最近未用算法

传统时钟置换算法

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

第一轮扫描后,凡是扫描过的页面访问位置为0

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

第一轮扫描过后

此时1号页面为0,则装入1号,并将访问位置为1

第二种:改进型的时钟置换算法

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

总结

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

3.2.3+3.2.5 页面分配策略

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

页面置换、分配策略

驻留集:指的是请求分页存储管理中给进程分配的物理块的集合

在采用了虚拟存储技术的系统中,驻留集大小一般小于进程的总大小。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

如何理解 资源利用率降低:

IO设备与CPU本可以并行的进行工作的,但是因为分成两步工作,于是系统的并行效率就会降低

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

不存在固定分配、全局置换策略(固定分配要求驻留集不变)

固定分配全局置换、可变分配局部置换/全局置换(选择

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

可变分配全局置换:未锁定的含义:系统中一些页面是被系统锁定的,不可换出外存,比如一些重要的内核数据

何时调入页面

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

何处调入页面
第一种:系统具有足够多的对换区空间

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

第二种:系统缺少足够的对换区

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

第三种:UNIX方式

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

抖动、颠簸现象

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

总结

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

3.2.6 内存映射文件

内存映射方式之——这是啥?有啥用?

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

传统的方式

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

其中,程序员需要一个一个去调用上述的函数

文件映射的方式

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

注意:此处将磁盘中的文件映射到进程的虚拟地址空间中,但是并没有将相关的数据调入到虚拟地址空间。,相当于缺页状态,一旦需要时系统会自动进行调入。

此处的访问方式,起始地址+偏移量

第二个好处——可以实现文件的共享

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

第四章

4.1.1 IO设备的概念与分类

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

字符设备:鼠标、键盘

4.1—2 文件的逻辑结构

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

特长字段为定长则可能会浪费很大一部分空间

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

顺序文件

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

链式存储和顺序存储中 可变长记录 无法实现随机存取,

定长记录可以实现随机存取,但如果是采用串结构, 因为串结构的内容与关键字不存在关系。

串结构可以实现随机存取但无法实现快速查找某一个关键字

顺序文件缺点:增加或删除一个记录比较困难(串则简单,增加直接放在尾部就可以)

补充不许需要掌握:频繁的IO操作会影响性能,对此,会生成一个日志文件用来记录相关文件的变动,等一个标胶长的时间之后对记录的所有内容进行统一IO操作。

索引文件

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

索引顺序文件

索引文件可能出现的问题:用来记录的表所占用的内存空间比指向的文件的大小还大

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

总结

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

4.1.3 文件目录(重要)

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

文件控制块是一个关键的数据结构

文件控制块

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

其中每一行(每一条)记录就是一个文件控制块(英文简称FCB) 一个FCB就是一个文件目录项

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

单集目录结构

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

两级目录结构

为了解决单级目录结构无法解决多用户问题

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

以上图片右下角方框中的内容:USER1想访问USER32的demo,此时先验证USER是否和USER2相匹配,不匹配,拒绝访问

多级目录结构(或者叫做树形目录结构)

解决两级目录结构中无法实现用户对自己的文件进行分类

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

平时最常见的目录结构

特点:每一层目录下可以有普通的文件也可以有再下一层的目录

不同目录之间可以拥有相同名称的文件

绝对路径

从根目录开始寻找的目标文件的路径

相对路径

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

.表示当前文件

无环图目录结构

选择题重要考点:(也是环图为何被发明的原因)

树形目录可以很方便的对文件进行分类,层次结构清晰,也可以有效对文件进行管理和保护, 树形不利于文件的共享

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

不同的用户目录下的文件目录可以指向同一个文件(也可以是同一个目录),因为目录本来就是一个特殊的文件

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

索引节点(FCB的改进)

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

如何节约查找磁盘的时间?

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

内存索引节点和硬盘索引节点的区别

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

自行检索Chat GPT:FCB与FAT的区别

文件控制块 FCB 或文件目录项项(File Control Block)和 文件分配表 FAT(File Allocation Table)是两种文件系统中常见的数据结构,用于管理文件和存储空间。它们的主要区别如下:

  1. 功能不同:FCB是用于表示和管理一个文件的数据结构,它包含了文件的属性、位置、大小等信息,以及指向文件数据存储位置的指针。FAT是一种文件系统的元数据结构,用于管理磁盘上文件的分配和空间使用情况。
  2. 存储位置不同:FCB通常存储在操作系统的文件控制块表中或者与文件一起存储在磁盘上。每个文件对应一个FCB,用于跟踪和管理该文件的相关信息。FAT是一个特定的数据区域,存储在磁盘上,用于记录文件的分配信息和存储空间的使用情况。
  3. 作用范围不同:FCB主要用于文件系统内部,由操作系统使用,用于管理文件的访问和操作。FAT则是文件系统的组成部分,使用文件系统的用户和应用程序可以通过FAT来了解文件的分配情况和存储空间的使用情况。
  4. 支持的功能不同:由于FCB是用于管理文件本身的数据结构,因此它可以支持更多的文件属性和操作,如文件的创建、读取、写入、重命名等。FAT则主要用于记录文件的分配情况,对文件的具体操作功能有限。

总之,FCB和FAT是文件系统中两种不同的数据结构,分别用于管理文件和存储空间。FCB用于表示和管理一个文件的属性和操作,而FAT则用于记录文件的分配信息和存储空间使用情况。它们在功能、存储位置、作用范围和支持的功能上存在明显的区别。

4.1.4 文件的物理结构(重要)——对应书本4.1.6

连续分配

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

链式分配——隐式《王道操作系统 237页》、显式

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

4.1.6 文件存储空间管理(对应王道操作系统书籍 267页 4.3.3 外存空闲空间管理)

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

存储空间的划分与初始化

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

一个X盘就是一个文件卷

空闲表法

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

和内存管理的动态分区分配中是极其类似的 上述图片是使用 首次适应算法

同理:最佳适应——找到一个可以容纳的并且最小的空闲盘块

​ 最坏适应——找到一个可以容纳并且是最大的空闲盘块

关于空闲区的回收

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

存储空间管理——空闲链表法

链头、链尾,,如字面意思

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

空闲盘区链:例如 第21号盘块记录了这个盘区的长度为3 指向下一个盘区6的指针

下图空闲盘块链

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

下图空闲盘区链

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

第一段:

如果此时有个一个需要6个盘块的,此时盘区中不存在任何一个盘块可以容纳下6个盘区。 可以将12、13、14 、21、22、23进行分配

第二段:

比如17、18此时需要回收,他们不与任何空闲盘块相连,则挂到链尾

位示图法(重要常考)连续分配与离散分配都适用

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

计算字号 、 位号

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

一定要注意题目中字号、位号 是从0开始还是从1开始

连续分配与离散分配都适用

内存的分配与回收

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

成组链接法

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

-1表示没有下一个分组了

成组链接的分配与回收
分配问题——情况1

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

分配问题——情况2

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

回收问题——情况1

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

把空闲块拆入到第一个分组当中并且把 下一个空闲盘块数修改

回收问题——情况2

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

总结

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

4.1.7 文件的基本操作(选择题重点考点)

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

创建文件

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

删除文件

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

打开文件

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

关闭文件

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

读文件

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

写文件

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

总结

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

4.1.8 文件共享——王道操作系统4.2.5

基于索引节点的文件共享方式(硬连接)

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

不同USER的文件名不同,可以连接到同一个索引结点

硬连接删除文件

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

基于符号链的方式(软连接)——类似win操作系统中的快捷方式

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

软连接的删除

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

4.1.9 文件保护

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

口令保护

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

加密保护

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

这种文件保存的不是文件的原始数据而是 加密结果

提供密码之后对 加密结果和解密密码进行异或运算,如果密码正确就可以得到正确的 文件原始数据, 如果不正确则是乱码

访问控制

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

如何精讲访问控制表

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

总结

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

4.3.1 文件系统的层次结构

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

用户接口:文件的基本操作

文件目录系统:文件目录

存取控制模块:文件保护

逻辑文件系统与文件信息缓冲区:文件的逻辑结构

物理文件系统:文件的物理结构

辅助分配模块:文件的存储空间管理

设备管理模块:磁盘管理

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

4.3.2 文件系统布局

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

物理格式化

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

操作系统无法意识到坏扇区的存在,坏扇区对于操作系统而言是透明的。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

位示图可以快速的判断某一个特定的磁盘块是够空闲

超级块的作用是快速的找到多个空闲的盘块

i结点区:可以理解为一个个超级大的数组,数组内存存放的就是一个个索引结点 并且可以快速的查找到对应的索引结点,每一个索引结点的大小相同,且知道起始存放地址。

任何文件都需要从根目录出发建立下一级的文件

上述文件中,灰色 的区域是已经存在数据的板块

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

以open命令为例

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

4.3.3 虚拟文件系统

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

为了解决

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

于是有

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

注意:vnode和iNode的区别 VNode只存在于主存中,iNode既会被调入主存也会在外存中存储。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

函数功能指针,调用不同文件系统提供的函数功能

文件挂载功能

例如将U盘插入到电脑中

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

第五章 输入/输出管理

5.3.1 磁盘的结构

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

磁盘的分类

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

5.3.2 磁盘调度算法

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

先来先服务算法

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

最短寻找时间优先(sstf)

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

关于饥饿的说明:

如果在移动到18号磁道之后,又来了一个38、18 而后一直是按照这个序列来请求就会一直在18、38 来回进行移动磁头,未执行的150等则不会执行,产生饥饿。

扫描算法(scan)或者叫电梯算法

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

look算法——解决扫描算法的第一个缺点

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

扫描算法的第一个缺点——即只有移动到最边上的时候才可能往另一个方向移动

循环扫描算法——C-scan

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

scan算法的第二个缺点,即 磁头扫描不平均

C-LOOK算法——为解决C-SCAN算法可能出现饥饿现象

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

总结:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

延迟时间和传输时间的公式需要自己会推导

疑问?定位到目标扇区是默认磁盘头转到默认扇区中间的位置吗?

5.3.3 减少磁盘延迟时间的方法、

磁盘地址结构的设计

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

减少延迟时间的方法——错位命名

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

减少延迟时间的方法——交替编号

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

本节内容的核心:磁头在扫描完了一个扇区之后不能立即扫描下一个扇区,原因是,需要一小段时间进行数据处理。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

5.3.4 磁盘的管理

磁盘格式化

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

如:链式存储中,链接不同内存块或内存区的指针存放在头或者尾的位置

引导块

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

所以

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

磁盘坏块的管理

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

总结

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

5.3.5 固态硬盘SSD

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

IO设备的 概念和分类

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

IO控制器(频率不算高

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

I\O控制器的组成

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

I\O控制方式

  1. 程序直接控制方式
  2. 中断驱动方式
  3. DMA方式
  4. 通道控制方式
程序直接控制方式

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

中断驱动方式

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

每次中断只能读入一个字,如果需要读入大量的数据,就产生很多中断,中断对于系统的开销很大。

DMA方式 别名 直接存储器存取

为了砍掉中断驱动方式每次都需要经过CPU作为中间过程,因为消耗了很多CPU时间

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. 每次读写也是只读写一个字的内容:存放到DR中之后转到内存当中
  2. CPU在开始时发送一次命令告诉DMA控制器MAR存放在什么位置 DC多大的数据
  3. DMA独立处理内存磁盘直到结束给CPU汇报

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

通道控制方式

为了解决DMA的不能一次性处理多个离散的块的数据(DMA只能通过CPU发出多条指令来解决这个矛盾)

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

总结

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

I\O软件层次结构

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

用户层软件

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

设备独立性软件(也称系统调用处理层)

主要的功能:

  1. 向上层提供统一的调用接口
  2. 设备保护

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. 差错处理(了解即可)
  2. 设备的分配与回收

设备的临界资源不可同时分配给多个进程使用

  1. 数据缓冲区管理

通过缓冲技术屏蔽设备之间数据交换单位大小和传输差异

  1. 建立逻辑设备名到物理设备名之间的映射关系,根据设备的类型选择调用相应的驱动程序

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

补充:不同设备需要不同的设备驱动程序。原因是内存的各种寄存器不一样,寄存器状态字表达的含义不一样 就导致无法采用统一的方式进行驱动。

设备驱动程序

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

中断处理程序

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

总结

设备驱动程序和中断处理程序是直接和硬件打交道的

用户层软件和设备独立性软件 二者是间接和设备打交道

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

对LUT逻辑设备表也要有印象!!!

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

输入输出应用程序接口&设备驱动程序接口

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

阻塞IO和非阻塞IO

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

对于用户进程,只要完成了用户区向内核区复制的过程就可以继续执行别的任务。

设备驱动程序接口

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

IO核心子系统

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

5.2.2 假脱机技术

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

举例:共享打印机的案例分析

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

虽然系统中只有一台打印机,但是每个进程提出打印请求时,系统都会在磁盘中为他们分配一个输出井的一个存储区。

逻辑上好像是每个进程都独占了一个打印机

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

5.2.3 设备的分配与回收

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

设备分配时应当考虑的因素

设备的固有属性

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

设备分配算法

先来先服务、优先级高。。 、任务短优先、。。。。。

设备分配中的安全性

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

不安全分配方式,银行家算法等来避免

静态分配和动态分配

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

设备分配管理中的数据结构

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

数据结构需要体现出这种从属的关系

设备控制表DCT

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

指向控制器表的指针:找到设备从属的控制器是哪个

重复执行次数或时间:打印机出现卡纸的现象在设备重试多次仍无法解决则判定这次IO操作失败

设备队列的队首指针:如果一个进程正在等待某一个IO设备的分配,但此时IO设备无法分配给它,就会挂载在这个进程的 设备控制表指向的等待队列的队尾 即响应的阻塞队列

控制器控制表COTT

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

通道控制表CHCT

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

系统设备表SDT

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

设备分配的步骤

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

设备标识符和物理设备名进行比对

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

分配步骤的改进

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

总结

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

5.2.4 缓冲区管理

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

单缓冲

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

情形1

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

情形2

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

双缓冲策略

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

双缓冲区策略在通信中的应用

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

单缓冲区在数据传输中的应用

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

循环缓冲区

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

缓冲池

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

总结

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传
52)]

[外链图片转存中…(img-jzWjPXJi-1696063083552)]

[外链图片转存中…(img-N9XHYJPK-1696063083553)]

阻塞IO和非阻塞IO

[外链图片转存中…(img-WpYYSHpd-1696063083553)]

对于用户进程,只要完成了用户区向内核区复制的过程就可以继续执行别的任务。

设备驱动程序接口

[外链图片转存中…(img-AMuAkmAE-1696063083553)]

[外链图片转存中…(img-rOCttrJE-1696063083553)]

IO核心子系统

[外链图片转存中…(img-izZBwpn8-1696063083553)]

[外链图片转存中…(img-jvDL2VWP-1696063083553)]

[外链图片转存中…(img-7wEjSNQY-1696063083553)]

5.2.2 假脱机技术

[外链图片转存中…(img-EquZ5MYD-1696063083554)]

[外链图片转存中…(img-qL50GIqo-1696063083554)]

[外链图片转存中…(img-SfOmdQid-1696063083554)]

举例:共享打印机的案例分析

[外链图片转存中…(img-JlzHPlz7-1696063083554)]

[外链图片转存中…(img-qwmB8v7c-1696063083555)]

虽然系统中只有一台打印机,但是每个进程提出打印请求时,系统都会在磁盘中为他们分配一个输出井的一个存储区。

逻辑上好像是每个进程都独占了一个打印机

[外链图片转存中…(img-3kTzNpkL-1696063083556)]

[外链图片转存中…(img-GdHWehLC-1696063083556)]

5.2.3 设备的分配与回收

[外链图片转存中…(img-8n6WVRv2-1696063083556)]

设备分配时应当考虑的因素

设备的固有属性

[外链图片转存中…(img-I1Q1BXHH-1696063083557)]

设备分配算法

先来先服务、优先级高。。 、任务短优先、。。。。。

设备分配中的安全性

[外链图片转存中…(img-ddcxcli1-1696063083557)]

不安全分配方式,银行家算法等来避免

静态分配和动态分配

[外链图片转存中…(img-L281g2XD-1696063083557)]

设备分配管理中的数据结构

[外链图片转存中…(img-PlabZUuV-1696063083557)]

数据结构需要体现出这种从属的关系

设备控制表DCT

[外链图片转存中…(img-69qcOoMJ-1696063083557)]

指向控制器表的指针:找到设备从属的控制器是哪个

重复执行次数或时间:打印机出现卡纸的现象在设备重试多次仍无法解决则判定这次IO操作失败

设备队列的队首指针:如果一个进程正在等待某一个IO设备的分配,但此时IO设备无法分配给它,就会挂载在这个进程的 设备控制表指向的等待队列的队尾 即响应的阻塞队列

控制器控制表COTT

[外链图片转存中…(img-ABiQPhji-1696063083557)]

通道控制表CHCT

[外链图片转存中…(img-sIKD67FV-1696063083557)]

系统设备表SDT

[外链图片转存中…(img-rX5hHyUE-1696063083558)]

设备分配的步骤

[外链图片转存中…(img-DQ7PIbDc-1696063083558)]

设备标识符和物理设备名进行比对

[外链图片转存中…(img-rLb7qfy8-1696063083559)]

[外链图片转存中…(img-Vsrw4ZMc-1696063083559)]

[外链图片转存中…(img-F8sV9N4K-1696063083559)]

分配步骤的改进

[外链图片转存中…(img-CsXKrGNs-1696063083559)]

[外链图片转存中…(img-0Gz8FEfL-1696063083560)]

[外链图片转存中…(img-YeJyAwKG-1696063083560)]

总结

[外链图片转存中…(img-UYWHrzu5-1696063083560)]

5.2.4 缓冲区管理

[外链图片转存中…(img-PeZeGCot-1696063083560)]

单缓冲

[外链图片转存中…(img-mCHxRjPB-1696063083561)]

情形1

[外链图片转存中…(img-PyD4GQKi-1696063083561)]

情形2

[外链图片转存中…(img-1mS54e8z-1696063083561)]

[外链图片转存中…(img-HbBRvEeS-1696063083562)]

双缓冲策略

[外链图片转存中…(img-ApZ4t1Np-1696063083562)]

[外链图片转存中…(img-XZSqsl2E-1696063083562)]

[外链图片转存中…(img-Bl1YRM9Z-1696063083562)]

双缓冲区策略在通信中的应用

[外链图片转存中…(img-KTScipyd-1696063083563)]

单缓冲区在数据传输中的应用

[外链图片转存中…(img-Ayvz81Ul-1696063083563)]

循环缓冲区

[外链图片转存中…(img-u2GQlWnn-1696063083563)]

缓冲池

[外链图片转存中…(img-I34FjjRi-1696063083563)]

[外链图片转存中…(img-53sthjO2-1696063083564)]

[外链图片转存中…(img-B9UHsz6I-1696063083564)]

[外链图片转存中…(img-pkMId9nH-1696063083564)]

总结

[外链图片转存中…(img-Ukjj9Pix-1696063083564)]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

逃逸线LOF

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

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

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

打赏作者

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

抵扣说明:

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

余额充值