GNU Hurd

Материал из Википедии — свободной энциклопедии

(Перенаправлено с GNU/Hurd)
Перейти к: навигация, поиск
GNU Hurd
Файл:Hurd-logo.png
HURD Live CD
Тип ядро
Разработчик Thomas Bushnell
Roland McGrath
Marcus Brinkmann
и другие
ОС GNU
Версия K16 — 30 декабря 2007
Лицензия GPL
Сайт www.gnu.org

GNU Hurd — проект по созданию комплекса системных программ-серверов, функционирующего подобно ядру операционной системы, и способного заменить ядро UNIX в Unix-подобной операционной системы GNU. Разработка Hurd ведётся с 1990 года, но пока проект ещё далек от завершения.

GNU/Hurd — название операционной системы от проекта GNU, использующей GNU Hurd в качестве ядра. Название построено по аналогии с «GNU/Linux», используемым для операционных систем GNU на ядре Linux. Используется, когда требуется явно указать на отличие от GNU/Linux. Например, проект Debian использует его в названии разрабатываемой ОС Debian GNU/Hurd,[1] чтобы отличить её от других своих систем на основе GNU — Debian GNU/Linux и Debian GNU/kFreeBSD.

Содержание

[править] Этимология

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

[править] Идеи Hurd

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

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

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

[править] Статус разработки

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

В настоящее время ведётся работа по портированию Hurd на высокопроизводительное микроядро L4, что даёт надежду на то, что стабильная версия всё-таки выйдет в обозримом будущем.

На данный момент (июль 2008) существует дистрибутив Debian GNU/Hurd K16, выпущенный в декабре 2007 года. В 2005 году разрабатывался другой дистрибутив под названием Bee GNU/Hurd. Этот проект, судя по всему, мёртв, так как последний snapshot (версия Bee 0.3 beta 1) в системе CVS датирован 22 декабря 2005.[3]

[править] Именование дисков в 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 самого компьютера. Поскольку GRUB на данный момент имеет функции tab дополнения, пользователю GRUB не требуется прилагать много усилий для определения корректного значения имени диска и раздела.

[править] Примечания

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

Источник — «http://ru.wikipedia.org/wiki/GNU_Hurd»