Operativsystemet Linux

I 1987 lanserte Andrew Tanenbaum operativsystemet MINIX, en mini-utgave av UNIX, beregnet på undervisningsformål. Basert på dette lanserte så Linus Thorvalds i 1991 Linux, versjon 0,02. Navn Linux laget han ved å kombinere ordene Linus og MINIX.

I motsetning til mange hva produsentene av andre operativsystemer gjorde, publiserte Thorvalds kildekoden Linux var bygget opp av, han gjorde det til åpen kildekode. Dette gjorde det mulig for brukere verden over å delta i videreutviklingen av Linux.

I august 2011 er siste stabile utgave av linuxkjernen versjon 3.0.1.

Mens den første utgaven bare hadde tekstskall, var primitiv, tung i bruk, og mest for spesielt interesserte, er moderne utgaver av Linux fullverdige, brukervennlige operativsystemer med et utvalg grafiske skall.

Linux-maskoten TUX
Linux-maskoten,
pingvinen TUX

Etter hvert har det kommet en mengde distributører av Linux. Felles for alle er at de tar utgangspunkt i en linuxkjerne, som de så gir sin egen innpakning. Noen er gratis, andre må en betale for.

Populære distribusjoner er RedHat, Debian, Mandriva (tidligere Mandrake), SUSE, Ubuntu, Caldera, Fedora og Knoppix. Knoppix er en spesiell variant som en ikke installeres, men startes direkte fra CD.

Skolelinux er en Debian-basert pakke som gjør det enkelt å installere et linuxbasert nettverk, ferdig konfigurert med tjenere og klienter. Skolelinux har også sin egen knoppixvariant, Snøfrix.

Linux distribusjoner
Diverse linuxdistribusjoner

Linux kontra Windows

Selv om det dominerende operativsystemet i PC-verdenen er Windows, er det en økende interesse for Linux.

En god grunn til å velge Linux er økonomi. Ikke bare kan en få systemet gratis, men fordi Linux krever mindre ressurser enn Windows, trenger en ikke skifte ut maskinparken så ofte.

En del velger også Linux som protest mot Microsofts dominerende rolle i verdensmarkedet.

Tradisjonelt har Linux vært kjent som et operativsystem for spesielt interesserte. Vanskelig å installere, og tungvint i bruk. I 2013 er dette avgjort ikke tilfelle. Det leveres distribusjoner av Linux som er svært enkle å installere, og Linux har grafiske grensesnitt som ikke står tilbake for Windows.

Standard programvare for kontorbruk følger med Linux. Eksempel på nettlesere er Konqueror og Firefox. Programpakka OpenOffice motsvarer Microsoft Office, og inneholder blant annet tekstbehandleren Writer, regnearket Calc, og presentasjonsprogrammet Impress. OpenOffice er kompatibelt med Microsoft Office, ved at det både kan åpne og lagre dokumenter på Office-format. OpenOffice er for øvrig tilgjengelig også for Windows og Mac.

Men generelt er utvalget av programvare mye mindre for Linux enn for Windows.

En kan gjerne ha både Linux og Windows installert på samme maskin. Ved oppstart velger en så hvilket av de to operativsystemene som skal startes. (Multi boot) Skolelinux gir imidlertid ikke mulighet for dette.

Administrering av prosessortid

Linux har, i motsetning til Windows og Mac, alltid benyttet preemptive multitasking, det vil si at mange programmer kan kjøre tilsynelatende samtidig, og at operativsystemet har det fulle ansvaret for at alle prosesser får sin rettmessige kjøretid. Det har også alltid vært mulig for flere brukere å være pålogget og kjøre programmer samtidig.

Prosessene kan gis varierende prioritet. Prioriteten kalles 'nice' – 'snill' i norskspråklig Linux, og kan variere fra -20 til 19, der 19 er laveste prioritet. Høyeste tall gir lavest prioritet, prosesser med høy snillhet overlater altså gjerne prosessoren til andre.

