GNU Hurd

GNU Hurd
HURD Live CD
Розробник Томас Бушнел[en]
Roland McGrath
Marcus Brinkmann
та інші
Родина ОС POSIX-сумісний клон Unix
Вихідна модель вільне програмне забезпечення
Останній випуск 0.9 / 18 грудня 2016; 7 років тому (2016-12-18)[1]
Репозиторій
  • p1324 Редагувати інформацію у Вікіданих
Тип ядра мікроядро
Ліцензія GPL
www.gnu.org

GNU Hurd — вільна операційна система від проєкту GNU, що складається з мікроядра GNU Mach і набору програм-серверів. Разом з бібліотекою glibc, GNU Hurd забезпечує традиційні POSIX-сумісні інтерфейси прикладних програм, уможливлюючи таким чином портування багатьох програм для Unix-подібних операційних систем.

Розробка Hurd ведеться з 1990 року, але поки що проєкт далекий від завершення.

Назва

HURD — це непрямий рекурсивний акронім від англ. HIRD of Unix-Replacing Daemons англ.  — HIRD демонів, що замінюють UNIX. В свою чергу HIRD — це непрямий рекурсивний акронім від HURD of Interfaces Representing Depth (HURD інтерфейсів, що втілюють глибину).

GNU/HURD — назва операційної системи від проєкту GNU, що використовує GNU Mach як мікроядро. Назву побудовано за аналогією з «GNU/Linux», що застосовується для операційних систем GNU на ядрі Linux. Використовується, коли потрібно явно вказати на відміну від GNU/Linux. Наприклад, проєкт Debian використовує його в назві ОС Debian GNU/Hurd,[2] щоб відрізнити її від інших своїх систем на основі GNU — Debian GNU/Linux та Debian GNU/kFreeBSD.

Ідеї Hurd

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

Особливий клас серверів — транслятори. GNU MIG (Mach Interface Generator), є інструментом для трансляції файлів-визначень RPC (Remote Procedure Call) в код на мові Сі, яка потрібна для компіляції будь-якого пакету, що приймає або відправляє RPC-виклики, у тому числі для GNU Mach, GNU Hurd і GNU C Library (glibc).

Розв'язка компонентів операційної системи дозволяє модулізувати функції, зазвичай властиві монолітному ядру, і, таким чином, не тільки підвищити надійність операційної системи, але й спростити розпаралелювання завдань.

Завантаження операційної системи потребує програми-завантажника, що підтримує специфікацію Multiboot, такої, як GNU GRUB.

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

Станом на початок 2018 року, Hurd працює на комп'ютерах з 32-розрядною архітектурою x86, однак вже багато років перебуває у стані, далекому від стабільної версії. Скептики вважають, що в найближчий розумний проміжок часу Hurd не досягне рівня стабільності та простоти використання, необхідного для повсякденного застосування. В 2002-му Річард Столмен, керівник проєкту GNU, заявив про швидкий вихід готової для використання версії Hurd, проте його обіцянки не справдилися.[3]

Була зроблена спроба портування Hurd на високопродуктивне мікроядро L4, проте з 2005-го року робота в цьому напрямку зупинена.[4]

У 2005 році розроблявся дистрибутив під назвою Bee GNU/Hurd (неактивний). Також у 2010 році розроблявся дистрибутив GNU HURD на базі Arch Linux — Arch Hurd (неактивний станом на 2018 рік).

Debian GNU/Hurd

Цей розділ потребує доповнення.

В червні 2023 року розробники Debian GNU/Hurd випустили Debian GNU/Hurd 2023 з виправленням помилок в драйверах.[5]

Іменування дисків в 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.

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

Джерела

  1. https://www.gnu.org/software/hurd/news/2016-12-18-releases.html [Архівовано 22 грудня 2016 у Wayback Machine.] GNU Hurd 0.9, GNU Mach 1.8, GNU MIG 1.8 released]
  2. Debian GNU/Hurd (англ.). Процитовано 31 січня 2024.
  3. Free Software Sees Gnu Loose of Linux — PCWorld. Архів оригіналу за 27 серпня 2011. Процитовано 6 липня 2010.
  4. Porting the Hurd to L4: Hurd/L4. Архів оригіналу за 27 червня 2010. Процитовано 6 липня 2010.
  5. News about Debian GNU/Hurd (англ.). Процитовано 31 січня 2024.
  6. У GRUB2 нумерація розділів (slice) починається з одиниці. Таким чином другий розділ на першому диску буде мати ім'я hd (0,2).

