首页 > 其他分享 >《操作系统》知识框架整理

《操作系统》知识框架整理

时间:2023-05-22 10:32:19浏览次数:36  
标签:操作系统 框架 知识 死锁 调度 算法 内存 进程 分配


文章目录

  • 第1章 计算机系统概述
  • 1.1 操作系统的基本概念
  • 1.1.1 操作系统的三大功能
  • 1.1.2 操作系统的四大特征
  • 1.2 操作系统的分类
  • 1.3 操作系统的运行机制和体系结构
  • 1.3.1 运行机制和体系结构
  • 1.3.2 中断和异常
  • 1.3.3 系统调用
  • 第 2 章 进程管理
  • 2.1 进程与线程
  • 2.1.1 进程的定义、特征、组成、组织
  • (1)进程的定义
  • (2)进程的特征
  • (3)进程的组成
  • (4)进程的组织
  • 2.1.2 进程的五种状态及状态转换
  • 2.1.3 原语实现对进程的控制
  • (1)什么是进程控制?
  • (2)进程控制的五种原语
  • 2.1.4 进程之间的三种通信
  • 2.1.5 线程概念与多线程模型
  • (1)什么是线程
  • (2)线程的属性
  • (3)多线程模型
  • 2.2 处理机的调度
  • 2.2.1 处理机的三种调度
  • (1)调度的概念
  • (2)高级调度( 作业调度)
  • (3)中级调度(内存调度)
  • (4)低级调度(进程调度)
  • (5)三种调度对比
  • 2.2.2 进程调度的时机、过程、方式
  • 2.2.3 调度算法的五种评价指标
  • (1)CPU利用率
  • (2)系统吞吐量
  • (3)周转时间
  • (4)等待时间
  • (5)响应时间
  • 2.2.4 六种作业/进程调度算法
  • (1)先来先服务(FCFS)
  • (2)短作业优先(SJF)
  • (3)高响应比优先(HRRN)
  • (4)前三种算法对比
  • (5)时间片轮(RR)
  • (6)优先级调度算法
  • (7)多级反馈队列调度算法
  • (8)后三种算法对比
  • 2.3 进程的同步与互斥
  • 2.3.1 进程的同步与互斥
  • 2.4 死锁
  • 2.4.1 什么是死锁?
  • 2.4.2 死锁产生的四个必要条件
  • 2.4.3 什么时候会发生死锁?
  • 2.4.4 死锁的处理策略
  • (1)预防死锁
  • (2)避免死锁:银行家算法
  • (3)死锁的检测和解除
  • 第 3 章 内存管理
  • 3.1 内存管理的概念
  • 3.1.1 什么是内存
  • (1)什么是内存?有何作用?
  • (2)常用数量单位&内存地址
  • (3)逻辑地址(相对地址)vs物理地址(绝对地址)
  • (4)从写程序到程序运行:编译、链接、装入
  • (5)装入的三种方式
  • (6)链接的三种方式
  • 3.1.2 内存管理的四个内容
  • (1)内存空间的分配与回收
  • (2)内存空间的扩展(实现虚拟性)
  • (3)地址转换
  • (4)内存保护
  • 3.1.3 覆盖技术与交换技术的思想
  • 3.1.4 内存的分配与回收
  • (1)单一连续分配
  • (2)固定分区分配
  • (3)动态分区分配(可变分区分配)
  • (4)外部碎片和内部碎片
  • 3.1.5 动态分区分配的四种算法
  • (1)首次适应算法
  • (2)最佳适应算法
  • (3)最坏(大)适应算法
  • (4)临近适应算法
  • (5)四种算法归纳比较
  • 3.1.6 分页存储
  • (1)为什么学习分页存储?
  • (2)基本分页存储管理的思想
  • (3)分页存储的重要概念
  • (4)如何实现地址的转换
  • (5)如何计算页号和页偏移量
  • (6)如何知道页面在内存中的起始地址?
  • 3.1.7 分页存储管理:1.基本地址变换结构
  • (1)页表寄存器
  • (2)地址变换过程
  • 3.1.8 分页存储管理:2.快表的地址变换结构
  • (1)局部性原理
  • (2)快表(TLB)
  • (3)基本地址变换与块表地址变换的比较
  • 3.2 虚拟内存管理
  • 3.2.1 虚拟内存的基本概念
  • (1)传统存储管理的特征、缺点
  • (2)局部性原理
  • (3)虚拟内存的定义和特征
  • (4)如何实现虚拟内存技术
  • 第 4 章 文件管理
  • 4.1 文件系统
  • 4.1.1 文件管理的概念和功能
  • 4.1.2 文件逻辑结构
  • (1)顺序文件
  • (2)索引文件
  • (3)索引顺序文件
  • (4)多级索引顺序文件
  • 4.1.3 文件目录结构
  • (1)单级目录
  • (2)两级目录结构
  • (3)多级目录结构(树形目录结构)
  • (4)无环图目录结构
  • 4.1.4 文件物理结构
  • (1)连续分配
  • (2)链接分配:隐式和显式
  • (3)索引分配
  • 第5章 I/O管理
  • 5.1 I/O管理概述
  • 5.1.1 I/O设备简介
  • (1)什么是I/O设备?
  • (2)I/O设备分类
  • (3)I/O设备组成
  • 5.1.2 I/O控制器
  • (1)四大功能
  • (2)三大组成
  • (3)两种寄存器编址方式
  • 5.1.3 OS控制I/O设备的四种方式
  • 5.1.4 I/O软件的层次结构
  • (1)I/O软件层次总览
  • 5.2 I/O核心子系统
  • 5.2.4 缓冲区管理
  • 5.1.4 I/O软件的层次结构
  • (1)I/O软件层次总览
  • 5.2 I/O核心子系统
  • 5.2.4 缓冲区管理

