Unix-подобные системы

История образования и раскол

Обзор GNU/Linux-подобных систем

Fedora

Slackware

Обзор BSD-подобных систем

OpenBSD

Frenzy

Обзор файловых систем unix-подобных операционных систем

Extended File System

ext2

Third Extended File System

Табл. 1 Ограничения размеров

Fourth Extended File System

Journaled File System

XFS

Особенности

Unix File System

ZFS

Ядро linux-kernel-2.6.xx

X.Org Server

Среды рабочего стола

KDE

GNOME

Текстовые редакторы

nano

vi

Emacs

Заключение

Список литературы


Введение

UNIX — группа переносимых, многозадачных и многопользовательских операционных систем.

Первая система UNIX была разработана в 1969 г. в подразделении Bell Labs компании AT&T. С тех пор было создано большое количество различных UNIX-систем. Юридически лишь некоторые из них имеют полное право называться «UNIX»; остальные же, хотя и используют сходные концепции и технологии, объединяются термином «UNIX-подобные» (Unix-like). Для краткости в данной статье под UNIX-системами подразумеваются как истинные UNIX, так и UNIX-подобные ОС.

Основные отличительные признаки UNIX-систем включают в себя:

· использование простых текстовых файлов для настройки и управления системой;

· широкое применение утилит, запускаемых в командной строке;

· взаимодействие с пользователем посредством виртуального устройства — терминала;

· представление физических и виртуальных устройств и некоторых средств межпроцессового взаимодействия как файлов;

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

В настоящее время UNIX используются в основном на серверах, а также как встроенные системы для различного оборудования. На рынке ОС для рабочих станций и домашнего применения лидером является Microsoft Windows, UNIX занимает только второе (Mac OS X) и третье (GNU/Linux) места.

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

История образования и раскол

В 1957 году в Bell Labs была начата работа по созданию операционной системы для собственных нужд. Под руководством Виктора Высотского  была создана система BESYS. Впоследствии он возглавил проект Multics, а затем стал главой информационного подразделения Bell Labs.

В 1964 году появились компьютеры третьего поколения, для которых возможности BESYS уже не подходили. Высотский и его коллеги приняли решение не разрабатывать новую собственную операционную систему, а подключиться к совместному проекту General Electric и Массачусетского технологического института Multics. Телекоммуникационный гигант AT&T, в состав которого входили Bell Labs, оказал проекту существенную поддержку, но в 1969 году вышел из проекта, поскольку он не приносил никаких финансовых выгод. Первоначально UNIX была разработана в конце 1960-х годов сотрудниками Bell Labs, в первую очередь Кеном Томпсоном, Денисом Ритчи и Дугласом МакИлроем. В 1969 году Кен Томпсон, стремясь реализовать идеи, которые были положены в основу MULTICS, но на более скромном аппаратном обеспечении (DEC PDP-7), написал первую версию новой операционной системы, а Брайан Керниган придумал для неё название — UNICS (UNIplexed Information and Computing System) — в противовес MULTICS (MULTIplexed Information and Computing Service). Позже это название сократилось до UNIX.

В ноябре 1971 года вышла версия для PDP-11, наиболее успешного семейства миникомпьютеров 1970-х (в СССР его аналоги, выпускавшиеся Министерством Электронной Промышленности были известно как СМ ЭВМ и «Электроника», позже ДВК, производились в Киеве, Воронеже, Зеленограде). Эта версия получила название «первая редакция» (Edition 1) и была первой официальной версией. Системное время все реализации UNIX отсчитывают с 1 января 1970.

Первые версии UNIX были написаны на ассемблере и не имели встроенного компилятора с языком высокого уровня. Примерно в 1969 году Кен Томпсон при содействии Дениса Ритчи разработал и реализовал язык Би , представлявший собой упрощённый вариант разработанного в 1966 языка BCPL. Би, как и BCPL, был интерпретируемым языком. В 1972 году была выпущена вторая редакция UNIX, переписанная на языке Би. В 1969—1973 годах на основе Би был разработан компилируемый язык, получивший название Си (C).

