如何实现[自制操作系统]中的分页管理机制?
- 内容介绍
- 文章标签
- 相关推荐
本文共计2843个文字,预计阅读时间需要12分钟。
目录
一、背景回顾
二、规划页面
三、实现页面
四、运行测试
五、启动分页机制
1.创建分页器
目录
一、前景回顾
二、规划页表
三、实现页表
四、运行测试
一、前景回顾
前面我们已经介绍了分页机制的运行原理,那么如何开启分页机制呢,也简单,分为如下三个步骤:
1、创建页目录表并初始化页内存。
2、将页目录表地址赋值为CR3。
3、打开CR0寄存器的PG位。
可以看出页表是分页机制的核心,接下来我们将开始在我们的系统上实现一个二级页表。
二、规划页表
设计页表其实就是设计内存布局,不过在规划内存布局之前,我们需要了解用户进程与操作系统之间的关系。
在操作系统中,为了计算机安全,用户进程始终是运行在低特权级的。用户进程需要访问硬件相关资源时,是需要向操作系统申请,然后通过系统调用的方式陷入操作系统,由操作系统去做并且将结果返回给用户进程。进程可以有多个,但是操作系统只有一个。所以操作系统必须“共享”给每一个进程,他们的关系如图所示。
本文共计2843个文字,预计阅读时间需要12分钟。
目录
一、背景回顾
二、规划页面
三、实现页面
四、运行测试
五、启动分页机制
1.创建分页器
目录
一、前景回顾
二、规划页表
三、实现页表
四、运行测试
一、前景回顾
前面我们已经介绍了分页机制的运行原理,那么如何开启分页机制呢,也简单,分为如下三个步骤:
1、创建页目录表并初始化页内存。
2、将页目录表地址赋值为CR3。
3、打开CR0寄存器的PG位。
可以看出页表是分页机制的核心,接下来我们将开始在我们的系统上实现一个二级页表。
二、规划页表
设计页表其实就是设计内存布局,不过在规划内存布局之前,我们需要了解用户进程与操作系统之间的关系。
在操作系统中,为了计算机安全,用户进程始终是运行在低特权级的。用户进程需要访问硬件相关资源时,是需要向操作系统申请,然后通过系统调用的方式陷入操作系统,由操作系统去做并且将结果返回给用户进程。进程可以有多个,但是操作系统只有一个。所以操作系统必须“共享”给每一个进程,他们的关系如图所示。

![如何实现[自制操作系统]中的分页管理机制?](/imgrand/VAEEMt98.webp)