ГНУ Хурд

Из Википедије, слободне енциклопедије
ГНУ ХУРД
Hurd-logo.svg
HURD Live CD.png
Првобитни
аутор(и)
ГНУ пројекат
Томас Бушнел
Роланд МкГрат
Marcus Brinkmann
Нил Волфилд
Самјуел Тибаулт
Најновија
верзија
0.8
2015. год.; пре 2 године (2015)
Статус развоја Активно
Писано у Асемблер, Ц
Платформа Јуникс
Доступно у Multiserver microkernel
Тип Слободни софтвер и софтвер отвореног кода
Лиценца ГНУ ГПЛ
Веб-сајт www.gnu.org/software/hurd/index.html

ГНУ Хурд (обично се називају the Hurd или само Hurd) је у мултисервер микројезгра писани као део ГНУ . У развоју је од 1990. године од ГНУ пројекта фондације за слободан софтвер, дизајниран као замена за Јуникс језгро , и објављен као слободан софтвер под ГНУ-овом општом јавном лиценцом.

 ГНУ Хурд се састоји од низа протокола и серверских процеса (или демона , у терминологији Јуникса ) који раде на ГНУ Мек микројезгра. Хурд има за циљ да надмаши Уникс језгро у функционалности , безбедности и стабилности , остајући у великој мери компатибилан са њим. ГНУ Пројекат је изабрао мултисервер микроћелије за оперативни систем , због уочених предности у односу на традиционалне Јуникс монолитне кернел архитектуре   [1]

Име и лого[уреди]

У децембру 1991. године примарни архитекта Хурд-а је описао име као међусобни рекурзивни акроним: [2]

Као и Хурд и ХИРД су хомоними на енглеском речи стада , пуно име ГНУ Хурд је такође игра речи крдо од гнуова , одражава како језгро ради . Лого се зове Хурд кутије и такође одражава на архитектури . Лого представља графикон где чворови представљају серверима Хурд кернел и усмерене ивице су ИПЦ поруке . [2]

Развојна историја[уреди]

Ричард Столман је основао ГНУ пројекат у септембру 1983. године са циљем да се створи слободан оперативни систем ГНУ . У почетку су компоненте које су потребне за развој кернела написане : едитори, шел, компајлер и сви остали . До 1989. године , под ГПЛ-ом је настала и једина главна компонента недостаје је језгро . [3][4]

Развој на Хурду је почела 1990. године, после неуспелог покушаја развоја језгра 1986. године, на основу истраживања TRIX оперативни систем развијен од стране професора Стив Вард и његове групе у лабораторији МИТ за компјутерске науке (ЛКН) . Према Томасу Бушнелу, почетном Хурд архитекти , њихов рани план је био да прилагоди 4.4БСД - Лите кернел и , ретроспективно , " Сада је сасвим јасно да би ово сјајно успело и свет би био много другачије место Данас " . Године 1987. Ричард Столман је предложио помоћу Мек микрокернела развијен на универзитету Карнеги Мелон . Рад на томе је одложен за три године због неизвесности око тога да ли ће ЦМУ отпустити Мек код под одговарајућом лиценцом . [5]

Са објављивањем Линукс кернела 1991. године, примарни корисник ГНУ-ових Усерланд компоненти је убрзо постао оперативни системе заснован на Линукс кернелу (Линукс дистрибуције) , што је довело до ковања спора између ГНУ / Линукс .

Развој Хурда је полако настављен . Упркос оптимистичном саопштењу Сталмана 2002. године предвиђајући ослобађање ГНУ / Хурда касније те године, Херд још увек не сматра погодна за производњу окружења . Развој уопште није испунила очекивања , и даље постоји значајан број грешака и несталих функција . То је резултирало у лошијем производа него што су многи ( укључујући и Сталлмана ) очекивали . У 2010. години , после двадесет година у развоју , Сталман је рекао да "није велики оптимиста у вези ГНУ Хурд . Она чини известан напредак , али да би био заиста супериоран то би захтевало решавање много дубљих проблема " , али је додао да " завршавање није пресудно  "за ГНУ систем јер је слободан кернел већ постојао ( ДОС ) , а завршетак Херда не би решио основни преостали проблем за бесплатни оперативни систем : подршку уређаја. [6]