В 1973 году вышла третья редакция UNIX, со встроенным компилятором языка Си. 15 октября того же года появилась четвёртая редакция, с переписанным на Си системным ядром (в духе системы Multics, также написанной на языке высокого уровня ПЛ/1), а в 1975 — пятая редакция, полностью переписанная на Си. С 1974 года UNIX стал бесплатно распространяться среди университетов и академических учреждений. С 1975 года началось появление новых версий, разработанных за пределами Bell Labs, и рост популярности системы. В том же 1975 году Bell Labs выпустила шестую редакцию, известную по широко разошедшимся комментариям Джона Лайонса. К 1978 году система была установлена более чем на 600 машинах, прежде всего, в университетах. Седьмая редакция была последней единой версией UNIX. Именно в ней появился близкий к современному интерпретатор командной строки Bourne shell.

С 1978 года начинает свою историю BSD UNIX, созданный в университете Беркли. Его первая версия была основана на шестой редакции. В 1979 выпущена новая версия, названная 3BSD, основанная на седьмой редакции. BSD поддерживал такие полезные свойства, как виртуальную память и замещение страниц по требованию. Автором BSD был Билл Джой. В начале 1980-х компания AT&T, которой принадлежали Bell Labs, осознала ценность UNIX и начала создание коммерческой версии UNIX. Эта версия, поступившая в продажу в 1982 году, носила название UNIX System III и была основана на седьмой версии системы.

Важной причиной раскола UNIX стала реализация в 1980 году стека протоколов TCP/IP. До этого межмашинное взаимодействие в UNIX пребывало в зачаточном состоянии — наиболее существенным способом связи был UUCP (средство копирования файлов из одной UNIX-системы в другую, изначально работавшее по телефонным сетям с помощью модемов).

Было предложено два интерфейса программирования сетевых приложений: Berkley sockets и интерфейс транспортного уровня TLI. Интерфейс Berkley sockets был разработан в университете Беркли и использовал стек протоколов TCP/IP, разработанный там же. TLI был создан AT&T в соответствии с определением транспортного уровня модели OSI и впервые появился в системе System V версии 3. Хотя эта версия содержала TLI и потоки, первоначально в ней не было реализации TCP/IP или других сетевых протоколов, но подобные реализации предоставлялись сторонними фирмами. Реализация TCP/IP официально и окончательно была включена в базовую поставку System V версии 4. Это, как и другие соображения, вызвало окончательное размежевание между двумя ветвями UNIX — BSD и System V (коммерческая версия от AT&T).

Впоследствии, многие компании, лицензировав System V у AT&T, разработали собственные коммерческие разновидности UNIX, такие, как AIX, CLIX, HP-UX, IRIX, Solaris.

В середине 1983 года была выпущена версия BSD 4.2, поддерживающая работу в сетях Ethernet и Arpanet. Система стала весьма популярной. Между 1983 и 1990 годом в BSD было добавлено много новых возможностей, таких как отладчик ядра, сетевая файловая система NFS, виртуальная файловая система VFS, и существенно улучшены возможности работы с файловыми сетями.

Тем временем AT&T выпускала новые версии своей системы, названной System V. В 1983 была выпущена версия 1 (SVR1 — System V Release 1), включавшая полноэкранный текстовый редактор vi, библиотеку curses, буферизацию ввода-вывода, кеширование inode. Версия 2 (SVR2), выпущенная в 1984, реализовывала монопольный доступ к файлам (file locking), доступ к страницам по требованию (demand paging), копирование при записи (copy-on-write). Версия 3 вышла в 1987 году и включала, среди прочего, TLI, а также систему поддержки удалённых файловых систем RFS. Версия 4 (SVR4), разработанная в сотрудничестве с фирмой Sun и вышедшая 18 октября 1988, поддерживала многие возможности BSD, в частности TCP/IP, сокеты, новый командный интерпретатор csh. Кроме того, там было много других добавлений, таких как символические ссылки, командный интерпретатор ksh, сетевая файловая система NFS (заимствованная у SunOS) и т. д.

Современные реализации UNIX, как правило, не являются системами V или BSD в чистом виде. Они реализуют возможности как System V, так и BSD.