Ut over den prioriteten brukeren selv kan velge, har Linux et internt prioriteringssystem som sørger for at prosesser som krever kjapp respons, men ikke trenger kjøre lenge, blir prioritert høyt.

Overvåking av prosessor og internminne

I Linux kan en enkelt inspisere prosesser og minneforbruk. En kan også stoppe en prosess, eller endre prioriteten til den. Dette kan gjøres både i kommandoskall, og i grafiske skall.

I det grafiske skallet Gnome, for eksempel, finnes programmet "Systemmonitor". Når det startes, vises maskinens ressursbruk grafisk, som vist under. Her ser en at prosessoren for øyeblikket brukes 5 %, at bruken over tid ligger jevnt under 20 %, men med en topp på 60 %. 55,6 % av internminnet, og 3,9 % av sidevekslingsområdet er i bruk, og har nesten ikke endret seg de siste minuttene. En ser også hvor mye data maskinen har sendt og mottatt på nettverket.

Linux maskinressurser
Overvåking av maskinressurser

Klikker en på fanen "Prosesser", får en opp ei liste med informasjon om prosessene som kjører på maskinen. I utgangspunktet vises kolonner med prosessens navn, status, hvor mange prosent av prosessortiden den bruker, prioritet, id-nummer og minneforbruk. Men under menyvalget "Rediger" – "Brukervalg", kan en legge til mer informasjon, for eksempel hvem som eier prosessen.

I eksemplet under vises først en situasjon der supermann har startet tekstbehandlingsprogrammet Writer. Den tilhørende prosessen er i tilstand 'sover', det vil si at den er suspendert, slik som illustrert i kapitlet Operativsystemer Generelt. Hver gang supermann trykker på en tast, vil den våkne til liv, og kjøre et lite øyeblikk.

En ser også en mengde andre prosesser som Linux har startet for supermann.

I neste bilde har supermann startet to programmer, tungjobb1 og tungjobb2, som krever mye prosessorkraft, og en ser at begge de tilhørende prosessene bruker 44 % av prosessorens totale kapasitet.

I siste bilde er 'nice' for tungjobb1 økt, slik at prosessen får lavere prioritet. En ser da at tungjobb2 får tildelt prosessortid på bekostning av tungjobb1.

Linux-prosessen tilhørende "writer"
Prosessen til programmet "writer" sover mens det venter på et tastetrykk
To Linux-prosesser med samme prioritet
To prosesser med samme prioritet som får like mye prosessortid
to Linux-prosesser med ulik prioritet
To prosesser der den med lavest prioritet gir fra seg prosessortid til den andre

Filsystem

Linux støtter en mengde filsystemer. Det vanligste er ext4, 'fourth extended filesystem', som har overtatt for forgjengeren ext3. Andre eksempler på Linux/Unix-baserte systemer er reiserfs og xfs. Linux er også i stand til å håndtere Windows filsystemer, og filsystemene på CD og DVD.

I et Linux filsystem har hver fil og katalog har en unik identifikator kalt inode. Inoden inneholder alle opplysninger om filen/katalogen, slik som størrelse, eier, sist endret, etc.

Flere filnavn kan referere til samme inode. Det vil si at Linux, i motsetning til Windows, kan referere til samme fil fra forskjellige plasser i katalogtreet. Slike filnavn kalles harde lenker. Linux har også myke lenker, som omlag tilsvarer snarveier i Windows.

Linux filsystemer er hierarkiske.

ext4 kan håndtere disker på opptil 1 EB (E = exa = 1018) , med en maksimal filstørrelse på 16 TB (T = tera = 1012).

I en standard Linux-installasjon vil en finne følgende kataloger:

/ Rot-katalogen.
/bin De viktigste kommandoene i operativsystemet.
/dev Drivere og lignende.
/etc Konfigurasjonsfiler.
/home Brukernes hjemmeområder.
/sbin Systemkommandoer.
/tmp Midlertidige filer.
/usr Forskjellige programmer.
/var Midlertidige filer som er mindre midlertidige enn /tmp. Loggfiler, utskriftsjobber, etc.

Skall