Посилання

  • GNU Hurd Homepage [Архівовано 28 серпня 2008 у Wayback Machine.] (англ.)
  • L4-Hurd-Homepage [Архівовано 23 грудня 2010 у Wayback Machine.] (англ.) — проєкт портування Hurd на Мікроядро L4 (замість GNU Mach).
  • Wiki-проєкт про GNU Hurd (англ.)
  • Debian GNU/Hurd Homepage [Архівовано 26 червня 2010 у Wayback Machine.] (англ.)
  • Debian GNU/Hurd Live-CD (на базі ядра GNU Mach) [Архівовано 20 листопада 2008 у Wayback Machine.] (англ.)


{{{alt}}} Це незавершена стаття про проєкт GNU.
Ви можете допомогти проєкту, виправивши або дописавши її.
  • п
  • о
  • р
Історія
Маніфест GNU • Проєкт GNU Фонд ВПЗ Історія ВПЗ
Ліцензії
GNU GPL GNU LGPL Affero GPL GNU FDL GPL linking exception[en]
Програмне
забезпечення
GNU (варіанти) • Hurd • GNOME Bash GCC GRUB GNU Emacs Guile glibc Coreutils Autotools • GNUnet •GNU linker GNU DebuggerGNUzilla (GNU IceCat) • Gnash • Guix Shepherd інші пакети...
Персони
Alexandre Oliva • Benjamin Mako Hill • Bradley Kuhn • Eben Moglen • Federico Heinz • Георг Греве • Джошуа Гей • Loïc Dachary • Мет Лі • Ricardo Galli • Річард Столмен Robert Chassell • William John Sullivan
Інше
Суперечка про найменування GNU/Linux • Revolution OS BadVista • Defective by Design
  • п
  • о
  • р
386BSD • A/UX • IBM AIX • Android • BlackBerry 10 • BSD • Darwin • DragonFly BSD • Firefox OS • FreeBSD • GNU/Hurd • Linux • HP-UX • illumos • iOS • IRIX • LynxOS • Minix • NetBSD • Nexenta • NeXTSTEP • OpenBSD • OS X • OpenIndiana • Plan 9 • QNX • Research Unix • SCO OpenServer • Solaris • SunOS • Syllable • System V • Tru64 UNIX • tvOS • Ultrix • UnixWare • webOS • Xenix • xv6
  • п
  • о
  • р
Загальне
Історія
ОС на базі ВПЗ
BSD · Apple Darwin · FreeDOS · FreeBSD · OpenBSD · FreeNAS · GNU · Haiku · Hurd · Inferno · Linux · Mach · MINIX · OpenSolaris · Plan 9 · ReactOS
Розробка ВПЗ[en]
Eclipse · FreeBASIC · Free Pascal · GCC · Java · libJIT[ru] · LLVM · Lua · Open64 · Perl · PHP · Python · ROSE[en] · Ruby · Tcl
Менеджери
вікон XWS
Blackbox Compiz EDE Enlightenment Fluxbox GNOME JWM IceWM KDE Openbox ROX[en] Window Maker[en] Xfce
Організації
Фонд вільного ПЗ (FSF) (європейський[en] індійський[en] латиноамериканський[en]) • Apache Software Foundation · Blender Foundation[en] · Eclipse Foundation · freedesktop.org · GNOME Foundation · Проєкт GNU · Google Code · Linux Foundation · Mozilla Foundation · Open Source Initiative · SourceForge · The Document Foundation · Xiph.Org · XMPP Standards Foundation[en] · X.Org Foundation
Ліцензії
Проблеми
Двійковий блоб · Технічні засоби захисту авторських прав · Вільні та відкриті графічні драйвери[en] · Ліцензійна проліферація · Iceweasel · Безпека відкритого ПЗ[en] · Власницьке програмне забезпечення · Конфлікт SCO—Linux · Програмні патенти · Тивоїзація · Trusted Computing · Апаратне обмеження[es] · Вірусна ліцензія
Інше
Визначення вільного ПЗ · Визначення Open Source · Альтернативні назви[en] · Рух · Вільне та відкрите ПЗ Microsoft Open Specification Promise[en] · Порівняння відкритих та закритих кодів[en] · Revolution OS · Собор і базар