Сегодняшняя сессия вопросов и ответов приходит к нам благодаря SuperUser - подразделению Stack Exchange, основанной на сообществах сайтам Q & A.
Вопрос
Считыватель SuperUser P_Q интересуется файловыми системами, пишет:
I have used Windows since childhood, and when I hear the phrase “Windows files system” I think of directories (folders) within directories, a folder called SYSTEM, a folder called PROGRAM FILES, etc. Is this what the system is? Just the layout of the folders?
And then I recently started using Linux, and my reference book says in the Linux filesystem everything starts at root and branches off from there. How is that really different from Windows? I mean, it seems the Linux system and the Windows system are just two ways of setting up a directory tree. Is this what file system means?
Является ли это простой подход к файловой системе наиболее точным способом ее описания? Давайте копать немного глубже.
Ответ
Докладчик SuperUser Том Вейсман предлагает проницательный взгляд на структуру файловых систем как в операционных системах Windows, так и на Linux. Он пишет:
Just the layout of the folders?
Sounds too good to be true…
Let’s take the FAT32 file system as an example. I can install Windows XP on it, but I can also use it on a memory card. On a memory card, you don’t have those folders that you sum up.
So… Don’t confuse the directory layout of a family of operating systems with a file system.
Is this what a file system means?
No… It refers to the underlying bits and bytes that make your directory structure work.
The underlying bits and bytes? Show me FAT32!
Let’s look at what FAT32 looks like, it has:
- Some header sectors in the beginning, like Volume ID and Reserved Sectors
- Two File Allocation Tables, allowing us to figure out where our files are.
- Clusters containing all our directory and file data.
- Some very small unused space that we can’t use.
A directory entry would point to a list of directory/file entries…
Do other file systems differ? Show me NTFS!
I’m going to show you an image so you can notice the differences, the rest is homework for the reader: More information can be found on this blog archive or Google.
The main idea is that NTFS is a huge improvement over FAT32 that is more robust/efficient. Having a better idea of (un)used space by using a bitmap to further help against fragmentation. And so on…
What about the file systems on Linux? Show me ext2/3!
The idea is that ext2/ext3 use super blocks and inodes; this allows for soft and hardlinks, directories that are files, files with multiple names and so on. The main gist is abstracting away to allow the file system to be capable of doing more meta-ish stuff…
Чтобы узнать больше о файловых системах, ознакомьтесь со следующими статьями How-To Geek:
- HTG объясняет: Объяснение структуры каталогов Linux
- HTG объясняет: какую файловую систему Linux вы должны выбрать?
- Какую файловую систему следует использовать для моего USB-накопителя?
Есть что добавить к объяснению? Звучит в комментариях. Хотите узнать больше ответов от других пользователей Windows? Посмотрите здесь полную дискуссионную тему.