GNU Hurd

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до: навігація, пошук
GNU Hurd
Hurd-logo.png
HURD Live CD.png
HURD Live CD
Розробник(и) Thomas Bushnell
Roland McGrath
Marcus Brinkmann
та інші
Стабільний випуск L1 (19 жовтня 2009)
Операційна система GNU
Тип ядро
Ліцензія GPL
Сайт www.gnu.org

GNU Hurd — офіційне Ядро операційної системи GNU. Використовує мікроядерну архітектуру. Є вільним програмним забезпеченням. Проект має за мету створення комплексу системних програм-серверів, що функціонують подібно ядру операційної системи, і здатні замінити ядро UNIX в Unix-подібній операційній системі GNU. Розробка Hurd ведеться з 1990, але поки що проект далекий від завершення.

Зміст

Назва [ред.]

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

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

Ідеї Hurd [ред.]

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

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

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

Статус розробки [ред.]

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

Була зроблена спроба портування Hurd на високопродуктивне мікроядро L4, проте в наш час[Коли?] робота в цьому напрямку зупинена.[3]

В цей час (червень 2010) існує дистрибутив Debian GNU/Hurd L1, випущений в жовтні 2009 року[4]. У 2005 році розроблявся інший дистрибутив під назвою Bee GNU/Hurd. Цей проект, судячи з усього, мертвий, так як останній snapshot (версія 0.3 beta Bee 1) у системі CVS датований 22 грудня 2005.[5] Також, нещодавно (квітень—травень 2010) з'явився новий дистрибутив на базі GNU/Hurd та ArchlinuxArch Hurd.[6]

Іменування дисків в 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 самого комп'ютера.[7] Оскільки GRUB в наш час має функції tab-доповнення, користувачеві не потрібно докладати багато зусиль для визначення коректного значення імені диску та розділу.

Примітки [ред.]

  1. Debian — Debian GNU/Hurd
  2. Free Software Sees Gnu Loose of Linux — PCWorld
  3. Porting the Hurd to L4: Hurd/L4
  4. http://ftp.debian-ports.org/debian-cd/current/ — поточна версія
  5. GNU chapters
  6. Arch Hurd
  7. У GRUB2 нумерація розділів (slice) починається з одиниці. Таким чином другий розділ на першому диску буде мати ім'я hd (0,2).

Посилання [ред.]


Комп'ютер Це незавершена стаття про комп'ютери.
Ви можете допомогти проекту, виправивши або дописавши її.