我想知道操作系统是如何读写硬盘的。
作为练习,我想实现一个简单的文件系统,不带目录,可以读写文件。
我应该从哪里开始?
C/C++是否足够,还是需要使用更底层的方法?
这个任务对一个人来说是否太过繁重?
我想知道操作系统是如何读写硬盘的。
作为练习,我想实现一个简单的文件系统,不带目录,可以读写文件。
我应该从哪里开始?
C/C++是否足够,还是需要使用更底层的方法?
这个任务对一个人来说是否太过繁重?
看看 FUSE:http://fuse.sourceforge.net/
这允许您编写文件系统而无需实际编写设备驱动程序。从那里开始,您可以从一个单一的文件开始。基本上创建一个长度为100MB的文件,然后编写用于读写该文件的例程。
在您对结果满意之后,可以考虑编写设备驱动程序,并使您的驱动程序针对物理磁盘运行。
好处是使用 FUSE 几乎可以使用任何语言,不仅仅是 C/C++。
structs
来制作一个简单的文件系统。它的功能非常有限,但在嵌入式系统中可能已经足够了。 - user6754053学习文件系统的概念并不一定需要使用磁盘,我认为只需创建一个由512字节的字节数组组成的数组即可。想象一下这是您的硬盘并开始进行一些实验。 此外,您可能想看一下一些标准的操作系统教科书,比如http://codex.cs.yale.edu/avi/os-book/OS8/os8c/index.html