filesystems

#define filesystems: \ I---------------------------------------------------------------------------------------------------------------------\ I---------------------------------------------------------------------------------------------------------------------\ I---------------------------------------------------------------------------------------------------------------------\ I /$$$$$$$$ /$$ /$$ /$$$$$$ /$$ \ I | $$_____/|__/| $$ /$$__ $$ | $$ \ I | $$ /$$| $$ /$$$$$$ | $$ \__/ /$$ /$$ /$$$$$$$ /$$$$$$ /$$$$$$ /$$$$$$/$$$$ /$$$$$$$ \ I | $$$$$ | $$| $$ /$$__ $$ | $$$$$$ | $$ | $$ /$$_____/|_ $$_/ /$$__ $$| $$_ $$_ $$ /$$_____/ \ I | $$__/ | $$| $$| $$$$$$$$ \____ $$| $$ | $$| $$$$$$ | $$ | $$$$$$$$| $$ \ $$ \ $$| $$$$$$ \ I | $$ | $$| $$| $$_____/ /$$ \ $$| $$ | $$ \____ $$ | $$ /$$| $$_____/| $$ | $$ | $$ \____ $$ \ I | $$ | $$| $$| $$$$$$$ | $$$$$$/| $$$$$$$ /$$$$$$$/ | $$$$/| $$$$$$$| $$ | $$ | $$ /$$$$$$$/ \ I |__/ |__/|__/ \_______/ \______/ \____ $$|_______/ \___/ \_______/|__/ |__/ |__/|_______/ \ I /$$ | $$ \ I | $$$$$$/ \ I \______/ \ I---------------------------------------------------------------------------------------------------------------------\ I---------------------------------------------------------------------------------------------------------------------\ I---------------------------------------------------------------------------------------------------------------------I # "files filter zoomers" https://www.theverge.com/22684730/students-file-folder-directory-structure-education-gen-z • a protocol for interpreting data on a disk • tree database, abstractly speaking • relatively large amounts of metadata is required to identify what a file is and where its located • the operating system is responsible for implementing filesystem behaviour • different operating systems will have different preferences for filesystems, but broadly speaking the state of compatibility is good " \ > I'm not proposing my idea is at all superior, \ > I'm genuinely curious if file systems inherently require a folder structure \ > or if they could exist as a more amorphous tag/filter system. \ Lets say we ditch folders entirely. \ It could theoretically work, but it proposes a problem: how do you refer to files \ I'm currently doing a cold back up of my folder called \"Main\". \ I have a folder named 2022_07_03 and a folder 2022_11_22. \ both contain a folder called Main containing hundreds of files with the same name. \ They all could have different identification numbers which allows the OS \ to differentiate them, but for a human the task would be hellish. \ Also imagine every file you have is in the same directory -no folders, \ just the files- and you press a tab in your shell. \ Its not just that you couldn't easily find you're looking for, \ its the overhead to list. \ Filtering isn't free either. Its searching a linear struct vs a tree. \ Everything i brought up could probably be worked around and coped with, \ but absolutely useless when one can just have a folder structured filesystem \ and initialize a tag database on top of it. \ " - Anons arguing over why filesystems exist File_fragmentation: • when files are delete-d gaps are left in memory • used to maximize data capacity/spare disk health • a file being stored in non continuous blocks is called fragmented • causes I/O overhead ○ occurs when: • deleted files leave some empty space behind themselves • the operating system decides it may break a file into multiple smaller pieces and save them not directly next to each other defragging: • the process of removing fragmentation • used to be a giant concern (and painful to resolve) • handled seamlessly by modern operating systems Partitions: • an abstracted part of a disk • for normal uses and purposes a partition an be treated as a stand alone disk; ie. filesystems can be written into individual partitions • having multiple partitions allows for breaking up the disk logically and having a pallet of different types of filesystems //?!; does partitioning virtualize anything Partition_tables: • responsible for keeping track of partitions • always located at a conventional location on the disk • some retarded OS-es (((Windows))) can see missing a partition table as an error and start auto-"repairing" it MBR:"Master Boot Record" • max 4 partitions GPT:"GUID Partition Table" • max 128 partitions • has 2 copies, a primary and a backup FAT:"File Allocation Table" • max 2 TB • max 4 GB file size • most widely compatible (with operating systems) • most light on SSD-s (as in life time) ○ file types: • files • folders — metadata: • creation • last change NTFS:"New Technology File System" • made by Microsoft and used by windows • max 16 EB • files can be as large as the partition ○ file types: • files • folders • symlinks • hardlinks — metadata: • file owner • POSIX permissions • creation • last change • access control list ○ file names: — disallowed chars / \ ? < • : * | " — disallowed file names: <string>. // any filename ending with a dot ('.') com1 com2 com3 com4 com5 com6 com7 com8 com9 lpt1 lpt2 lpt3 lpt4 lpt5 lpt6 lpt7 lpt8 lpt9 con nul prn EXT:"EXTended file system" • made for and used by Linux (see AT "/Linux/File system") • max 4 EiB — metadata: • file owner • POSIX permissions • creation • last change • access control list