Какая файловая система лучше? Что такое файловая система Популярные файловые системы

Операционная система Linux поддерживает огромное количество разнообразных типов файловых систем. С точки зрения Linux файловые системы можно условно разделить на четыре группы:

  • «Родные» файловые системы. Имеется в виду, что файловая система поддерживает все атрибуты, свойственные Linux: права доступа, временные метки, информацию о владельце файла и т.д.;
  • «Неродные» файловые системы. То есть файловые системы, не поддерживающие атрибуты Linux;
  • Виртуальные. Это файловые системы, которые не имеют физического носителя;
  • Сетевые файловые системы.

К «родным» файловым системам можно отнести:

  • reiserfs

Файловая система ext2

Ext2 - это одна из первых файловых систем, используемых в Linux (Если говорить более точно, то первая файловая система Linux - это minix. Но возможности этой fs весьма ограничены, и она применялась только на начальном этапе развития Linux. ). Она была создана в 1993 году. Система считается очень надёжной и проверенной временем. Но, поскольку ext2 разрабатывалась в те времена, когда жёсткий диск размером 300 Мбайт считался очень большим, ей присущи некоторые ограничения. Применять эту fs для больших разделов не имеет смысла, она начнёт «тормозить», когда в разделе будет большое количество файлов. То есть ext2 считается медленной (Понятие «медленная» очень относительное. Ext2 считается медленной в Linux. Но если сравнить её со стандартной файловой системой FreeBSD, окажется, что ext2 очень даже быстрая. ). Конечно, с увеличением размеров дисков, с появлением новых веяний, в файловую систему вносились изменения, улучшающие её работу и функциональность. Например, поддержка POSIX ACL. Но всё же её не коснулись глобальные изменения, позволяющие говорить:

Да, это та самая, единственная файловая система, которая меня полностью устраивает.

Кроме того, ext2 имеет серьёзные ограничения:

  • Максимальный размер файла - 2048 Гбайт.
  • Максимальный размер файловой системы - 32768 Гбайт.
  • Максимальное количество поддиректорий в одной директории - 32768.

Журналируемые файловые системы

Сейчас файловую систему ext2 уже практически не используют. И дело даже не в её ограничениях, ext2 достаточно надёжная файловая система. Всё дело в скорости загрузки Linux-серверов. Необходимо, чтобы сервер работал постоянно. Но чудес не бывает, сервера иногда приходится перегружать. Ваша задача - сделать так, чтобы после падения системы они перегружались как можно быстрее. При включении сервера происходит проверка дисков. Процедура проверки файловых систем, особенно больших, - достаточно длительная процедура. Если таких файловых систем несколько, то их проверка может занять очень много времени. А сервер должен работать!

Для уменьшения времени, тратящегося на проверку, и для увеличения надёжности были разработаны журналируемые файловые системы. Если вы работали с базами данных, вам наверняка известно такое понятие как транзакция. В транзакцию объединяют несколько SQL-операторов. Система должна выполнить все операторы. Если хотя бы один из них не срабатывает, то система откатывается на начало транзакции. Если система была отключена во время выполнения транзакции, при включении, если это возможно, она пытается выполнить оставшиеся операторы или вернуться на начало транзакции.

В современные файловые системы была добавлена поддержка журнала транзакций. С точки зрения работы файловой системы все операции с файлом выглядят как одна транзакция. Если посмотреть подробнее на файловые операции в Linux, запись или изменение файла - это довольно сложная процедура, состоящая из многих действий с данными на диске. При использовании журнала транзакций, прежде чем какие-либо физические изменения будут произведены на диске, в журнале открывается новая транзакция, в которой будут записаны все действия, которые будут производиться с файловой системой. И только после того, как транзакция будет сохранена на диске, будут производится изменения в файловой системе.

Если файловая система будет отключена некорректно, программа проверки сначала смотрит журнал транзакций и на основании данных, находящихся в нём, попытается либо вернуть (откатить) систему на момент начала транзакции, или, если это возможно, завершить действия, описанные в транзакции. Учитывая то, что журнал имеет небольшой размер (в файловой системе ext3 он равен 32 Мбайт), процесс восстановления файловой системы значительно ускоряется.

Файловая система ext3

Когда возникла необходимость внедрения журналируемых файловых систем в Linux, компания RedHat разработала файловую систему ext3. В RedHat пошли путём наименьшего сопротивления - за основу взяли хорошо известную ext2 и добавили поддержку журнала.

По своему физическому устройству ext2 идентична ext3. Эта особенность позволила применять для работы с ext3 такие же утилиты (создание, проверка и настройка файловых систем), как и для работы с ext2.

Несмотря на добавление журнала, ext3 работает быстрее, чем ext2. К достоинствам ext3 следует также отнести возможность журналирования не только необходимых действий, но и данных, что не позволяют делать другие журналируемые системы. Благодаря этой особенности ext3 считается очень надёжной.

Ext3 поддерживает три режима работы:

  • Writeback - в этом режиме не происходит журналирования данных. В журнал сначала помещаются так называемые метаданные (inode файла, ссылки на блоки). Только после того, как они попали в журнал, происходит запись данных в файловую систему.
  • Ordered (режим по умолчанию) - этот режим похож на описанный выше. Единственным отличием является то, что в режиме writeback в журнал сначала помещаются все метаданные, и только после этого происходят изменения в файловой системе. А в режиме ordered при помещении информации о блоке в журнал этот блок сразу же изменяется в файловой системе. Затем в журнал помещается информация о следующем блоке, и блок записывается, и так далее. То есть данные изменяются параллельно с изменением в журнале.
  • Journal - режим полного журналирования. В журнал попадают метаданные и данные. И только после этого происходит изменение в файловой системе.

Файловая система ReiserFS

