auto commit

This commit is contained in:
CyC2018 2018-03-20 16:59:40 +08:00
parent 0a76772b79
commit b405c786aa
2 changed files with 13 additions and 1 deletions

View File

@ -18,6 +18,7 @@
* [四、内存管理](#四内存管理)
* [虚拟内存](#虚拟内存)
* [分页与分段](#分页与分段)
* [分页系统地址映射](#分页系统地址映射)
* [页面置换算法](#页面置换算法)
* [五、设备管理](#五设备管理)
* [磁盘调度算法](#磁盘调度算法)
@ -714,6 +715,17 @@ Linux 中管道通过空文件实现。
- 出现的原因:分页主要用于实现虚拟内存,从而获得更大的地址空间;分段主要是为了使程序和数据可以被划分为逻辑上独立的地址空间并且有助于共享和保护。
## 分页系统地址映射
- 内存管理单元MMU管理着虚拟地址空间和物理内存的转换。
- 页表Page table虚拟地址空间和页框物理内存空间的映射表。例如下图中页表的第 0 个表项为 010表示第 0 个页映射到第 2 个页框。页表项的最后一位用来标记页是否在内存中。
下图的页表存放着 16 个页,这 16 个页需要用 4 个比特位来进行索引定位。因此对于虚拟地址0010 000000000100前 4 位是用来存储页面号,而后 12 位存储在页中的偏移量。
0010 000000000100根据前 4 位得到页号为 2读取表项内容为110 1它的前 3 为为页框号,最后 2 位表示该页在内存中。最后映射得到物理内存地址为110 000000000100
<div align="center"> <img src="../pics//cf4386a1-58c9-4eca-a17f-e12b1e9770eb.png" width="500"/> </div><br>
## 页面置换算法
在程序运行过程中,如果要访问的页面不在内存中,就发生缺页中断从而将该页调入内存中。此时如果内存已无空闲空间,系统必须从内存中调出一个页面到磁盘对换区中来腾出空间。
@ -736,7 +748,7 @@ Linux 中管道通过空文件实现。
### 2. 先进先出
> FIFO
> FIFO, First In First Out
所选择换出的页面是最先进入的页面。

Binary file not shown.

After

Width:  |  Height:  |  Size: 73 KiB