I utgangspunktet hadde Linux bare tekstskall, men i moderne utgaver kan en velge mellom flere grafiske skall, som i utseende og funksjonalitet likner svært mye på Windows.

De to mest populære er Gnome og KDE, vist i bildene under.

Linux Gnome grafisk skall
Det grafiske skallet Gnome
Linux KDE grafisk skall
Det grafiske skallet KDE

Tekstskall finnes det også mange av. De vanligste er bash – 'Bourne Again Shell', tcsh – 'T-shell' og zsh – 'Z-shell', men noen Linux distribusjoner støtter også sh – 'Bourne shell', csh – 'C-shell' og ksh – 'Korn-shell'.

En kan kjøre et tekstskall uten å kjøre noe grafisk skall, men en kan også starte et tekstskall ved å velge "Systemverktøy" – "Terminal" i Gnome eller KDE.

En kan starte et tekstskall inni annet ved å skrive navnet på det, for eksempel "tcsh".

Grunnleggende tekstkommandoer likner mye på Windows tekstkommandoer.

Noen forskjeller er:

  • ls, ikke dir : Lister opp alle filer i ei mappe
  • cat, ikke type : Skriver ut innholdet av ei fil
  • cp, ikke copy : Lager en kopi av ei fil
  • mv, ikke ren : Navner om ei fil
  • rm, ikke del : Sletter ei fil

For å skille filer og mapper, brukes vanlig skråstrek ( / ), ikke baklengs skråstrek ( \ ) som i Windows. Et eksempel:

  • rm mappe1/mappe2/fil1 : Sletter "fil1" som ligger inni "mappe2" som ligger inni "mappe1".

For å avslutte tekstskallet, bruker en kommandoen exit.

Administrasjon av brukere og rettigheter

Linux har alltid hatt tilgangskontroll. For å kunne bruke systemet, må en logge inn med brukernavn og passord. En skiller på vanlige brukere med begrensede rettigheter, og superbruker som har alle rettigheter. Superbruker logger inn med brukernavnet 'root'. Vanlige brukere kan også opptre som superbrukere hvis de kjenner passordet. I et tekstskall blir en superbruker ved å skrive kommandoen 'su', og deretter oppgi superbrukers passord. I et grafisk skall vil en bli spurt etter passord hvis en prøver å utføre en operasjon bare superbruker har tilgang til.

Alle brukere er medlemmer av ei eller flere grupper.

I filsystemet i Linux kan en tildele følgende rettigheter til filer og mapper:

Lese:
(r)
Lese ei fil, se innholdet i ei mappe.
Skrive:
(w)
Skrive til ei fil, opprette filer i ei mappe.
Kjøre:
(x)
Kjøre ei fil, gå inn i ei mappe.

Ei fil eller mappe vil alltid ha en eier, og tilhøre ei gruppe.

I et tekstskall vil rettighetene bli vist med "r" for leserettigheter, "w" for skriverettigheter, og "x" for rettigheter til å kjøre / se innhold. Ett sett med rettigheter for eieren, ett for medlemmer av gruppa, og ett for alle andre.

I bildet under ser en informasjon om fila "NyFil", som eies av "nilskh" og tilhører gruppe "studenter". "nilskh" har rettigheter til å lese og skrive, medlemmer av gruppa "studenter" kan lese, mens alle andre ikke har noen rettigheter overhodet.

Informasjon om fila NyFil i et tekstskall
Informasjon om fila NyFil i et tekstskall

Bildet under viser de samme rettighetene i det grafiske skallet Gnome.

Informasjon om fila NyFil i Gnome
Informasjon om fila NyFil i Gnome

Kilder

  • Arne B. Mikalsen og Per Borgesen: Drift av lokalnettverk. Design og sikkerhet. TISIP og TAPIR, 2005
  • John O'Gorman: Operating Systems with Linux. Palgrave 2001
  • David Elboth: Boken om Linux. IDG Norge Books AS, 2003
  • O'Reilly, 2000
  • Linux Kernel Archives
  • Wikipedia