GNU Hurd

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
Версия для печати больше не поддерживается и может содержать ошибки обработки. Обновите закладки браузера и используйте вместо этого функцию печати браузера по умолчанию.
GNU Hurd
Логотип программы GNU Hurd
Скриншот программы GNU Hurd
HURD Live CD
Тип ядро ОС
Разработчики Томас Башнелл
Роланд Макграт
Маркус Бринкманн
и другие
Написана на Си и язык ассемблера
Операционная система GNU
Аппаратная платформа IA-32
Последняя версия 0.9[1] (18 декабря 2016; 7 лет назад (2016-12-18))
Репозиторий git.savannah.gnu.org/cgi…
Лицензия GNU GPL
Сайт gnu.org/software/hurd/in…
Логотип Викисклада Медиафайлы на Викискладе

GNU Hurd (или просто Hurd) — проект по разработке свободного программного обеспечения, целью которого является замена ядра Unix для Unix-подобных операционных систем[2]. Разработка Hurd ведётся начиная с 1990 года проектом GNU и Фондом свободного программного обеспечения. Разработка ведётся медленно по причине существования Linux — уже готовой свободной замены ядрам Unix-систем.

Этимология

HURD — двойной рекурсивный акроним HIRD of Unix-Replacing Daemons (с англ. — «хирд демонов», заменяющих UNIX), где HIRD — также акроним HURD of Interfaces Representing Depth (с англ. Hurd интерфейсов, олицетворяющих глубину).

Так как слова «Hurd» и «Hird» в английском языке являются омофонами «Herd» («стадо»), то название GNU Hurd также является игрой слов — herd of gnus («стадо антилоп гну»). Это отражает особенности работы ядра[3].

Идеи Hurd

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

Особый класс серверов — трансляторы — обеспечивают возможность работы с файловыми системами, сетевыми протоколами, управляют доступом к файлам. Также устройство файловой системы Hurd обладает некоторыми особенностями, которые отличают GNU/Hurd от других операционных систем.

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

Статус разработки

Сейчас Hurd работает на компьютерах с архитектурой x86, однако уже много лет находится в состоянии, далёком от стабильной версии. Скептики сомневаются, что в ближайший разумный промежуток времени Hurd достигнет уровня стабильности и простоты использования, необходимых для повседневного применения. В 2002 году Ричард Столлман, руководитель проекта GNU, заявил о скором выходе стабильной версии Hurd[4].

Была предпринята попытка портирования Hurd на высокопроизводительное микроядро L4, однако в настоящее время работа в этом направлении остановлена[5].

В 2005 году разрабатывался дистрибутив под названием Bee GNU/Hurd. Этот проект, судя по всему, мёртв, так как последний снэпшот (версия Bee 0.3 beta 1) в системе управления версиями CVS датирован 22 декабря 2005[источник не указан 4078 дней].

Из активных проектов существует дистрибутив Debian GNU/Hurd, регулярно выпускаются новые CD-сборки и мини-образы этого дистрибутива[6][7].

Также в 2010 году появился новый дистрибутив на базе GNU/Hurd и Arch Linux — Arch Hurd[8].

В 2020 году дистрибутив GNU Guix System стал поддерживать GNU Hurd[9][10].

Именование дисков в Hurd

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

Если речь идёт о именовании диска SCSI, необходимо знать номер устройства SCSI; если это IDE-диск, то необходимо знать, на каком контроллере находится этот диск, а также ведущий он или ведомый. Система Hurd использует соглашение о наименовании дисков, аналогичное применяемому в BSD, по этому соглашению диски упорядочиваются согласно их физическому расположению по номерам, начиная с нуля. Эта схема наименования напоминает свой аналог в Linux. Там ведущий диск на главном контроллере обозначается как «sda», а ведомый диск — как «sdb». На вторичном контроллере ведущий диск и ведомый обозначаются «sdc» и «sdd», соответственно. В системе Hurd диск «sda» будет называться «hd0», а диск «sdb» будет обозначаться «hd1» и т. д.

В системе Hurd, как и в BSD, разделы диска называются «slices» (от англ. slice — отрезанная часть, ломоть) и нумеруются, начиная с единицы. Имя раздела получается добавлением номера с префиксом «s» к имени диска. Так второй раздел на диске «hd1» получит имя «hd1s2» (в отличие от «sdb2» в Linux).

GRUB — это программа начальной загрузки операционной системы. Он использует совершенно другую номенклатуру именования дисков: он получает от BIOS данные об имеющихся дисках и преобразует их в свою внутреннюю структуру в формате массива. Таким образом, диски и разделы нумеруются в GRUB начиная с нуля. Формат именования дисков в GRUB таков: «(<диск>, <раздел>)». Поэтому имя «hd (0, 1)» обозначает второй раздел на первом диске, который был обнаружен средствами BIOS самого компьютера[11]. Поскольку GRUB на данный момент имеет функции tab-дополнения, пользователю GRUB не требуется прилагать много усилий для именования диска и раздела.

Примечания

  1. Hurd 0.9, GNU Mach 1.8, GNU MIG 1.8 released. Дата обращения: 12 июня 2022. Архивировано 30 мая 2022 года.
  2. What Is the GNU Hurd? (англ.). gnu.org. Дата обращения: 28 ноября 2010. Архивировано из оригинала 27 августа 2011 года.
  3. Origin Of the Name (англ.). gnu.org. Дата обращения: 28 ноября 2010. Архивировано из оригинала 27 августа 2011 года.
  4. John Ribeiro. «Free Software Sees Gnu Loose of Linux» (англ.). PC World (12 марта 2002). Дата обращения: 28 ноября 2010. Архивировано из оригинала 27 августа 2011 года.
  5. Porting the Hurd to L4: Hurd/L4. Дата обращения: 18 сентября 2009. Архивировано 27 июня 2010 года.
  6. http://people.debian.org/~sthibault/hurd-i386/installer/cdimage/ Архивная копия от 29 июня 2011 на Wayback Machine — текущая версия
  7. GNU chapters. Дата обращения: 27 июля 2008. Архивировано 5 марта 2005 года.
  8. Arch Hurd. Дата обращения: 20 мая 2010. Архивировано 31 июля 2010 года.
  9. * Jan (janneke) Nieuwenhuizen, Ludovic (civodul) Courtès, Marius (mbakke) Bakke, Ricardo (rekado) Wurmus. Deprecating support for the Linux kernel (англ.). GNU Guix (1 апреля 2020). — «After years in the making, Guix recently gained support for running natively on the GNU/Hurd operating system.» Дата обращения: 4 августа 2020. Архивировано 4 августа 2020 года.
    • Jan Nieuwenhuizen, Ludovic Courtès. A “Hello World” virtual machine running the Hurd (англ.) (8 апреля 2020). — «we’re not deprecating Linux-libre, fear not! But when we published it, it was already April 2nd in Eastern parts of the world and thus, not surprisingly, the remainder of the post was less of a joke.» Дата обращения: 4 августа 2020. Архивировано 10 августа 2020 года.
  10. Download latest images (англ.). GNU Guix. — «GNU Guix System on GNU Hurd». Дата обращения: 4 августа 2020. Архивировано 5 августа 2020 года.
  11. В GRUB2 нумерация разделов (slice) начинается с единицы. Таким образом, второй раздел на первом диске будет иметь имя hd(0,2).

Ссылки