UNIX: Historie, funktioner og filosofi bag det klassiske operativsystem
Dyk ned i UNIX: historie, nøglefunktioner og den tidløse Unix-filosofi — fra Bell Labs’ oprindelse til moderne Unix-lignende systemer som Linux.
UNIX er et computerstyresystem. Det blev først udviklet i 1969 på Bell Labs. Ken Thompson, Dennis Ritchie, Douglas McIlroy og andre skabte det. De brugte assemblagesprog til at skrive det. I 1972 blev Unix-koden omskrevet med det nye programmeringssprog C. Unix-operativsystemet er et flerbruger- og multiprocessorsystem. Det betyder, at det kan køre flere applikationsprogrammer på samme tid for mere end én bruger på samme tid. Det er også i stand til at fungere godt i et netværk af computere. Computersikkerhed er også vigtig i Unix, fordi mange mennesker kan få adgang til det, både ved at bruge en computer direkte eller via et netværk.
Historisk set var overgangen fra assemblagesprog til C afgørende: ved at skrive store dele af systemet i C blev Unix langt mere bærbart og lettere at vedligeholde, hvilket gjorde det muligt at porte systemet til nye hardwareplatforme. Udviklingen på Bell Labs lagde også grunden til mange koncepter, der siden er blevet standard i moderne systemer, fx hierarkiske filsystemer, processhåndtering og enkle, genanvendelige værktøjsprogrammer.
Grundlæggende funktioner
Mange ideer i Unix var nye. Andre styresystemer kopierede dem. I dag findes der mange operativsystemer, som har nogle af Unix' idéer i sig. Derfor taler nogle mennesker om en "Unix-filosofi", når det gælder om at gøre tingene. Linux er et af disse systemer med mange af Unix-idéerne i sig. Linux bruger ikke kode fra UNIX. Linux deler kun nogle af ideerne og navnene på kommandoer. Linux er altså ikke et UNIX-operativsystem. I stedet kaldes det "Unix-lignende".
Nogle af de tekniske kendetegn ved Unix og Unix-lignende systemer er:
- Multibruger- og multitasking-arkitektur: flere brugere og processer kan køre samtidigt.
- Alt er (ofte) repræsenteret som filer: almindelige filer, kataloger og også en række enhedsfilrepræsentationer.
- Enkle, små værktøjer der kan kædes sammen via rørledninger (pipes) og tekstbaseret input/output — dette er hjørnestenen i Unix-filosofien.
- Hierarkisk filsystem med velkendte placeringer (fx /bin, /etc, /home i mange Unix-lignende systemer).
- Robust processtyring, signalhåndtering og mulighed for baggrundsprocesser (daemons).
UNIX-filosofien
Den såkaldte Unix-filosofi forkorter ofte til idéer som "lav én ting og gør den godt", "lav programmer, der arbejder sammen" og "brug tekststrømme som et universelt interface". Filosofien opmuntrer til små, genbrugelige programmer og pipeline-baseret behandling, hvor output fra ét program ledes som input til et andet. Dette design gør det nemt at kombinere værktøjer fleksibelt og skrive korte scripts til at automatisere opgaver.
Brugerkonti og sikkerhed
Der kan være mange forskellige brugere i et Unix- og Unix-lignende operativsystem. De fleste af dem har et personligt område, hvor de kan lægge ting. Dette kaldes en brugerkonto. Systemet skelner typisk mellem almindelige brugere og en superbruger (ofte kaldet root), som har fulde rettigheder.
Sikkerhed implementeres via filrettigheder (læs/skrive/udfør for ejer, gruppe og andre), setuid-mekanismer, adgangskontrolister (ACL'er) på visse systemer samt netværksbaserede sikkerhedsforanstaltninger som SSH til krypteret fjernadgang. Regelmæssige opdateringer, korrekt konfiguration af tjenester og anvendelse af principper som mindst privilegium er centrale for at beskytte Unix-systemer.
Shell, kommandolinje og scripting
En måde at bruge et Unix-system på er ved hjælp af kommandolinjeinterfacet. Brugerne kører kommandoer og programmer ved at skrive teksttegn. Det tager tid at lære, men det er en meget kraftfuld og fleksibel måde at arbejde på. Den bruges stadig af de fleste Unix-administratorer. Disse kommandoer køres i en shell, som kan ændre sig en smule fra det ene system til det andet.
Shells (fx sh, bash, ksh, zsh) giver mulighed for scripting, automatisering og brug af kraftfulde funktioner som variabler, kontrolstrukturer, jobkontrol, pipes og omdirigering. Mange systemadministrationsopgaver løses hurtigt og effektivt gennem små shell-scripts eller komposition af standardværktøjer som ls, grep, awk, sed og find.
Grafisk brugergrænseflade (GUI) og X Window System
En grafisk brugergrænseflade (GUI) er den anden metode. X Window System er en meget almindelig GUI til Unix-systemer. X Window System er kun en skal af en grafisk grænseflade. Det har mange protokoller. X Window System giver ikke brugeren mulighed for at flytte og ændre størrelsen på vinduer. Brugerne har brug for en window manager eller desktop manager for at gøre det.
Nogle af de populære desktop- og window managers er:
Ligesom de fleste andre grafiske brugergrænseflader bruger de vinduer og dialogbokse, understøtter brugen af en computermus og er designet til at være lette at bruge. Ud over X findes der moderne display-server-projekter som Wayland på nogle Linux-distributioner, som tilbyder et mere moderne design end traditionel X11.
Programmer, software-økosystem og open source
Der er mange tusinde programmer til rådighed til X Window System. Der findes programmer som tekstbehandlingsprogrammer og regneark, herunder gratis software og open source-software. Open source-modellen har gjort det muligt for store fællesskaber at udvikle, vedligeholde og distribuere et rigt udvalg af værktøjer til Unix-lignende systemer. Pakkehåndteringssystemer (fx apt, rpm) bruges ofte til at installere og opdatere software.
Varianter og standarder
Der findes både kommercielle og frie implementeringer af Unix eller Unix-lignende systemer. Historiske og moderne eksempler omfatter forskellige BSD-derivater, System V-familien og kommercielle systemer som Solaris, AIX og HP-UX. For at sikre kompatibilitet er der standarder som POSIX og Single UNIX Specification, og betegnelsen "UNIX" er i dag et registreret varemærke, der kun må bruges af systemer, der opfylder visse krav.
Anvendelser
Unix og Unix-lignende systemer bruges bredt: fra servere og netværksinfrastruktur til udviklingsarbejdsstationer og indlejrede systemer. Deres stabilitet, skalerbarhed og værktøjsorienterede design gør dem særligt velegnede til kritiske tjenester som web- og mailservere, databaser, netværksgateways og videnskabelige beregninger.
Afsluttende bemærkninger
UNIX' indflydelse på moderne computere kan ikke overvurderes. Dens tekniske løsninger og filosofi har formet generationer af softwaredesign. For dem, der ønsker at forstå kernekoncepter inden for operativsystemer, netværk og sikkerhed, er studiet af Unix og Unix-lignende systemer stadig en værdifuld og praktisk vej ind i feltet.

Historien om UNIX og dets varianter
To typer Unix
I dag findes der to slags styresystemer, der ligner UNIX.
Den første gruppe er alle dem, der deler noget af kernekoden med den oprindelige fra Bell Labs hos AT&T. Dette omfatter de kommercielle UNIX-typer: Solaris eller AIX.
Den anden gruppe omfatter frie styresystemer, der normalt har BSD i deres navn, som FreeBSD, OpenBSD og NetBSD. Disse er baseret på det frie BSD. Mac OS X er også baseret på BSD.
Der findes også gratis systemer baseret på Linux-kernen. Disse deler ikke nogen kode med det oprindelige UNIX. BSD-systemer har meget lidt kode til fælles med det oprindelige Unix, fordi meget af koden er blevet omskrevet i løbet af mange år. Mange mennesker bruger udtrykkene Unix og Unix-lignende systemer for at være tydelige.
De fleste programmer kan køre på ethvert moderne Unix- eller Unix-lignende system. KDE og GNOME blev udviklet til Linux og blev senere ændret til at kunne køre på kommercielle Unix-typer.
Spørgsmål og svar
Q: Hvad er UNIX?
A: UNIX er et computerstyresystem, der først blev udviklet i 1969 på Bell Labs.
Q: Hvem skabte UNIX?
A: Ken Thompson, Dennis Ritchie, Douglas McIlroy og andre skabte det.
Spørgsmål: Hvordan blev UNIX skrevet?
A: Det blev skrevet med assemblagesprog.
Sp: Hvad giver Unix-operativsystemet mulighed for?
A: Unix-operativsystemet gør det muligt for flere brugere og processer at køre samtidigt på den samme maskine eller det samme netværk af computere.
Sp: Hvad er "Unix-filosofien"?
Svar: "Unix-filosofien" henviser til den idé, at mange andre styresystemer har kopieret idéer fra Unix, hvilket har ført til, at Unix' indflydelse kan ses på mange forskellige typer systemer.
Spørgsmål: Er Linux en type UNIX?
Svar: Nej, Linux bruger ikke kode fra UNIX, men deler i stedet nogle af ideerne og kommandoerne, hvilket gør det til et "Unix-lignende" system snarere end et egentligt UNIX-system.
Spørgsmål: Hvilke to måder kan man bruge et Unix-system på?
Svar: Der er to måder at bruge et Unix-system på: via kommandolinjen eller via en grafisk brugergrænseflade (GUI).
Søge