Обзор GNU/Linux-подобных систем

Linux работает на множестве архитектур процессора таких как Intel x86, x86-64, PowerPC, ARM, Alpha AXP, Sun SPARC, Motorola 68000, Hitachi SuperH, IBM S/390, MIPS, HP PA-RISC, AXIS CRIS, Renesas M32R, Atmel AVR32, Renesas H8/300, NEC V850, Tensilica Xtensa и многих других.

В отличие от большинства других операционных систем, Linux не имеет единой «официальной» комплектации. Вместо этого Linux поставляется в большом количестве так называемых дистрибутивов, в которых ядро Linux соединяется с утилитами GNU и другими прикладными программами (например, X.org), делающими её полноценной многофункциональной операционной средой.

Наиболее известными дистрибутивами GNU/Linux являются Arch Linux, CentOS, Debian, Fedora, Gentoo, openSUSE, Red Hat, Slackware, Ubuntu. Более полный список и процент использования можно посмотреть  на distrowatch.com

В отличие от коммерческих систем, таких как Microsoft Windows или Mac OS X, Linux не имеет географического центра разработки. Нет и организации, которая владела бы этой системой; нет даже единого координационного центра. Программы для Linux — результат работы тысяч проектов. Некоторые из этих проектов централизованы, некоторые сосредоточены в фирмах. Пользователи принимают участие в тестировании свободных программ, общаются с разработчиками напрямую, что позволяет быстро находить и исправлять ошибки и реализовывать новые возможности.Большинство пользователей для установки Linux используют дистрибутивы. Дистрибутив — это не просто набор программ, а ряд решений для разных задач пользователей, объединённых едиными системами установки, управления и обновления пакетов, настройки и поддержки.

Самые распространённые в мире дистрибутивы:

Ubuntu — дистрибутив, основанный на Debian и быстро завоевавший популярность. Поддерживается сообществом, разрабатывается Canonical Ltd. Основная сборка ориентирована на лёгкость в освоении и использовании, при этом существуют серверная и минимальная сборки.

openSUSE — дистрибутив, разрабатываемый сообществом при поддержке компании Novell. Отличается удобством в настройке и обслуживании благодаря использованию утилиты YaST.

Fedora — поддерживается сообществом и корпорацией RedHat, предшествует выпускам коммерческой версии RHEL.

Debian — дистрибутив, разрабатываемый обширным сообществом разработчиков. Служит основой для создания множества других дистрибутивов. Отличается строгим подходом включению несвободного ПО.

Slackware — один из старейших дистрибутивов, отличается консервативным подходом в разработке и использовании.

Gentoo — дистрибутив, полностью собираемый из исходных кодов. Позволяет очень гибко настраивать конечную систему и оптимизировать производительность, поэтому часто называет себя мета-дистрибутивом. Ориентирован на экспертов и опытных пользователей.

Arch Linux — ориентированный на применение самых последних версий программ и постоянно обновляемый, поддерживающий одинаково как бинарную, так и установку из исходных кодов и построенный на философии простоты KISS, этот дистрибутив ориентирован на компетентных пользователей, которые хотят иметь всю силу и модифицируемость Linux, но не в ущерб времени обслуживания.

CentOS — дистрибутив Linux, основанный на свободных исходных текстах коммерческого дистрибутива Red Hat Enterprise Linux компании Red Hat, и совместимый с ним. Срок поддержки каждой версии CentOS составляет 7 лет (с помощью выпуска обновлений безопасности). Новая версия CentOS выходит раз в 2 года и каждая версия регулярно обновляется (каждые 6 месяцев) для поддержки новых аппаратных средств. В результате это приводит к безопасной, легко обслуживаемой, надежной, предсказуемой и масштабируемой Linux среде.

