站点创建成功,网站qq弹窗代码,农家乐网站免费模板,中煤第三建设集团网站#x1f338;章节汇总 一、第一章——操作系统的概念 二、第二章——【进程】 二、第二章——【线程】编辑 二、第二章——【进程调度】 二、第二章——【进程同步与互斥】 二、第二章——【锁】 三、第三章——内存管理 四、第四章——文件管理 五、第五章——输入输出管理… 章节汇总 一、第一章——操作系统的概念 二、第二章——【进程】 二、第二章——【线程】编辑 二、第二章——【进程调度】 二、第二章——【进程同步与互斥】 二、第二章——【锁】 三、第三章——内存管理 四、第四章——文件管理 五、第五章——输入输出管理 学习心得 目录
三、第三章——内存管理
1、内存的基础知识
1.1程序装入三种——绝对装入
1.2程序装入三种——可重定位装入
1.3程序装入三种——动态重定位
2程序——exe的由来
3程序——链接方法
4总结
2、内存管理的概念
1内存空间的分配和回收
2内存空间的拓展比如虚拟内存等
3地址转换逻辑地址-物理地址
4内存保护
3、内存——覆盖与交换
1覆盖技术已经out了
2交换技术
3交换技术——对应的问题
4总结考选择题
4、连续分配管理方式
1单一连续分配
2固定分区分配
3动态分区分配
4总结
5、动态分区分配——算法详细讲解
1首次适应算法第一次
2最佳适应算法从小到大
3最坏适应算法从大到小
4临近适应算法从大到小
5总结优缺点
6、基本分页存储——概念
1页框——物理块——内存块——物理页面
2逻辑地址-结构【页号页内偏移量】
3总结——概念
4重点——地址变换过程五步
5重点——例题
6重点——页表如何存储在内存中
7总结——地址变换
7、快表TLB
1查询过程——1先快表再慢表最后内存
2查询过程——2同时查找-快表-慢表
3局部性原理
4总结 TLB和高速缓存有区别
8、两级页表开始套娃啦
1从一级—二级—偏移量转到物理地址
2单级页表
3细节重点
4总结
9、段页式管理方式
1段表
2查询段表——顺序
3分段 分页 【对比】
4总结
10、虚拟内存
1传统存储管理方式——特征、缺点
2虚拟内存——定义、特征
3如何实现——虚拟内存
4总结
11、请求页面——管理方式
1缺页中断内中断
2地址变换
3总结
12、页面置换算法
1最佳置换算法无法实现
2先进先出算法绝对公平——Belady异常
3最近最久未使用置换算法LRU
4时钟页面置换算法CLOCK NRU
5时钟页面置换算法——改进型
6总结要会手推——页面替换
12、页面分配策略、抖动、工作集
1工作集模型清华教程 2驻留集——分配策略【王道】
3何时调入页面亡羊补牢 or 未雨绸缪
4在哪里调入经典加一层
5抖动现象
6工作集拓展-考试貌似不考~
7总结
13、内存映射文件
1方便程序员——访问文件数据
2共享数据——同时访问一个文件
3总结关于磁盘的IO操作系统是专业滴 三、第三章——内存管理
1、内存的基础知识 相关知识点 逻辑地址——相对地址 物理地址——绝对地址 1.1程序装入三种——绝对装入 灵活性差已经被淘汰了~ 1.2程序装入三种——可重定位装入 在装入时——会转换好地址~写死了物理地址不能移动咯 1.3程序装入三种——动态重定位 现在使用方法——可以动态修改灵活移动动态申请空间… 2程序——exe的由来 1. 编写源代码首先您需要使用文本编辑器编写C语言源代码文件通常以.c为扩展名。 2. 编译源代码接下来您需要使用C编译器将源代码编译为机器可以执行的目标代码。这个过程称为编译。编译器会对源代码进行词法分析、语法分析和语义分析并生成相应的目标代码文件通常以.obj为扩展名。 3. 链接目标代码在生成目标代码后您需要使用链接器将目标代码与所需的库文件进行链接以创建最终的可执行文件。链接器会解决函数和变量引用之间的依赖关系并将目标代码转换为可执行文件的格式。最终生成的可执行文件通常以.exe对于Windows系统或无扩展名对于Linux系统为扩展名。 4. 运行可执行文件一旦可执行文件生成成功您可以直接执行它。 3程序——链接方法 4总结 2、内存管理的概念
1内存空间的分配和回收 如何分配如何回收还有哪些空闲这么多位置应该分配哪一块 2内存空间的拓展比如虚拟内存等 内存不够用如何临时拓展 3地址转换逻辑地址-物理地址 地址转换功能 4内存保护
如何让各进程之间拥有自己的地皮互不影响 3、内存——覆盖与交换
1覆盖技术已经out了
程序员来完成——编程麻烦out 2交换技术
把暂时不需要的进程——拿到外存 3交换技术——对应的问题 4总结考选择题 4、连续分配管理方式 1单一连续分配 无外部碎片——但有内部碎片【内存利用率低】 2固定分区分配 把用户空间——划分多个分区~ 无外部碎片——但又内部碎片内存利用率低 3动态分区分配 没有内部碎片但有外部碎片 不过可以通过【拼凑】等方式来解决【外部碎片】 4总结 5、动态分区分配——算法详细讲解 1首次适应算法第一次 从头到尾按顺序扫描 找到第一个满足的空间就放进去~ 2最佳适应算法从小到大 这个是强迫症——必须安排连续的空间产生难以利用的小碎片 额外创建一个——空闲分区链表——用来记录空闲空间的大小从小到大排序 每次安排完后都需要【维护该表】数据更新重新排序 3最坏适应算法从大到小 和最佳相反——空间排序【从大到小】 缺点——如果来个了“大进程”——可能没有足够大的连续空间给他 4临近适应算法从大到小 从小到大的【循环链表】 开销小【空间换时间】——但是——大分区容易被用完~ 5总结优缺点 6、基本分页存储——概念 1页框——物理块——内存块——物理页面 Page Frame —— 页框标准点 物理块号——页帧号——内存块号 页表——存储【逻辑地址】与【物理地址】的映射关系 如何计算——页表的大小根据内存大小推算【具体步骤——看左下角】 页号不占空间——数组索引【这个页表——类似于一维数组~】 为了计算机计算——页面大小用2的【整数幂】 在计算机网络那里类似计算也是这样要方便得多~ 2逻辑地址-结构【页号页内偏移量】 3总结——概念 4重点——地址变换过程五步 文字说明版本——五步骤 5重点——例题 如何将【逻辑地址】——转为【物理地址】 6重点——页表如何存储在内存中 计算机组成原理——也有讲哟~~~ 页表——存放在内存当中——也称为慢表 计算页表项——占多少位最好是2的次方实际应用中——方便计算 7总结——地址变换 7、快表TLB 查询快表——不需要访存快表是高速缓存 1查询过程——1先快表再慢表最后内存 2查询过程——2同时查找-快表-慢表 3局部性原理 4总结 TLB和高速缓存有区别 普通的Cache会存放各种数据 但是——TLB——只存放页表项的副本 8、两级页表开始套娃啦 记住——加一层的解决方式——可以多次套娃可以不止两层哟~ 1从一级—二级—偏移量转到物理地址 2单级页表 3细节重点 条件40位逻辑地址——知道物理块的大小4KB——页表的每一项的大小4B ①地址偏移量需要多少位 总共40位一个物理块有4KB2^12位——采用2进制表示偏移量需12位 ②还是剩下多少位——用来表示各级页表40-12 28 ③怎么分各级页表随便分题目限制各级页表的大小不能超过一个内存块 ④那么请问一个物理块可以容纳多少页表项——2^12 / 4 2^10 每一级页表的大小不能超过物理块的大小——那么只能按照内存块最大位数来分咯~ 28 分为 10 – 10 – 8 3级一级2^10二级2^10三级2^8 当然可以再分多级也可以啦~只不过会有更多碎片 比如 28分为 ——7,7,7,74级每级2^7这么大 详细结题——如下图 4总结 9、段页式管理方式
1段表 段号——也可以隐含【类似数组的索引是隐含的~】 2查询段表——顺序 分段中——每个长度不一样 一定要越界检查段号是否越界段内地址是否合法 3分段 分页 【对比】 分页——用户不可见——提高利用率——地址空间【一维——映射的物理地址】 分段——用户可见——满足用户需求——地址空间【二维——段名段内地址】 分页——长度固定——更容易共享保护 分段——长度不固定—— 4总结 段表和页表——都存储在内存中——可以成为慢表 他们都可以再往上封装一层——即为【快表】——加快CPU的查询效率 注意这些术语只是方便我们理解是前人们的智慧结晶~不要被这些术语锁死 快表为什么叫快表因为他快他在Cache里面造价高…等等原因 10、虚拟内存 1传统存储管理方式——特征、缺点 一次性——全部放入内存太大了可不行 驻留性——暂时用不上的留着内存中消耗了资源 2虚拟内存——定义、特征 多次性、对换性、虚拟性 3如何实现——虚拟内存 【内存的页面】的【换入换出】怎么实现 4总结 虚拟内存——是高速缓存技术的拓展 既然你内存查询都分了多个级别Cache里面有三级内存里面就再分个级别吧~ 注意计算机组成原理——在Cache章节说明Cache的换入和换出 为什么计算机组成原理那里只介绍了Cache的替换算法呢 因为【Cache替换】的实现是由【硬件】完成的 在这里【内存】由操作系统来管理自然需要操作系统系统软件来实现啊 虚拟内存是计算机系统中的一种技术用于将磁盘空间作为辅助内存来扩展主存RAM的容量。 它允许操作系统将部分数据移动到磁盘上并在需要时将其还原回主存。 虚拟内存的设计目的是提供比物理内存更大的地址空间以及更灵活的内存管理。 虚拟内存与高速缓存是不同的概念。 高速缓存是一种位于处理器和主存之间的存储器层次结构用于加快对常用数据的访问速度。 而虚拟内存是一种通过存储器映射技术实现的内存扩展机制用于增加可用的地址空间。 关于计算机组成原理中只介绍了Cache的替换算法而没有涉及虚拟内存的解释可能是因为计算机组成原理的重点是硬件层面的设计和实现。 因此在讲解Cache时主要侧重于硬件层面的实现细节如替换算法、缓存一致性、写策略等。 而虚拟内存的管理是由操作系统来完成的属于系统软件的范畴因此在计算机组成原理这门课程中可能没有过多介绍。 需要注意的是虚拟内存和Cache是不同层次的存储器技术各自有不同的设计原理和实现方法。虚拟内存的管理涉及到操作系统的内存管理模块而Cache的管理则由硬件电路来完成。 11、请求页面——管理方式 1缺页中断内中断 没有需要的页——产生中断 如果有空闲块——直接占用没有的话使用页面置换算法~ 2地址变换 3总结 12、页面置换算法 1最佳置换算法无法实现 这个是——理想算法实际应用中无法实现 因为——他需要提前知道后面需要访问的页面是什么很显然不能做到 2先进先出算法绝对公平——Belady异常 性能差——注意——Belady异常随着访问次数增多缺页次数反而减少 3最近最久未使用置换算法LRU 适用于局部性好的性能好——需要硬件支持开销大 4时钟页面置换算法CLOCK NRU 扫描的过程——像一个时钟——不断计数访问位为0 / 1 最近未用算法 最坏情况——扫两轮一圈多一点 5时钟页面置换算法——改进型 会筛选4轮最坏情况下要转3圈多一点 1、未访问、未修改 2、未访问、已修改 3、已访问、未修改 4、已访问、已修改 注意访问的权利大排在最后 6总结要会手推——页面替换 PS并不止这些算法还有其他替换算法哟~ 比如——随机替换算法和猴子排序类似的有趣哈哈哈~ 最不常用算法LFU——考虑的是访问次数 or 频率 12、页面分配策略、抖动、工作集
1工作集模型清华教程 工作集——内存的区间大小——我觉得成为【工作间还挺好~】 【你活动的空间太大了不太好】 【你活动的空间太小了也不太好~】 当你经常卡壳说明你活动空间小需要增多活动空间 当你不卡壳说明你活得很滋润浪费了一些空间需要给你减少空间 资本家看了都流泪┭┮﹏┭┮~ 2驻留集——分配策略【王道】 1、开始给你分配固定的大小工作空间 2、动态给你调整调整又分为内部调整、外部调整 内部调整局部——把你进程内部的物理块变为工作区间 外部调整全局——把外部空间空闲物理块给你 3何时调入页面亡羊补牢 or 未雨绸缪 先调入还是缺了再调入具体场景具体分析~ 4在哪里调入经典加一层 在外存中再套一层对换区 方便页面置换换出来的页面就放到“对换区” 5抖动现象 物理块不够时频繁访问页面——导致频繁出现“缺页中断” 6工作集拓展-考试貌似不考~ 工作集 ≠ 驻留集 驻留集——给定的工作空间 工作集——在工作空间里加了一个窗口也就是时间间隔 因此——驻留集 工作集 7总结 13、内存映射文件 1方便程序员——访问文件数据 传统方式——程序员手动写read、write方法很麻烦 优化方式——操作系统为我们完成对外存的读和写相当于操作系统封装了一层~ 我们就可以像——操作C语言那样完成指定的读入和写入啦~ 2共享数据——同时访问一个文件 参考Windows上的.txt文件并不是互斥的哟~ 我可以用【记事本】打开~我还可以用【VsCode】打开~ 3总结关于磁盘的IO操作系统是专业滴 什么时候读什么时候写可以让操作系统来完成~这方面的性能可以让操作系统来优化 程序员就可以放开手脚做其他的事情啦~ 当然对应强迫症的工程师可以自己来控制和考虑啦~