本博客只为方便学习,不做其他用途。

第1章 计算机系统概述

1.1 操作系统的基本概念

1.1.1 操作系统的三大功能

操作系统有以下三大功能:


《操作系统》知识框架整理_死锁

1.1.2 操作系统的四大特征

《操作系统》知识框架整理_操作系统_02

四大特征:并发、共享、虚拟、异步

这里注意区别并发和并行的概念:

  • 并发:两个或多个事件在同一时间间隔内发生,这些事件在宏观上是同时发生的,在微观上是交替发生的。操作系统的并发性指系统中同时存在着多个运行的程序
  • 并行:两个或多个事件在同一时刻发生
  • 资源共享即共享,是指系统中的资源可以供内存中多个并发执行的进程共同使用
  • 虚拟是把一个物理上的实体变为若干逻辑上的对应物。
  • 异步:多道程序环境允许多个程序并发执行,但由于资源有限,如cpu只有一个,进程的执行并不是一贯到底的,而是走走停停的,它以不可预知的速度向前推进。

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

1.2 操作系统的分类

总共有以下8种,由前发展到后


《操作系统》知识框架整理_操作系统_03

《操作系统》知识框架整理_操作系统_04

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

1.3.1 运行机制和体系结构

《操作系统》知识框架整理_操作系统_05

《操作系统》知识框架整理_.net_06

1.3.2 中断和异常


《操作系统》知识框架整理_分页_07

1.3.3 系统调用


《操作系统》知识框架整理_分页_08

第 2 章 进程管理

2.1 进程与线程

2.1.1 进程的定义、特征、组成、组织

PCB是什么?

PCB:进程控制块

《操作系统》知识框架整理_分页_09

(1)进程的定义

《操作系统》知识框架整理_死锁_10

(2)进程的特征

《操作系统》知识框架整理_.net_11

(3)进程的组成


《操作系统》知识框架整理_操作系统_12

(4)进程的组织


《操作系统》知识框架整理_分页_13

2.1.2 进程的五种状态及状态转换

2.1.3 原语实现对进程的控制

(1)什么是进程控制?


《操作系统》知识框架整理_死锁_14

(2)进程控制的五种原语

进程的创建、终止、唤醒、阻塞、切换。

什么是原语呢?

系统中的设备驱动、CPU切换、进程通信等功能中的部分操作都可定义为原语。

具体细节内容就点上面博客链接了,这里主要是理一个大纲。

2.1.4 进程之间的三种通信

什么是进程通信呢?

进程通信是指进程间的信息交换。

三种通信:共享通信、消息传递、管道通信


《操作系统》知识框架整理_分页_15

2.1.5 线程概念与多线程模型

线程是处理机调度单位,进程是资源分配单位

《操作系统》知识框架整理_死锁_16

(1)什么是线程


《操作系统》知识框架整理_死锁_17

(2)线程的属性


《操作系统》知识框架整理_操作系统_18

(3)多线程模型