Помимо перечисленных, существует множество других дистрибутивов, как базирующихся на перечисленных, так и созданных с нуля и зачастую предназначенных для выполнения ограниченного количества задач. Каждый из них имеет свою концепцию, свой набор пакетов, свои достоинства и недостатки. Ни один не может удовлетворить всех пользователей, а потому рядом с лидерами благополучно существуют другие фирмы и объединения программистов, предлагающие свои решения, свои дистрибутивы, свои услуги. Существует множество LiveCD, построенных на основе Linux, например, Knoppix. LiveCD позволяет запускать Linux непосредственно с компакт-диска, без установки на жёсткий диск. Для желающих досконально разобраться с Linux подойдёт любой из дистрибутивов, однако довольно часто для этой цели используются так называемые source-based дистрибутивы, то есть предполагающие самостоятельную сборку всех (или части) компонентов из исходных кодов, такие как LFS, Gentoo или CRUX.


Обзор BSD-подобных систем

К семейству BSD относятся: NetBSD, FreeBSD, OpenBSD, ClosedBSD, MirBSD, DragonFly BSD, PC-BSD, DesktopBSD, SunOS, TrueBSD, Frenzy, Ultrix и частично Darwin (ядро Mac OS X).

 NetBSD — свободно распространяемая, защищенная, кросс-платформенная операционная система. Немного похожа на UNIX, но таковой не является.

Первая официальная версия NetBSD — 0.8 — была выпущена в апреле 1993 года. NetBSD происходит из систем 4.3BSD и 386BSD. В конце 1995 года от NetBSD ответвился проект OpenBSD. Текущая версия — NetBSD 5.0.2 — выпущена 12 февраля 2010 года.

NetBSD портирована на огромное количество компьютерных архитектур; лозунг NetBSD — «Конечно, это работает с NetBSD» . Поддерживаются 53 аппаратные платформы. Компиляция пакетов происходит из одного дерева исходных кодов, поэтому новые функции в машинно-независимых частях появляются сразу для всех платформ без необходимости адаптации. Разработка драйверов также машинно-независима, поэтому один драйвер для карты, работающей, например, на шине PCI, будет работать на платформах i386, Alpha, PowerPC, SPARC и других, поддерживающих шину PCI.

Такая платформонезависимость позволяет разрабатывать встраиваемые системы с помощью целого набора инструментов: компиляторов, отладчиков и других инструментов, поддерживающих кросс-компиляцию. NetBSD содержит собственную систему пакетов — pkgsrc. На конец 2009 года в ней находится более 9000 пакетов. Установка любой программы, будь то GNOME, KDE, Apache или Perl, сводится к тому, что надо войти в соответствующий каталог и набрать команду make install clean. После этого исходные коды будут загружены, распакованы, скомпилированы и установлены. Альтернативой самостоятельной сборки служат прекомпилированные (двоичные) пакеты. В любом случае все необходимые зависимости пакетов будут соблюдены автоматически.

FreeBSD — свободная Unix-подобная операционная система, потомок AT&T Unix по линии BSD, созданной в университете Беркли. FreeBSD работает на PC-совместимых системах семейства x86, включая Microsoft Xbox, а также на DEC Alpha, Sun UltraSPARC, IA-64, AMD64, PowerPC, NEC PC-98, ARM. Готовится поддержка архитектуры MIPS.

FreeBSD разрабатывается как целостная операционная система. Исходный код ядра, драйверов устройств и базовых пользовательских программ , таких как командные оболочки и т. п., содержится в одном дереве системы управления версиями (до 31 мая 2008 — CVS, сейчас — SVN). Это отличает FreeBSD от Linux — другой свободной UNIX-подобной операционной системы — в которой ядро разрабатывается одной группой разработчиков, а набор пользовательских программ — другими (например, проект GNU), а многочисленные группы собирают это всё в единое целое и выпускают в виде различных дистрибутивов Linux.

FreeBSD хорошо зарекомендовала себя как система для построения интернет серверов. Она предоставляет достаточно надёжные сетевые службы и эффективное управление памятью.

В настоящее время FreeBSD предоставляет пользователю две взаимодополняющие технологии установки программного обеспечения сторонних разработчиков: коллекция портов FreeBSD и бинарные пакеты с программным обеспечением. Любая из этих систем может быть использована для установки самых последних версий приложений с локальных носителей или прямо из сети. На данный момент коллекция портов насчитывает свыше 22 тыс. приложений самого разного назначения.

