You are on page 1of 6

GNU Hurd/ hurd/ What Is the GNU Hurd? http://www.gnu.org/software/hurd/hurd/what_is_the_gnu_hurd.html The Hurd is the GNU proje t!

s repla ement for UNI"# a popular operating s$stem %ernel. The Hurd is firstl$ a olle tion of proto ols formali&ing how different omponents ma$ intera t. The proto ols are designed to redu e the mutual trust re'uirements of the a tors there($ permitting a more e)tensi(le s$stem. These in lude interfa e definitions to manipulate files and dire tories and to resol*e path names. This allows an$ pro ess to implement a file s$stem. The onl$ re'uirement is that it ha*e a ess to its (a %ing store and that the prin ipal that started it own the file s$stem node to whi h it onne ts. The Hurd is also a set of ser*ers that implement these proto ols. The$ in lude file s$stems# networ% proto ols and authenti ation. The ser*ers run on top of the +a h mi ro%ernel and use +a h!s I,- me hanism to transfer information. The Hurd pro*ides a ompati(ilit$ la$er su h that ompiling higher le*el programs is essentiall$ transparent. that is# ($ means of the gli( # it pro*ides the same standard interfa es %nown from other UNI"/li%e s$stems. Thus# for a t$pi al user# the Hurd is intended to silentl$ wor% in the (a %ground pro*iding the ser*i es and infrastru ture whi h the mi ro%ernel itself has no (usiness implementing# (ut that are re'uired for higher le*el programs and li(raries to operate. The Hurd supplies the last major software omponent needed for a omplete GNU operating s$stem as originall$ on ei*ed ($ 0i hard +. 1tallman 20+13 in 4567. The GNU *ision dire tl$ dro*e the reation and has guided the e*olution of the 8ree 1oftware 8oundation# the organi&ation that is the home of the GNU proje t. The Hurd de*elopment effort is a somewhat separate proje t from the 9e(ian GNU/Hurd port.

Hurd (GNU hurd)


-arlos :. +orimoto riou ;</jun/;==> ?s ;;h=7 = @ 8ree 1oftware 8undation desen*ol*e apli ati*os li*res desde a dA ada de 6=. 8erramentas omo o ompilador G-- e o :+a s# 'ue sBo a (ase de desen*ol*imento da maior parte dos programas de Cdigo a(erto 'ue temos disponD*eis hoje. @liEs# o prCprio Finu) foi desen*ol*ido utili&ando o :+a s e o G--# ini ialmente rodando so(re o +ini) e mais tarde so(re o prCprio Finu)# daD o termo GGNU/Finu)G 'ue dE o rAdito tam(Am ? 8ree 1oftware 8undation. ,or terem o Cdigo a(erto# a maior parte destes apli ati*os podem ser fa ilmente re ompilados para rodarem em outros sistemas opera ionais Uni)# omo o 8reeH19. +esmo antes do inD io do desen*ol*imento do Finu)# muita gente utili&a*a/os no +ini) e nos *Erios sistemas Uni) proprietErios disponD*eis atA entBo. I Finu) a a(ou anali&ando estes esforJos# mas a (ase jE e)istia antes dele. +as# apesar do su esso do Finu)# o o(jeti*o prin ipal da 8ree 1oftware 8undation foi sempre o de desen*ol*er um sistema opera ional prCprio. I G--# :+a s# alAm de apli ati*os om o @pa he e o "# juntos jE formam um sistema opera ional# falta apenas o motor# ou seja# o Kernel. I GNU Hurd estE em desen*ol*imento desde o final da dA ada de 6=# mas sC 'uase 4= anos mais tarde omeJaram a ser li(eradas as primeiras *ersLes utili&E*eis# apa&es de ompilar e e)e utar os prin ipais apli ati*os# mas a primeira *ersBo de produJBo estE demorando (em mais 'ue o planejado e de*e ser lanJada apenas em algum ponto de ;==7. I Hurd A (aseado num mi ro%ernel# ao in*As de um %ernel monolDti o omo no Finu). +uitos desen*ol*edores 2pro*a*elmente a maioria3 defendem 'ue os sistemas (aseados em um mi ro%ernel 2 omo o Windows NT/;===/", e *Erios sa(ores de Uni)3 podem ser mais rEpidos e mais fE eis de atuali&ar e modifi ar 'ue os sistemas de Kernel monolDti o omo Finu). ,orAm# uma outra orrente de desen*ol*edores in luindo naturalmente o Finus Tor*alds# argumentam 'ue apesar de a prin Dpio um mi ro%ernel ser mais simples 2jE 'ue o Kernel in lui apenas os omponentes mais (Esi os# o restante sBo todos mCdulos separados3# pois lidar om a tro a de dados entre os *Erios omponentes A muito mais ompli ado do 'ue simplesmente agrupar todos num %ernel monolDti o. No seu li*ro GMust 8or 8unG 21C por ,ra&er# editora -ampus3 o Finus dedi a *Erias passagens