Дебијан пројекат, између осталих , су радили на пројекту Хурд за производњу бинарне расподеле Хурд - базираних ГНУ оперативних система за IBM ПЦ компатибилне системе .

20. августа 2015. године , усред Гугловог Google Summer of Code, најављено је да ГНУ Гуикс је пребачен ГНУ Хурд , што је први домаћи пакет менаџер на Хурд . [7]

Архитектура[уреди]

Генерална структура монолитичких, микроћелија и хибридних језгро-базираних оперативних система.

За разлику од већине Јуникс језгара, Херд користи клијент-сервер архитектуре , изграђене на микрокернелу који је одговоран за пружање најосновније услуге кернел - координационог приступ хардверу : ЦПУ (преко управљања процесима и распоређивања), РАМ (преко управљање меморијом ) , и других разних улазно/излазних уређаја ( преко И / О распореду ) за звук , графику, масовно складиштење , итд. У теорији микрокернел дизајн би омогућило свим драјверима да буду изграђени као сервери који раде у корисничком простору , али данас већина драјвера ове врсте су још увек садржане у ГНУ Мек кернел простору .

Према Хурд програмерима главна предност микрокернела заснована  на дизајну је могућност да прошири систем : развијање новог модула не захтева дубље знање остатка језгра и баг у једном модулу не би срушити цео систем . Херд даје концепт преводилаца , оквир модула који се користе да прошире функционалност и система датотека .

Од почетка, Херд је развијен да користи ГНУ Мека као микроћелију. То је техничка одлука Ричард Столмана , који је мислио да ће убрзати рад чувајући велики део рада. Он је признао да је био у праву у вези тога . Остали Униксолике системе који раде на Мековим микрокернелу укључују OSF/1, Lites , и МкЛинукс. OS X и NeXTSTEP користе хибридна језгра заснована на Меку .

Друге микроћелије[уреди]

Од 2004. па надаље , разни напори су уложени да се стави Хурд на модерне микроћелије . Л4 микројезгро је била првобитни избор у 2004. години , али је напредак успорен до застоја . Ипак , током 2005. године , Хурд програмер Нил Валфиелд завршио почетни оквир за управљање меморија за Л4 / Хурд порт , и Маркус Бринкман лансирали су битне делове глибц-а ; Наиме , оспособљавајући старт ап код , омогућавајући програмима да раде , омогућили су рад првих корисничких програма ( тривијални попут оних што су здраво свете програм у C ) за покретање .

Од 2005. Бринкманн и Валфиелд почео истраживање Којота као ново језгро за Хурд . У 2006. години , Бринкман састао са Џонатаном Шапиром ( примарни архитекта Којот оперативног система)да помогне и разговара о коришћењу Којот кернела за ГНУ / Хурд . У даљем разговору Хурд програмери су схватили да Којот ( као и друге сличне језгра ) нису погодни за Хурд

У 2007. години , Херд програмери Нил Валфиелд и Маркус Бринкман дали су критику Хурд архитектуре , познату као " критика ", и предлог за то како будући системи могу бити дизајнирани , познат као "Положај папира " . У 2008. години , Нил Валфиелд почео да ради на Виенгоос микроћелији као модерно домаће језгро за Хурд . Од 2009. године , развој на Виенгоос се паузира због Валфиелдовог недостатка времена за рад . [8]

У међувремену , остали су наставили да раде на Мек варијанти Хурд .

Јуникс додаци[уреди]

Велики број традиционалних Уник концепта су замењени или продужени у Хурд .

Под Јуникс , сваки програм има повезан кориснички налог , који обично одговара кориснику који је почео процес . Овај ИД у великој мери диктира акције дозвољене програму . Ни један спољашњи процес не може да промени корисничку ИД неког програм рада . Херд процес, с друге стране , ради под скупом кориснички ИД , који може да садржи више докумената, један или ниједан . Довољно привилеговани процес може додати и уклонити легитимације са другим процесом . На пример, постоји сервер лозинка која ће делити легитимације у замену за исправну логин шифру .