OpenBSD — свободная многоплатформенная операционная система, основанная на 4.4BSD — BSD-реализации UNIX-системы. Основным отличием OpenBSD от других свободных операционных систем, базирующихся на 4.4BSD (таких, как NetBSD, FreeBSD), является изначальная ориентированность проекта на создание наиболее безопасной, свободной и лицензионно чистой из существующих операционных систем.

OpenBSD — самостоятельный проект, ответвление NetBSD, возникшее в конце 1995 года в результате раскола в команде разработчиков. Тэо де Раадт , один из четырех основателей NetBSD, был вынужден покинуть проект после конфронтации по поводу дальнейшего развития ОС. Взяв за основу дерево исходных кодов NetBSD и переделав его в соответствии со своим ви́дением, он создал свой собственный проект — OpenBSD, в который, вслед за ним, перешли и некоторые другие разработчики NetBSD.

Новые версии (релизы) OpenBSD выходят каждые полгода: ориентировочно 1 мая и 1 ноября.В настоящий момент поддерживаются 17 различных платформ и архитектур, включая популярные i386-совместимые компьютеры, MacPPC «New World», M68k, Sun SPARC, UltraSPARC, Fujitsu SPARC64, DEC Alpha, AMD, AMD64, VAX, Sharp Zaurus.

Начиная с версии 4.2 команда разработчиков OpenBSD предоставляет для загрузки ISO для ряда платформ — образы установочных дисков, до версии 4.2 пользователям системы предлагалось самостоятельно делать установочные образы дисков или получать их из альтернативных источников.

Наиболее популярным применением OpenBSD являются системы защиты сетей (межсетевые экраны). OpenBSD отличается от других свободных BSD-систем своей системой разработки. Никакой код не может попасть в систему извне случайно; любые изменения просматриваются ответственными за соответствующую часть системы лицами. Любая ошибка, найденная в одном месте, вызывает пересмотр всего аналогичного кода.

В OpenBSD уделяется огромное внимание качеству документации. Любая ошибка в man-странице считается серьёзной и немедленно исправляется. Также большое внимание уделяется простоте и ясности кода — поскольку разработчики небезосновательно полагают, что чем проще код, тем меньше вероятность пропустить ошибку.

Разработчики OpenBSD категорически не приемлют использование любого несвободного кода в системе. Неоднократно части операционной системы исключались из репозитория из-за проблем с лицензированием.

Frenzy — Live-CD на базе операционной системы FreeBSD. Предназначен для настройки, проверки и анализа компьютерных сетей, тестирования компьютерного аппаратного обеспечения и ряда других задач.

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

Frenzy выпускается в двух вариантах:

· Frenzy standard — ориентирована в первую очередь на системных администраторов. Объём ISO-образа — 200 мегабайт. В состав дистрибутива входит более 500 приложений.

· Frenzy extended — ориентирована на администраторов и продвинутых пользователей, кроме приложений из Frenzy standard содержит ряд дополнительных приложений. Объём ISO-образа — 250 мегабайт. В состав дистрибутива входит более 600 приложений.

Также существует lite версия (50 мегабайт) в которой отсутствует графический интерфейс.Базовой операционной системой является FreeBSD 6.3-STABLE.

Обзор файловых систем unix-подобных операционных систем

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

Extended File System, сокращённо ext или extfs — первая файловая система, разработанная специально для ОС на ядре Linux. Получила дальнейшие развитие в версиях ext2, ext3, ext4

ext2 (иногда ext2fs) — файловая система ядра Linux. Была разработана Реми Кардом ext. По скорости и производительности работы она может служить эталоном в тестах производительности файловых систем. Так, в тестах на скорость последовательного чтения и записи, файловая система ext2 обгоняет ext3, и уступает лишь более современной ext4 в тесте на чтение.

Главный недостаток ext2 (и одна из причин демонстрации столь высокой производительности) заключается в том, что она не является журналируемой файловой системой. Он был устранён в файловой системе ext3 — следующей версии Extended File System, полностью совместимой с ext2.