a defender esta idAia. -hegando a lassifi ar a idAia de um mi ro%ernel omo Guma estupide&G. Hem# isso A (riga de a horro grande# nBo *ou me meter... ./3 ,ara nCs usuErios# mais interessante do 'ue dis utir 'ual idAia A melhor# A sa(er 'ue em (re*e teremos ? disposiJBo mais uma opJBo de sistema opera ional Fi*re. @ssim omo no aso do Finu)# nada impede 'ue as distri(uiJLes utili&em o Hurd ao in*As do Finu)# aso ele onsiga apresentar algum diferen ial importante. ,or en'uanto# o Hurd ainda estE em desen*ol*imento# por isso A inNtil tentar te er 'ual'uer omparaJBo. No momento 2No*em(ro de ;==;3# a instalaJBo ainda A difD il e o suporte a hardware A muito fra o# se on entrando em pla as de *Ddeo# rede e alguns outros perifAri os essen iais. -omo des rito na do umentaJBo# Go suporte a pla as de som e outros dispositi*os A 'uase 'ue ine)istenteG. Iu seja# o Hurd ainda nBo A para usuErios finais# mas *amos tor er para 'ue a G on orrOn iaG a elere o desen*ol*imento do Kernel do Finu) e seja um fator positi*o para a plataforma omo um todo. Peja mais detalhes em: http://www.gnu.org/software/hurd

Mais notcias de Fevereiro de 2013 | Navegar no histrico de notcias

Os !anos atuais do GNU"Hurd


+ar os :lias ,i Bo riou 4;/fe*/;=47 ?s 4;hQ7 < Um projeto de %ernel alternati*o de um sistema opera ional *em se arrastando hE anos# mas ainda hE esperanJas: o GNU/Hurd. @lguns planos futuros desta ados pelo ,horoni) dBo uma ideia do 'ue esperar deste sistema opera ional para os prC)imos anos# ainda sem uma data e)ata para a onte er.

:m desen*ol*imento desde 455=# o %ernel Hurd suporta a ar'uitetura i<6<# tem uma amada de dri*ers de rede portada do Finu) ;.<.7; e ofere e suporte (Esi o a I9:/1-1I/,-+-I@/"org. -oisas (Esi as de hoje em dia ainda fi am faltando: U1H# 1@T@ e pro essadores de <Q/(it.

