小编Blu*_*ris的帖子

玩具OS文件系统

我在assembly/c中开发了一个运行基本终端的基本内核.我把它设置为用grub运行iso.

我想继续这个操作系统,但没有文件系统,我觉得我真的没有别的办法.经过很长一段时间在互联网上,我已经想出了实现这一点我真的无能为力.

人们已经说过实现FAT或制作VFS,但没有任何进一步,也没有教程,也没有任何参考.

有人可以解释文件系统是如何工作的,我可以在哪里开始/我可以连接预制系统,以及如何使用它?

另外,在编译我的操作系统时,我无法访问标准库.我使用gcc,nasm,ld和grub-mkrescue(用于磁盘映像).我使用qemu进行模拟.

编辑减少OT

有人可以详细描述文件系统的工作原理,所以当我查看已经实现的文件系统的来源(如FAT)时,我能理解如何将它应用到我自己的操作系统中吗?

编辑 - 更简单

更容易.我怎么能直接访问硬盘?我的内核完全在保护模式下运行,因此我可以切换并直接写入硬盘驱动器.可以使用如下文件实现文件系统:

name 特殊字符 文本 特殊字符

即:

hello world.script 0x00 println"Hello,world !!" 为0x00

在不需要特殊分段的地方,你只需查看文件名和特殊字符(不是像'\ 0'这样的字符串),然后读取,直到找到第二个非字符串字符.

是否有办法通过切入和退出保护模式或写入硬盘驱动器来实现这一点?

c filesystems assembly kernel osdev

3
推荐指数
1
解决办法
1340
查看次数

标签 统计

assembly ×1

c ×1

filesystems ×1

kernel ×1

osdev ×1