您可以查看FUSE - 用户空间中的文件系统。 它是一个使文件系统开发比内核内的普通文件系统开发容易得多的系统。 例如,hellofs 是一个小型且极其有限的文件系统,只有不到 100 行 C 代码。
我为学生设计了一个小型家庭作业,使用它来开发一个非常简单的文件系统保险丝。 不幸的是,该课程的资源目前仅提供德语版本。 使用的文件系统基于书籍 "UNIX Filesystems" by Steve Pate - 有关文件系统开发的非常好的资源。
You could look at FUSE - Filesystem in Userspace. It is a system that makes filesystem development much easier than normal filesystem development inside the Kernel. For example the hellofs is a small, extremely limited filesystem in less than 100 lines of C code.
I designed a small series of homeworks for students to development an really simple filesystem using FUSE. Unfortunatelly, the resources for the course are currently only available in German. The filesystem used is based on the book "UNIX Filesystems" by Steve Pate - A pretty good resource on filesystem development.
尝试看看 Minix 或 Linux 上的一些最早的非日志文件系统。 您应该能够通过浏览他们的遗留代码来找到一些东西来查看。
还可以选择一本像 Tanenbaum 所著的《现代操作系统》这样的书。 这包含一些低级理论。 如果您想为 Linux 编写驱动程序,那么有一本关于编写驱动程序/文件系统模块的免费书籍 Linux 祝
你好运
Try and look at some of the first, non-journaling filesystems on Minix or Linux. You should be able to find something to look at by browsing their legacy code.
Also pick up a book like Modern Operating Systems by Tanenbaum. This contains some low-level theory. If you want to write the driver for Linux then there is a free book on writing drivers/fs modules for Linux
FAT (specifically FAT16) is an extremely simple filesystem -- so simple in fact that building a FAT16 filesystem driver was a single programming lab assignment for a 200-level Computer Science course when I was in school.
If you want to get an idea of the minimum complexity necessary for a real-world filesystem, that's a decent one to look at.
发布评论
评论(3)
您可以查看FUSE - 用户空间中的文件系统。 它是一个使文件系统开发比内核内的普通文件系统开发容易得多的系统。 例如,hellofs 是一个小型且极其有限的文件系统,只有不到 100 行 C 代码。
我为学生设计了一个小型家庭作业,使用它来开发一个非常简单的文件系统保险丝。 不幸的是,该课程的资源目前仅提供德语版本。 使用的文件系统基于书籍 "UNIX Filesystems" by Steve Pate - 有关文件系统开发的非常好的资源。
You could look at FUSE - Filesystem in Userspace. It is a system that makes filesystem development much easier than normal filesystem development inside the Kernel. For example the hellofs is a small, extremely limited filesystem in less than 100 lines of C code.
I designed a small series of homeworks for students to development an really simple filesystem using FUSE. Unfortunatelly, the resources for the course are currently only available in German. The filesystem used is based on the book "UNIX Filesystems" by Steve Pate - A pretty good resource on filesystem development.
尝试看看 Minix 或 Linux 上的一些最早的非日志文件系统。 您应该能够通过浏览他们的遗留代码来找到一些东西来查看。
还可以选择一本像 Tanenbaum 所著的《现代操作系统》这样的书。 这包含一些低级理论。 如果您想为 Linux 编写驱动程序,那么有一本关于编写驱动程序/文件系统模块的免费书籍 Linux 祝
你好运
Try and look at some of the first, non-journaling filesystems on Minix or Linux. You should be able to find something to look at by browsing their legacy code.
Also pick up a book like Modern Operating Systems by Tanenbaum. This contains some low-level theory. If you want to write the driver for Linux then there is a free book on writing drivers/fs modules for Linux
Good Luck
FAT(特别是 FAT16)是一个极其简单的文件系统——事实上,非常简单,以至于当我在学校时,构建一个 FAT16 文件系统驱动程序只是一个 200 级计算机科学课程的编程实验室作业。
如果您想了解现实世界文件系统所需的最低复杂性,那么这是一个不错的选择。
FAT (specifically FAT16) is an extremely simple filesystem -- so simple in fact that building a FAT16 filesystem driver was a single programming lab assignment for a 200-level Computer Science course when I was in school.
If you want to get an idea of the minimum complexity necessary for a real-world filesystem, that's a decent one to look at.