08-05-2023
HURD Live CD |
|
Тип | |
---|---|
Разработчик |
Томас Башнелл |
Написана на | |
Операционная система | |
Аппаратная платформа | |
Последняя версия |
0.9 (18 декабря 2016)[1] |
Лицензия | |
Сайт |
gnu.org/software/hurd/index.html |
Викискладе |
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» и «Hird» в английском языке являются омофонами «Herd» («Стадо»), то название GNU Hurd так же является игрой слов — herd of gnus («Стадо антилоп Гну»). Это отражает особенности работы ядра[3].
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 .
Но, тем не менее, существует дистрибутив Debian GNU/Hurd, регулярно выпускаются новые CD-сборки и мини-образы этого дистрибутива[6][7].
Также, в 2010 году появился новый дистрибутив на базе GNU/Hurd и Archlinux — Arch Hurd[8].
Именование дисков — это нотация, определяющая порядок формирования идентификаторов или имён для обращения к устройствам хранения данных, которые имеют файловую систему определённого типа, в средах различных операционных систем.
Если речь идёт о именовании диска SCSI, необходимо знать номер устройства SCSI; если это IDE диск, то необходимо знать, на каком контроллере находится этот диск, а также ведущий он или ведомый. Система Hurd использует соглашение о наименовании дисков, аналогичное применяемому в BSD, по этому соглашению диски упорядочиваются согласно их физическому расположению по номерам начиная с нуля. Эта схема наименования напоминает свой аналог в Linux. Там ведущий диск на главном контроллере обозначается как «sda», а ведомый диск как «sdb». На вторичном контроллере ведущий диск и ведомый обозначаются «sdc» и «sdd» соответственно. В системе Hurd диск "sda" будет называться «hd0», а диск «sdb» будет обозначаться «hd1» и т. д.
В системе Hurd, как и в дистрибуции BSD, разделы диска называются «slices» (отрезки) и нумеруются, начиная с единицы. Поэтому, чтобы сформировать имя для определённого раздела диска, берётся имя диска, к нему добавляется суффикс «s» и вслед за ним добавляется номер раздела. Опять таки, это похоже на именование дисков и разделов в Linux за исключением того что там нет префикса «s», а для обозначения диска используется буква, а не цифра. Так, для примера, «hda1» будет называться «hd0s1», то есть имя диска «hd0s1» — это первый раздел (slice) первого диска типа IDE.
GRUB — это программа начальной загрузки операционной системы. Он использует совершенно другую номенклатуру именования дисков: он получает от BIOS данные об имеющихся дисках и преобразует их в свою внутреннюю структуру в формате массива. Таким образом диски и разделы нумеруются в GRUB начиная с нуля. Формат именования дисков в GRUB таков: «(<диск>, <раздел>)». Поэтому имя «hd (0, 1)» обозначает второй раздел на первом диске, который был обнаружен средствами BIOS самого компьютера[9]. Поскольку GRUB на данный момент имеет функции tab-дополнения, пользователю GRUB не требуется прилагать много усилий для именования диска и раздела.
|
|
GNU/Hurd.