多对一模型


《操作系统》知识框架整理_.net_19

一对一模型


《操作系统》知识框架整理_死锁_20

多对多模型


《操作系统》知识框架整理_死锁_21

2.2 处理机的调度

2.2.1 处理机的三种调度

《操作系统》知识框架整理_分页_22

(1)调度的概念


《操作系统》知识框架整理_死锁_23

(2)高级调度( 作业调度)


《操作系统》知识框架整理_操作系统_24

(3)中级调度(内存调度)


《操作系统》知识框架整理_分页_25

(4)低级调度(进程调度)


《操作系统》知识框架整理_.net_26

(5)三种调度对比


《操作系统》知识框架整理_死锁_27

2.2.2 进程调度的时机、过程、方式



《操作系统》知识框架整理_操作系统_28

2.2.3 调度算法的五种评价指标

《操作系统》知识框架整理_操作系统_29

(1)CPU利用率


《操作系统》知识框架整理_死锁_30

(2)系统吞吐量

系统吞吐量:单位时间内完成作业的数量


《操作系统》知识框架整理_死锁_31

(3)周转时间


《操作系统》知识框架整理_分页_32

(4)等待时间


《操作系统》知识框架整理_.net_33

(5)响应时间


《操作系统》知识框架整理_分页_34

2.2.4 六种作业/进程调度算法

  1. 先来先服务(FCFS)
  2. 短作业优先(SJF)
  3. 高响应比优先(HRRN)
  4. 时间片轮转调度算法(RR)
  5. 优先级调度算法
  6. 多级反馈队列调度算法
(1)先来先服务(FCFS)
  • First come first sever

《操作系统》知识框架整理_操作系统_35

(2)短作业优先(SJF)
  • Shortest Job First

《操作系统》知识框架整理_分页_36

(3)高响应比优先(HRRN)
  • Highest Response Ratio Next

问题:响应比是什么?


《操作系统》知识框架整理_操作系统_37

具体怎么计算参考链接博客

(4)前三种算法对比


《操作系统》知识框架整理_.net_38

(5)时间片轮(RR)
  • Round-Robin

通俗讲,一人几分钟,轮流来。


《操作系统》知识框架整理_死锁_39

《操作系统》知识框架整理_分页_40

(6)优先级调度算法


《操作系统》知识框架整理_操作系统_41

(7)多级反馈队列调度算法


《操作系统》知识框架整理_操作系统_42

(8)后三种算法对比


《操作系统》知识框架整理_.net_43

2.3 进程的同步与互斥

2.3.1 进程的同步与互斥


临界区一次只能进一个进程


《操作系统》知识框架整理_操作系统_44

实现临界区进程互斥的软件实现方法

实现临界区进程互斥的硬件实现方法

2.4 死锁


《操作系统》知识框架整理_.net_45

2.4.1 什么是死锁?


《操作系统》知识框架整理_操作系统_46

2.4.2 死锁产生的四个必要条件

互斥条件、不剥夺条件、请求和保持条件、循环等待条件


《操作系统》知识框架整理_操作系统_47

2.4.3 什么时候会发生死锁?

对不可剥夺资源的不合理分配


《操作系统》知识框架整理_死锁_48

2.4.4 死锁的处理策略


《操作系统》知识框架整理_分页_49

(1)预防死锁

① 破坏互斥条件

采用SPOOLing技术将互斥的资源改造为共享资源

缺点:不是所有的资源都能改造成共享资源


《操作系统》知识框架整理_操作系统_50

② 破坏不可剥夺条件

强行释放手里的资源


《操作系统》知识框架整理_死锁_51

③ 破坏请求和保持条件

进程一下子申请完所有需要的资源。

缺点:资源利用率低,可能造成某些进程饥饿


《操作系统》知识框架整理_分页_52

④ 破坏循环等待条件

相当于成环的链式资源分配改为不成环的顺序资源分配


《操作系统》知识框架整理_分页_53

(2)避免死锁:银行家算法

系统处于不安全状态未必死锁,但死锁时一定处于不安全状态。系统处于安全状态一定不会死锁。

什么是安全序列?


《操作系统》知识框架整理_死锁_54

(3)死锁的检测和解除


《操作系统》知识框架整理_分页_55

① 死锁的检测


《操作系统》知识框架整理_死锁_56

② 死锁的解除

三种方法:资源剥夺法、撤销进程法、进程回退法