Што се тиче система датотека, погодан програм може бити означен као преводилац за једну датотеку или цео именик хијерархије. Сваки приступ до преведеног фајла или фајлови испод хијерархије у другом случају, регулише програм. На пример, датотека преводилац може једноставно преусмерити читати и писати операције на други фајл, попут Уник симболичког линка. Ефекат Јуникс маунтовања се постиже постављањем фајлсистем преводиоца (користећи "сеттранс" команду). Преводиоци се такође могу користити за пружање услуга кориснику. На пример, фтпфс преводилац омогућава кориснику да обухвати удаљене ФТП локације унутар директоријума. Затим, стандардни алати попут лс, ЦП, и РМ могу да се користе за рад са датотекама на даљинском систему. Чак и снажнији преводиоци, као што су унионфс, који омогућавају кориснику да уједини више директоријума у један; тако сортирајући јединствени директоријум открива садржај свих директоријума

Хурд захтева покретачки мултибоот - компатибилан, као што је ГРУБ.

Архитектура сервера[уреди]

Према документацији Дебиан има 24 сервера ( 18 главних сервера и 6 фајл систем сервери ) под називом како слиједи :

Главни сервери[уреди]

  • Аут (сервер за проверу аутентичности ) : прима захтеве и лозинке из програма и даје им личну карту , која мења привилегије програма .
  • Креш (креш Сервер ) : Брине за све фаталне грешке ..
  • Егзек (сервер за извршење  ) : Помера извршну слику (тренутно су подржани ЕЛФ и а.аут ) до радне слике у меморији .
  • ФИФО ( ФИФО преводилац ) : имплементира именоване цеви .
  • нови - ФИФО ( ФИФО нови сервер ) : Алтернативни Сервер за именоване цеви 
  • фирмлинк (у фирмлинк преводилац ) : Спроводи фирмлинкс - " на пола пута између симболичког линка и хард линк " .
  • [9]
  • ФВД ( унапред Сервер ) : Проследи захтеве другим серверима , које користи ФИФО и симлинк серверима .
  • хостмук ( домаћин мултиплексер сервера )
  • ифсок ( сервер за насадне интерфејса ) : Помаже код UNIX домена сокет адресе .
  • инит ( инит Сервер ) : Основни систем боотинг и конфигурација .
  • магија (Меџик Сервер ) : Сигнализира да се додељивање ип адресе мора решити унутар процеса када резултат укључује статус процеса
  • нул ( нул Сервер ) : реализује /dev/null и /dev/zero.
  • финет ( пфинет Сервер ) : Спроводи породицу ПФ_ИНЕТ протокола .
  • флокал ( пфлокал Сервер ) : Спроводи UNIX домен утичнице
  • проц ( сервер процес ) : Додељује ПИД и управља акцијама на процес нивоу .
  • симлинк ( симболички линк преводилац ) : Спроводи симболичке везе за фајл системе који их не подржавају .
  • Терм ( Терминал Сервер ) POSIX терминала .
  • усермукс ( корисник мултиплексер Сервер ) : позива специфичние преводиоце .


Сервери система фајлова[уреди]

ехт2фс
Ехт2 фајл систем преводилац. Она добија диск блокове од микројезгра и даје фајлове и фолдере у апликацијама .
исфос
Преводилац за ИСО 9660 фајл систему . Преводи блокове ЦД-а или DVD-а на фајловима и директоријумима за апликације 
нфс
Види мрежни фајл систем
уфс
Преводилац BSD фајл система са истим именом , УФС .
фтпфс
Преводилац фајл Трансфер Протолол систем датотека.
сториео
Преводилац складишта

Сервери колективно спроведе POSIX АПИ , са сваким сервером који спроводи део интерфејса . На пример , различити фајл систем сервери спроводе фајл система позиве . Сервер за складиштење ће радити као слој за паковање , сличан блок слоју Линукса . Еквивалент вфс-овом Линуксу се постиже либдискфс и либпагер библиотекама .

ГНУ дистрибуције радног Хурда[уреди]

Дебиан ГНУ / Хурд радећег ГНУ Емацс на ИцеВМ

Хурд - базиране ГНУ дистрибуције укључују :

Види још[уреди]


Референце[уреди]

Спољашње везе[уреди]