Hurd

Från Rilpedia

Hoppa till: navigering, sök
Wikipedia_letter_w.pngTexten från svenska WikipediaWikipedialogo_12pt.gif
rpsv.header.diskuteraikon2.gif
Hurd
Hurds logga, ett antal
Den mest använda Hurd-symbolen, föreställande daemoner som samverkar
Utvecklare GNU-projektet
OS-familj Unixliknande
Källkod Fri programvara
Licens GPL
Kärntyp GNU Mach, L4 med flera
Arbetsstatus Pågående
Senaste version Ingen stabil version släppt ännu /
Webbplats http://www.gnu.org/software/hurd


Hurd är GNU:s officiella operativsystemskärna och del av det fria operativsystemet GNU/Hurd. Det kallas oftast GNU/Hurd för att skilja det från GNU/Linux.Hurd består av ett antal daemoner som körs ovanpå en mikrokärna. Man siktar mot att få Hurd att bli en kärna överlägsen andra Unix-kärnor i datasäkerhet, stabilitet och funktionalitet men som fortfarande i stort är kompatibel med dessa.

Hurd är en dubbel rekursiv akronym, där HURD står för "HIRD of Unix Replacing Daemons"[1] och HIRD står för "HURD Interfaces Representing Depth".

Innehåll

Historia

Från början kördes Hurd på mikrokärnan GNU Mach och den är fortfarande den mest stabila kärnan, men under utvecklingen av systemet har man upptäckt djupgående problem med Mach som har gjort att man på senare tid börjat planera för att flytta Hurd till en annan mikrokärna[2]. Bland annat har försök gjorts med L4, och utveckling pågår av en helt ny kärna vid namn Viengoos.[3] Valet att använda Mach som kärna för systemet gjordes av Richard Stallman, och han beskrev det senare som ett misstag.[4] Tanken var att så mycket som möjligt av systemet skulle köras i användarrymden för att göra det stabilare och lättare att felsöka- och utveckla med vanliga programmeringsverktyg. En av de stora fördelarna med detta designval är att en krasch i ett program i användarrymden som värst innebär att detta program måste startas om, medan en krasch i operativsystemets kärna i regel kräver en omstart av hela systemet.

Arkitektur

Till att börja med så är Hurd, till skillnad från de flesta BSD-systemen och Linux en mikrokärna, där bara små delar av systemet, drivrutiner och minneshantering exempelvis[5], faktiskt körs i kärnan. Resten av den funktionalitet som behövs, som exempelvis inloggningskonsoler, nätverk och filsystemsåtkomst, körs i användarrymden av daemonprogram.[6]

Hurd tar också fasta på det gamla Unix-valspråket att "allting är en fil", även exempelvis mappar kan läsas som filer.[7] Detta blir viktigt för ett annat Hurd-specifikt koncept: översättare (eng. translators), som är program som körs i användarrymden och som interagerar med det virtuella filsystemet[8]. De fungerar så att det virtuella filsystemet associerar en översättare med en specifik nod (en mapp eller fil) i det virtuella filsystemet med översättaren, och istället för att direkt ge användaren ett svar när noden anropas så körs översättaren först. Hurds system för filsystemsåtkomst är översättare, men de kan användas till andra saker också. Exempelvis har det föreslagits översättare för tar-filer som transparent visar tar-arkiv som en mappstruktur och lägger till- och tar bort filer i dem. En översättare kan också ge olika svar beroende på vad den frågas om; exempelvis kan den tillåta cat att lista innehållet i en mapp och samtidigt låta cd gå ner i den.[källa behövs] Översättarna delas upp i två kategorier; aktiva översättare, som startar en gång och körs till de avslutas, antingen normalt, av en krasch eller av exempelvis en omstart, och passiva översättare som inte startar förrän den nod i filsystemet som associeras med dem anropas. [9]

Exempel på daemoner [10]

Notera att detta inte är en komplett lista!

  • auth - har hand om autenciering daemoner emellan
  • term - implementerar en POSIX-terminal
  • null - har hand om enheterna /dev/null och /dev/zero
  • crash - tar hand om program som kraschar
  • exec - kör processer

Översättare

Källor

  1. ”Om namnet "Hurd" på www.gnu.org”. http://www.gnu.org/software/hurd/hurd.html#name. 
  2. ”Hurd on Mach på HURD-wikin”. http://www.bddebian.com/~wiki/contributing/#hurd_on_mach. 
  3. ”Resource management problems på HURD-wikin”. http://www.bddebian.com/~wiki/hurd/ng/resource_management_problems/. 
  4. ”Richard Stallman: In Defense of Red Hat”. http://www.linuxtoday.com/infrastructure/2000101200421OPCYRH. 
  5. ”Re: Device drivers in Mach? på bug-hurd epostlistan”. http://lists.gnu.org/archive/html/bug-hurd/2007-03/msg00089.html. 
  6. ”Towards a New Strategy of OS Design på gnu.org”. http://www.gnu.org/software/hurd/hurd-paper.html. 
  7. ”Hurd FAQ: 4.16. Why can I `read' a directory?”. http://www.gnu.org/software/hurd/faq.en.html#q4-16. 
  8. ”Om översättare på Hurd-wikin”. http://www.bddebian.com/~wiki/hurd/translator/. 
  9. ”Debian GNU/Hurd: Translators”. http://www.debian.org/ports/hurd/hurd-doc-translator. 
  10. ”Debian GNU/Hurd: Servers”. http://www.debian.org/ports/hurd/hurd-doc-server. 

Se även

Externa länkar


Personliga verktyg