《操作系统》知识框架整理_分页_57

第 3 章 内存管理

3.1 内存管理的概念

3.1.1 什么是内存


《操作系统》知识框架整理_死锁_58

(1)什么是内存?有何作用?


《操作系统》知识框架整理_.net_59

(2)常用数量单位&内存地址


《操作系统》知识框架整理_死锁_60

(3)逻辑地址(相对地址)vs物理地址(绝对地址)


《操作系统》知识框架整理_操作系统_61

(4)从写程序到程序运行:编译、链接、装入

编译:将高级语言翻译成机器语言

链接:将编译后形成的一组目标模块与所需库函数链接在一起,形成一个完整的装入模块

装入:将装入模块装入内存运行


《操作系统》知识框架整理_死锁_62

(5)装入的三种方式

绝对装入、静态重定位、 动态重定位

①绝对装入


《操作系统》知识框架整理_.net_63

②静态重定位


《操作系统》知识框架整理_死锁_64

③ 动态重定位

允许程序在内存中移动

需要重定位寄存器的支持


《操作系统》知识框架整理_.net_65

(6)链接的三种方式

静态链接、装入时动态链接、运行时动态链接

① 静态链接

在程序运行之前,将各目标模块和所需的库函数就打包成一个完整的可执行文件


《操作系统》知识框架整理_分页_66

②装入时动态链接

将各目标模块装入内存时,边装入边链接的方式


《操作系统》知识框架整理_操作系统_67

③运行时动态链接

在程序执行中需要该目标模块时,才对它进行链接。


《操作系统》知识框架整理_.net_68

3.1.2 内存管理的四个内容

主要负责四种管理:

  • 内存空间的分配与回收
  • 内存空间的扩充
  • 地址转换
  • 存储保护

《操作系统》知识框架整理_操作系统_69

(1)内存空间的分配与回收


《操作系统》知识框架整理_.net_70

(2)内存空间的扩展(实现虚拟性)


《操作系统》知识框架整理_操作系统_71

(3)地址转换

逻辑地址与物理地址的转换,也称为地址重定位

有三种地址重定位方式,即三种装入方式


《操作系统》知识框架整理_.net_72

(4)内存保护

保证各进程在各自内存空间内运行,互不干扰

两种内存保护方式:

  1. 在CPU中设置一对上、下限寄存器
  2. 采用重定位寄存器和界地址寄存器进行越界检查

《操作系统》知识框架整理_死锁_73

《操作系统》知识框架整理_.net_74

3.1.3 覆盖技术与交换技术的思想



《操作系统》知识框架整理_.net_75

感觉不太重要

3.1.4 内存的分配与回收


内存的分配与回收是内存管理的内容之一

分配分 :连续分配和非连续分配

连续分配:指为用户进程分配的必须是一个连续的内存空间

连续分配又包含三种:单一连续分配、固定分区分配、动态分区分配


《操作系统》知识框架整理_.net_76

(1)单一连续分配


《操作系统》知识框架整理_分页_77

(2)固定分区分配


《操作系统》知识框架整理_操作系统_78

(3)动态分区分配(可变分区分配)


《操作系统》知识框架整理_死锁_79

(1)系统要用怎样的数据结构记录内存的使用情况呢?

空闲分区表和空闲分区链


《操作系统》知识框架整理_.net_80

(2)当多个空闲分区都能满足要求时,应该选择哪个分区进行分配?


《操作系统》知识框架整理_死锁_81

(4)外部碎片和内部碎片


《操作系统》知识框架整理_死锁_82

《操作系统》知识框架整理_分页_83

3.1.5 动态分区分配的四种算法


首次适应算法、最佳适应算法、最坏适应算法、临近适应算法


《操作系统》知识框架整理_操作系统_84

(1)首次适应算法


《操作系统》知识框架整理_分页_85

(2)最佳适应算法


《操作系统》知识框架整理_操作系统_86

(3)最坏(大)适应算法


《操作系统》知识框架整理_操作系统_87

(4)临近适应算法


《操作系统》知识框架整理_死锁_88

(5)四种算法归纳比较


《操作系统》知识框架整理_分页_89

3.1.6 分页存储


前面说内存分配分连续分配和非连续分配;连续分配又有三种方法:单一连续分配、固定分区分配和动态分区分配。其中动态分区分配又有四种算法。

这里讲非连续分配;非连续分配又分三种,这里讲第一种分页存储


