如何为操作系统开发实现文件系统

问题描述

我正在使用 Xfce Ubuntu 并在 GCC 10.2 上构建。我想为我的业余爱好者操作系统使用 FAT 文件系统或 EXT2 文件系统。我需要针对此问题的特定说明和特定代码,并且我正在使用 C 来开发我的操作系统。我想在操作系统中列出目录、制作文件、读取文件等。此外,有人正在制作一个 32 位受保护的操作系统,我使用自己的内核,该内核不是基于 Linux 之类的。意味着我没有任何额外的驱动程序等。请帮助我:如何在我自己的操作系统中使用 C(或 C++,但我更喜欢 C)中的文件系统?

解决方法

如何实现一个用于操作系统开发的文件系统

您首先需要阅读text book about operating systems

您不用使用文件系统,而是实现您的文件系统。如需灵感,请查看 Ext2VFATXFS。在 Linux kernel 源代码中研究他们的源代码。

当然,您需要一些编译器,因此将 GCC(作为交叉编译器)移植到您的操作系统。

另见OSDEVLinux From Scratch

预算几年的全职开发工作。