OS
2022-06-08 13:12:42 10 举报
AI智能生成
操作系统
作者其他创作
大纲/内容
进程管理
程序与程序执行
顺序
封闭性
顺序性
可再现性
并发
多程序运行过程中的时分复用
间断性
交互性
不可再现性
并行
硬件前提 -- 多处理器(多CPU)
同时不相关执行
进程概念和定义
进程的引入 + 进程与程序的区别
程序 -- 代码文件 强调静态性
进程 -- 可并发执行的程序在某个数据集合的执行过程
已经装进内存里执行的一块程序和相关的数据结构
作业 -- 批处理系统将要装入系统运行的程序和数据
进程特征与控制
特征
结构性
动态性
独立性
并发性
进程上下文
用户级上下文
代码区
只读 拥有权不属于进程 而属于整个程序
数据区
用户栈区 -- 存放程序执行中的变量等
共享存储区 -- global堆区 可以理解为永久的堆区 可以开辟也可以释放
系统级上下文
PCB
内存管理信息
进程环境块
系统栈
寄存器级上下文
各种寄存器和指针
进程三态->五态->七态
三态 -- 阻塞 + 就绪 + 运行
阻塞 -> 就绪 等待事件完成
就绪 -> 运行 上CPU
运行 -> 阻塞 发生中断 请求I/O操作
五态 -- 三态 + 新建 + 终止
七态 -- 五态 + 挂起(阻塞 + 就绪)
挂起是由于要执行的进程块由于某些原因调出了内存
PCB进程控制块
进程标识信息
外部 -- 有用户确定
内部 -- 由系统确定
现场信息
CPU状态
寄存器的数值
控制寄存器
栈指针
控制信息
进程互斥与同步
临界区与临界资源
同时只允许一个进程使用资源为临界资源
访问临界资源的代码段 -- 临界区
进程同步问题
进程通信
消息传递
直接通信
直接封装正文 发送原语
间接通信
通过邮箱通信
共享内存
建立共享内存区
管道通信
进程调度
性能评价指标
处理器利用率
有效利用时间 / 总时间
响应时间
传输信息 + 处理 + 回显 总时间
(带权)周转时间
周转 = 总时间
带权周转 = 周转时间 / 有效时间
平均作业周转时间
平均作业 = 总时间 / 作业数量
平均作业带权周转时间 = 带权周转时间 / 作业数量
系统吞吐量
公平性
调度模型与算法
FCFS先来先服务
先来先做完
SJF短作业优先
排序 依次做
非抢占式
SRTF最短剩余时间优先
计算最短剩余时间的先做
抢占式算法
HRRF高响应比优先
1 + (已经等待的时间 / 预估运行时间)
防止饥饿现象产生
非抢占式
RR时间片轮转
三级调度模型
高级调度 -- 作业调度
将程序和数据调入到内存
中级调度 -- 平衡调度
将内存中无法存放的先放到外存去
低级调度 -- 进程调度
将CPU分给一个就绪队列的进程
多CPU调度
CPU多核调度
锁
死锁
主要原因
进程推进顺序不当
进程面临临界资源的竞争
必要条件
互斥
请求与保持
不剥夺
环路等待
避免
银行家算法
检测和解除
互锁
进程互锁
互锁技术创造的临界区
线程
线程与进程
线程的基本概念
线程三模式
子主题
内存管理
基础架构
计算机存储系统结构
地址转换
内存管理接口
NB的技术
覆盖技术
在内存中分块
分块条件 = 父进程和子进程的调用层级顺序
分为 = 常驻区 + 其他区
交换技术
与外存交换
整个进程交换
段页区交换
紧凑技术
在CPU空闲没有进程的情况下
完成对内存碎片的收集和登记
完成作业整体的移动和碎片的拼接
分区内存管理
单一连续
单用户单任务操作系统
静态重定位
绝对地址 = 界限REG+逻辑地址
由装入程序判断是否符合可存储条件
固定分区
将内存分成固定大小的内存块
静态重定位
添加占用标志 标识是否可用
动态重定位
每个分块设置上下限REG 时刻查是否越界
优点和缺点
吞吐量变高便于多道程序设计,便于分配
固定分区可能导致内存碎片过多 -- 利用率下降 程序可容纳数下降
可变分区
创建可变长度的物理区块
便于存储不同大小的程序 -- 提高利用率 适合多道程序设计
区块选择算法
最快适应
循环首次
最坏适应
最优适应
快速适应算法
为相同长度区块设立链
选链 查链
动态重定位
设置限长REG 和 基址REG
限长REG和逻辑地址比较
基址REG完成逻辑地址到绝对地址的映射
页式存储管理
内存分配与回收
页表
页号+块号+存取控制字段
完成对于整个程序在内存中的分页存放
处理器设置页表REG
每次程序运行将页表的起始地址和表长拿到寄存器中
地址转换
硬件 -- 地址转换机构
物理地址 = 块号 + 页内偏移
逻辑地址 = 页号 + 偏移量
页表REG = 页表起始地址 + 页表长度
通过表长 和 逻辑页号 比较判断越界
页表 = 页号 + 块号
通过页表REG + 逻辑页号 得到 物理块号和控制块
快表
存放在高速缓冲存储器 -- 相联存储器
快表直接通过页号形成 块号和块内偏移的绝对地址
快表中无法查到页号 再看内存中的页表 并登记
快表填满 使用FIFO或者是其他策略淘汰记录 重新登记
** 每次存取 都需要访问至少两次内存
页共享与保护
程序共享
在执行之前已经拿到完整的页号
数据共享
各个进程对于同一块数据可以建立不同的页表映射
多级页表
段式存储管理
分段
首先通过段限长对用户进行约束
完成段号地址 + 段内偏移的设计
段可以满足面向程序的存放 更易于模块化设计
地址转换与内存保护
硬件 -- 地址转换机构
逻辑地址 = 段号 + 段内偏移
段号 表示 一个程序可以拆为多少段
段内偏移 可以 决定整个段的大小
段表REG = 段表的起始地址 + 段表的长度
段表的长度 和 段号进行比较 可以完成越界中断
段表 = 段号 +段的起始地址 + 段的长度
段号 决定 其他两个KEY
快表 (相联存储器中)和段表类似的高速访存方式
物理地址 = 段的起始地址 + 段的长度 +段内偏移
段共享
不需要对于段本身进行约束
对于共享该段的程序设置共享通道
限长REG
基址REG
分段和分页的比较
页式存储
基于物理结构 -- 即根据物理块区划分
便于管理
不会形成块内碎片
段式存储
基于应用程序结构 -- 利于模块化设计
扩充
动态链接
共享和保护
会形成段内碎片
段页式存储管理
分段
分页
段号 + 段内页号 + 页内位移
段表 -> 页表 -> 内存块号
地址转换
硬件 -- 地址转换机构
段表寄存器 = 段表起始地址 + 段表长度
物理地址 = 物理块号 + 页内偏移
逻辑地址 = 段号 + 页号 + 页内偏移
段号 和 段表寄存器中的段表长度比较 完成越界中断
段号可以确定程序的拆分段数
页号 确定物理块的实际地址
段表 = 段号 + 页表起始地址 + 页表长度
段号为KEY
页表起始地址和页号完成页表查询
页表长度和页号完成比较 完成越界中断
虚拟存储技术
提出和局部性原理
作业程序的完全调入有时是不必要的
顺序 + 局限 + 多次 + 独立
基本思想和实现方法
将外存作为内存的扩充
请求分页式虚拟存储管理
基本原理与硬件支持
请求分页页表机制 -- 页表
页号
物理块号
访问字段和修改位
访问字段表示 是否有被访问过
修改位表示是否被修改过 修改过则调出内存时要重新写入外存
状态位 + 外存地址
状态位 表示 一个页是在内存还是在外存
中断机构
保存CPU现场
中断检测及时执行
从外存找页并调入到内存中
如果有 直接调用
如果没有 就先决定淘汰页 并对换
更新缓存和页表
地址转换机构
完成中断机构的扩充
分配策略和调度算法
分配
固定分区
进程平均
进程比例分配
按比例分
可变分配
调入
请求页
预先页
页面置换
全局与局部的区别
全局是针对所有内存块 -- 局部针对对应某进程占用内存块
页面置换算法
先进先出FIFO
最佳页面置换OPT
选用未来使用最多的页面
最近最久未使用LRU
最长时间没用的淘汰
时钟置换算法
使用访问字段R+ 修改位M
00 -> 01 -> 10 -> 11
指针从上次调出块的下一个开始
性能分析
缺页率
f = F / (F + S)
请求分段虚拟存储管理
看书理解
概论
操作系统 定义 功能 特征
功能
进程管理
存储管理
设备管理
文件管理
网络通信
系统安全与保护
特征
并发
共享
互斥共享
交替共享
虚拟
随机/异步
OS 发展 (单道->多道)
单道程序
资源单进程独占 -- 无法共享资源
多道程序设计
通道和中断机制的出现
通道 -- 可以与CPU中央处理器并行执行的处理器
中断机制 -- 完成设备和CPU的即时通信
同时放置多道程序 完成程序进程的交替执行
操作系统
批处理 + 分时操作系统
批处理 完成作业工作流的建立和顺序执行 为单个用户执行单个程序
分时 完成终端和主机的交互 分时间片完成CPU指令执行 -- 多用户多程序
实时 + 个人 + 嵌入式
实时响应 -- 多用于军工
嵌入式 -- 依傍于硬件
个人 -- 个人PC
网络 <-> 分布式
网络 -- 远程连接使用资源 多用客户机 -- 服务器操作系统模式 具有分散性
分布式 -- 多台计算机通信 没有主次之分 具有整体性 共同完成任务
系统接口(涉及到API概念)
程序接口
系统调用
API
Windows公布类系统调用的API操作 -- 向社会公布的唯一接口方式
dll文件 动态链接库 存放系统函数
操作接口
命令界面
图形界面
作业控制命令
为批处理作业用户提供
OS设计方法
设备管理
概述
设备分类
目标功能与结构
设备控制
程序循环查询
中断驱动
DMA(直接访问内存)
通道
字节多路通道
选择通道
成组多路通道
缓冲技术
单缓冲
双缓冲
多缓冲
收容输入输出
提取输入输出
输入输出+空闲块队列
输入输出
中断处理程序
设备驱动程序
设备独立性(设备无关性)
用户层软件
设备分配与回收
设备信息描述
SDT系统设备表
DCT设备控制表
COCT控制器控制表
CHCT通道控制表
分配策略
独占
共享
虚拟
SPOOLing技术
井
共享打印机
设备分配算法
FCFS
优先级队列
设备回收
依次查表
文件系统
概述
概念
系统
属性
分类
使用
文件组织
逻辑与物理结构
逻辑
流式文件
记录式文件
顺序文件
索引文件
索引顺序文件
物理
连续
链接
隐式链接
显式链接
索引
多级索引
直接
记录的组
存取方法
存储空间管理
文件目录
目录文件组织
FCB线性表
索引文件
哈希表文件
目录结构与检索
目录操作
文件共享
静态/动态
0 条评论
下一页