《操作系统》知识框架整理_.net_90

《操作系统》知识框架整理_死锁_91

(1)为什么学习分页存储?


《操作系统》知识框架整理_分页_92

(2)基本分页存储管理的思想


《操作系统》知识框架整理_操作系统_93

(3)分页存储的重要概念


《操作系统》知识框架整理_操作系统_94

(4)如何实现地址的转换

地址转换即逻辑地址到物理地址


《操作系统》知识框架整理_死锁_95

(5)如何计算页号和页偏移量


《操作系统》知识框架整理_操作系统_96

《操作系统》知识框架整理_操作系统_97

(6)如何知道页面在内存中的起始地址?


《操作系统》知识框架整理_.net_98

《操作系统》知识框架整理_操作系统_99

3.1.7 分页存储管理:1.基本地址变换结构



《操作系统》知识框架整理_分页_100

(1)页表寄存器

《操作系统》知识框架整理_分页_101

(2)地址变换过程


《操作系统》知识框架整理_死锁_102

一道例题加深印象:


《操作系统》知识框架整理_操作系统_103

3.1.8 分页存储管理:2.快表的地址变换结构


基本地址变换的改进版


《操作系统》知识框架整理_操作系统_104

(1)局部性原理


《操作系统》知识框架整理_死锁_105

(2)快表(TLB)

《操作系统》知识框架整理_分页_106

引入快表后,地址变换的过程的文字描述:

《操作系统》知识框架整理_分页_107

(3)基本地址变换与块表地址变换的比较

《操作系统》知识框架整理_.net_108

3.2 虚拟内存管理

内存管理的第二个内容,内存空间的扩展,即虚拟内存

3.2.1 虚拟内存的基本概念



《操作系统》知识框架整理_.net_109

《操作系统》知识框架整理_死锁_110

《操作系统》知识框架整理_分页_111

(1)传统存储管理的特征、缺点


《操作系统》知识框架整理_操作系统_112

(2)局部性原理


《操作系统》知识框架整理_.net_113

(3)虚拟内存的定义和特征

虚拟内存的三大主要特征:

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

《操作系统》知识框架整理_死锁_114

(4)如何实现虚拟内存技术

需要建立在离散分配的内存管理方式基础上


《操作系统》知识框架整理_操作系统_115

第 4 章 文件管理

4.1 文件系统

4.1.1 文件管理的概念和功能


作为系统资源的管理者是操作系统的三大功能之一;

文件管理又是作为系统资源的管理者提供四大功能之一。


《操作系统》知识框架整理_操作系统_116

《操作系统》知识框架整理_操作系统_117

操作系统应该向上提供哪些功能


《操作系统》知识框架整理_.net_118

《操作系统》知识框架整理_死锁_119

从上往下看,文件应该如何存放在外存?


《操作系统》知识框架整理_.net_120

4.1.2 文件逻辑结构

《操作系统》知识框架整理_操作系统_121

《操作系统》知识框架整理_分页_122

1.无结构文件

又称流式文件


《操作系统》知识框架整理_操作系统_123

2.有结构文件

又称记录式文件

根据每条记录的长度是否相等,又分定长记录可变长记录两种


《操作系统》知识框架整理_操作系统_124

《操作系统》知识框架整理_.net_125

(1)顺序文件


《操作系统》知识框架整理_死锁_126

《操作系统》知识框架整理_分页_127

(2)索引文件


《操作系统》知识框架整理_.net_128

(3)索引顺序文件


《操作系统》知识框架整理_死锁_129

《操作系统》知识框架整理_死锁_130

(4)多级索引顺序文件

将10^6个记录的文件分成100* 100* 10000


《操作系统》知识框架整理_死锁_131

4.1.3 文件目录结构



《操作系统》知识框架整理_操作系统_132

《操作系统》知识框架整理_分页_133

文件控制块


《操作系统》知识框架整理_操作系统_134

《操作系统》知识框架整理_.net_135

可对目录的操作


《操作系统》知识框架整理_操作系统_136

(1)单级目录


《操作系统》知识框架整理_操作系统_137

(2)两级目录结构


《操作系统》知识框架整理_死锁_138

(3)多级目录结构(树形目录结构)

绝对路径和相对路径

《操作系统》知识框架整理_分页_139


树形目录结构可以很方便地对文件进行分类,但是不便于实现文件的共享,于是提出了无环图目录结构。

