文章目录
- 第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 操作系统的四大特征
四大特征:并发、共享、虚拟、异步
这里注意区别并发和并行的概念:
并发
:两个或多个事件在同一时间间隔内
发生,这些事件在宏观上是同时发生的,在微观上是交替发生的。操作系统的并发性指系统中同时存在着多个运行的程序并行
:两个或多个事件在同一时刻
发生- 资源共享即共享,是指系统中的资源可以
供内存中多个并发执行的进程
共同使用 - 虚拟是把一个物理上的实体变为若干逻辑上的对应物。
- 异步:多道程序环境允许多个程序
并发
执行,但由于资源有限,如cpu只有一个,进程的执行并不是一贯到底的,而是走走停停的,它以不可预知的速度向前推进。
并发性和共享性互为存在条件
1.2 操作系统的分类
总共有以下8种,由前发展到后
1.3 操作系统的运行机制和体系结构
1.3.1 运行机制和体系结构
1.3.2 中断和异常
1.3.3 系统调用
第 2 章 进程管理
2.1 进程与线程
2.1.1 进程的定义、特征、组成、组织
PCB是什么?
PCB:进程控制块
(1)进程的定义
(2)进程的特征
(3)进程的组成
(4)进程的组织
2.1.2 进程的五种状态及状态转换
2.1.3 原语实现对进程的控制
(1)什么是进程控制?
(2)进程控制的五种原语
进程的创建、终止、唤醒、阻塞、切换。
什么是原语呢?
系统中的设备驱动、CPU切换、进程通信等功能中的部分操作都可定义为原语。
具体细节内容就点上面博客链接了,这里主要是理一个大纲。
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 六种作业/进程调度算法
- 先来先服务(FCFS)
- 短作业优先(SJF)
- 高响应比优先(HRRN)
- 时间片轮转调度算法(RR)
- 优先级调度算法
- 多级反馈队列调度算法
(1)先来先服务(FCFS)
- First come first sever
(2)短作业优先(SJF)
- Shortest Job First
(3)高响应比优先(HRRN)
- Highest Response Ratio Next
问题:响应比是什么?
具体怎么计算参考链接博客
(4)前三种算法对比
(5)时间片轮(RR)
- Round-Robin
通俗讲,一人几分钟,轮流来。
(6)优先级调度算法
(7)多级反馈队列调度算法
(8)后三种算法对比
2.3 进程的同步与互斥
2.3.1 进程的同步与互斥
临界区一次只能进一个进程
实现临界区进程互斥的软件实现方法
实现临界区进程互斥的硬件实现方法
2.4 死锁
2.4.1 什么是死锁?
2.4.2 死锁产生的四个必要条件
互斥条件、不剥夺条件、请求和保持条件、循环等待条件
2.4.3 什么时候会发生死锁?
对不可剥夺资源的不合理分配
2.4.4 死锁的处理策略
(1)预防死锁
① 破坏互斥条件
采用SPOOLing技术将互斥的资源改造为共享资源
缺点:不是所有的资源都能改造成共享资源
② 破坏不可剥夺条件
强行释放手里的资源
③ 破坏请求和保持条件
进程一下子申请完所有需要的资源。
缺点:资源利用率低,可能造成某些进程饥饿
④ 破坏循环等待条件
相当于成环的链式资源分配改为不成环的顺序资源分配
(2)避免死锁:银行家算法
系统处于不安全状态未必死锁,但死锁时一定处于不安全状态。系统处于安全状态一定不会死锁。
什么是安全序列?
(3)死锁的检测和解除
① 死锁的检测
② 死锁的解除
三种方法:资源剥夺法、撤销进程法、进程回退法
第 3 章 内存管理
3.1 内存管理的概念
3.1.1 什么是内存
(1)什么是内存?有何作用?
(2)常用数量单位&内存地址
(3)逻辑地址(相对地址)vs物理地址(绝对地址)
(4)从写程序到程序运行:编译、链接、装入
编译:将高级语言翻译成机器语言
链接:将编译后形成的一组目标模块与所需库函数链接在一起,形成一个完整的装入模块
装入:将装入模块装入内存运行
(5)装入的三种方式
绝对装入、静态重定位、 动态重定位
①绝对装入
②静态重定位
③ 动态重定位
允许程序在内存中移动
需要重定位寄存器的支持
(6)链接的三种方式
静态链接、装入时动态链接、运行时动态链接
① 静态链接
在程序运行之前,将各目标模块和所需的库函数就打包成一个完整的可执行文件
②装入时动态链接
将各目标模块装入内存时,边装入边链接的方式
③运行时动态链接
在程序执行中需要该目标模块时,才对它进行链接。
3.1.2 内存管理的四个内容
主要负责四种管理:
- 内存空间的分配与回收
- 内存空间的扩充
- 地址转换
- 存储保护
(1)内存空间的分配与回收
(2)内存空间的扩展(实现虚拟性)
(3)地址转换
逻辑地址与物理地址的转换,也称为地址重定位
有三种地址重定位方式,即三种装入方式
(4)内存保护
保证各进程在各自内存空间内运行,互不干扰
两种内存保护方式:
- 在CPU中设置一对上、下限寄存器
- 采用重定位寄存器和界地址寄存器进行越界检查
3.1.3 覆盖技术与交换技术的思想
感觉不太重要
3.1.4 内存的分配与回收
内存的分配与回收是内存管理的内容之一
分配分 :连续分配和非连续分配
连续分配:指为用户进程分配的必须是一个连续的内存空间
连续分配又包含三种:单一连续分配、固定分区分配、动态分区分配
(1)单一连续分配
(2)固定分区分配
(3)动态分区分配(可变分区分配)
(1)系统要用怎样的数据结构记录内存的使用情况呢?
空闲分区表和空闲分区链
(2)当多个空闲分区都能满足要求时,应该选择哪个分区进行分配?
(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.有结构文件
又称记录式文件
根据每条记录的长度是否相等,又分定长记录和可变长记录两种
(1)顺序文件
(2)索引文件
(3)索引顺序文件
(4)多级索引顺序文件
将10^6个记录的文件分成100* 100* 10000
4.1.3 文件目录结构
文件控制块
可对目录的操作
(1)单级目录
(2)两级目录结构
(3)多级目录结构(树形目录结构)
绝对路径和相对路径
树形目录结构可以很方便地对文件进行分类,但是不便于实现文件的共享,于是提出了无环图目录结构。
(4)无环图目录结构
索引节点(FCB的改进)瘦身
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设备组成
I/O设备由**机械部件和电子部件(I/O控制器、设备控制器)**组成。
下面细讲I/O控制器。
5.1.2 I/O控制器
(1)四大功能
- 接收和识别CPU发出的命令
- 向CPU报告设备的状态
- 数据交换
- 地址识别
(2)三大组成
- CPU与控制器之间的接口:实现控制器与CPU之间的通信
- I/O逻辑:负责识别CPU发出的命令,并向设备发出命令
- 控制器与设备之间的接口:实现控制器与设备之间的通信
(3)两种寄存器编址方式
- 物理映像
- 独立编址
5.1.3 OS控制I/O设备的四种方式
- 程序直接控制方式
- 中断驱动方式
- DMA方式
- 通道控制方式
每种方式需要注意的问题:
1.完成一次读写操作的流程
2.CPU干预的频率
3.数据传送的单位
4.数据的流向
5.主要缺点和主要优点
5.1.4 I/O软件的层次结构
(1)I/O软件层次总览
5.2 I/O核心子系统
什么是I/O核心子系统?
I/O核心子系统 = 设备独立性软件 + 设备驱动程序 + 中断处理程序
5.2.4 缓冲区管理
/106144829
- 程序直接控制方式
- 中断驱动方式
- DMA方式
- 通道控制方式
每种方式需要注意的问题:
1.完成一次读写操作的流程
2.CPU干预的频率
3.数据传送的单位
4.数据的流向
5.主要缺点和主要优点
5.1.4 I/O软件的层次结构
(1)I/O软件层次总览
5.2 I/O核心子系统
什么是I/O核心子系统?
I/O核心子系统 = 设备独立性软件 + 设备驱动程序 + 中断处理程序
5.2.4 缓冲区管理