Основы основ: введение в операционные, файловые и символьные системы

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

1) пользовательские операционные системы — к ним относится мобильная Android, платная Windows от корпорации Microsoft и бесплатная Ubuntu от энтузиастов философии Linux — компании Canonical, зарабатывающей на платной поддержке их бесплатного продукта;

2) специализированные операционные системы — такие как серверные ОС и гипервизоры виртуализации или контейнеризации, а так же «сетевые» операционные системы, такие как SONiC;

3) узко-специализированные операционные системы, работающие с определённым оборудованием — такие как Oracle Solaris и HP-UX.

Пользовательские ОС — наиболее универсальные, удобные и «интуитивно понятные», но из-за адаптации под незатейлевого пользователя такие системы обычно не блещут стабильностью и быстродействием. «Семь бед — один reset» — классическая поговорка для пользовательского сегмента ОС. Сохранение всего полезного с последующей переустановкой пользовательской операционной системы — обычное явление в этом классе. Для остальных классов характерна непрерывная эксплуатация — постоянное использование ОС без перезагрузок и без переустановок. Специализированные операционные системы — золотая середина, на которой работает большинство коммерческих и государственных предприятий. Узко-специализированные системы — раньше применялись в самых критически важных ситуациях, но со временем такие системы уходят в прошлое просто потому что специализированные ОС уже по всем параметрам догнали эту «экзотику» и слишком «экзотичная» бизнес-модель уже попросту не выгодна. В основном такие системы встречаются в военно-промышленных и научных лабораториях.

Файловая система (англ. file system) — порядок, определяющий способ организации, хранения и именования данных на носителях информации в компьютерах, а также в другом электронном оборудовании: цифровых фотоаппаратах, мобильных телефонах и т.п. Взаимодействие с файловой системой осуществляется посредством специализированного программного обеспечения (ПО), которое «понимает» эту файловую систему; такое ПО поставляется в комплекте ОС и отличается в разных ОС — из-за чего файлы, записанные в одной ОС, могут быть нечитаемыми в другой ОС без установки соответствующей программы.

Символьная система — более известная как таблица кодировок или таблица символов (character table) — общепринятые обозначения уникальных комбинаций битов в байтах, где каждому уникальному байту соответствует какой-то определённый человеческий символ — любой, от цифр и букв алфавита до всяких «графических» закорючек. Исторически первая таблица символов (1963) — ASCII (American standard code for information interchange) кодирует символы всего одним байтом. Затем эту таблицу символов расширил »Юникод» (unicode), в версии UTF-8 кодируя символы от 1 до 4 байтами; двумя либо четырьмя байтами в версии UTF-16 и четырьмя байтами в версии UTF-32. Это означает, что один и тот же текст, но сохранённый в ASCII и в UTF-32 — будет отличаться по занимаемому на диске месту в четыре раза — следовательно, взаимодействие (ввод и вывод информации) в кодировке UTF-32 в четыре раза медленнее, чем в кодировке ASCII. При этом — Юникод «обратно совместим» с ASCII — это значит, что файл ASCII можно (хотя и медленнее) открыть «в юникоде», однако не каждый юникод-файл получится прочитать через ASCII.

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

FAT — File Allocation Table — самая «базовая» файловая система, исторически одна из первых — образовалась в 1977 году для использования на дискетах. В её семейство входят FAT12, FAT16 и FAT32, на котором разработчик файловой системы — корпорация Макйрософт — прекратила работу над FAT в пользу нового названия — NTFS. Файловые системы семейства FAT на сегодняшний день считаются устаревшими по причине их ограничений, однако, за счёт отсутствия журналирования в FAT32 уменьшается износ блоков флеш-накопителя для модулей памяти, изготовленных по flash-технологиям, что позволяет продлить их срок службы.

NTFS — New Technology File System — самая распространённая на сегодня файловая система — благодаря тому, что используется «по умолчанию» в самом распространённом семействе операционных систем — Windows.

Ключевые моменты NTFS:
— Безопасность данных: NTFS предлагает различные механизмы для защиты файлов и папок. Один из них — система прав доступа, которая позволяет задавать индивидуальные права для каждого пользователя или группы пользователей.
— Надежность: NTFS обладает встроенным механизмом проверки и восстановления файловой системы, который позволяет автоматически исправлять ошибки, возникающие во время работы компьютера.
— Поддержка больших дисков и файлов: NTFS позволяет управлять дисками объемом до 256 терабайт и файлами размером до 16 терабайт.
— Журналирование: NTFS использует журнал для отслеживания всех изменений, происходящих с файловой системой. Это позволяет быстрее восстанавливать данные в случае аварийного завершения работы компьютера.
— Сжатие данных: NTFS предоставляет возможность сжимать файлы и папки для экономии места на диске без потери данных. Сжатие может быть применено как к отдельным файлам, так и к целым дискам или папкам.
— Разрешение имен файлов: NTFS поддерживает длинные имена файлов (до 255 символов) и позволяет использовать Unicode для представления имён файлов. Это упрощает использование файлов на разных языках и с различными алфавитами.

EXT4 — аналог NTFS в мире Linux — современная пользовательская файловая система, обладающая примерно теми же «фишками», что и её «конкурент» NTFS. Однако между ними всё же можно выделить некоторые отличия: Ext4 обеспечивает гораздо меньшую фрагментацию, чем NTFS, что позволяет быстрее читать данные. Ext4 также кажется более быстрым при создании файлов/папок, хотя это может быть из-за других различий в соответствующих ОС, на которых работают файловые системы. Но NTFS, в отличие от EXT4 имеет возможность выполнять проверку диска и изменение размера тома «на горячую» — прямо из работающей на этом диске системы.

Выбор наиболее подходящей файловой системы в первую очередь зависит от физической архитектуры накопителей данных — способы размещения информации и доступа к ней в разных типах накопителей могут быть совершенно разные. Компакт-диски — по сути как грампластинки, магнитные ленты — как киноплёнки, а флеш-память — это вообще особая система полевых транзисторов, так же известных как MOSFET с плавающим затвором. К примеру — информация, сохранённая на жёстких дисках (HDD) в формате NTFS или EXT, при записи на оптический диск будет конвертирована в ISO (базовая фаловая система) или UDF (более продвинутая, позволяет перезаписывать данные на накопителях *-RW). Для записи на магнитные ленты в кассетах (в ленточных библиотеках) — информация конвертируется в LTFS (Linear Tape File System).

Помимо первостепенной классификации по физическим носителям данных — файловые системы принято классифицировать по доступу и распределению: файловые системы с общим доступом (shared filesystems) и распределённые файловые системы (distributed filesystems) — причём второе обычно подразумевает и первое. Пик технологий — это распределённые параллельные отказоустойчивые файловые системы (Distributed parallel fault-tolerant file systems) — это самые «навороченные» файловые системы, правильное «развёртывание» (deployment) которых может потребовать отдельных навыков и продолжительного погружения в их среду, в результате которого можно построить хорошо масштабируемую систему хранения данных высокой доступности.

ОЧЕНЬ ПОЛЕЗНЫЕ ССЫЛКИ:

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

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

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

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

Если (вдруг) кто не понял - картинка шуточная. Источник: https://www.reddit.com/r/pcmasterrace/comments/q5j2h1/evolution_of_windows_logos/

© Habrahabr.ru