Система адресации данных — это одна из самых важных составляющих файловой системы. Именно она позволяет находить нужный файл среди множества как пустых, так и занятых блоков на диске. Файловая система ext2 использует следующую схему адресации блоков файла. Для хранения адреса файла выделено 15 полей, каждое из которых состоит из 4 байт. Если файл умещается в 12 блоков, то номера соответствующих кластеров непосредственно перечисляются в первых двенадцати полях адреса. Если размер файла превышает 12 блоков, то следующее поле содержит адрес кластера, в котором могут быть расположены номера следующих блоков файла. Таким образом, 13-е поле используется для косвенной адресации.


При максимальном размере блока в 4096 байт кластер, соответствующий 13-му полю, может содержать до 1024 номеров следующих блоков файла. Если размер файла превышает 12+1024 блоков, то используется 14-е поле, в котором находится адрес кластера, содержащего 1024 номеров кластеров, каждый из которых ссылается на 1024 блока файла. Здесь применяется уже двойная косвенная адресация. И наконец, если файл включает более 12+1024+1048576 блоков, то используется последнее 15-е поле для тройной косвенной адресации. Данная система адресации позволяет при максимальном размере блока в 4096 байт иметь файлы, размер которых превышает 2 TB.

Third Extended File System (третья версия расширенной файловой системы), сокращённо ext3 или ext3fs — журналируемая файловая система, используемая в операционных системах на ядре Linux, является файловой системой по умолчанию во многих дистрибутивах. Основана на ФС ext2, начало разработки которой положил Стивен Твиди. Основное отличие от ext2 состоит в том, что ext3 журналируема, то есть в ней предусмотрена запись некоторых данных, позволяющих восстановить файловую систему при сбоях в работе компьютера.

Стандартом предусмотрено три режима журналирования:

· writeback: в журнал записываются только метаданные файловой системы, то есть информация о её изменении. Не может гарантировать целостности данных, но уже заметно сокращает время проверки по сравнению с ext2;

· ordered: то же, что и writeback, но запись данных в файл производится гарантированно до записи информации о изменении этого файла. Немного снижает производительность, также не может гарантировать целостности данных (хотя и увеличивает вероятность их сохранности при дописывании в конец существующего файла);

· journal: полное журналирование как метаданных ФС, так и пользовательских данных. Самый медленный, но и самый безопасный режим; может гарантировать целостность данных при хранении журнала на отдельном разделе (а лучше — на отдельном жёстком диске).

Указывается режим журналирования в строке параметров для программы mount, например:

mount /dev/hda6 /mnt/disc -t ext3 -o data=<режим>

либо в файле /etc/fstab.

Файловая система ext3 может поддерживать файлы размером до 1 ТБ. В Linux 2.6 (для 32-разрядных процессоров) максимальный размер блочных устройств составляет 16 ТБ, однако ext3 поддерживает только до 4 ТБ.

Табл. 1 Ограничения размеров

Размер блока

Макс. размер файла

Макс. размер файловой системы

1 KB16 GBдо 2 TB
2 KB256 GBдо 4 TB
4 KB2 TBдо 8 TB
8 KB2 TBдо 16 TB

Fourth Extended File System (четвёртая версия расширенной файловой системы), сокр. ext4, или ext4fs — журналируемая файловая система, используемая в ОС с ядром Linux. Основана на файловой системе ext3, которая является файловой системой по умолчанию во многих дистрибутивах Linux.

Основной особенностью стало увеличение максимального объёма одного раздела диска до 1 эксабайта (260 байт) при размере блока 4Kb, и увеличение размера одного файла до 16 терабайт. Кроме того, в ext4 представлен механизм пространственной (extent) записи файлов (новая информация добавляется в конец заранее выделенной по соседству области файла), уменьшающий фрагментацию и повышающий производительность. В системах MS Windows доступ к томам с ext4 возможен посредством использования технологии coLinux.

Journaled File System или JFS — 64-битная журналируемая файловая система созданная IBM.

Исходный код JFS был открыт IBM в 1999 году и включен в исходный код ядра Linux начиная с версии 2.4.18-pre9-ac4. Большинство дистрибутивов Linux обеспечивают поддержку JFS, если только она не была специально удалена из-за ограничений на объём дистрибутива или иных проблем.Для управления разделами диска в формате JFS был выпущен набор утилит под названием JFSutils