I estado do projeto o torna inutili&E*el para (oa parte das tarefas num des%top atual. @inda assim os desen*ol*edores ontinuam ati*os# e planejam um release ofi ial do 9e(ian GNU/Hurd om o lanJamento do GMessieG# su essor do Whee&$. :sta *ersBo do 9e(ian 26.=3 A esperada para o final de ;=4>. HE muita oisa a ser implementada no Hurd para 'ue ele possa ser utili&E*el em ,-s atuais por lE. @tA lE estBo tra(alhando numa *ersBo nBo ofi ial do Whee&$. +ais alguns detalhes so(re o projeto podem ser onferidos neste ,98# alAm deste re*iew de ;=44 do ,horoni) 2informaJLes em inglOs3.

No#e e !ogo
:m de&em(ro de 4554# o ar'uiteto prin ipal do Hurd# e)pli ou 'ue GHU09G A um a rRnimo indiretamente re ursi*o para: GHI09 of Uni)/0epla ing 9aemonsG# em 'ue GHI09G signifi a GHU09 of Interfa es 0epresenting 9epthG# a opiniBo 'ue pre*ale e atualmente na e'uipe A de 'ue Hurd A um su(stanti*o on reto.> < S hora TdeU e)pli ar o signifi ado de GHurdG. GHurdG signifi a GHird de daemons su(stituindo Uni)G. :# entBo# GHirdG signifi a GHurd de interfa es representando profundidadeG. Temos a'ui# ao meu onhe imento# o primeiro software a ser nomeado por um par de siglas mutuamente re ursi*as. VThomas Bushnell @inda em estEgio de desen*ol*imento# os prCprios 2e pou'uDssimos3 desen*ol*edores pedem ajuda ? pessoas onhe edoras da Finguagem - 2tanto para o desen*ol*imento do nN leo# 'uanto para o porte de apli ati*os3# assim omo pessoas 'ue tenham disponi(ilidade para efetuar testes e reportar (ugs. -omo am(os GHurdG e GHirdG sBo homCfonos da pala*ra em InglOs Gre(anhoG 2herd3# o nome ompleto GNU Hurd tam(Am A uma (rin adeira om as pala*ras rebanho de gnus# refletindo omo o %ernel fun ionaW o logotipo A hamado de caixas Hurd e isso tam(Am reflete na ar'uitetura. I logotipo A um grEfi o onde os nCs

representam ser*idores do %ernel Hurd e as (ordas sBo dirigidas I,-. +ensagens < 9e*ido ao estado da te nologia mi ro%ernel# na sigla duplamente re ursi*a A muitas *e&es referida pelos espe ialistas omo a ara terDsti a mais interessante do GNU Hurd.6

$esenvo!vi#ento e historia
I 0i hard 1tallman fundou o projeto GNU em setem(ro de 4567 om a finalidade de riar o sistema operati*o free GNU. Ini ialmente os omponentes ne essErios para o %ernel e seu desen*ol*imento foram es ritos: editores# shell# ompilador e todos os outros. :m 4565# foi riado o G,F e GsCG falta*a um importante omponente: o %ernel.5 4= I desen*ol*imento do Hurd omeJou em 455= depois de ter a(andonado uma tentati*a de onstruir o %ernel em 456<# (aseado na in*estigaJBo do sistema operati*o T0I" desen*ol*ido pelo professor 1te*e Ward e seu grupo em +IT!s la(oratCrio de informEti a 2F-13.44 9e a ordo om Thomas Hushnell# o ar'uiteto ini ial do Hurd# o plano ini ial era adaptar o %ernel Q.QH19/Fite %ernel e# em retrospe to# GS perfeitamente C(*io a mim 'ue isto iria ter um su esso esplOndido e 'ue o mundo seria muito diferente hojeG.4; :m 456W 0i hard 1tallman propRs utili&ar o +a h mi ro%ernel desen*ol*ido na Uni*ersidade -arnegie +ellon 2-+U3. I tra(alho foi atrasado trOs anos de*ido in erte&a se a -+U iria li(erar o Cdigo +a h numa li enJa orrespondente.44 -om a pu(li aJBo do Kernel Finu) em 4554# o usuErio primErio das ferramentas e omponentes GNU de espaJo de usuErio em (re*e se tornaram sistemas operati*os onstruDdos so(re o %ernel linu) 29istri(uiJLes linu)3# soli itando a ontro*Arsia ontro*Arsia do termo GNU/Linux. 9esen*ol*imento do Hurd tOm o orrido lentamente. @pesar dos anNn ios positi*os de 1tallman em ;==; pre*endo a pu(li aJBo do GNU/Hurd mais tarde nesse ano#47 o Hurd ainda nBo A onsiderado ade'uado para am(ientes de produJBo. I seu desen*ol*imento# em geral# nBo atingiu as e)pe tati*as# e ainda hE (ugs e falta parti ularidade. 4Q Isso resultou em um produto mais po(re do 'ue muitos 2in lusi*e o 1tallman3 espera*am. 4> :m ;=4=# apCs ;= anos em desen*ol*imento# 1tallman disse 'ue eleG nBo era muito otimista so(re o GNU Hurd. 8a& algum progresso# mas para ser realmente superior seria ne essErio resol*er muitos pro(lemas omple)osG# mas a res entou 'ueG o a a(amento nBo A ru ial Gpara o sistema GNU por'ue um %ernel li*re jE e)istia 2Finu)3# e ompletando Hurd nBo resol*eria o prin ipal pro(lema restante para um sistema opera ional li*re: suporte a dispositi*os. 4< I projeto 9e(ian# entre outros# tra(alhou no projeto Hurd para produ&ir distri(uiJLes (inErias do 1istemas operati*os (aseados em Hurd para sistemas ompatD*eis om IH+ ,-.6

%r&uitetura
@o ontrErio da maioria de %ernels Uni)/li%e# o Hurd utili&a uma ar'uitetura liente/ser*idor# onstruDda em um mi ro%ernel# 'ue A responsE*el por forne er os ser*iJos mais (Esi os do %ernel / oordenar o a esso ao hardware: o -,U 2a es alonamento de pro essos e geren iamento de pro essos3# 0@+ 2*ia geren iamento de memCria3# e *Erios outros dispositi*os de entrada/saDda 2*ia agendamento I/I3 para o som# grEfi os# arma&enamento de massa# et # em teoria o projeto mi ro%ernel permitiria a todos os dri*ers de dispositi*o serem onstruDdos omo ser*idores 'ue tra(alham em espaJo do usuErio# mas hoje a maioria dos dri*ers desse tipo sBo ainda ontida no espaJo do %ernel no GNU +a h. 4W 9e a ordo om os desen*ol*edores do Hurd a prin ipal *antagem do projeto (aseado em mi ro%ernel A a apa idade de estender o sistema: o desen*ol*imento de um no*o mCdulo nBo e)ige onhe imento profundo do resto do %ernel e um (ug em um mCdulo nBo tra*ar o sistema inteiro. Hurd forne e um on eito de tradutores# uma estrutura de mCdulos usados para estender a fun ionalidade do sistema de ar'ui*os 46

Outros #icro'erne!s
9e ;==Q em diante# *Erios esforJos foram lanJados para portar o Hurd para mi ro%ernels mais modernos. I FQ mi ro%ernel era a es olha original# em ;==Q# mas desa elerou a um impasse. No entanto# em ;==># o

desen*ol*edor Hurd# Neal Walfield terminou a estrutura de geren iamento de memCria ini ial para a porta FQ/Hurd e +ar us Hrin%mann portou as partes essen iais de gli( # ou seja# o(ter o Cdigo de ini iali&aJBo do pro esso de tra(alho# permitindo 'ue os programas sejam e)e utados# permitindo assim 'ue os primeiros programas de usuErios 2os tri*iais# omo o programa IlE +undo em -3 possa ser e)e utado. 9esde ;==> Hrin%mann e Walfield omeJou a pes'uisar so(re o -o$otos omo um no*o %ernel para HU09. ;= ;4 :m ;==<# onhe eu Hrin%mann om Monathan 1hapiro 2o prin ipal ar'uiteto do sistema opera ional -o$otos3 para ajudar e dis utir o uso do %ernel -o$otos para GNU/Hurd. Uma dis ussBo mais aprofundada dos desen*ol*edores HU09 per e(eram 'ue o -o$otos 2(em omo outros nN leos similares3 nBo sBo ade'uados para o Hurd. :m ;==W# os desen*ol*edores do Hurd# Neal Walfield e +ar us Hrin%mann fi&eram uma rDti a da ar'uitetura Hurd# onhe ida omo Ga rDti aG# ;; e uma proposta de omo o futuro sistema pode ser projetado# onhe ido omo Go papel de posiJBoG. ;7 em ;==6# Neal Walfield omeJou a tra(alhar no mi ro%ernel Piengoos omo um %ernel nati*o moderno para HU09. @ partir de ;==5# o desen*ol*imento em Piengoos estE em pausa de*ido ? falta de tempo 'ue Walfield tem para tra(alhar nele ;Q . :n'uanto isso# os outros ontinuaram a tra(alhar na *ariante +a h do Hurd. ;>

e(tens)es Uni(
Uma sArie de on eitos tradi ionais do Uni) sBo su(stituDdos ou e)tensD*eis no Hurd. No Uni)# ada programa em e)e uJBo tem um asso iado user id# 'ue normalmente orresponde ao usuErio 'ue ini iou o pro esso. :ste id amplamente dita as aJLes permitidas para o programa. Nenhum pro esso e)terior pode mudar o I9 de usuErio de um programa em e)e uJBo. Um pro esso Hurd# por outro lado# A e)e utado so( uma set no I9s de usuErio# 'ue pode onter *Erios ids# um ou nenhum. Um pro esso sufi ientemente pri*ilegiado pode adi ionar e remo*er ids para outro pro esso. ,or e)emplo# e)iste um ser*idor de senha 'ue irE distri(uir ids em tro a de uma senha de login orreta. Xuanto ao sistema de ar'ui*os# um programa ade'uado pode ser designado omo um tradutor para um Nni o ar'ui*o ou uma hierar'uia de diretCrio inteiro. Todo o a esso ao pro esso tradu&ido# ou a(ai)o de uma hierar'uia de ar'ui*os# no segundo aso# A# de fa to# pro essado pelo programa. ,or e)emplo# um ar'ui*o tradutor pode simplesmente redire ionar ler e es re*er operaJLes para outro ar'ui*o# e nBo ao ontrErio de um lin% sim(Cli o Uni). I efeito montagem do Uni) A al anJado atra*As da riaJBo de um sistema de ar'ui*os tradutor 2usando o omando GsettransG3. Is tradutores tam(Am podem ser usados para forne er ser*iJos ao utili&ador. ,or e)emplo# o ftpfs tradutor permite 'ue um usuErio para en apsular sites 8T, remotos dentro de um diretCrio. :m seguida# as ferramentas padrBo# omo ls# p e rm pode ser usado para manipular ar'ui*os no sistema remoto. +esmo os tradutores mais poderosos sBo a'ueles# omo Union81# 'ue permite 'ue um usuErio para unifi ar *Erios diretCrios em um# listando assim o diretCrio unifi ado re*ela o onteNdo de todos os diretCrios 2um re urso 'ue estE faltando em muitos sistemas Uni)# em(ora disponD*el nos modernos H19s3. I Hurd re'uer um multi(oot ompatD*el om (oot loader# omo o G0UH.

% ar&uitetura dos servidores


9e a ordo om a do umentaJBo 9e(ian e)istem ;Q ser*idores 246 ser*idores entrais e seis ser*idores do sistema de ar'ui*os3 nomeados da seguinte forma: ;< *ervidores N+c!eo auth 2ser*idor de autenti aJBo3: 0e e(e soli itaJLes e senhas de programas e dE/lhes um I9# 'ue muda os pri*ilAgios do programa. crash 2ser*idor de tra*amento3: @ eita todos os erros fatais. e(ec 2ser*idor de e)e uJBo3: Tradu& uma imagem e)e utE*el 2 orrente :F8 e a.out 'ue sBo suportadas3 rodando uma imagem e)e utE*el na memCria. ,i,o 2tradutor 8I8I3: Implementa pipes nomeados. ne-.,i,o 2no*o ser*idor 8I8I3: Um ser*idor alternati*o para pipes nomeados. ,ir#!in' 2o tradutor firmlin%3: Implementa firmlin%s / Ga meio aminho entre a lin% sim(Cli o e um lin% duroG ;W

,-d 2ser*idor forward3: en aminha soli itaJLes para outros ser*idores# usado por ser*idores de 8I8I e s$mlin%. host#u( 2ser*idor de multiple)ador host3 i,soc' 2ser*idor para a interfa e de so %ets3: @juda om domDnio endereJos de so'uetes UNI". init 2ser*idor init3: I sistema (Esi o de ini iali&aJBo e onfiguraJBo. #agic 2ser*idor de magi 3 nu!! 2ser*idor null3: Implementa /de*/null e /de*/&ero. ,inet 2ser*idor pfinet3: Implementa o proto olo da familia ,8_IN:T. ,!oca! 2ser*idor pflo al3: Implementos so'uetes de domDnio Uni). roc 2ser*idor pro ess3: @tri(ui ,I9 s e gere a JLes a nD*el de pro esso. s/#!in' 2tradutor lin% sim(Cli o3: Implementa lin%s sim(Cli os para os sistemas de ar'ui*os 'ue nBo os suportam. ter# 2ser*idor de terminal3: Um terminal ,I1I". user#u( 2ser*idor de usuErio multiple)ador3: In*o a tradutores espe Dfi os do usuErio. *ervidores do *iste#a de %r&uivos :)t;fs I tradutor para o sistema de ar'ui*os e)t;. :le re e(e (lo os de dis o do mi ro%ernel e dando ar'ui*os e diretCrios para as apli aJLes. Isofs I tradutor para o sistema de ar'ui*os I1I 5<<=. Tradu& (lo os de um -9 ou 9P9 para ar'ui*os e diretCrios para as apli aJLes. Nfs Peja Networ% 8ile 1$stem. Ufs Tradutor para o sistema de ar'ui*os H19 om o mesmo nome# U81. 8tpfs 8ile Transfer ,roto ol tradutor de sistema de ar'ui*o. 1toreio I tradutor de arma&enamento. Is ser*idores oleti*amente implementam o ,I1I" @,I# om ada ser*idor de implementando parte da interfa e. ,or e)emplo# os *Erios ser*idores de sistemas de ar'ui*os indi*idualmente implementam as hamadas de sistema de ar'ui*os. I ser*idor de arma&enamento *ai fun ionar omo uma amada de wrapping# semelhante ? amada de (lo'ueio do Finu). I e'ui*alente a P81 no Finu) A onseguido atra*As li(dis%fs e (i(liote as li(pager.

$istri0ui1)es GNU rodando Hurd


@s distri(uiJLes (aseadas em Hurd GNU in luem: @r h Hurd 9e(ian GNU/Hurd Ni)I1;6 ;5 Hee GNU/Hurd 2des ontinuado3 Gentoo GNU Hurd 2des ontinuado3 GNU/Hurd Fi*e -9 7= 2des ontinuado3

You might also like