linux内存管理

来源:互联网 发布:如何自定义方法java 编辑:程序博客网 时间:2024/05/17 20:21

1请求分页机制

逻辑空间分页、内存空间分页、逻辑地址表示。

在一般的分页管理中,32位的为例,0~~11位是页内位移d,12~~31是页号。

也就是每页大小是2^12次方:4K

页号是2^20次方,所以有1MB个页面。

2:请求页的思想

当执行一个程序的时候,才把它换入内存,但并不是全部调入内存,而是用哪一页调入哪一页,这样减少了对换时间和所需内存的空间,允许增加程序的道数。

当需要使用的页面不再内存,则不能使用,需要先调进来在使用。

3:多级页表。

每个虚拟空间可以达到4GB,而这被分为两部分:

最高的1GB是“系统空间”,供系统内核使用

较低的3GB是各个进程的“用户空间”。

系统空间由所有进程共享使用。

虽然理论上用户空间是3GB,但是还会受到实际的存储空间大小、物理存储器(包括内存以及磁盘交换区或者交换文件)的限制。

分页管理示意图

进程虚拟空间

4:内存页的分配与释放

5:内存交换

守护进程:kswapd
来完成的。

001:减少缓冲区和页高速缓冲区的大小

002:吧System V的共享内存页交换到交换文件中,从而释放物理内存。

003:将页面换出物理内存或者直接舍弃它们。




0 0
原创粉丝点击