NTFS, fat32, exfat, could I theoretically create my own filesystem? If so would my computer even be able to work with most files or connect to other devices?

  • Phoenixz@lemmy.ca
    link
    fedilink
    arrow-up
    16
    ·
    2 days ago

    Yes, you can design your own filesystem format and make a driver for that and use it on your computer

    It would be insanity, but you could.

    Basically: Filesystems are hard to make. Really really hard.

  • Xatolos@reddthat.com
    link
    fedilink
    arrow-up
    2
    ·
    1 day ago

    Everyone answered the first part, so as for connecting to other devices, that’s a part of communication protocols which doesn’t concern about what file system you use.

    Bluetooth will work with others as long as you have Bluetooth connection protocols, Internet uses TCP/IP, LANs use Ethernet, etc…

  • Spost@lemmy.blahaj.zone
    link
    fedilink
    arrow-up
    103
    ·
    3 days ago

    You can! All of those filesystems you mentioned were created by people, and you can do it just the same way. It is, however, quite a lot of work to get something as good as any of those, let alone better. You’ve also hit on one of the problems - nothing else is going to support your filesystem.

    If you’re interested in trying anyway, just out of curiosity, do a little research into FUSE, Filesystem in Userspace. FUSE is a tool that lets you write a filesystem without needing to integrate with the very low-level parts of the operating system, which takes some burden off of your implementation.

  • rdri@lemmy.world
    link
    fedilink
    arrow-up
    6
    ·
    2 days ago

    While you are at it, might concentrate on defects of certain fs you don’t like. Personally I hate the NTFS path length limit. XFS handles it much better overall but individual file names are much more limited because nobody thought about Unicode.

    Also you could probably fork some fs like XFS.

  • StarvingMartist@sh.itjust.worksOP
    link
    fedilink
    English
    arrow-up
    52
    ·
    2 days ago

    This is why I love Lemmy, I can ask this obscure, unrealistic question, and people will still answer it with the “yeah you probably shouldn’t but here’s how you could”

  • JumpyWombat@lemmy.ml
    link
    fedilink
    arrow-up
    27
    ·
    2 days ago

    Building a filesystem essentially means linking a directory of filenames to physical blocks and handling CRUD operations. It’s not that hard. The hard part comes when you go beyond the basics to build something efficient with useful features. For example, fast access, journaling and fragmentation are all challenging topics. You can try without messing with the kernel by creating an in-memory filesystem (essentially a block of RAM) and playing with the I/O.

  • stoly@lemmy.world
    link
    fedilink
    arrow-up
    10
    ·
    2 days ago

    People have and do, but the effort is ridiculous and requires some very high-level computer science or computer engineering skills.

  • Treczoks@lemmy.world
    link
    fedilink
    arrow-up
    21
    ·
    2 days ago

    That’s how those filesystems came into existence: someone designed them.

    Yes, you can write your own filesystem, and use it on your own drives.

    Yes, you will continue to be able to use other filesystems, unless you intentionally remove them from the system.

  • Arthur Besse@lemmy.ml
    link
    fedilink
    English
    arrow-up
    27
    ·
    edit-2
    3 days ago

    NTFS, fat32, exfat, could I theoretically create my own filesystem?

    Yes. There are many different file systems and you can absolutely create your own. Making one that is reliable and performs well, and/or is something you can actually use for the disk that you boot from, generally involves low-level kernel programming and years of work - and is not exactly a beginner’s programming project.

    However, you can also more easily play with implementing filesystems in a high-level language using FUSE.

    If so would my computer even be able to work with most files or connect to other devices?

    Your computer can use many different filesystems at the same time. You can also store a filesystem in a file on another filesystem, rather than dedicating a partition of a physical disk to it. So, yes, you can use a filesystem of your own design at the same time you are using other storage devices formatted with more common filesystems.