(4)无环图目录结构

《操作系统》知识框架整理_死锁_140

《操作系统》知识框架整理_死锁_141

索引节点(FCB的改进)瘦身

《操作系统》知识框架整理_分页_142

《操作系统》知识框架整理_分页_143

4.1.4 文件物理结构



《操作系统》知识框架整理_分页_144

《操作系统》知识框架整理_死锁_145

文件块、磁盘块


《操作系统》知识框架整理_.net_146

《操作系统》知识框架整理_分页_147

(1)连续分配


《操作系统》知识框架整理_操作系统_148

《操作系统》知识框架整理_死锁_149

连续分配缺点:


《操作系统》知识框架整理_操作系统_150

《操作系统》知识框架整理_死锁_151

《操作系统》知识框架整理_死锁_152

(2)链接分配:隐式和显式

链接分配采取离散分配的方式,可以为文件分配离散的磁盘块,分为隐式链接和显式链接两种。

隐式链接

磁盘利用率高,不会有碎片问题。


《操作系统》知识框架整理_死锁_153

《操作系统》知识框架整理_操作系统_154

显式链接


《操作系统》知识框架整理_分页_155

《操作系统》知识框架整理_分页_156

链接分配总结


《操作系统》知识框架整理_.net_157

(3)索引分配

下面的不总结了;文件管理好像面试不问

第5章 I/O管理

5.1 I/O管理概述

《操作系统》知识框架整理_.net_158

5.1.1 I/O设备简介


(1)什么是I/O设备?

将数据输入到计算机的设备,或者可以接收计算机输出的外部设备。属于计算机中的硬件部分。


《操作系统》知识框架整理_操作系统_159

(2)I/O设备分类

按使用特性分

  1. 人机交互类外部设备:鼠标、键盘
  2. 存储设备:移动硬盘,光盘
  3. 网络通信设备:调制解调器

按传输速率分

  1. 低速设备:鼠标,键盘
  2. 中速设备:激光打印机
  3. 高速设备:磁盘

按信息交换单位分

  1. 块设备:传输速率较高,可寻址,即对它可随机读写任一块。如磁盘传输数据的基本单位:磁盘块
  2. 字符设备:传输速率较慢,不可寻址,在输入输出时常采用中断驱动方式。如鼠标键盘输入字符

(3)I/O设备组成

I/O设备由**机械部件和电子部件(I/O控制器、设备控制器)**组成。

《操作系统》知识框架整理_死锁_160

下面细讲I/O控制器。

5.1.2 I/O控制器


(1)四大功能

  1. 接收和识别CPU发出的命令
  2. 向CPU报告设备的状态
  3. 数据交换
  4. 地址识别

《操作系统》知识框架整理_操作系统_161

(2)三大组成

  1. CPU与控制器之间的接口:实现控制器与CPU之间的通信
  2. I/O逻辑:负责识别CPU发出的命令,并向设备发出命令
  3. 控制器与设备之间的接口:实现控制器与设备之间的通信

《操作系统》知识框架整理_分页_162


(3)两种寄存器编址方式

  1. 物理映像
  2. 独立编址

《操作系统》知识框架整理_操作系统_163

5.1.3 OS控制I/O设备的四种方式

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

每种方式需要注意的问题:

1.完成一次读写操作的流程

2.CPU干预的频率

3.数据传送的单位

4.数据的流向

5.主要缺点和主要优点

5.1.4 I/O软件的层次结构

(1)I/O软件层次总览


《操作系统》知识框架整理_分页_164

5.2 I/O核心子系统

什么是I/O核心子系统?

I/O核心子系统 = 设备独立性软件 + 设备驱动程序 + 中断处理程序


《操作系统》知识框架整理_操作系统_165

5.2.4 缓冲区管理



《操作系统》知识框架整理_操作系统_166

/106144829

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

每种方式需要注意的问题:

1.完成一次读写操作的流程

2.CPU干预的频率

3.数据传送的单位

4.数据的流向

5.主要缺点和主要优点

5.1.4 I/O软件的层次结构


(1)I/O软件层次总览


《操作系统》知识框架整理_分页_164

5.2 I/O核心子系统

什么是I/O核心子系统?

I/O核心子系统 = 设备独立性软件 + 设备驱动程序 + 中断处理程序


《操作系统》知识框架整理_操作系统_165

5.2.4 缓冲区管理



