【发布时间】:2020-06-08 14:12:52
【问题描述】:
我目前正在开发一个用于学习目的的微型操作系统(有关代码,请参阅 here),并且我目前正在修补分页和内存管理。
为了处理页面错误,我知道我需要某种磁盘驱动程序来替换物理内存中的帧。但是,我在网上找不到任何相关信息,而且我能找到的所有教程都有一个简单的页面错误处理功能,它只打印页面错误的原因,而我也想加载正确的页面/框架,如果由于页面不存在于内存中,因此引发了错误。
谁能提供一些帮助或任何在线参考?
【问题讨论】:
-
我真的不明白你所说的“某种磁盘驱动程序”是什么意思,而且你没有告诉我们什么“你找到的教程......打印出页面错误的原因”。
-
还有……还有什么比 Linux 更好的学习例子?一个简单的谷歌搜索“linux页面错误处理”产生了许多详细的在线文档的链接。
-
@MikeRobinson 据我所知,处理虚拟内存涉及能够将当前未使用的页面换出到磁盘,然后在需要时将它们换回。为此,我需要某种与磁盘“通信”的方式:驱动程序。
-
无论如何你都需要一个文件系统,而不仅仅是能够交换内存块。
-
大概您的操作系统已经具有某种 I/O 架构,具有“磁盘驱动程序”和处理异步请求的能力。再一次,Linux 拥有出色的架构理念,随着时间的推移,这些理念已经有所发展。
标签: driver paging disk osdev page-fault