Я использовал Windows с детства, и когда я слышу фразу «Файловая система Windows», я думаю о каталогах (папках) внутри каталогов, папке с именем SYSTEM, папке с файлами PROGRAM FILES и т. Д. Является ли это системой? Просто расположение папок?
А потом я недавно начал использовать Linux, и мой справочник говорит, что в файловой системе Linux все начинается с корня и оттуда ветвится. Чем это действительно отличается от Windows? Я имею в виду, что система linux и система windows - это всего лишь два способа настройки дерева каталогов. Это то, что означает файловая система?
/
. В Windows это не так, так как в ней отсутствует монтирование в стиле UNIX (поправьте меня, если я ошибаюсь), поэтому все организовано вокруг дисков.Ответы:
Просто расположение папок?
Звучит слишком хорошо, чтобы быть правдой...
Давайте возьмем файловую систему FAT32 в качестве примера. Я могу установить Windows XP на него, но я также могу использовать его на карте памяти. На карте памяти нет тех папок, которые вы суммируете.
Итак ... Не путайте структуру каталогов семейства операционных систем с файловой системой.
Это то, что означает файловая система?
Нет ... Это относится к основным битам и байтам, которые заставляют вашу структуру каталогов работать.
Основные биты и байты? Покажите мне FAT32!
Давайте посмотрим, как выглядит FAT32 :
Таблица FAT состоит из множества записей, которые выглядят следующим образом, что позволяет нам определить, где каталог или файл хранится в пространстве кластеров, а также некоторые атрибуты и размер.
Запись каталога будет указывать на список записей каталога / файла ...
В пространстве кластеров мы можем теперь путешествовать по нашим кластерам, чтобы найти нужные нам данные. Кластер по существу содержит данные и информацию, где следующие фрагменты
Отличаются ли другие файловые системы? Покажи мне NTFS!
Я собираюсь показать вам изображение, чтобы вы могли заметить различия, остальное домашняя работа для читателя: больше информации можно найти в этом архиве блога или Google.
Основная идея заключается в том, что NTFS является огромным улучшением по сравнению с FAT32, который является более надежным / эффективным. Имея лучшее представление о (не) используемом пространстве, используя растровое изображение, чтобы дополнительно помочь в борьбе с фрагментацией. И так далее...
- http://thinkdifferent.typepad.com/photos/uncategorized/04ntfsfilesystem.png
Как насчет файловых систем в Linux? Покажи мне ext2 / 3!
Идея состоит в том, что ext2 / ext3 используют суперблоки и иноды; это позволяет использовать мягкие и жесткие ссылки, каталоги, которые являются файлами, файлы с несколькими именами и так далее. Основная суть состоит в том, чтобы абстрагироваться от файловой системы, чтобы она могла выполнять больше меташиша ...
- http://thinkdifferent.typepad.com/photos/uncategorized/03extfilesystem.png
источник
Большая разница между Linux и Windows, по крайней мере, когда дело доходит до их файловых систем и деревьев каталогов, заключается в том, что в Linux «все является файлом», и все происходит из одного корня. Это также относится почти ко всем производным от Unix ОС, таким как BSD, OS X, Solaris и т. Д., Но я собираюсь просто сказать «Linux», чтобы быть универсальным (если не совсем точным).
Но что это означает на практике?
Windows допускает наличие нескольких именованных корней для своих файловых систем. Вы понимаете это как буквы дисков
C: D: E:
и так далее. У каждого есть root (\
) и дерево, которое происходит от него. Последние версии Windows допускают такие вещи, как точки монтирования тома, где том (то, что вы считаете разделом) можно монтировать в существующую пустую папку. Таким образом, вместоD:
\ представляющего корень, скажем, вашего оптического привода (CD / DVD / BR), вы можете смонтировать егоC:\Optical
вместо этого. Это больше похоже на то, что делает Linux. Существует также базовое, однокорневое пространство имен объектов для всего в Windows, аналогичное тому, что использует Linux и которым управляет диспетчер объектов , но большинство пользователей редко видят в нем ссылки, поскольку оно в основном используется ядром.Linux имеет один корень:
/
. Все происходит от него, и он не обязательно должен представлять ваш жесткий диск. Жесткие диски, оптические приводы, карты памяти, сетевые ресурсы, принтеры, сканеры, процессоры, оперативная память, процессы ... все это представлено где-то внутри этого единого пространства имен и может быть доступно любому процессу с помощью стандартных API-интерфейсов управления файлами, если вы предполагаете, что у вас есть достаточно высокий уровень доступа. То, что вы можете читать или писать с него, не означает, что это файл на вашем жестком диске в Linux. Например, устройства обычно встраиваются в него/dev
, поэтому доступ к вещам там часто означает, что вы разговариваете с устройством - может быть, это звуковая карта, или сканер, или камера и т. Д. Они называются файлами устройств . Procfsэто специальная «файловая система», которая обычно монтируется/proc
и имеет «каталог» для каждого запущенного процесса, с файлами в каждом каталоге, относящимися к таким вещам, как командная строка, используемая для вызова этого процесса, карты памяти, открытые файлы и т. д. Sysfs - это еще один специальная файловая система (смонтированная/sys
), используемая для предоставления обширной информации о запущенных объектах ядра, а также для точной настройки работающего ядра путем простой записи в определенный файл.источник
Файловая система не только о том, как настроено дерево каталогов, но также и о том, как эта информация кодируется на носителе. Для Linux существует несколько файловых систем: ext3, xfs, raiserfs и т. Д.
источник
Вы можете думать о файловых системах как о различных форматах для хранения файлов и папок, в некоторой степени аналогично тому, как MS Word и PDF - это разные форматы для хранения документов, или MP3 и WAV - это разные форматы для хранения аудио.
Имея несколько файлов и папок, файловая система - это формат и код, который сохраняет их на диск, чтобы их можно было снова прочитать.
И точно так же, как не все видеоплееры могут воспроизводить все форматы видео, не все операционные системы могут читать все файловые системы. Например, если вы храните файл из Linux на USB-накопителе в формате ext3, Windows не сможет прочитать файл, поскольку не знает, как обращаться с файловой системой ext3.
Общие файловые системы включают
Смотрите Википедию для сравнения файловых систем .
источник