《操作系统》知识框架整理_操作系统_166


标签:操作系统,框架,知识,死锁,调度,算法,内存,进程,分配
From: https://blog.51cto.com/u_15902866/6321205

相关文章

  • 基于springBoot框架JAVA语言汽车销售管理系统功能实现
    运行环境idea(推荐)、jdk1.8、mysql5.X(不能为8驱动不匹配)、maven项目技术springboot+vue项目描述本项目基于springboot以及Vue开发。针对汽车销售提供客户信息、车辆信息、订单信息、销售人员管理、财务报表等功能,提供经理和销售两种角色进行管理。1.安装好node环境2.......
  • 探索Spring:Java开发的优秀框架
    简介:Spring是Java开发领域中最受欢迎和广泛应用的开源框架之一。它提供了一个全面的编程和配置模型,用于构建现代化的企业级应用程序。本博客将深入探讨Spring框架的重要特性和优势,并解释为什么Spring成为Java开发人员的首选框架。正文:介绍Spring框架Spring是一个轻量级、灵活且功......
  • c语言程序设计知识点总结03
    c语言程序设计知识点总结03地址(Address):计算机的内存由若干个字节内存单元构成,每个字节内存单元都有一个唯一的地址用于区分和存取单元中的数据。形式上,地址是一个无符号整数,从0开始,依次递增,在表达和交流时,通常把地址写成十六进制数。指针(Pointer):一个变量,它存有另外一......
  • 深入理解Spring MVC:Java Web 开发的强大框架
    简介:SpringMVC是一个基于Java的开源Web应用框架,它提供了一种基于模型-视图-控制器(Model-View-Controller)设计模式的开发方式。它是Spring框架的一部分,用于构建高度可扩展的Web应用程序。本博客将深入探讨SpringMVC的核心概念和特性,以及如何使用它构建灵活、可维护的......
  • WEB—漏洞必懂知识点
     CTF,SRC,红蓝对抗,实战等SRC:针对与网站上面的漏洞,进行提交漏洞并证实可以获得相应的佣金。偏向于实战,重点掌握获取网站权限 漏洞等级划分高危:SQL注入,文件上传,文件包含,代码执行,未授权访问——直接影响到网站权限和数据库权限,能够直接获取数据或者获取到一些敏感信息只要涉......
  • C语言编程—存储知识
    存储类定义C程序中变量/函数的的存储位置、生命周期和作用域。这些说明符放置在它们所修饰的类型之前。下面列出C程序中可用的存储类:autoregisterstaticexternauto存储类auto存储类是所有局部变量默认的存储类。定义在函数中的变量默认为auto存储类,这意味着它们在函数开始......
  • 小迪安全1-6集重要知识总结
    1.DNS:域名系统(DomainNameSystem,DNS)是Internet上解决网上机器命名的一种系统。 就像去一个人的家,要知道去的路线一样.在访问域名时DNS会解析域名为ip地址,跟Hosts文件中的数据进行比对,如果文件中含有该ip地址,直接快速访问,若没有就交给服务器2.web的组成框架: 网站源码:分......
  • 网络编辑的使用和知识点,进程线程之间实现交互
    软件开放的框架c/s架构c就是Client客户端就是要去请求数据的s就是Server服务端就是给客服端根据客户的要求提供数据的服务端的必备条件时刻提供服务等待客服端的访问有一个固定的地址能够接受多个服务端的请求(高并发)B/s架构B就是Browser就是一个浏览器充当所有服务端......
  • 用go设计开发一个自己的轻量级登录库/框架吧(拓展篇)
    给自己的库/框架拓展一下吧(拓展篇)主库:weloe/token-go:alightloginlibrary.扩展库:weloe/token-go-extensions(github.com)本篇给主库扩展一个Adapter提供简单的外部数据存储。思路一个库/框架往往不能完成所有事情,需要其他库/框架的支持才能达到更加完善的效果。本篇会......
  • Android 教你一步步搭建MVP+Retrofit+RxJava网络请求框架
    1.什么是MVP? MVP(ModelViewPresenter)其实就是一种项目的整体框架,能让你的代码变得更加简洁,说起框架大家可能还会想到MVC、MVVM。由于篇幅原因,这里我们先不讲MVVM,先来看一下MVC。其实Android本身就采用的是MVC(ModelViewControllor)模式、其中Model指的是数据逻辑和实体模型......