如何实现[自制操作系统]中的分页管理机制?

2026-04-28 10:100阅读0评论SEO教程
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计2843个文字,预计阅读时间需要12分钟。

如何实现[自制操作系统]中的分页管理机制?

目录

一、背景回顾

二、规划页面

三、实现页面

四、运行测试

五、启动分页机制

1.创建分页器

目录
一、前景回顾
二、规划页表
三、实现页表
四、运行测试

一、前景回顾

  前面我们已经介绍了分页机制的运行原理,那么如何开启分页机制呢,也简单,分为如下三个步骤:

  1、创建页目录表并初始化页内存。

  2、将页目录表地址赋值为CR3。

如何实现[自制操作系统]中的分页管理机制?

  3、打开CR0寄存器的PG位。

  可以看出页表是分页机制的核心,接下来我们将开始在我们的系统上实现一个二级页表。

二、规划页表

  设计页表其实就是设计内存布局,不过在规划内存布局之前,我们需要了解用户进程与操作系统之间的关系。

  在操作系统中,为了计算机安全,用户进程始终是运行在低特权级的。用户进程需要访问硬件相关资源时,是需要向操作系统申请,然后通过系统调用的方式陷入操作系统,由操作系统去做并且将结果返回给用户进程。进程可以有多个,但是操作系统只有一个。所以操作系统必须“共享”给每一个进程,他们的关系如图所示。

阅读全文

本文共计2843个文字,预计阅读时间需要12分钟。

如何实现[自制操作系统]中的分页管理机制?

目录

一、背景回顾

二、规划页面

三、实现页面

四、运行测试

五、启动分页机制

1.创建分页器

目录
一、前景回顾
二、规划页表
三、实现页表
四、运行测试

一、前景回顾

  前面我们已经介绍了分页机制的运行原理,那么如何开启分页机制呢,也简单,分为如下三个步骤:

  1、创建页目录表并初始化页内存。

  2、将页目录表地址赋值为CR3。

如何实现[自制操作系统]中的分页管理机制?

  3、打开CR0寄存器的PG位。

  可以看出页表是分页机制的核心,接下来我们将开始在我们的系统上实现一个二级页表。

二、规划页表

  设计页表其实就是设计内存布局,不过在规划内存布局之前,我们需要了解用户进程与操作系统之间的关系。

  在操作系统中,为了计算机安全,用户进程始终是运行在低特权级的。用户进程需要访问硬件相关资源时,是需要向操作系统申请,然后通过系统调用的方式陷入操作系统,由操作系统去做并且将结果返回给用户进程。进程可以有多个,但是操作系统只有一个。所以操作系统必须“共享”给每一个进程,他们的关系如图所示。

阅读全文