ReiserFS разрабатывается Гансом Реизером (Hans Reiser) и его компанией Namesys (http://www.namesys.com). Это очень быстрая файловая система, хорошо приспособленная для хранения большого количества маленьких файлов.

В ней удалось решить проблему размещения на диске маленьких файлов. Например, в ext2/3 для размещения файла, содержащего единственный символ, на диске будет занят целый блок. Блок ext2/3 может иметь размер от 1 до 8 Кбайт (размер зависит от объема файловой системы ). А в ReiserFS в одном блоке могут быть размещены данные нескольких файлов. Более того, если размер файла очень мал, данные могут быть размещены в inode, то есть непосредственно в метаданных.

Файловая система базируется на оптимизированных деревьях (B tree). Это увеличивает скорость поиска в файловой системе и снимает вопрос ограничения количества файлов и директорий в директории.

С файлами большого размера данная файловая система тоже справляется весьма уверенно.

Для файловой системы ReiserFS версии 3.6 существуют следующие ограничения:

  • Максимальный размер файла - 8 Тбайт (для 32-битных компьютеров);
  • Максимальный размер файловой системы - 16 Тбайт.

Сейчас разрабатывается следующая версия ReiserFS - четвёртая. Ожидается, что она будет включена в ядрах версии 2.6.17 или 2.6.18.

Файловая система JFS

Эта файловая система разрабатывается компанией IBM и распространяется под лицензией GNU GPL. Описание JFS можно найти в Интернете на сайте . JFS используется не только в Linux, но и в других операционных системах, например, в AIX и OS/2.

JFS - журналируемая файловая система. Основной её конёк - использование совместно с LVM (Logical Volume Manager). LVM позволяет объединять несколько физических разделов жёстких дисков в один логический, который затем можно разбивать на разделы как обыкновенный жёсткий диск. При этом некоторые типы LVM позволяют на лету подключать новое дисковое пространство. И если на увеличивающихся разделах использовать файловую систему ext3, в один прекрасный момент вы получите сообщение о невозможности создания нового файла. Дело в том, что при форматировании раздела в ext3 в нём заранее, в зависимости от размера, резервируется конечное количество inodes. То есть заранее известно максимальное количество файлов. Если размер файловой системы не будет увеличиваться, то этого количества inodes вполне хватает для нормальной работы. В JFS есть возможность динамического увеличения файловой системы и количества inodes. Благодаря этому свойству, при увеличении размера файловой системы не возникает ограничение на количество создаваемых файлов.

Для файловой системы JFS существуют следующие ограничения:

  • Максимальный размер файла ограничивается разрядностью операционной системы.
  • Максимальный размер файловой системы - 512 Тбайт.

Файловая система XFS

Файловая система XFS разрабатывалась в компании SGI (бывшая Silicon Graphics, Inc.). XFS появилась на свет в 1994 году и изначально поставлялась с операционной системой IRIX. Компания SGI славится своими рабочими станциями для производства видео, а также серверами для хранения данных. Поэтому файловая система оптимизирована для обслуживания большого количества огромных файлов и для поддержки больших директорий. Благодаря своей структуре, она так же хорошо поддерживает большое количество маленьких файлов. По своему быстродействию она сопоставима с файловой системой ReiserFS, а по надёжности превосходит файловую систему Ганса (Сколько данных было мной потеряно в файловой системе ReiserFS на пустом месте. Спасало только резервное копирование. Поэтому сейчас я ReiserFS на серверах не использую. ).

Поддержка больших файлов возможна благодаря тому, что XFS - это 64-битная файловая система. А скорость работы файловой системы достигается благодаря использованию В+ деревьев для поиска и описания внутренних структур.

Внутренне устройство файловой системы достаточно сложное, и я не вижу необходимости в кратком описании ее структуры. Тем более, что в Интернете есть хорошие статьи, подробно описывающие XFS:

Файловые системы компании Microsoft

Если говорить о файловых системах компании Microsoft, в Linux поддерживаются FAT и NTFS. С FAT всё очень просто, структура файловой системы известна, поэтому в Linux она поддерживается полностью. Единственное, что необходимо учесть при использовании FAT, в Linux существует две её разновидности:

  • msdos - FAT12/16.
  • vfat - FAT32.

Поддержку FAT следует включать в том случае, если вы предполагаете использовать гибкие диски и различные USB-накопители: флеш-карты, жёсткие диски и т.д. Дело в том, что все они обычно отформатированы в FAT.

C NTFS немного сложнее. Эта файловая система нормально поддерживается в режиме только для чтения. В режиме записи её не рекомендуется использовать. Хотя режим записи поддерживается, но если почитать документацию к драйверам NTFS, вы увидите, что там большими буквами написано: в режиме записи можно только изменять содержимое существующих файлов, ни в коем случае нельзя создавать новые файлы, удалять или изменять размер существующих - это может разрушить файловую систему.

Файловые системы iso9660 и udf

Эти файловые системы используются для хранения информации на CD- и DVD-дисках.

Изначально iso9660 была очень простой файловой системой с большим количеством ограничений. Например, имена файлов как в MS DOS, ограничение на количество вложений директорий. Поэтому для iso9660 было написано несколько дополнений, расширяющих её возможности. В том числе, дополнения, позволяющие сохранять атрибуты файлов UNIX. Все дополнения поддерживаются драйвером файловой системы, и никаких затруднений при работе быть не должно. Более того, драйвер iso9660 поддерживает, как это ни странно звучит, режим записи. Он применяется при создании образов CD-ROM.

С udf тоже не замечено особых проблем. Таким образом, работа с CD- и DVD-дисками поддерживается в Linux без каких-либо ограничений.

Файловая система proc

Относится ке разряду виртуальных фаловых систем. Очень полезная файловая система. В работе администратора вы очень часто будете обращаться к её возможностям. В одной из первых глав, рассказывающих об организации файловой системы Linux, я вкратце рассказывал о предназначении этой файловой системы. Просто напомню, что файлы, которые находятся в директории /proc - это отображение области данных ядра на файловую систему. То есть, если вы просматриваете содержимое какого-либо файла, на самом деле вы видите определённую часть области данных ядра.

Ниже опишу некоторые интересные файлы, которые вы можете встретить в директории /proc . Содержимое файлов в вашей системе будет отличаться от содержимого файлов, показанных в качестве примеров.

/proc/cmdline

Содержит командную строку, переданную ядру при его запуске.

# cat cmdline BOOT_IMAGE=Linux-2613 ro root=303 #

/proc/cpuinfo

Информация о процессоре или процессорах.

# cat cpuinfo processor: 0 vendor_id: GenuineIntel cpu family: 6 model: 9 model name: Intel(R) Pentium(R) M processor 1400MHz stepping: 5 cpu MHz: 1399.050 cache size: 1024 KB fdiv_bug: no hlt_bug: no f00f_bug: no coma_bug: no fpu: yes fpu_exception: yes cpuid level: 2 wp: yes flags: fpu vme de pse tsc msr mce cx8 sep mtrr pge mca cmov pat clflush dts acpi mmx fxsr sse sse2 tm pbe est tm2 bogomips: 2800.93 #

/proc/devices

Список устройств.

# cat devices Character devices: 1 mem 2 pty 3 ttyp 4 /dev/vc/0 4 tty 4 ttyS 5 /dev/tty 5 /dev/console 5 /dev/ptmx 7 vcs 10 misc 13 input 14 sound 21 sg 116 alsa 128 ptm 136 pts 171 ieee1394 180 usb 226 drm 254 pcmcia Block devices: 3 ide0 7 loop 8 sd 11 sr 65 sd #

/proc/dma

Использование каналов DMA.

# cat dma 4: cascade #

/proc/filesystems

Список поддерживаемых файловых систем.

# cat filesystems nodev sysfs nodev rootfs nodev bdev nodev proc nodev sockfs nodev pipefs nodev futexfs nodev tmpfs nodev inotifyfs nodev eventpollfs nodev devpts ext3 ext2 nodev ramfs msdos vfat iso9660 ntfs udf nodev mqueue nodev usbfs #

/proc/interrupts

Распределение прерываний.

# cat interrupts CPU0 0: 850627 XT-PIC timer 1: 9691 XT-PIC i8042 2: 0 XT-PIC cascade 7: 2 XT-PIC parport0 8: 1 XT-PIC rtc 9: 6620 XT-PIC acpi 11: 238626 XT-PIC Intel 82801DB-ICH4, yenta, yenta, eth0, eth1, ohci1394, ehci_hcd:usb1, uhci_hcd:usb2, uhci_hcd:usb3, uhci_hcd:usb4, radeon@pci:0000:01:00.0 12: 65575 XT-PIC i8042 14: 11538 XT-PIC ide0 NMI: 0 LOC: 0 ERR: 0 MIS: 0 #

/proc/modules

Список загруженных модулей.

# cat modules irtty_sir 5248 0 - Live 0xf8a09000 sir_dev 13548 1 irtty_sir, Live 0xf8a1d000 irda 107768 1 sir_dev, Live 0xf8a3f000 crc_ccitt 1792 1 irda, Live 0xf8a04000 parport_pc 24324 0 - Live 0xf8a16000 parport 30920 1 parport_pc, Live 0xf8a0d000 uhci_hcd 30416 0 - Live 0xf89e7000 ehci_hcd 27656 0 - Live 0xf897a000 usbcore 103740 3 uhci_hcd,ehci_hcd, Live 0xf8990000 ohci1394 31092 0 - Live 0xf895e000 ieee1394 86392 1 ohci1394, Live 0xf891e000 ipw2100 78204 0 - Live 0xf8936000 ieee80211 18948 1 ipw2100, Live 0xf8918000 ieee80211_crypt 4488 1 ieee80211, Live 0xf88f8000 eepro100 26512 0 - Live 0xf8909000 pcmcia 30568 4 - Live 0xf8900000 firmware_class 7680 2 ipw2100,pcmcia, Live 0xf88f2000 yenta_socket 20748 4 - Live 0xf8879000 rsrc_nonstatic 11264 1 yenta_socket, Live 0xf8875000 pcmcia_core 34640 3 pcmcia,yenta_socket,rsrc_nonstatic, Live 0xf88e2000 #

/proc/mounts

Содержит список подключенных файловых систем.

# cat mounts rootfs / rootfs rw 0 0 /dev/root / ext3 rw 0 0 proc /proc proc rw,nodiratime 0 0 sysfs /sys sysfs rw 0 0 none /dev ramfs rw 0 0 /dev/hda5 /usr ext3 rw 0 0 /dev/hda6 /home ext3 rw 0 0 /dev/hda1 /mnt/win ntfs ro,noatime,nodiratime,uid=0,gid=0,fmask=0177,dmask=077,nls=iso8859-1, errors=continue,mft_zone_multiplier=1 0 0 devpts /dev/pts devpts rw 0 0 usbfs /proc/bus/usb usbfs rw 0 0 #

/proc/partitions

Содержит список разделов всех подключенных накопителей.

# cat partitions major minor #blocks name 3 0 58605120 hda 3 1 10485688 hda1 3 2 506520 hda2 3 3 9775080 hda3 3 4 1 hda4 3 5 9775048 hda5 3 6 28062688 hda6 #

/proc/pci

Список устройств, обнаруженных на шине PCI.

Этот файл можно использовать для диагностики причин, почему не работают некоторые устройства. Обращайте внимание на прерывания: если оно равно 0, это значит, что устройству по какой-либо причине не было выделено прерывание. Я не буду полностью приводить содержимое этого файла, он очень большой.

# cat pci PCI devices found: Bus 0, device 0, function 0: Host bridge: Intel Corporation 82855PM Processor to I/O Controller (rev 3). Prefetchable 32 bit memory at 0xd0000000 . Bus 0, device 1, function 0: PCI bridge: Intel Corporation 82855PM Processor to AGP Controller (rev 3). Master Capable. Latency=96. Min Gnt=12. Bus 0, device 29, function 0: USB Controller: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1 (rev 1). IRQ 11. I/O at 0x1800 . #

/proc/swaps

Содержит список подключенных swap файлов и разделов.

# cat swaps Filename Type Size Used Priority /dev/hda2 partition 506512 0 -1 #

/proc/version

Содержит информацию о версии операционной системы и ядра Linux.

# cat version Linux version 2.6.13-rc3-my (root@master) (gcc version 3.3.6) #3 Tue Jul 19 22:25:23 GMT+3 2005 #

Информация о процессах

Кроме файлов в /proc находятся директории, имеющие в качестве имени число. Каждая директория описывает процесс, PID которого соответствует имени директории. Файлы в этой директории описывают параметры процесса. Содержимое одной из директория приведено ниже.

# ls /proc/4624 auxv cwd@ exe@ maps mounts oom_score seccomp statm task/ cmdline environ fd/ mem oom_adj root@ stat status wchan #

Только несколько из приведенных в примере файлов содержат информацию, которая была бы понятна без предварительной обработки.

cmdline

Содержит аргументы командной строки.

# cat cmdline -su #

environ

Содержит значения переменных среды окружения процесса.

# cat environ HZ=100TERM=xtermPATH=/usr/local/sbin:/usr/local/bin:/sbin:/usr/sbin:/bin:/usr/binHOME=/rootSHELL=/bin/bashUSER=rootLOGNAME=rootMAIL=/var/spool/mail/root #

status

Содержит информацию о состоянии процесса в формате понятном человеку.

# cat status Name: bash State: S (sleeping) SleepAVG: 98% Tgid: 4510 Pid: 4510 PPid: 4498 TracerPid: 0 Uid: 0 0 0 0 Gid: 0 0 0 0 FDSize: 256 Groups: 0 1 2 3 4 6 10 11 VmSize: 2832 kB VmLck: 0 kB VmRSS: 1724 kB VmData: 388 kB VmStk: 88 kB VmExe: 628 kB VmLib: 1628 kB VmPTE: 12 kB Threads: 1 SigQ: 0/7168 SigPnd: 0000000000000000 ShdPnd: 0000000000000000 SigBlk: 0000000000010000 SigIgn: 0000000000384004 SigCgt: 000000004b813efb CapInh: 0000000000000000 CapPrm: 00000000fffffeff CapEff: 00000000fffffeff #

Другие директории

Коме директорий, описывающих процессы системы, в /proc могут находиться и другие директории. Ниже приведу назначение некоторых из них:

  • ide - информация об устройствах, подключенных к ide интерфейсу.
  • irq - информация о распределении прерываний.
  • net - информация о сети. Содержимое таблицы arp и таблицы маршрутизации. Статистика по сетевым интерфейсам и протоколом. И так далее.
  • scsi - информация о SCSI устройствах.
  • sys - содержит изменяемые параметры системы.

/proc/sys

Файловая система /proc/sys - это отдельная большая тема. При помощи файлов, находящихся в этой директории можно «на лету» изменять параметры системы. Достаточно записать нужное значение в определенный файл. Описывать /proc/sys я не буду, слишком много информации и слишком много надо знать, что бы понять для чего используются файлы. Поэтому я расскажу где найти документацию и описание по этой файловой системе:

Sysfs используется программой udev для динамического создания файлов устройств.

Если честно, многие люди задумываются о поисках лучшей файловой системы для своего компьютера. У пользователей Windows и MacOS X небольшой выбор, им доступна только одна стандартная файловая система, NTFS и HFS+. В операционной системе Linux все по-другому, здесь доступно множество файловых систем на любой вкус. Очень широко в Linux используется ext4, но есть несколько поводов попробовать что-то новое. Например, btrfs vs xfs. Но действительно ли она лучше других? Давайте сначала рассмотрим самые популярные файловые системы и особенности их работы, так сказать, сделаем небольшое сравнение.

Если вы незнакомы с основами работы файловых систем, скажу об этом несколько слов чтобы вы смогли лучше понять, в чем разница btrfs vs ext4 vs xfs. Файловые системы используются для того, чтобы контролировать способ записи данных на диск, доступ к этим данным, а также хранят информацию, метаданные о файлах. Это не просто запрограммировать, но файловые системы постоянно совершенствуются. Постоянно дорабатывается новая функциональность, и они становятся более эффективными.

Зачем нужны разделы?

У многих пользователей смутные представления, о том, зачем нужны разделы диска. Все операционные системы поддерживают создание и удаление разделов. Linux использует более одного раздела на диске, даже при использовании стандартной процедуры установки. Одной из главных целей разделения дисков на разделы, это повышение безопасности, в случае возникновения ошибок.

При разделении жесткого диска на разделы, данные могут быть сгруппированы и разделены. При возникновении ошибок, будут потеряны только те, которые находились на поврежденном разделе. Данные на всех остальных разделах, скорее всего, останутся в целости и сохранности. Это было особенно важно, когда в Linux еще не существовало журналируемых файловых систем, и любое неожиданное отключение питания могло привести к катастрофе.

Повышение безопасности и надежности при использовании разделов означает, что при повреждении одной части операционной системы останутся доступны данные в других разделах. На данный момент, это самый важный фактор использования разделов. Например, пользователи могут использовать скрипты или программы, которые заполняют дисковое пространство. Если диск содержит только один большой раздел, то когда свободное место закончится, то система полностью перестанет работать. А вот если пользователи хранят данные на различных разделах, то переполнение затронет только один раздел, а системный и остальные разделы продолжат нормально функционировать.

Помните, что журналируемая файловая система защищает только от повреждения при отключении питания, и неожиданном отключении устройств хранения данных. Но оно не защитит вас от битых блоков и логических ошибок в файловой системе. В таких случаях нужно использовать массив нескольких дисков (RAID).

Зачем выбирать другую файловую систему?

Файловая система EXT4 это улучшенная версия EXT3, которая, в свою очередь, не что иное, как переработанная EXT2. EXT4 - очень стабильная файловая система, которая была выбрана по умолчанию в большинстве дистрибутивов Linux, за несколько последних лет. Но ее код уже порядочно устарел. Кроме того, пользователи Linux хотят новых возможностей и функций, которых нет в EXT4, но они есть в других файловых системах, например, btrfs vs xfs. Существует программное обеспечение, реализующее эти функции, но поддержка на уровне файловой системы будет работать намного быстрее. Дальше мы кратко рассмотрим каждую из предложенных файловых систем, чтобы вы смогли выбрать какая файловая система btrfs или ext4 лучше именно для вас.

Файловая система Ext4

У Ext4 есть некоторые ограничения, которые даже сейчас намного впечатляют. Максимальный размер файла составляет 17 терабайт. А это гораздо больше, чем емкость жесткого диска доступного среднестатистическому покупателю. В то же время самый больший размер раздела который можно создать с ext4 - 1 экзабайт, это примерно 11529215 терабайт. Как известно, Ext4 работает быстрее EXT3. Как и все современные файловые системы, она журналируемая, а это значит, что EXT4 будет вести журнал расположения файлов на диске, а также записывать туда любые изменения данных. Несмотря на все эти возможности, она не поддерживает прозрачное сжатие, дедупликацию данных и прозрачное шифрование. Снимки состояния технически поддерживаются, но это только экспериментальная функция.

Файловая система Btrfs

Btrfs - это файловая система, разработанная с нуля. Она существует потому, что ее разработчик захотел расширить функциональность стандартной файловой системы такими возможностями, как снимки состояния, объединение, контрольные суммы, прозрачное сжатие, и многими другими. Btrfs не зависит от Ext4, но реализует ее лучшие идеи и преимущества, а также свои дополнительные возможности, которые будут очень полезны пользователям, и особенно предприятиям. Для предприятий, использующих серьезные программы с очень большими базами данных, одно пространство файловой системы на нескольких дисках будет очень полезным. Дедупликация данных уменьшит фактически занимаемое данными пространство на диске. А зеркалирование данных с Btrfs станет намного проще.

Пользователи по-прежнему могут создавать несколько разделов, так как им не нужно зеркалить данные на разных дисках. Учитывая, что Brtfs может охватить несколько жестких дисков, она поддерживает в 16 раз больше дискового пространства, чем Ext4. Максимальный размер раздела в Btrfs - 16 экзабайт, максимальный размер файла такой же. В сравнении EXT4 vs btrfs, последняя оказывается на первом месте.

Файловая система XFS

XFS считается расширенной файловой системой. Это высоко производительная 64-битная, журналируемая файловая система. Поддержка XFS была добавлена в ядро в 2002 году. А в 2009 она была использована в Red Hat Enterprise Linux 5.4. Максимальный размер файла в этой файловой системе восемь экзабайт. Но у XFS существуют некоторые ограничения. Например, раздел этой ФС не может быть уменьшен, а также наблюдается низкая производительность при работе с большим количеством файлов. Теперь в RHEL 7.0 XFS используется как файловая система по умолчанию.

Заключение и выводы

К сожалению, дата финального релиза Btrfs точно неизвестна. Но официально, эта файловая система следующего поколения по-прежнему классифицируется как нестабильная. Тем не менее, если вы будете устанавливать Ubuntu последней версии, установщик предложит возможность выбрать Btrfs в качестве основной файловой системы. Когда Btrfs станет стабильной неизвестно, но Ubuntu не будет использовать ее как файловую систему по умолчанию, пока она не начнет считаться полностью стабильной.

На данный момент Btrfs используется как файловая система по умолчанию для корня в OpenSUSE. Как видите, у разработчиков огромный фронт работ, так как еще не все особенности реализованы, а также она отстает в производительности, если сравнивать Ext4 vs btrfs.

Так что же лучше использовать? До сих пор Ext4 была победителем, несмотря на идентичную производительность. Но почему? Ответ - удобство и популярность. Ext4 - по-прежнему отличная файловая система для рабочих станций и настольных компьютеров. Она поставляется по умолчанию, а потому пользователь получит ее просто установив ОС. Кроме того, Ext4 поддерживает разделы до 1 экзабайт и файлы до 16 терабайт, а это по-прежнему очень много.

Btrfs предлагает большие объемы до 16 экзабайт как для разделов так и для файлов, а также повышение отказоустойчивости. Но она до сих пор позиционируется как надстройка над файловой системой, а не интегрирована в операционную систему ФС. Например, чтобы отформатировать раздел в Btrfs необходимо, чтобы был установлен набор инструментов Btrfs.

Даже если скорость передачи данных не очень важна, есть такая характеристика, как скорость работы с файлами. В Btrfs есть много полезных функций: копирование при записи, контрольные сумы, снимки, очистка, самовосстановление данных, дедупликация, а также другие интересные улучшения, которые обеспечивают сохранность данных. В ней только недостает функции ZFS - Z-RAID, так что RAID пока находиться на экспериментальной стадии. Для обычного хранения данных Btrfs лучше подходит чем Ext4, но как будет на самом деле покажет время. Что использовать btrfs или ext4 - это только дело вашего вкуса.

На данный момент Ext4 - лучший выбор для обычных пользователей, так как она распространяется как файловая система по умолчанию, а также она быстрее Btrfs при передаче файлов. Btrfs, безусловно, стоит попробовать, но полностью заменять ext4 еще рано, это можно будет сделать лишь через несколько лет. Забавно, то же самое, говорили и несколько лет назад, с тех пор много чего поменялось, но Btrfs все еще не считается стабильной.

Если у вас есть другое мнение по этому поводу, оставляйте комментарии!

Кстати , если вы используете Windows и Linux на одной машине, вам может быть интересна моя статья.

(2010 год) с некоторыми дополнениями и уточнениями.

Журналирование

Прежде, чем говорить о файловых системах — давайте кратко рассмотрим понятие «журналирование «.

Журналирование в том или ином виде применяется практически во всех современных файловых системах.

Журналирование используется только при операциях записи на диск, и является своеобразным буфером для всех таких операций. Этот подход помогает решить проблемы, которые возникают во время операции записи на диск, при которых компьютер выключается, например — из-за отключения электричества. Без журналирования в таких случаях невозможно выяснить — какие файлы были записаны — а какие не были или были записаны частично.

При использовании журналирования — файл сначала записывается в журнал (или «лог»). После этого — файл записывается на жесткий диск а потом удаляется из журнала, после чего операция записи считается завершённой. Если во время записи выключилось питание — то после включения системы файловая система может проверить журнал, и найти незавершённые операции.

Самая главная проблема при использовании журналирования — это то, что для её использования требуются дополнительные ресурсы системы. Для того, что бы уменьшить такие накладные расходы — журналируемые файловые системы пишут в журнал не весь файл целиком — а только определённые метаданные.

Файловые системы Ext

Ext

Означает «Extended » (расширенная) файловая система, и она являлась первой, которая была разработана специально для Linux -систем. Всего на сегодняшний день существует 4 файловые системы Ext . Самая первая из них — просто Ext — являлась серьёзным обновлением ФС ОС Minix .

Характеристики Ext :

  • максимальный размер файла: 2GB;
  • максимальный размер раздела: 2GB;

Разработчик — , а первая версия появилась в 1992 году.

Мы не будем её рассматривать, т.к. скорее всего вы уже никогда с ней не столкнётесь.

Ext2

— не журналируемая ФС, выпущенная в 1993 году, основная задача для которой была поддержка устройств размером до 2 Террабайт. Т.к. у Ext2 нет журналирования — она выполняет намного меньше операций записи на диск, что сказывается на быстродействии и области её применения.

Характеристики:

  • максимальный размер файла: 16GB — 2TB;
  • максимальный размер раздела: 2 — 32 TB;
  • максимальный размер имени 255 символов.
  • в силу низкого количества операций записи-удаления данных — является идеальной для различных флеш-накопителей;
  • в то же время современные SSD -диски имеют улучшенные показатели их жизненного цикла (изноустойчивости элементов накопителя) и некоторые другие особенности, которые нивелируют недостатки Ext2 как не журналируемой ФС.

Ext3

— появилась в 2001 году, вместе с выпуском Linux Kernel 2.4.15. Фактически является той же Ext2 , но с поддержкой журналирования. Основной целью Ext3 была возможность её обратной совместимости с Ext2 без необходимости переформатирвоания разделов. К преимуществам же можно отнести тот факт, что большая часть тестирования, багфиксов и т.д. для Ext3 была то же, что и в Ext2 , что сделало Ext3 более стабильной и быстрой ФС.

Характеристики:

  • максимальный размер файла: 16GB — 2TB (в зависимости от размера блока);
  • максимальный размер раздела: 2 — 32 TB (в зависимости от размера блока);
  • подходит, если у вас используется Ext2 , и вы хотите исподьзовать журналирование;
  • в силу своей производительности и стабильности — вероятно, будет наиболее подходящей ФС для серверов баз данных;
  • возможно не лучший выбор для серверов, т.к. не поддерживает создание снимков (shapshot ) ФС и сложностей с восстановлением удалённых файлов.

Ext4

— как и Ext3 имеет обратную совместимость с предыдущими версиями ФС. Собственно говоря, вы можете смонтировать Ext2 или Ext3 как Ext4 -и при определённых условиях добиться большей производительности. Вы так же можете смонтировать Ext4 как Ext3 без каких-либо побочных эффектов.

Ext4 — стабильная версия была выпущена в 2008 году. Является первой ФС из «семейства» Ext , использующая механизм « «, который позволяет добиться меньшей фрагментации файлов и увеличить общую производительность файловой системы. Кроме того — в Ext4 реализован механизм отложенной записи ( ), который так же уменьшает фрагментацию диска и снижает нагрузку на CPU. С другой стороны — хотя механизм отложенной записи и используется во многих ФС — но в силу сложности своей реализации он повышает вероятность утери данных. См. для более подробной информации.

Характеристики:

  • максимальный размер файла: 16 TB;
  • максимальный размер имени файла: 255 символов.
  • наилучший выбор для SSD ;
  • наилучшая производительность по сравнению с предыдущими Etx -системами;
  • она так же отлично подходит в качестве файловой системы для серверов баз данных, хотя сама система и моложе Ext3 .

BtrFS

— разработана компание Oracle в 2007 году. По своей схеме схожа с ReiserFS , основной принцип её работы — это т.н. . BtrFS позволяет динамически выделять inode, создавать снимки ФС во время её работы, выполнять прозрачную компрессию файлов и делать дефрагментацию в рабочем режиме.

Хотя стабильная версия BtrFS ещё не включена в большинство дистрибутивов Linux (на сегодняшний день, судя по посту — только SUSE и Oracle Linux ) — она вполне может заменить Ext3/4 в обозримом будущем и уже предоставляет возможности по конвертации Ext3/4 в BtrFS . Кроме того, стоит упомянуть, что один из разработчиков Ext , сказал, что «BtrFS — это шаг в будущее».

Характеристики:

  • максимальный размер раздела: 16 EB;
  • максимальный размер имени файла: 255 символов.
  • в силу производительности, снимкам и другим возможностям — BtrFS является отличной файловой системой для сервера;
  • Oracle так же разрабатывает замену для NFS и CIFS , которая называется CRFS и которая призвана улучшить производительность для файловых хранилищ с BtrFS ;
  • тесты производительности показали отставание BtrFS от Ext4 на твердотельных носителях, таких как SSD и при операциях со сравнительно небольшими файлами:

ReizerFS

— представленная в 2001 году реализовала в себе многие возможности, которые никогда не смогут быть реализованы в Ext *. В 2004 на замену ReizerFS была выпущена ФС Reizer4 .

В то же время — разработка Reizer4 продвигается очень медленно, и до сих пор имеет ограниченную поддержку (?) в ядре Linux . В настоящее время реально доступной для использования остаётся только ReiserFS .

Характеристики:

  • максимальный размер файла: 1 EB ();
  • максимальный размер раздела: 16 TB;
  • максимальный размер имени файла: 4032 байт, но ограничено до 255 символов .
  • отличная производительность при работе с небольшими файлами, такими как файлы логов и отлично подойдёт для серверов баз данных или почтовых серверов;
  • ReiserFS хорошо поддаётся увеличению размера тома — но не поддерживает его уменьшение и шифрование на уровне ФС;
  • будущее Reiser4 пока остаётся под вопросом и пока BtrFS остаётся предпочтительным (?) выбором между этими двумя ФС.

ZFS

— стоит упомянуть тут, т.к. она так же разрабатывалась компание Oracle и имеет возможности, схожие с BtrFS и ReizerFS . Она так же стала весьма известна после того, как компания Apple о намерении использовать её в качестве ФС по умолчанию. Первый релиз ZFS состоялся в 2005 году.

В силу ограничений из-за лицензии — ZFS не может быть включена в ядро Linux , однако её поддержка возможна с помощью механизма Linux’s (FUSE ).

Характеристики:

  • максимальный размер файла: 16 EB ();
  • максимальный размер раздела: 256 ZiB (Zebibyte);
  • максимальный размер имени файла: 255 байт.
  • показыавет отличную производительность при работе с большими дисковыми массивами;
  • поддерживает возможности по объединению дисков в массивы, созданию снимков ФС, и работе со «расслоённым отображением» ( ) данных;
  • возможны сложности при попытке установки и использования в Linux -системах, в силу необходимости использования FUSE .

Swap

Swap — не является файловой системой вообще. Файл или раздел со swap -ом используется системой виртуальной памяти ядра и не имеет структуры файловой системы вообще. Её нельзя примонтировать и считать с неё данные, т.к. swap используется исключительно ядром Linux для записи страниц памяти не диск. Как правило — swap используется только в том случае, когда ОС испытывает недостаток в свободной RAM и «сбрасывает» часть данных из памяти в swap для её освобождения.

Для обеспечения нормальной работы персонального компьютера, требуется установка многих необходимых программ и сервисов.

Что такое файловая система

Незаменимым элементом операционной системы являются файловые системы, которые обеспечивают доступ к информации на диске при одновременном запуске нескольких процессов. То есть они осуществляют удобный доступ к данным, содержащимся на диске, при этом устраняя возможные некорректные ситуации.

Файловой системе также доступен разноплановый доступ к информации: от ее сортировки и перемещения до удаления. Закономерно возникает вопрос: какая файловая система лучше, насколько она удобна в эксплуатации и каковы ее гарантии?

Популярные файловые системы

  1. Наиболее популярной считается файловая система FAT. Вот только ее явный недостаток – это ограниченное количество знаков при назывании файла, что значительно уменьшает эффективность управления данными.
  2. Этот недочет устранен в более поздних разработках системы NTFS. Поскольку все операционные системы размещают свою информацию на дисках, файловые системы тут просто незаменимы и должны качественно исполнять свои функции, без каких-либо сбоев. Что касается файловой системы NTFS, то она характеризуется как раз таким необходимым свойством, как самостоятельное восстановление после практически любых некорректных ситуациях.

Файловая система NTFS

Еще одна очень важная характеристика: эта система при изменении данных либо позитивно завершает процесс, либо вообще его отменяет, что не позволяет внести сумятицу и неразбериху в поле информации. NTFS имеет полезную опцию – сжатие файлов. При этом ее можно применять к отдельным файлам, что совершенно не влияет на качество данных или на работу с ними.

Многие специалисты, рассуждая на тему того, какая файловая система лучше по части безопасности, называют именно NTFS, поскольку эта система содержит в себе множество средств, направленных на разграничение прав объектов. Как часто бывает, теория бессильна перед практикой: в реальном использовании система далека от идеальной.

Файловая система FAT

В связи со всем вышесказанным, FAT удовлетворяла потребности операционных систем раннего этапа развития. Но когда появился доступ к большим объемам памяти, из-за своих ограничений она сдала свои позиции более прогрессивным системам. Но при этом FAT более эффективно работает с небольшими каталогами файлов и идеально подходит для медленных дисков.

С файлами большого объема такая система, к сожалению, не справится, постоянно будут возникать различные трудности. В выборе файловой системы важно определиться с задачами, которые вы перед ними будете ставить. Поэтому, если возникает необходимость работы с крупногабаритными дисками, забитыми информаций и на высокой скорости, то в таком случае лучше подойдет система NTFS. Для пользователей, которые намерены выполнять обычные действия с данными и не имеющих необходимости использовать сложные программы, в такой ситуации более эффективной будет как раз файловая система FAT.

Файловая система для флешки

Лучшая файловая система для флешки – довольно актуальная проблема, поскольку такой вид хранения информации на сегодня наиболее популярен, многие считают, что для флеш-накопителя нужна какая-то особенная система. Многие пользователи неплохо отзываются о системе UDF, поскольку она без особых трудностей поддерживается практически всеми современными операционными системами. Но и выше описанные файловые системы также прекрасно справятся со всеми нужными действиями. Поэтому можете смело делать выбор в пользу любой из них, т.к они все обладают высокой степенью безопасности и эффективности в использовании.

Файлы на компьютере создаются и размещаются на базе системных принципов. Благодаря их реализации, пользователь получает возможность комфортно обращаться к нужной информации, не задумываясь о сложных алгоритмах доступа к ней. Каким образом организована работа файловых систем? Какие из них самые популярные сегодня? Каковы различия между файловыми системами, адаптированными для ПК? И теми, что используются в мобильных устройствах - смартфонах или планшетах?

Файловые системы: определение

Согласно распространенному определению, файловая система - это совокупность алгоритмов и стандартов, задействуемых с целью организации эффективного доступа пользователя ПК к данным, размещенным на компьютере. Некоторые специалисты считают ее частью Другие IT-эксперты, признавая тот факт, что она непосредственно связана с ОС, полагают, что файловая система - независимый компонент управления компьютерными данными.

Каким образом использовались компьютеры до того, как была изобретена файловая система? Информатика - как научная дисциплина - зафиксировала тот факт, что долгое время управление данными осуществлялось посредством структурирования в рамках алгоритмов, заложенных в конкретных программах. Таким образом, один из критериев файловой системы - это наличие стандартов, одинаковых для большинства программ, использующих доступ к данным.

Принципы работы файловых систем

Файловая система - это, прежде всего, механизм, предполагающий задействование аппаратных ресурсов компьютера. Как правило, речь здесь идет о магнитных или лазерных носителях - жестких дисках, CD, DVD, флешках, еще не успевших устареть дискетах. Для того чтобы понять, как соответствующая система работает, определимся с тем, что же такое собственно сам файл.

Согласно общепринятому в среде IT-экспертов определению, это область данных фиксированной величины, выражаемая в базовых единицах измерения информации - байтах. Располагается файл на дисковом носителе, как правило, в виде нескольких связанных между собой блоков, имеющих конкретный "адрес" доступа. Файловая система определяет эти самые координаты и "сообщает" их, в свою очередь, ОС. Которая понятным образом транслирует соответствующие данные пользователю. Происходит обращение к данным с целью считывания их, модифицирования, создания новых. Конкретный алгоритм работы с "координатами" файлов может быть разным. Он зависит от типа компьютера, ОС, специфики хранящихся данных и прочих условий. Потому, есть различные виды файловых систем. Каждая из них оптимизирована для использования в конкретной ОС или для работы с определенными типами данных.

Адаптирование дискового носителя к использованию посредством алгоритмов конкретной файловой системы называется форматированием. Соответствующие аппаратные элементы диска - кластеры - подготавливаются к последующей записи на них файлов, а также чтения их в соответствии со стандартами, заложенными в той или иной системе управления данными. Как поменять файловую систему? В большинстве случаев это можно сделать, только переформатировав носитель данных. Как правило, файлы при этом стираются. Однако есть вариант, при котором, задействуя специальные программы, все же можно, хотя это, как правило, требует большого количества времени, поменять систему управления данными, оставив последние нетронутыми.

Файловые системы работают не без ошибок. Возможны некоторые сбои в организации работы с блоками данных. Но они в большинстве случаев не критичны. Как правило, нет проблем с тем, как исправить файловую систему, устранить ошибки. В ОС Windows для этого, в частности, предусмотрены встроенные программные решения, доступные для любого пользователя. Такие как, например, программа "Проверка диска".

Разновидности

Какие виды файловых систем можно назвать самыми распространенными? Вероятно, в первую очередь те, что используются самой популярной ОС для ПК в мире - Windows. Основные файловые системы Windows - это FAT, FAT32, NTFS и их различные модификации. Наряду с компьютерами популярность обрели смартфоны и планшеты. Большинство из них, если говорить о глобальном рынке и не рассматривать различия в технологических платформах, управляется ОС Android и iOS. Эти ОС задействуют свои алгоритмы работы с данными, отличные от тех, которыми характеризуются файловые системы Windows.

Стандарты, открытые для всех

Отметим, что в последнее время на мировом рынке электроники наблюдается некоторая унификация стандартов в аспекте работы ОС с различными типами данных. Это прослеживается в двух аспектах. Во-первых, на разных устройствах под управлением двух несхожих типов ОС часто используется одна и та же файловая система, в одинаковой степени совместимая с каждой ОС. Во-вторых, современные версии ОС, как правило, способны распознавать не только типичные для себя файловые системы, но и те, что традиционно используются в других ОС - как посредством встроенных алгоритмов, так и с помощью стороннего программного обеспечения. Например, современные версии Linux, как правило, без проблем распознают отмеченные файловые системы для Windows.

Структура файловой системы

Несмотря на то что виды файловых систем представлены в достаточно большом количестве, работают они в целом по очень схожим принципам (общую схему мы изложили выше) и в рамках сходных структурных элементов или объектов. Рассмотрим их. Каковы основные объекты файловой системы?

Один из ключевых - Он являет собой изолированную область данных, в которой могут размещаться файлы. Структура каталогов - иерархическая. Что это значит? Один или несколько каталогов могут размещаться в другом. Который, в свою очередь, входит в состав "вышестоящего". Самым "главным" считается корневой каталог. Если говорить о принципах, на базе которых работает файловая система Windows - 7, 8, XP или же другой версии, - корневым каталогом считается логический диск, обозначаемый буквой - как правило, C, D, E (но можно настроить любую, что есть в английском алфавите). Что касается, к примеру, ОС Linux, то там корневым каталогом выступает магнитный носитель в целом. В этой и других ОС, основанных на ее принципах - к таковым относится Android - логические диски не используются. Можно ли хранить файлы без каталогов? Да. Но это не очень удобно. Собственно, комфорт в пользовании ПК - одна из причин внедрения в файловых системах принципа распределения данных по каталогам. Называться, кстати, они могут по-разному. В Windows каталоги именуются папками, в Linux - в основном так же. Но традиционное, используемое в течение многих лет название каталогов в этой ОС - "директории". Как и в предшествующих Windows и Linux ОС - DOS, Unix.

В среде IT-специалистов нет однозначного мнения касательно того, считать ли файл структурным элементом соответствующей системы. Те, кто полагает, что это не совсем корректно, аргументируют свою точку зрения тем, что система вполне может существовать и без файлов. Пусть это с практической точки зрения и бесполезное явление. Даже если на диске никаких файлов не записано, соответствующая система все равно может присутствовать. Как правило, магнитные носители, продаваемые в магазинах, не содержат каких-либо файлов. Но на них уже присутствует соответствующая система. Согласно другой точке зрения, файлы нужно считать неотъемлемой составляющей систем, которыми они управляются. Почему? А потому, что, как считают эксперты, алгоритмы их задействования адаптированы прежде всего под работу именно с файлами в рамках тех или иных стандартов. Ни для чего другого рассматриваемые системы не предназначены.

Еще один элемент, присутствующий в большинстве файловых систем - Он представляет собой область данных, содержащих сведения о размещении конкретного файла в определенном месте. То есть разместить ярлык можно в одном месте диска, однако при этом возможно обеспечение доступа к нужной области данных, которая располагается в другой части носителя. Считать, что ярлыки - это полноценные объекты файловой системы, можно, если условиться, что таковыми являются также и файлы.

Так или иначе не будет ошибкой сказать, что все три типа данных - файлы, ярлыки и каталоги - являются элементами соответствующих систем. По крайней мере, этот тезис будет соответствовать одной из распространенных точек зрения. Важнейший аспект, характеризующий то, как работает файловая система - это принципы именования файлов и каталогов.

Имена файлов и каталогов в разных системах

Если условиться, что файлы - это все же составные элементы соответствующих им систем, то стоит рассмотреть их базовую структуру. Что можно отметить в первую очередь? Для удобства организации доступа к ним в большинстве современных систем управления данными предусмотрена двухуровневая структура именования файлов. Первый уровень - это название. Второй - расширение. Возьмем для примера музыкальный файл Dance.mp3. Dance - это название. Mp3 - расширение. Первое призвано раскрывать для пользователя суть содержания файла (а для программы быть ориентиром для быстрого доступа). Второе обозначает тип файла. Если он Mp3, то нетрудно догадаться, что речь идет о музыке. Файлы с расширением Doc - это, как правило, документы, Jpg - картинки, Html - веб-страницы.

Каталоги, в свою очередь, имеют одноуровневую структуру. У них есть только название, расширения нет. Если говорить о различиях между разными видами систем управления данными, то первое, на что следует обратить внимание - это как раз-таки реализуемые в них принципы именования файлов и каталогов. Касательно ОС Windows специфика следующая. В самой популярной в мире операционной системе файлы могут иметь название на любом языке. Максимальная длина, правда, при этом ограничена. Конкретный ее интервал зависит от используемой системы управления данными. Обычно это значения в пределах 200-260 символов.

Общее правило для всех ОС и соответствующих им систем управления данными - в одном каталоге не могут находиться файлы с одинаковыми наименованиями. В Linux при этом присутствует некая "либерализация" этого правила. В одном каталоге могут быть файлы с одинаковыми буквами, но в разном регистре. Например, Dance.mp3 и DANCE.mp3. В ОС Windows это невозможно. Эти же правила установлены также и в аспекте размещения каталогов внутри других.

Адресация файлов и каталогов

Адресация файлов и каталогов - важнейший элемент соответствующей системы. В ОС Windows ее пользовательский формат может выглядеть так: C:/Documents/Music/ - это доступ к каталогу Music. Если нас интересует какой-то конкретный файл, то адрес может выглядеть так: C:/Documents/Music/Dance.mp3. Почему "пользовательский"? Дело в том, что на уровне программно-аппаратного взаимодействия компонентов компьютера структура доступа к файлам гораздо более сложная. Файловая система определяет местоположение файловых блоков и взаимодействует с ОС по большей части в рамках скрытых от пользователя операций. Однако у пользователя ПК крайне редко возникает необходимость пользоваться иными форматами "адресов". Практически всегда доступ к файлам осуществляется в указанном стандарте.

Сравнение файловых систем для Windows

Мы изучили общие принципы функционирования файловых систем. Рассмотрим теперь особенности самых распространенных их видов. В Windows чаще всего используются такие файловые системы, как FAT, FAT32, NTFS, а также exFAT. Первая в этом ряду считается устаревшей. Она, вместе с тем, долгое время была неким флагманом индустрии, но по мере роста технологичности ПК ее возможности перестали удовлетворять запросам пользователей и потребностям в ресурсах со стороны программного обеспечения.

Призванная заменить FAT файловая система - это FAT32. Как считают многие IT-эксперты, сейчас она самая популярная, если говорить о рынке ПК под управлением Windows. Она чаще всего используется при хранении файлов на жестких дисках и флешках. Также можно отметить, что эта система управления данными достаточно регулярно используется в модулях памяти различных цифровых устройств - телефонах, фотоаппаратах. Основное преимущество FAT32, которое выделяют IT-эксперты, таким образом, Несмотря на то что создана была данная файловая система компанией Microsoft, работать с данными в рамках заложенных в ней алгоритмов могут большинство современных ОС, включая те, что инсталлированы на указанные типы цифровой техники.

Есть у системы FAT32 и ряд недостатков. Прежде всего можно отметить ограничение на размер одного взятого файла - он не может быть больше 4 Гб. Также в системе FAT32 нельзя встроенными средствами Windows задать логический диск, размер которого был бы больше 32 Гб. Но это можно сделать, установив дополнительное специализированное ПО.

Другая популярная система управления файлами, что разработана Microsoft - это NTFS. Как считают некоторые IT-эксперты, по большинству параметров она превосходит FAT32. Но этот тезис справедлив, если речь идет о работе компьютера под управлением Windows. Система NTFS не настолько универсальна, как FAT32. Особенности ее функционирования делают использование данной файловой системы не всегда комфортным, в частности, в мобильных устройствах. Одно из ключевых преимуществ NFTS - надежность. Например, в тех случаях, когда у жесткого диска внезапно отключается питание, вероятность того, что файлы повредятся, сводится к минимуму, благодаря предусмотренным в NTFS алгоритмам дублирования доступа к данным.

Одна из новейших файловых систем от Microsoft - exFAT. Наилучшим образом она адаптирована для флешек. Базовые принципы работы в ней те же, что и в FAT32, но присутствует также и значимая модернизация в некоторых аспектах: например, нет никаких ограничений по размеру единичного файла. Вместе с тем система exFAT, как отмечают многие IT-эксперты, в числе тех, что обладают низкой универсальностью. На компьютерах под управлением ОС, отличных от Windows, работа с файлами при использовании exFAT может быть затруднена. Более того, даже в некоторых версиях самой Windows, таких как XP, данные на дисках, отформатированных по алгоритмам exFAT, могут не читаться. Потребуется установка дополнительного драйвера.

Отметим, что по причине задействования достаточно широкого спектра файловых систем в ОС Windows у пользователя могут возникать периодические сложности в аспекте совместимости различных устройств с компьютером. В ряде случаев, например, требуется установить драйвер файловой системы WPD (Windows Portable Devices - технологии, используемой при работе с переносными устройствами). Иногда его может не оказаться под рукой у пользователя, вследствие чего внешний носитель ОС может не распознать. Файловая система WPD может потребовать дополнительных программных средств адаптации к операционной среде на конкретном компьютере. В ряде случаев пользователь будет вынужден обращаться к IT-специалистам для решения проблемы.

Как определить, какая именно файловая система - exFAT или NTFS, а может быть, FAT32 - оптимальна для использования в конкретных случаях? Рекомендации IT-специалистов в целом следующие. Можно задействовать два основных подхода. Согласно первому следует разграничивать типичные файловые системы жестких дисков, а также те, что лучше адаптированы к флеш-накопителям. FAT и FAT32, как считают многие специалисты, лучше подходят для "флешек", NTFS - для винчестеров (в силу технологических особенностей работы с данными).

В рамках второго подхода значение имеет величина носителя. Если речь идет об использовании сравнительно небольшого объема диска или флешки, отформатировать их можно в системе FAT32. Если диск большего размера, то можно попробовать exFAT. Но только в том случае, если не предполагается использование носителей на других компьютерах, особенно тех, где стоят не самые свежие версии Windows. Если речь идет о больших жестких дисках, в том числе и внешних, то их целесообразно форматировать в NTFS. Примерно таковы критерии, по которым может быть выбрана оптимальная файловая система - exFAT или NTFS, FAT32. То есть использовать какую-либо из них следует, учитывая размер носителя, его тип, а также версию ОС, на котором накопитель преимущественно используется.

Файловые системы для Mac

Другая популярная программно-аппаратная платформа на мировом рынке компьютерной техники - Macintosh от Apple. ПК данной линейки работают под управлением операционной системы Mac OS. Каковы особенности организации работы с файлами в компьютерах Mac? В самых современных ПК от Apple используется файловая система Mac OS Extended. Ранее в компьютерах Mac работа с данными управлялась в соответствии со стандартами HFS.

Главное, что можно отметить в аспекте ее характеристик: на диске, которым управляет файловая система Mac OS Extended, могут размещаться файлы очень большого объема - речь может идти о нескольких миллионах терабайт.

Файловая система в Android-устройствах

Самая популярная ОС для мобильных устройств - виде электронной техники, не уступающей по популярности ПК, - это Android. Каким образом осуществляется управление файлами на девайсах соответствующего типа? Отметим прежде всего, что данная операционная система - фактически "мобильная" адаптация ОС Linux, которая, благодаря открытому программному коду, может быть модифицирована с перспективой использования на самом широком спектре устройств. Поэтому управление файлами в мобильных девайсах под управлением Android осуществляется в целом по тем же принципам, что и в Linux. Некоторые из них мы отметили выше. В частности, управление файлами в Linux осуществляется без деления носителя на логические диски, как это происходит в Windows. Что еще интересного заключает в себе файловая система Android?

Корневым каталогом в Android, как правило, выступает область данных, именуемая /mnt. Соответственно, адрес нужного файла может выглядеть примерно так: /mnt/sd/photo.jpg. Кроме того, есть еще одна особенность системы управления данными, что реализована в данной мобильной ОС. Дело в том, что флеш-память девайса, как правило, классифицирована на несколько разделов, таких как, например, System или Data. При этом, изначально заданный размер каждого из них изменить нельзя. Приблизительную аналогию касательно данного технологического аспекта можно обнаружить, вспомнив, что нельзя (если не использовать специального ПО) менять размер логических дисков в Windows. Он должен быть фиксированным.

Еще одна интересная особенность организации работы с файлами в Android - соответствующая операционная система, как правило, записывает новые данные в конкретную область диска - Data. Работа, к примеру, с разделом System при этом не осуществляется. Поэтому, когда пользователь задействует функцию сброса программных настроек смартфона или планшета до уровня "заводских", то на практике это означает, что те файлы, что записаны в область Data, попросту стираются. Раздел System же, как правило, остается неизменным. Более того, какие-либо корректировки содержимого в System пользователь, не обладая специализированным ПО, осуществлять не может. Процедура, связанная с обновлением системной области носителя в Android-устройстве, называется перепрошивкой. Это не форматирование, хотя обе операции часто осуществляются одновременно. Как правило, перепрошивка применяется с целью установки на мобильное устройство более новой версии ОС Android.

Таким образом, ключевые принципы, на базе которых работает файловая система Android - отсутствие логических дисков, а также жесткое разграничение доступа к системным и пользовательским данным. Нельзя сказать, что данный подход принципиально отличается от того, что реализован в Windows, однако, как считают многие IT-эксперты, в ОС от Microsoft для пользователей присутствует несколько большая свобода в работе с файлами. Впрочем, как полагают некоторые специалисты, это нельзя считать однозначным преимуществом Windows. "Либеральный" режим в аспекте управления файлами задействуют, конечно же, не только пользователи, но и компьютерные вирусы, к которым Windows очень восприимчива (в отличие от Linux и ее "мобильной" реализации в виде Android). В этом, как считают эксперты, заключается одна из причин того, что вирусов для Android-устройств столь немного - чисто с технологической точки зрения они не могут в полной мере функционировать в операционной среде, работающей по принципам строгого контроля доступа к файлам.

Bluetooth