ReiserFS (произносится «Райзэр Эф Эс») — журналируемая файловая система, разработанная специально для Linux компанией Namesys под руководством Ганса Рейзера. Обычно под словом ReiserFS понимают третью версию, а четвёртую называют Reiser4.

В настоящее время ReiserFS поддерживается только под Linux, но может быть в будущем перенесена на другие платформы. Появившись в Linux версии 2.4.1, она стала первой журналируемой файловой системой, включённой в ядро. ReiserFS — стандартная файловая система для дистрибутивов Ubuntu, Gentoo, Archlinux, Slackware, SuSE, Xandros, Yoper, Linspire и Kurumin Linux, рекомендуемой в Calculate Linux. Может быть создана командой mkreiserfs.

Возможность упаковки нескольких небольших файлов в один блок во избежание фрагментации и потери дискового пространства. Из-за сильной потери производительности Namesys рекомендует отключить эту возможность на чувствительных к ресурсам машинах. Несколько режимов журналирования: только метаданные/все данные. Возможность изменения размера файловой системы «на лету».

XFS — высокопроизводительная журналируемая файловая система, созданная компанией Silicon Graphics для собственной операционной системы IRIX. 1 мая 2001 года Silicon Graphics выпустила XFS под GNU General Public License. XFS отличается от других ФС тем, что она изначально была рассчитана для использования на дисках большого объема.

Поддержка XFS была включена в ядро Linux версий 2.4 (начиная с 2.4.25, когда Марчело Тозатти посчитал её достаточно стабильной) и 2.6, и, таким образом, она стала довольно универсальной для Linux-систем. Инсталляторы дистрибутивов SuSE, Gentoo, Mandriva, Slackware, Ubuntu, Fedora и Debian предлагают XFS как вариант файловой системы для установки. FreeBSD стала поддерживать XFS в режиме чтения в декабре 2005 года.

Особенности

· 64-битная файловая система

· Изменение размера «на лету» (только увеличение)

· Дефрагментация «на лету»

· API ввода/вывода реального времени (для приложений жёсткого или мягкого реального времени, например, для работы с потоковым видео)

· Запись на диск производится только при нехватке памяти. Это позволяет уменьшить фрагментацию, а также снизить активность запросов к диску.

· Интерфейс (DMAPI) для поддержки иерархического управления носителями (HSM)

· Инструменты резервного копирования и восстановления (xfsdump and xfsrestore)

· Реальный размер файла на файловой системе, в отличие от кратного размеру блока.

Unix File System (UFS) — файловая система, созданная для операционных систем семейства BSD и используемая в переработанном и дополненном виде на данный момент как основная в операционных системах-потомках (FreeBSD, OpenBSD, NetBSD).

Физически UFS состоит из следующих частей:

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

· суперблок, включающий магическое число, инициализирующее файловую систему, и некоторые другие важные числа, описывающие геометрию и настройку некоторых параметров файловой системы

· описание групп цилиндров. Каждая группа включает следующие компоненты:

o Резервную копию суперблока

o Заголовок группы цилиндров, статистические данные и т. д., информацию аналогичную содержащейся в суперблоке, но для конкретной группы

o Число индексных дескрипторов, каждый из которых содержит атрибуты файлов

Индексные дескрипторы нумеруются последовательно. Несколько первых индексных дескрипторов сохранены по историческим причинам, далее следуют индексные дескрипторы корневого каталога. Каталог файлов содержат только список файлов в директории и индексный дескриптор, связанный с каждым файлом. Пользователи некоторых коммерческих Unix систем, таких как Solaris, HP-UX и Tru64 UNIX, приняли UFS. Большинство из них перевели системы на UFS, добавили проприетарные дополнения, которые позволяли не распознать UFS пользователям других версий UNIX. Удивительно, но многие из них продолжают использовать оригинальный размер блока данных и ширину блока, как и в оригинальной UFS, так что некоторая степень остается совместимой на разных платформах. Совместимость между реализациями неполная, в лучшем случае, и должна быть исследована перед использованием на нескольких платформах.

