GNU Hurd
GNU Hurd | |
---|---|
![]() | |
![]() HURDLive CD | |
Тип | ядро ОС |
Разработчики | Томас Башнелл Роланд Макграт Маркус Бринкманн и другие |
Написана на | Си и язык ассемблера |
Операционная система | GNU |
Аппаратная платформа | IA-32 |
Последняя версия | 0.9[1] (18 декабря 2016; 8 лет назад (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[источник не указан 4331 день].
Из активных проектов существует дистрибутив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 не требуется прилагать много усилий для именования диска и раздела.
Примечания
[править |править код]- ↑Hurd 0.9, GNU Mach 1.8, GNU MIG 1.8 released. (неопр.) Дата обращения: 12 июня 2022. Архивировано 30 мая 2022 года.
- ↑What Is the GNU Hurd? (англ.). gnu.org. Дата обращения: 28 ноября 2010. Архивировано изоригинала 27 августа 2011 года.
- ↑Origin Of the Name (англ.). gnu.org. Дата обращения: 28 ноября 2010. Архивировано изоригинала 27 августа 2011 года.
- ↑John Ribeiro. «Free Software Sees Gnu Loose of Linux» (англ.). PC World (12 марта 2002). Дата обращения: 28 ноября 2010. Архивировано изоригинала 27 августа 2011 года.
- ↑Porting the Hurd to L4: Hurd/L4 (неопр.). Дата обращения: 18 сентября 2009. Архивировано 27 июня 2010 года.
- ↑http://people.debian.org/~sthibault/hurd-i386/installer/cdimage/Архивная копия от 29 июня 2011 наWayback Machine — текущая версия
- ↑GNU chapters (неопр.). Дата обращения: 27 июля 2008. Архивировано 5 марта 2005 года.
- ↑Arch Hurd (неопр.). Дата обращения: 20 мая 2010. Архивировано 31 июля 2010 года.
- ↑*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’renot 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 года.
- ↑Download latest images (англ.). GNU Guix. — «GNU Guix System on GNU Hurd». Дата обращения: 4 августа 2020. Архивировано 5 августа 2020 года.
- ↑В GRUB2 нумерация разделов (slice) начинается с единицы. Таким образом, второй раздел на первом диске будет иметь имя hd(0,2).
Ссылки
[править |править код]- GNU Hurd Homepage (англ.)
- L4-Hurd-Homepage (англ.) — проект портирования Hurd на микроядро L4 (вместо GNU Mach)
- Debian GNU/Hurd Homepage (англ.)
- Debian GNU/Hurd Live-CD (на базе ядра GNU Mach) (англ.)
- Википедия:Cite web (не указан язык)
- Википедия:Cite web (заменить webcitation-архив: deadlink yes)
- Википедия:Страницы с ежедневно очищаемым кэшем
- Википедия:Статьи с изображениями: заполнить свойство P373 в Викиданных
- Страницы с неизвестными параметрами шаблона Программа
- ПРО:ИТ:Статьи по алфавиту
- ПРО:ИТ:Последняя правка: в прошлом году
- Википедия:Статьи без источников (не распределённые по типам)
- Википедия:Нет источников с мая 2013
- Википедия:Статьи с утверждениями без источников более 14 дней
- Статьи со ссылками на Викисклад
- Статьи со ссылками на портал