[go: up one dir, main page]

Пређи на садржај

ГНУ хурд

С Википедије, слободне енциклопедије
ГНУ ХУРД
Програмер(и)ГНУ пројекат
Томас Бушнел
Роланд МкГрат
Marcus Brinkmann
Нил Волфилд
Самјуел Тибаулт
Стабилно издање
0.8 / 2015.; пре 9 година (2015)
Репозиторијум Уреди на Википодацима
Написан уАсемблер, Ц
ПлатформаЈуникс
ТипСлободни софтвер и софтвер отвореног кода
ЛиценцаГНУ ГПЛ
Веб-сајт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 АПИ, са сваким сервером који спроводи део интерфејса. На пример, различити фајл систем сервери спроводе фајл система позиве. Сервер за складиштење ће радити као слој за паковање, сличан блок слоју Линукса. Еквивалент вфс-овом Линуксу се постиже либдискфс и либпагер библиотекама.

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

[уреди | уреди извор]
Дебиан ГНУ / Хурд радећег ГНУ Емацс на ИцеВМ

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

Референце

[уреди | уреди извор]

Спољашње везе

[уреди | уреди извор]