Linux поддерживает UFS на уровне чтения, но не имеет полной поддержки для записи UFS. Родной Linux ext2 создан по подобию UFS. (В самом деле, в некоторых 4.4BSD системах, UFS слой может использовать ext2 слой как контейнер, так же, как он может использовать FFS и LFS). Игровая консоль PlayStation 3 использует UFS2 на своём HDD. В PlayStation 2 используется UFS.

ZFS (Zettabyte File System) — файловая система, изначально созданная в Sun Microsystems для операционной системы Solaris. Эта файловая система поддерживает большие объёмы данных, объединяет концепции файловой системы и менеджера логических дисков (томов) и физических носителей, инновационную структуру данных на дисках, легковесные файловые системы (lightweight filesystems), а также простое управление томами хранения данных. ZFS является проектом с открытым исходным кодом и лицензируется под CDDL (Common Development and Distribution License).

Основное преимущество ZFS — это её полный контроль над физическими и логическими носителями. Зная, как именно расположены данные на дисках, ZFS способна обеспечить высокую скорость доступа к ним, контроль их целостности, а также минимизацию фрагментации данных. Это позволяет динамически выделять или освобождать дисковое пространство на одном или более носителях для логической файловой системы. Кроме того, имеет место переменный размер блока, что лучшим образом влияет на производительность, параллельность выполнения операций чтения-записи, а также 64-разрядный механизм использования контрольных сумм, сводящий к минимуму вероятность разрушения данных.

ZFS это 128-битная файловая система, что позволяет ей хранить в 18.4 × 1018 раз больше данных, чем нынешние 64-битные системы. ZFS спроектирована так, чтобы её ограничения были настолько малы, что они никогда не встретятся на практике. Как заявил руководитель проекта Бонвик, «заполнение 128-битных файловых систем превысит квантовые возможности хранения данных на Земле. Вы не сможете заполнить и хранить 128-битный объём, не вскипятив при этом океан.» Пример того, насколько велики эти цифры: если бы 1000 файлов создавались каждую секунду, то потребовалось бы около 9000 лет для достижения предела количества файлов.

Некоторые теоретические пределы в ZFS:

· 248 — Количество снимков (snapshot) в любой файловой системе (2 × 1014)

· 248 — Количество файлов в любой индивидуальной файловой системе (2 × 1014)

· 16 эксабайт (264 byte) — Максимальный размер файловой системы

· 16 эксабайт (264 byte) — Максимальный размер одного файла

· 16 эксабайт (264 byte) — Максимальный размер любого атрибута

· 3 × 1023 петабайт — Максимальный размер любого пула хранения (zpool)

· 256 — Количество атрибутов файла (фактически ограничивается 2 48 на количество файлов в файловой системе ZFS)

· 256 — Количество файлов в директории (реально ограничен 2 48 на количество файлов в файловой системе ZFS)

· 264 — Количество устройств в любом zpool

· 264 — Количество zpool’ов в системе

· 264 — Число файловых систем в zpool


Ядро linux-kernel-2.6.xx

Ядро Linux поддерживает многозадачность, виртуальную память, динамические библиотеки, отложенную загрузку, производительную систему управления памятью и многие сетевые протоколы.

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

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

Не задуманный изначально как многоплатформенное ядро, Linux на данный момент портирован на очень широкий круг архитектур, запускается на широком спектре оборудования от iPAQ  до IBM S/390. Системы на основе Linux используются в качестве основных практически на всех суперкомпьютерах (более 80 % списка Top500), в том числе и на самых мощных — Jaguar.

X.Org Server

 X.Org Server (сокращенно Xorg Server или просто Xorg, официально «X.Org Foundation Open Source Public Implementation of X11») — свободная реализация сервера X Window System с открытым кодом.

X Window System — оконная система, обеспечивающая стандартные инструменты и протоколы для построения графического интерфейса пользователя. Используется в UNIX-подобных ОС.

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

В X Window System предусмотрена сетевая прозрачность: графические приложен

Подобные работы:

Актуально: