GNU Hurd

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск
GNU Hurd
Hurd-logo.png
HURD Live CD.png
HURD Live CD
Тип

ядро ОС

Разработчик

Томас Башнелл
Роланд Макграт
Маркус Бринкманн
и другие

Написана на

Си

Операционная система

GNU

Последняя версия

0.5[1] (27 сентября 2013)

Лицензия

GNU GPL

Сайт

gnu.org/software/hurd/index.html

GNU Hurd на Викискладе

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

Этимология[править | править вики-текст]

Hurd — косвенный рекурсивный акроним от англ. HIRD of Unix-Replacing Daemons («HIRD демонов, заменяющих 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.[источник не указан 480 дней]

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

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

Именование дисков в Hurd[править | править вики-текст]

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

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

В системе Hurd, как и в дистрибуции BSD, разделы диска называются «slices» (отрезки) и нумеруются, начиная с единицы. Поэтому, чтобы сформировать имя для определённого раздела диска, берётся имя диска, к нему добавляется суффикс «s» и вслед за ним добавляется номер раздела. Опять таки, это похоже на именование дисков и разделов в Linux за исключением того что там нет префикса «s», а для обозначения диска используется буква, а не цифра. Так, для примера, «hda1» будет называться «hd0s1», то есть имя диска «hd0s1» — это первый раздел (slice) первого диска типа IDE.

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

Примечания[править | править вики-текст]

  1. darnassus.sceen.net Git - savannah_mirror/hurd.git/blob - NEWS
  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
  6. http://people.debian.org/~sthibault/hurd-i386/installer/cdimage/ — текущая версия
  7. GNU chapters
  8. Arch Hurd
  9. В GRUB2 нумерация разделов (slice) начинается с единицы. Таким образом второй раздел на первом диске будет иметь имя hd(0,2).

Ссылки[править | править вики-текст]