浅谈计算机中的存储模型(一)存储体系
2015-10-09 01:12
239 查看
前言:最近研究了下操作系统中存储方面的知识,个人感觉学这部分的知识应该首先在脑海中抽象出存储体系,因为无论磁盘,物理内存还是虚拟内存都是互相有联系的,抽象出模型有助于我们的理解和记忆。接着需要哪部分知识或再次深入哪部分知识,从体系图中找。
建议不要在这块知识
熟悉这部分知识后,个人感觉是豁然开朗
计算机存储体系图
这是个人总结出来的,就以它为目录吧。
希望看完的朋友能有自己的存储体系~
简述上图:
从进程开始,我们知道进程运行在内存中,每个进程都有自己独立的内存地址空间,目的是安全和高效利用内存,一个进程的地址空间是抽象出来的,属于虚拟内存,而内存分为虚拟内存和物理内存, 从物理内存分析,物理内存管理分为等长和不等长划分,等长划分一般通过位图来记录结构,不等长划分一般通过空闲区表来记录。而物理内存的要通过算法来进程合理分配回收,其中分配算法有四种,回收算法分为四种情况,而内存分配和回收会引起内存碎片问题,内存碎片问题分为内碎片和外碎片,解决方案有压缩技术 ; 从虚拟内存分析,分为页式/段式/段页式内存管理,中间通过页表/段表/段页表来进行物理到虚拟内存的转换,重点是页式管理,页式管理中重要的概念有页表项,多级页表,倒排页表,MMU,快表TLB和页错误/缺页异常,而虚拟存储技术中核心概念就是将内存中暂时不用的页面(内存块)放入磁盘上,问题是哪些页面(内存块)放到磁盘上呢,于是我们引入页面置换算法,其中OPT为理想置换算法,基本算法有FIFO,FIFO改进后的第二次机会算法和时钟算法,LRU中老化算法和NRU,既然部分页面暂存到磁盘上,那么就要聊聊磁盘,磁盘是硬件,所以要讨论它的结构,和如何存取数据,以及磁盘调度的一些算法,此外,虚拟内存还有重要的两个技术就是内存映射和写时复制。
来看看实际目录
内存
物理内存
物理内存管理结构
位图
空闲区/空闲区链表
内存分配算法
首次适配
下次适配
最佳适配
最差适配
内存回收算法
内存回收的四种情况
内存碎片问题
内碎片
外碎片
紧缩技术
伙伴算法
虚拟内存
页式管理
页表
页表项
单一页表
多级页表
倒排页表
MMU
快表TLB
页错误/缺页异常
页面置换算法
OPT
FIFO
第二次机会
时钟算法
LRU
老化算法
NRU
段式管理
段/页式管理
内存映射和写时复制
磁盘
磁盘结构
磁盘存取
磁盘调度
磁盘缓冲和预读
磁盘调度算法
FCFS
SSTF
SCAN
后面会分为3篇来写,分别是物理内存,虚拟内存,磁盘。
以本篇为体系结构。
建议不要在这块知识
拉长战线,看了前面忘后面。
熟悉这部分知识后,个人感觉是豁然开朗
计算机存储体系图
这是个人总结出来的,就以它为目录吧。
希望看完的朋友能有自己的存储体系~
简述上图:
从进程开始,我们知道进程运行在内存中,每个进程都有自己独立的内存地址空间,目的是安全和高效利用内存,一个进程的地址空间是抽象出来的,属于虚拟内存,而内存分为虚拟内存和物理内存, 从物理内存分析,物理内存管理分为等长和不等长划分,等长划分一般通过位图来记录结构,不等长划分一般通过空闲区表来记录。而物理内存的要通过算法来进程合理分配回收,其中分配算法有四种,回收算法分为四种情况,而内存分配和回收会引起内存碎片问题,内存碎片问题分为内碎片和外碎片,解决方案有压缩技术 ; 从虚拟内存分析,分为页式/段式/段页式内存管理,中间通过页表/段表/段页表来进行物理到虚拟内存的转换,重点是页式管理,页式管理中重要的概念有页表项,多级页表,倒排页表,MMU,快表TLB和页错误/缺页异常,而虚拟存储技术中核心概念就是将内存中暂时不用的页面(内存块)放入磁盘上,问题是哪些页面(内存块)放到磁盘上呢,于是我们引入页面置换算法,其中OPT为理想置换算法,基本算法有FIFO,FIFO改进后的第二次机会算法和时钟算法,LRU中老化算法和NRU,既然部分页面暂存到磁盘上,那么就要聊聊磁盘,磁盘是硬件,所以要讨论它的结构,和如何存取数据,以及磁盘调度的一些算法,此外,虚拟内存还有重要的两个技术就是内存映射和写时复制。
来看看实际目录
内存
物理内存
物理内存管理结构
位图
空闲区/空闲区链表
内存分配算法
首次适配
下次适配
最佳适配
最差适配
内存回收算法
内存回收的四种情况
内存碎片问题
内碎片
外碎片
紧缩技术
伙伴算法
虚拟内存
页式管理
页表
页表项
单一页表
多级页表
倒排页表
MMU
快表TLB
页错误/缺页异常
页面置换算法
OPT
FIFO
第二次机会
时钟算法
LRU
老化算法
NRU
段式管理
段/页式管理
内存映射和写时复制
磁盘
磁盘结构
磁盘存取
磁盘调度
磁盘缓冲和预读
磁盘调度算法
FCFS
SSTF
SCAN
后面会分为3篇来写,分别是物理内存,虚拟内存,磁盘。
以本篇为体系结构。
相关文章推荐
- 《深入理解Linux网络技术内幕》阅读笔记(十九)
- Android实现网络多线程断点续传下载
- HttpClient的一些用法
- HttpURLConnection的一些用法
- 读完《visual c++网络编程》 唐文超编著后的领悟
- 简述Windows XP与Windows 7系统常见漏洞
- 图解HTTP学习笔记——简单的HTTP协议
- 二〇一五年十月八日星期四
- 计算机应用技术毕业论文 网页设计与学校教育论坛网站开发
- open-vswitch: GRE隧道网络实验
- 直播时移技术与网络电视台的完美结合
- 网络唤醒-ether-wake
- 如何调用wps打开我下载的文本文件?
- VirtualBox 连接外部网络和内部网络教程
- 数据结构学习笔记-线性表
- Java之——简单的网络爬虫实现
- HTTP协议请求过程
- 用Node.js实现基于https的Restful风格webservice
- 浏览器的相关的http的响应码介绍
- HashSet:底层数据结构是哈希表