计算机操作系统 第三版 笔记
版本:3th
简介
第一章介绍了OS的发展、特征、功能以及OS结构
第二,三章阐述了进程和线程的基本概念、同步与通信、调度与死锁
第四章介绍了连续和离散存储器管理方式、虚拟存储器
第五章 设备管理,对IO软件的层次结构进行深入阐述
第六,七章是文件管理和用户接口
第八章介绍了计算机网络、网络体系结构、网络提供的功能和服务以及Internet
第九章 安全和病毒
第十章 一个典型的OS实例——UNIX系统内核结构
一)OS介绍
计算机系统 = 硬件 + 软件
1.1 目标和作用
目标:
- 有效性:系统资源利用率,系统吞吐量
- 方便性
- 可扩充性
- 开放性:遵循标准
作用:
- 是用户与计算机硬件系统之间的接口
- 是计算机系统资源的管理者
- 对计算机资源的抽象
1.2 发展过程
- 无操作系统的计算机系统
- 人工操作
- 脱机输入/输出:解决CPU和I/O设备之间的速度差异
- 单道批处理系统:磁带的批作业,内存的一道程序
- 多道批处理系统
- 分时系统
- 实时系统
- …
1.3 基本特性
并发、共享、虚拟、异步
-
并发性
并发,并行 程序,进程 线程
-
共享性:资源,内存中的并发执行的进程/线程,共同使用
-
虚拟技术:时分复用技术,空分复用技术
-
异步性:资源,进程间独占或共享,最终,进程以不可预知的速度向前推进
1.4 主要功能
-
处理机管理:以进程为基本单位,即进程管理;线程,线程管理
-
进程控制:新建,撤销,状态迁移
-
进程同步:2种协调方式
进程互斥方式:锁... 进程同步方式:信号量...
-
进程通信:消息队列…
-
调度:作业经过调度→执行
第一步,作业调度:作业进入内存,建立进程(就绪) 第二步,进程调度:进程获取CPU时间片,使进程运行
-
-
存储器管理:内存
-
内存分配:作业进入内存,分配内存;作业运行过程中申请内存
-
内存保护:用户程序的内存空间间隔离
每个用户程序,两个界限寄存器:上界,下界
-
地址映射:地址空间的逻辑地址,内存空间的物理地址
-
内存扩充:逻辑上的内存扩充
请求调度功能:装入一部分用户程序和数据,即可启动该程序运行 置换功能:暂时无用的程序数据调至磁盘,腾出的内存空间供有需求的“进程”使用
-
-
设备管理
完成进程的IO请求、给进程分配IO设备、提高CPU和IO的利用率、提高IO速度、简单性
- 缓冲管理:IO设备,缓冲区(内存),CPU
- 设备分配
- 设备处理:CPU和IO之间的通信
- 虚拟设备
-
文件管理
管理系统文件和用户文件,方便用户使用;保证文件安全
- 文件存储空间管理:外存
- 目录管理:目录项
- 文件的读写管理和保护
-
用户接口
- 用户接口
- 程序接口
-
网络
1.5 结构设计
略
二)进程管理
2.1 基本概念
顺序与并发
- 程序的顺序执行
- 多个程序并发执行
- 多个程序并行执行:多核CPU
进程
-
定义
-
特性
-
基本状态:就绪,执行,阻塞,挂起
就绪:已分配除CPU的所有必要资源,获取CPU就可执行 执行 阻塞:执行→阻塞(请求IO、申请缓冲空间等) 挂起:定义&&引起原因
进程控制块PCB
-
作用
-
存储信息
-
PCB间的结构/组织方式:链接、索引
2.2 进程状态转换
2.3 进程控制
介绍
进程控制一般由OS的内核的原语实现
原语:若干条指令,用于完成一定功能的一个过程
原子操作
管态下执行,常驻内存
进程创建|终止|阻塞与唤醒|挂起与激活
- 引起事件
- 发生过程
2.4 进程同步
进程间并发,由于进程的异步性,系统结果如何控制?
进程同步:对多个进程在执行次序上进行协调
-
基本概念
-
定义
-
制约关系:
- 间接相互制约关系:资源
- 直接相互制约关系:进程间合作(如输入进程,缓冲,计算进程)
-
临界资源:定义,解决(互斥)
- 生产者-消费者
-
临界区
-
同步机制遵循规则
空闲让进:无进程处于临界区时,表明临界资源处于空闲状态,其他试图进入临界区的进程,可进入一个 忙则等待:已有进程进入临界区,表明临界资源正在被访问,其他试图进入临界区的进程,必须等待 有限等待:要访问临界资源的进程,应在有限时间内进入自己的临界区 让权等待:进程不能进入自己的临界区,应立即释放CPU
-
信号量机制
原子操作:wait,signal
- P
- V
整型信号量:不采取“让权等待”,进程wait S<=0时不断进行检测
记录型信号量:若采取“让权等地”,出现多个进程等待访问同一临界资源
等待进程链表
AND型信号量:当进程间共享多个资源,如A,B进程同时持有资源,仍需资源,但可用资源无
上述:死锁
AND:一次性全部分配给进程
信号量集
应用:进程互斥,前趋关系
管程机制
Monitors
条件变量
略
2.5 进程通信
通信类型
- 共享存储器系统
- 共享数据结构
- 共享存储区
- 消息传递系统
- 直接通信:无中间介质
- 间接通信:信箱
- 管道通信:pipe文件
- 消息缓冲队列通信机制
2.6 线程
-
基本概念
-
状态迁移图
-
线程与进程
-
线程属性
-
同步:互斥锁,条件变量,计数信号量,多读 单写锁…
-
通信
-
实现方式
用户级线程: 内核级线程: # 比较 用户&内核混合线程
第一天终止线:OS介绍,进程管理
三)处理机调度与死锁
一个作业从提交到运行,经历过程包括:(说明,可能存在中程调度,提高内存利用率和系统吞吐量)
-
作业调度/高级调度/长程调度:进入内存
外存上处于后备队列中的作业调入内存
-
进程调度/低级调度/短程调度:获取处理机
决定就绪队列中的哪个进程,获取处理机
3.1 低级/进程调度
功能
- 保存处理机现场信息
- 按某种算法选取进程
- 把处理器分配给进程
基本机制
- 排队器
- 分派器
- 上下文切换机制
进程调度/算法方式
- 非抢占方式
- 抢占方式
3.2 调度队列模型和调度准则
调度队列模型
- 进程调度:FIFO
- 进程和作业调度:优先权队列/无序链表,多个阻塞队列
- 三级调度:内存就绪和外存就绪,内存阻塞和外存外存阻塞
调度准则
- 面向用户:周转时间,响应时间,截止时间,优先权
- 面向系统:系统吞吐量,处理机利用率,各类资源的平衡利用
3.3 调度算法
- 先来先服务:FCFS
- 短作业/进程优先调度:SJF,SPF
- 高优先权优先调度算法
- 调度算法类型:非抢占式,抢占式
- 优先权类型:静态优先权,动态优先权
- 高响应比优先调度算法
- 基于时间片的轮转调度算法
- 时间片轮转法
- 多级反馈队列调度算法
3.4 实时调度
实现实时调度的基本条件
- 提供必要信息:就绪时间,开始截止时间和完成截止时间,处理时间,资源要求,优先级
- 系统处理能力强
- 采用抢占式调度机制
- 具有快速切换机制
实时调度算法的分类
实时任务性质,调度方式,调度程序调度时间,是否多处理机…
- 非抢占式调度算法:轮转,优先调度算法
- 抢占式调度算法:基于时钟中断的抢占式优先权调度算法,立即抢占的优先权调度算法
3.5 死锁
并发执行虽提高了资源利用率,系统吞吐量,但可能产生——死锁,指:多个进程在运行过程中因竞争资源而造成的一种僵局,当进程处于这种僵持状态时,若无外力作用,他们都将无法再向前推进
产生原因
- 资源竞争
- 进程间推进顺序非法
必要条件
- 互斥条件:一段时间内,资源只能由一个进程占用,若其他进程请求,则只能等待,直到占用资源的进程释放
- 请求和保持条件:进程占用至少一个资源,仍提出新的资源请求,但该资源又被其他进程占用,陷入持有资源且请求资源的状态
- 不可剥夺条件:资源,未被进程使用完之前,不能被剥夺
- 环路等待条件:进程——资源的环形链
处理方法
预防死锁
破坏2、3、4th必要条件(互斥不能破坏)
避免死锁
系统安全状态:按某种进程顺序分配资源,该顺序为安全序列
算法:银行家算法
检测死锁
前提:
- 保存有关资源的请求和分配信息
- 提供一种算法,利用这些信息检测系统是否进入死锁
解除死锁
方法一:剥夺资源
方法二:撤销进程
四)存储器管理
存储器结构
多级存储器,速度&&容量
CPU:寄存器
主存:高速缓存,主存,磁盘缓存
辅存:磁盘,可移动存储介质
程序的装入
程序的链接
程序的内存分配
介绍,四种分配方式及优缺点
-
单一连续分配
-
固定分区分配
-
动态分区分配
分区分配算法: 首次适应算法 循环首次适应算法 最佳适应算法 最坏适应算法 快速适应算法 操作:分配内存,回收内存
固定分区和动态分区的折中方案:伙伴系统
-
动态重定位分区分配
原理 重定位寄存器 算法
优化:
- 对换:内存不够,将暂时使用不到的进程或程序And数据,调入外存
内存分配的管理
基本概念
连续分配,碎片,分区
离散分配方式,基本单位:页、短
对换功能/虚拟存储器,不具备称为基本分页|分段存储管理
基本分页存储管理
基本分段存储管理
段页式存储管理
虚拟存储器的引入
-
请求分页存储管理:支持虚拟存储器
硬件支持:页表机制,缺页中断,地址变换 内存分配策略:最小物理块数,物理块的分配策略,物理块的分配算法 调页策略:预调页,请求调页策略 页面置换算法:最佳置换算法,先进先出置换算法,最近最久未使用置换算法, LRU近似算法——Clock置换算法 其他置换算法
-
请求分段存储管理
硬件支持:段表机制,缺段中断,地址变换 ...
五)设备管理
IO系统
-
IO设备分类
-
IO与CPU通信原理:借助设备控制器
CPU与IO设备之间的设备控制器,当外设较多时 CPU压力会较大 缓解CPU压力:在CPU和设备控制器之间,增设了通道
-
设备控制器
-
通道
总线系统
略
IO控制方式
- 程序IO
- 中断驱动IO
- 直接存储器访问IO:DMA IO
- IO通道
缓冲管理
略
IO软件
略
设备分配
略
磁盘存储器的管理
-
介绍
-
性能概述
-
磁盘寻找数据流程
-
磁盘类型
-
磁盘调度/算法
先来先服务 最短寻道时间优先,SSTF(Shortest Seek Time First) 扫描算法 循环扫描算法 ..
-
磁盘高速缓存
-
廉价磁盘冗余阵列,RAID
六)文件管理
6.1 介绍
文件
文件系统
数据:数据项,记录,文件
- 文件类型
- 文件系统模型
- 文件操作
- 文件的逻辑结构
- 文件的物理结构
6.2 外存/磁盘分配方式
- 连续分配
- 链接分配
- 索引分配
6.3 目录管理
6.4 文件存储空间的管理
6.5 文件共享
6.6 文件保护
6.7 数据一致性控制
- 事务
- 检查点:定期对事务的Log进行处理
- 并发控制
七)操作系统接口
-
联机命令接口:字符显示式用户界面,图形化用户界面
命令语言:命令行,批命令 命令类型:系统访问类,磁盘操作类,文件操作类,目录操作类,通信类,其他 键盘终端处理程序 命令解释程序
Shell
-
进入与退出系统
-
文件操作
cat cp mv rm file
-
目录操作
mkdir rmdir cd chmod
-
系统询问
date who pwd
-
重定向和管道
UNIX系统,系统定义的三个文件:标准输入,标准输出,标准错误 改变输入、输出设备的手段:重定向 重定向符:< > >> 管道:| 前一个命令的输出,作为后一条命令的输入
-
通信
write, mail, mesg
-
后台命令:&,
/dev/null
ps wait kill
系统状态和指令集
系统状态
指令集
- 特权指令:系统态时,运行的指令
- 非特权指令:用户态时,运行的指令
系统调用
系统调用,使应用程序可通过系统调用的方法,间接地调用OS的相关服务
-
实现原理:终端
-
类型
-
实现
UNIX系统调用
- 进程控制
- 文件操纵
- 进程间通信
- 信息维护
八)网络操作系统
网络操作系统NOS,是为了管理网络中的共享资源,实现用户通信和向用户提供多种有效的服务
九)系统安全性
计算机系统中存储和传输数据的保密性、完整性、系统可用性
9.1 基本概念
系统安全性
- 数据机密性
- 数据完整性
- 系统可用性
系统安全的威胁类型
- 假冒用户身份
- 数据截取
- 拒绝服务
- 修改信息
- 伪造信息
- 否认操作/抵赖
- 中断传输
- 通信量分析
信息技术安全评价公共准则
CC
9.2 数据加密技术
介绍
数据加密模型
- 明文,P
- 密文,Y
- 加密/解密算法,E/D
- 密钥,K
加密算法类型
- 按对称性分类:对称加密算法,非对称加密算法
- 按所变换明文的单位分类:序列加密算法,分组加密算法
基本加密方法
- 易位法
- 置换法
对称加密算法:DES,数据加密标准
非对称加密算法:公开密钥法,如RSA
数字签名和数字证明书
数字签名:利用公开密钥法,实现数字签名,代替传统签名
数字证明书:认证机构CA,为公开密钥发送一份公开密钥证明书,即数字证明书,用于证明通信请求者的身份
网络加密技术
- 链路加密
- 端-端加密
9.3 认证技术
基于口令的身份认证
基于物理标志的认证技术
基于生物标志的认证技术
基于公开密钥的认证技术
9.4 访问控制技术
主要名词:
访问矩阵
保护域,访问权
拷贝权,所有权,控制权
访问控制表,访问权限表
总结
主要是过了下《计算机操作员系统 第三版》一书,对OS进行一个简单回忆。
时间:2020.03.06 17:01