0 - en to nb-NO translation catalogue (168 entries)

en: Kernel
nb-NO: Kjerne

en: Process
nb-NO: Prosess

en: Hierarchy
nb-NO: Hierarki

en: Basic Commands
nb-NO: Grunnleggende kommandoer

en: Short Remedial Course
nb-NO: Kort støttekurs

en: Even though this book primarily targets administrators and “power-users”, we wouldn't like to exclude motivated beginners. This appendix will therefore be a crash-course describing the fundamental concepts involved in handling a Unix computer.
nb-NO: Selv om denne boken i hovedsak retter seg mot administratorer og «superbrukere», så ønsker vi ikke å ekskludere motiverte nybegynnere. Dette vedlegget er derfor et krasjkurs som beskriver de grunnleggende konseptene involvert i håndtering av en Unix-datamaskin.

en: Shell and Basic Commands
nb-NO: Skall og grunnleggende kommandoer

en: In the Unix world, every administrator has to use the command line sooner or later; for example, when the system fails to start properly and only provides a command-line rescue mode. Being able to handle such an interface, therefore, is a basic survival skill for these circumstances.
nb-NO: I Unix-verden må enhver administrator bruke kommandolinjen før eller senere; for eksempel når systemet ikke starter som det skal, og kun tilbyr en redningsmodus med kommandolinje. Det å være i stand til å håndtere et slikt grensesnitt er dermed grunnleggende overlevelseskunnskap i slike tilfeller.

en: <emphasis>QUICK LOOK</emphasis> Starting the command interpreter
nb-NO: <emphasis>RASK TITT</emphasis> Oppstart av kommandotolkeren

en: A command-line environment can be run from the graphical desktop, by an application known as a “terminal”. In GNOME, you can start it from the “Activities” overview (that you get when you move the mouse in the top-left corner of the screen) by typing the first letters of the application name. In Plasma (and many other desktop variants), you will find it in the applications menu <menuchoice><guisubmenu>Applications</guisubmenu> <guisubmenu>System</guisubmenu></menuchoice> menu.
nb-NO: Et kommandolinjemiljø kan kjøres fra det grafiske skrivebordet med et program som kalles en «terminal». I GNOME kan du starte det fra «Aktivitets»-oversikten (som du får når du beveger musen i øverste venstre hjørne av skjermen) ved å skrive de første bokstavene i navnet på programmet. I Plasma (og mange andre skrivebordsvarianter) vil du finne det i programvaremenyen <menuchoice> <guisubmenu>Programmer</guisubmenu> <guisubmenu>System</guisubmenu></menuchoice>-menyen.

en: This section only gives a quick peek at the commands. They all have many options not described here, so please refer to the abundant documentation in their respective manual pages.
nb-NO: Denne delen gir bare en kort oversikt over kommandoene. Alle har mange alternativer som ikke er beskrevet her, så sjekk gjerne ut den rikholdige dokumentasjon på de respektive manualsidene.

en: Browsing the Directory Tree and Managing Files
nb-NO: Håndtering av filer og titting i katalogtreet

en: Once a session is open, the <command>pwd</command> command (which stands for <emphasis>print working directory</emphasis>) displays the current location in the filesystem. The current directory is changed with the <command>cd <replaceable>directory</replaceable></command> command (<command>cd</command> is for <emphasis>change directory</emphasis>). The parent directory is always called <literal>..</literal> (two dots), whereas the current directory is also known as <literal>.</literal> (one dot). The <command>ls</command> command allows <emphasis>listing</emphasis> the contents of a directory. If no parameters are given, it operates on the current directory.
nb-NO: Så snart en økt er åpen, viser <command>pwd</command>-kommandoen (som står for <emphasis>print working directory</emphasis>) den gjeldende plasseringen i filsystemet. Den nåværende mappen endres med <command>cd <replaceable>mappe</replaceable></command>-kommandoen, (<command>cd</command> står for <emphasis>change directory</emphasis>). Den overordnede mappen er alltid kalt <literal>..</literal> (to punktum), mens den gjeldende mappen også er kjent som <literal>.</literal> (ett punktum). <command>ls</command>-kommandoen åpner for å <emphasis>liste</emphasis> innholdet i en mappe/katalog. Hvis ingen parametere er angitt, opererer den på den gjeldende mappen.

en: 
    <computeroutput>$ </computeroutput><userinput>pwd
    </userinput><computeroutput>/home/rhertzog
    $ </computeroutput><userinput>cd Desktop
    </userinput><computeroutput>$ </computeroutput><userinput>pwd
    </userinput><computeroutput>/home/rhertzog/Desktop
    $ </computeroutput><userinput>cd .
    </userinput><computeroutput>$ </computeroutput><userinput>pwd
    </userinput><computeroutput>/home/rhertzog/Desktop
    $ </computeroutput><userinput>cd ..</userinput>
    <computeroutput>$ </computeroutput><userinput>pwd
    </userinput><computeroutput>/home/rhertzog
    $ </computeroutput><userinput>ls
    </userinput><computeroutput>Desktop    Downloads  Pictures  Templates
    Documents  Music      Public    Videos
    </computeroutput>
nb-NO: 
    <computeroutput>$ </computeroutput><userinput>pwd</userinput>
    <computeroutput>/home/rhertzog
    $ </computeroutput><userinput>cd Desktop</userinput>
    <computeroutput>$ </computeroutput><userinput>pwd</userinput>
    <computeroutput>/home/rhertzog/Desktop
    $ </computeroutput><userinput>cd .</userinput>
    <computeroutput>$ </computeroutput><userinput>pwd</userinput>
    <computeroutput>/home/rhertzog/Desktop
    $ </computeroutput><userinput>cd ..</userinput>
    <computeroutput>$ </computeroutput><userinput>pwd</userinput>
    <computeroutput>/home/rhertzog
    $ </computeroutput><userinput>ls</userinput>
    <computeroutput>Skrivebord    Nedlastninger  Bilder  Maler
    Dokumenter  Musikk      Offentlig    Videoer
    </computeroutput>

en: A new directory can be created with <command>mkdir <replaceable>directory</replaceable></command>, and an existing (empty) directory can be removed with <command>rmdir <replaceable>directory</replaceable></command>. The <command>mv</command> command allows <emphasis>moving</emphasis> and/or renaming files and directories; <emphasis>removing</emphasis> a file is achieved with <command>rm <replaceable>file</replaceable></command>.
nb-NO: En ny mappe kan lages med <command>mkdir <replaceable>mappe</replaceable></command>, og en eksisterende (tom) mappe kan fjernes med <command>rmdir <replaceable>mappe</replaceable></command>. <command>mv</command>-kommando åpner for <emphasis>flytting</emphasis>, og/eller for å døpe om filer og mapper; <emphasis>fjerning</emphasis> av en fil gjøres med <command>rm <replaceable>fil</replaceable></command>.

en: 
    <computeroutput>$ </computeroutput><userinput>mkdir test
    </userinput><computeroutput>$ </computeroutput><userinput>ls
    </userinput><computeroutput>Desktop    Downloads  Pictures  Templates  Videos
    Documents  Music      Public    test
    $ </computeroutput><userinput>mv test new
    </userinput><computeroutput>$ </computeroutput><userinput>ls
    </userinput><computeroutput>Desktop    Downloads  new       Public     Videos
    Documents  Music      Pictures  Templates
    $ </computeroutput><userinput>rmdir new
    </userinput><computeroutput>$ </computeroutput><userinput>ls
    </userinput><computeroutput>Desktop    Downloads  Pictures  Templates  Videos
    Documents  Music      Public</computeroutput>
nb-NO: 
    <computeroutput>$ </computeroutput><userinput>mkdir test</userinput>
    <computeroutput>$ </computeroutput><userinput>ls</userinput>
    <computeroutput>Bilder      Maler   Nedlastninger  Skrivebord  Videoer
    Dokumenter  Musikk  Offentlig      test
    $ </computeroutput><userinput>mv test new</userinput>
    <computeroutput>$ </computeroutput><userinput>ls</userinput>
    <computeroutput>Bilder      Maler   Nedlastninger  Offentlig   Videoer
    Dokumenter  Musikk  new            Skrivebord
    $ </computeroutput><userinput>rmdir new</userinput>
    <computeroutput>$ </computeroutput><userinput>ls</userinput>
    <computeroutput>Bilder      Maler   Nedlastninger  Skrivebord
    Dokumenter  Musikk  Offentlig      Videoer</computeroutput>

en: Displaying and Modifying Text Files
nb-NO: Å vise og modifisere tekstfiler

en: The <command>cat <replaceable>file</replaceable></command> command (intended to <emphasis>concatenate</emphasis> files to the standard output device) reads a file and displays its contents on the terminal. If the file is too big to fit on a screen, use a pager such as <command>less</command> (or <command>more</command>) to display it page by page.
nb-NO: Kommandoen <command>cat <replaceable>fil</replaceable></command> (med formål å <emphasis>sette sammen</emphasis> filer til standard ut-enheten) leser en fil, og viser innholdet på terminalen. Hvis filen er for stor til å passe til en skjerm, kan du bruke <command>less</command> (eller <command>more</command>) for å vise den side for side.

en: <primary>redirection</primary>
nb-NO: <primary>omdirigering</primary>

en: <primary><literal>&gt;</literal></primary><see>redirection</see>
nb-NO: <primary><literal>&gt;</literal></primary><see>omdirigering</see>

en: The <command>editor</command> command starts a text editor (such as <command>vi</command> or <command>nano</command>) and allows creating, modifying and reading text files. The simplest files can sometimes be created directly from the command interpreter thanks to redirection: <command>echo "<replaceable>text</replaceable>" &gt;<replaceable>file</replaceable></command> creates a file named <replaceable>file</replaceable> with “<replaceable>text</replaceable>” as its contents. Adding a line at the end of this file is possible too, with a command such as <command>echo "<replaceable>moretext</replaceable>" &gt;&gt;<replaceable>file</replaceable></command>. Note the <literal>&gt;&gt;</literal> in this example.
nb-NO: Kommandoen <command>editor</command> starter en tekstredigerer (slik som <command>vi</command> eller <command>nano</command>), og tillater å lage, modifisere og lese tekstfiler. De enkleste filene kan noen ganger opprettes direkte fra kommandokonsollen/-linjen takket være omdirigering: <command>echo «<replaceable>tekst</replaceable>» &gt;<replaceable>fil</replaceable></command> lager en fil med navnet <replaceable>fil</replaceable> med «<replaceable>tekst</replaceable>» som sitt innhold. Å legge til en linje på slutten av denne filen er også mulig, med en kommando som <command>echo «<replaceable>linje</replaceable>» &gt;&gt;<replaceable>file</replaceable></command>. Merk <literal>&gt;&gt;</literal> i dette eksemplet.

en: Searching for Files and within Files
nb-NO: Søk etter filer og i filer

en: The <command>find <replaceable>directory</replaceable> <replaceable>criteria</replaceable></command> command looks for files in the hierarchy under <replaceable>directory</replaceable> according to several criteria. The most commonly used criterion is <literal>-name <replaceable>name</replaceable></literal>: that allows looking for a file by its name.
nb-NO: Kommandoen <command>find <replaceable>mappe</replaceable> <replaceable>kriterier</replaceable></command> ser etter filer i hierarkiet under <replaceable>mappe</replaceable> etter flere kriterier. Det mest brukte er kriteriet <literal>-name <replaceable>navn</replaceable></literal>, som tillater å lete etter en fil med det navnet.

en: The <command>grep <replaceable>expression</replaceable> <replaceable>files</replaceable></command> command searches the contents of the files and extracts the lines matching the regular expression (see sidebar <xref linkend="sidebar.regexp" />). Adding the <literal>-r</literal> option enables a recursive search on all files contained in the directory passed as a parameter. This allows looking for a file when only a part of the contents are known.
nb-NO: Kommandoen <command>grep <replaceable>uttrykket</replaceable> <replaceable>filer</replaceable></command> søker igjennom innholdet i filene, og trekker ut de linjene som samsvarer med det regulære uttrykket (se sidestolpe <xref linkend="sidebar.regexp" />). Å legge til <literal>-r</literal>-alternativet muliggjør at et gjentakende søk på alle filene i katalogen sendes som et parameter. Dette gjør det mulig å se etter en fil når bare en del av innholdet er kjent.

en: Managing Processes
nb-NO: Å håndtere prosesser

en: <primary>process</primary><secondary>ID</secondary><see><emphasis>pid</emphasis></see>
nb-NO: <primary>prosess</primary><secondary>ID</secondary><see><emphasis>pid</emphasis></see>

en: The <command>ps aux</command> command lists the processes currently running and helps identifying them by showing their <emphasis>pid</emphasis> (process id). Once the <emphasis>pid</emphasis> of a process is known, the <command>kill -<replaceable>signal</replaceable> <replaceable>pid</replaceable></command> command allows sending it a signal (if the process belongs to the current user). Several signals exist; most commonly used are <literal>TERM</literal> (a request to terminate gracefully) and <literal>KILL</literal> (a forced kill).
nb-NO: Kommandoen <command>ps aux</command> viser prosessene som kjører og hjelper å identifisere dem ved å vise sin <emphasis>pid</emphasis> (process id). Så snart <emphasis>pid</emphasis> av en prosess er kjent, kan <command>kill -<replaceable>signal</replaceable> <replaceable>pid</replaceable></command>-kommandoen sende den et signal (hvis prosessen tilhører den aktuelle brukeren). Flere signaler finnes; de mest brukte er <literal>TERM</literal> (en elegant anmodning om å avslutte) og <literal>KILL</literal> (en tvunget avslutning).

en: <primary>background task</primary>
nb-NO: <primary>bakgrunnsoppgave</primary>

en: The command interpreter can also run programs in the background if the command is followed by a “&amp;”. By using the ampersand, the user resumes control of the shell immediately even though the command is still running (hidden from the user; as a background process). The <command>jobs</command> command lists the processes running in the background; running <command>fg %<replaceable>job-number</replaceable></command> (for <emphasis>foreground</emphasis>) restores a job to the foreground. When a command is running in the foreground (either because it was started normally, or brought back to the foreground with <command>fg</command>), the <keycombo action="simul"><keycap>Control</keycap><keycap>Z</keycap></keycombo> key combination pauses the process and resumes control of the command-line. The process can then be restarted in the background with <command>bg %<replaceable>job-number</replaceable></command> (for <foreignphrase>background</foreignphrase>).
nb-NO: Kommandokonsollet kan også kjøre programmer i bakgrunnen hvis kommandoen er etterfulgt av et «&amp;». Ved å bruke &amp;-tegnet (og-tegnet/et-tegnet (ampersand)), får brukeren umiddelbart tilbake kontroll over skallet, selv om kommandoen fortsatt kjører (skjult for brukeren, som en bakgrunnsprosess). Kommandoen <command>jobs</command> lister prosesser som kjører i bakgrunnen; å kjøre <command>fg %<replaceable>jobbnummer</replaceable></command> (for <emphasis>foreground</emphasis>) gjenopprettes en jobb til forgrunnen. Når en kommando kjører i forgrunnen (enten fordi den ble startet normalt, eller bringes tilbake til forgrunnen med <command>fg</command>), pauser <keycombo action="simul"><keycap>Control</keycap><keycap>Z</keycap></keycombo>-tastekombinasjonen prosessen, og gjenopptar kontrollen over kommandolinjen. Prosessen kan deretter restartes i bakgrunnen med <command>bg %<replaceable>jobbnummer</replaceable></command> (for <foreignphrase>background</foreignphrase>).

en: System Information: Memory, Disk Space, Identity
nb-NO: Systeminformasjon: Minne, diskplass, identitet

en: <primary>human readable</primary>
nb-NO: <primary>lesbart for mennesker</primary>

en: The <command>free</command> command displays information on memory; <command>df</command> (<emphasis>disk free</emphasis>) reports on the available disk space on each of the disks mounted in the filesystem. Its <literal>-h</literal> option (for <emphasis>human readable</emphasis>) converts the sizes into a more legible unit (usually mebibytes or gibibytes). In a similar fashion, the <command>free</command> command supports the <literal>-m</literal> and <literal>-g</literal> options, and displays its data either in mebibytes or in gibibytes, respectively.
nb-NO: Kommandoen <command>free</command> viser informasjon om minne; <command>df</command> (<emphasis>disk free</emphasis>) rapporterer om ledig diskplass på hver av diskene montert i filsystemet. <literal>-h</literal>-valget dens (for <emphasis>human readable (lesbar)</emphasis>) konverterer størrelsene til en mer leselig enhet (vanligvis mebibytes eller gibibytes). På lignende måte støtter <command>free</command>-kommandoen <literal>-m</literal> og <literal>-g</literal>-valgene, og viser dataene dens henholdsvis enten i mebibytes eller i gibibytes.

en: The <command>id</command> command displays the identity of the user running the session, along with the list of groups they belong to. Since access to some files or devices may be limited to group members, checking available group membership may be useful.
nb-NO: Kommandoen <command>id</command> viser identiteten til brukeren som kjører økten, sammen med listen over grupper de tilhører. Siden tilgang til noen filer eller enheter kan være begrenset til gruppemedlemmene, kan det være nyttig å sjekke tilgjengelige gruppemedlemskap.

en: Organization of the Filesystem Hierarchy
nb-NO: Organisering av filsystemhierarkiet

en: <primary>Filesystem Hierarchy</primary>
nb-NO: <primary> Filsystemhierarkiet</primary>

en: The Root Directory
nb-NO: Rotmappen

en: A Debian system is organized along the <emphasis>Filesystem Hierarchy Standard</emphasis> (FHS). This standard defines the purpose of each directory. For instance, the top-level directories are described as follows:
nb-NO: Et Debian-system er organisert i tråd med <emphasis>Filesystem Hierarchy Standard</emphasis> (FHS). Denne standarden definerer formålet med hver mappe. For eksempel er toppnivå-mapper beskrevet som følger:

en: <filename>/bin/</filename>: basic programs;
nb-NO: <filename>/bin/</filename>: basisprogrammet;

en: <filename>/boot/</filename>: Linux kernel and other files required for its early boot process;
nb-NO: <filename>/boot/</filename>: Linux-kjernen og andre filer som kreves til den tidlige oppstartsprosessen;

en: <filename>/dev/</filename>: device files;
nb-NO: <filename>/dev/</filename>: filer for enheter;

en: <filename>/etc/</filename>: configuration files;
nb-NO: <filename>/etc/</filename>: Oppsettsfiler;

en: <primary>account</primary><secondary>home directory</secondary>
nb-NO: <primary>konto</primary><secondary>hjemmeområde</secondary>

en: <filename>/home/</filename>: user's personal files;
nb-NO: <filename>/home/</filename>: brukerens personlige filer;

en: <filename>/lib/</filename>: basic libraries;
nb-NO: <filename>/lib/</filename>: basisbiblioteker;

en: <filename>/media/*</filename>: mount points for removable devices (CD-ROM, USB keys and so on);
nb-NO: <filename>/media/*</filename>: monteringspunkter for flyttbare enheter (CD-ROM, USB-nøkler, og så videre);

en: <filename>/mnt/</filename>: temporary mount point;
nb-NO: <filename>/mnt/</filename>: midlertidige monteringspunkter;

en: <filename>/opt/</filename>: extra applications provided by third parties;
nb-NO: <filename>/opt/</filename>: ekstra programmer levert av tredjeparter;

en: <filename>/root/</filename>: administrator's (root's) personal files;
nb-NO: <filename>/root/</filename>: administrators (rots) personlige filer;

en: <filename>/run/</filename>: volatile runtime data that does not persist across reboots;
nb-NO: <filename>/run/</filename>: omskiftelige kjøretidsdata som ikke overlever omstart;

en: <filename>/sbin/</filename>: system programs;
nb-NO: <filename>/sbin/</filename>: systemprogrammer;

en: <filename>/srv/</filename>: data used by servers hosted on this system;
nb-NO: <filename>/srv/</filename>: data brukt av tjenere på dette systemet;

en: <filename>/tmp/</filename>: temporary files; this directory is often emptied at boot;
nb-NO: <filename>/tmp/</filename>: midlertidige filer; denne katalogen tømmes ofte ved oppstart;

en: <filename>/usr/</filename>: applications; this directory is further subdivided into <filename>bin</filename>, <filename>sbin</filename>, <filename>lib</filename> (according to the same logic as in the root directory). Furthermore, <filename>/usr/share/</filename> contains architecture-independent data. <filename>/usr/local/</filename> is meant to be used by the administrator for installing applications manually without overwriting files handled by the packaging system (<command>dpkg</command>).
nb-NO: <filename>/usr/</filename>: programmer; denne katalogen er videre inndelt i <filename>bin</filename>, <filename>sbin</filename>, <filename>lib</filename> (ifølge samme logikk som i rotkatalogen). Videre inneholder <filename>/usr/share/</filename> arkitekturuavhengige data. <filename>/usr/local/</filename> er ment til å brukes av administrator for å installere programmer manuelt uten å overskrive filer som håndteres av pakkesystemet (<command>dpkg</command>).

en: <primary>daemon</primary>
nb-NO: <primary>bakgrunnsprosess</primary>

en: <filename>/var/</filename>: variable data handled by daemons. This includes log files, queues, spools, caches and so on.
nb-NO: <filename>/var/</filename>: variable data som håndteres av bakgrunnsprosesser. Dette inkluderer loggfiler, køer, utskriftskøer, hurtiglagre og så videre.

en: <primary>user</primary><secondary>user space</secondary>
nb-NO: <primary>bruker</primary><secondary>brukerlandet</secondary>

en: <filename>/proc/</filename> and <filename>/sys/</filename> are specific to the Linux kernel (and not part of the FHS). They are used by the kernel for exporting data to user space (see <xref linkend="sect.userspace-presentation" /> and <xref linkend="sect.user-space" /> for explanations about this concept).
nb-NO: <filename>/proc/</filename> og <filename>/sys/</filename> er spesifikke for Linux-kjernen (og ikke en del av FHS). De brukes av kjernen for å eksportere data til brukerlandet (se <xref linkend="sect.userspace-presentation" /> og <xref linkend="sect.user-space" /> for forklaringer på dette begrepet).

en: <primary>merged <filename>/usr</filename></primary>
nb-NO: <primary>sammenvevd<filename>/usr</filename></primary>

en: Note that many modern distributions, Debian included, are shipping <filename>/bin</filename>, <filename>/sbin</filename> and <filename>/lib</filename> as symlinks to the corresponding directories below <filename>/usr</filename> so that all programs and libraries are available in a single tree. It makes it easier to protect the integrity of the system files, and to share those system files among multiple containers, etc.
nb-NO: Merk at mange moderne distribusjoner, inkludert Debian, lar <filename>/bin</filename>, <filename>/sbin</filename> og <filename>/lib</filename> være symbolske lenker til de tilsvarende katalogene under <filename>/usr</filename> slik at alle programmer og biblioteker er tilgjengelig i et enhetlig tre. Det gjør det enklere å beskytte integriteten til systemfilene, og å dele disse systemfilene mellom ulike kontainere, etc.

en: The User's Home Directory
nb-NO: Brukerens hjemmemappe

en: The contents of a user's home directory is not standardized, but there are still a few noteworthy conventions. One is that a user's home directory is often referred to by a tilde (“~”). That is useful to know because command interpreters automatically replace a tilde with the correct directory (usually <filename>/home/<replaceable>user</replaceable>/</filename>).
nb-NO: Innholdet i en brukers hjemmemappe er ikke standardisert, men det er fortsatt noen få nevneverdige konvensjoner. Den ene er at en brukers hjemmemappe ofte er referert til av en krøllstrek («~»). Det er nyttig å vite fordi kommandokonsollet automatisk erstatter en krøllstrek med riktig katalog (vanligvis <filename>/home/<replaceable>bruker</replaceable>/</filename>).

en: <primary>file</primary><secondary>hidden</secondary>
nb-NO: <primary>fil</primary><secondary>skjult</secondary>

en: <primary>directory, hidden</primary>
nb-NO: <primary>mappe, skjult</primary>

en: Traditionally, application configuration files are often stored directly under the user's home directory, but their names usually start with a dot (for instance, the <command>mutt</command> email client stores its configuration in <filename>~/.muttrc</filename>). Note that filenames that start with a dot are hidden by default; and <command>ls</command> only lists them when the <literal>-a</literal> option is used, and graphical file managers need to be told to display hidden files.
nb-NO: Tradisjonelt er applikasjonens oppsettsfiler ofte lagret direkte i brukerens hjemmemappe, men filnavnene deres starter vanligvis med et punktum (for eksempel lagrer e-postklient <command>mutt</command> oppsettet i <filename>~/.muttrc</filename>). Merk at filnavn som starter med en prikk er skjult som standard; og <command>ls</command> bare lister dem når <literal>-a</literal>-valget blir brukt, og grafiske fil-håndterere må få beskjed om å vise skjulte filer.

en: Some programs also use multiple configuration files organized in one directory (for instance, <filename>~/.ssh/</filename>). Some applications also use their directory to store a cache of downloaded data. This means that those directories can end up using a lot of disk space.
nb-NO: Noen programmer bruker også flere oppsettsfiler organisert i en mappe (for eksempel, <filename>~/.ssh/</filename>). Noen programmer bruker også sin mappe for å lagre et mellomlager med nedlastede data. Dette betyr at disse mappene kan ende med å bruke mye diskplass.

en: <primary>file</primary><secondary>dotfile</secondary>
nb-NO: <primary>fil</primary><secondary>dotfil</secondary>

en: These configuration files stored directly in a user's home directory, often collectively referred to as <emphasis>dotfiles</emphasis>, have long proliferated to the point that these directories can be quite cluttered with them. Fortunately, an effort led collectively under the FreeDesktop.org umbrella has resulted in the “XDG Base Directory Specification”, a convention that aims at cleaning up these files and directories. This specification states that configuration files should be stored under <filename>~/.config/</filename>, cache files under <filename>~/.cache/</filename>, and application data files under <filename>~/.local/</filename> (or subdirectories thereof). This convention is slowly gaining traction, and several applications (especially graphical ones) have started following it.
nb-NO: Disse oppsettsfilene som er lagret direkte i brukerens hjemmekatalog, som ofte kollektivt er referert til som <emphasis>dotfiler</emphasis>, har lenge økt i omfang til et punkt der disse mappene kan bli ganske rotete. Heldigvis resulterte en innsats gjennomført i fellesskap under FreeDesktop.org-paraplyen, i «XDG Base Directory Specification», en konvensjon (avtale) som tar sikte på å rydde opp i disse filene og mappene. Denne spesifikasjonen sier at oppsettsfiler bør lagres under <filename>~/.config/</filename>, hurtiglagerfiler under <filename>~ /.cache/</filename>, og applikasjonsdatafiler under <filename>~/.local/</filename> (eller undermapper under denne). Denne konvensjonen er langsomt i ferd med å slå igjennom, og flere programmer (spesielt de grafiske) har begynt å følge den.

en: Graphical desktops usually display the contents of the <filename>~/Desktop/</filename> directory (or whatever the appropriate translation is for systems not configured in English) on the desktop (i.e. what is visible on screen once all applications are closed or iconized).
nb-NO: Grafiske skrivebord viser vanligvis innholdet i <filename>~/Desktop/</filename>-katalogen på skrivebordet (eller hva den riktige oversettelsen er for systemer som ikke er satt opp på engelsk, det vil si det som er synlig på skjermen når alle programmer er lukket eller vises som ikoner).

en: Finally, the email system sometimes stores incoming emails into a <filename>~/Mail/</filename> directory.
nb-NO: Til slutt, e-postsystemet lagrer noen ganger innkommende e-poster til en <filename>~/Mail/</filename>-mappe.

en: Inner Workings of a Computer: the Different Layers Involved
nb-NO: Datamaskinens indre arbeid: de forskjellige involverte lagene

en: A computer is often considered as something rather abstract, and the externally visible interface is much simpler than its internal complexity. Such complexity comes in part from the number of pieces involved. However, these pieces can be viewed in layers, where a layer only interacts with those immediately above or below.
nb-NO: En datamaskin er ofte betraktet som noe heller abstrakt, og det ytre, synlige grensesnittet er mye enklere enn den interne kompleksiteten. Slik kompleksitet kommer delvis fra antallet deler som inngår. Imidlertid kan disse delene sees i lag, hvor et lag bare vekselvirker (samhandler) med de umiddelbart over eller under.

en: An end-user can get by without knowing these details… as long as everything works. When confronting a problem such as, “The internet doesn't work!”, the first thing to do is to identify in which layer the problem originates. Is the network card (hardware) working? Is it recognized by the computer? Does the Linux kernel see it? Are the network parameters properly configured? All these questions isolate an appropriate layer and focus on a potential source of the problem.
nb-NO: En sluttbruker kan klare seg uten å kunne disse detaljene ... så lenge alt fungerer. Når man møter et problem som «Internett fungerer ikke!», er den første tingen å gjøre å identifisere i hvilket lag problemet stammer fra. Fungerer nettverkskortet (hardvare/maskinvaren)? Er det anerkjent av datamaskinen? Ser Linux-kjernen det? Er nettverksparametrene riktig satt opp? Alle disse spørsmålene avgrenser et passende lag, og fokuserer på en potensiell problemkilde.

en: The Deepest Layer: the Hardware
nb-NO: Det nederste laget: maskinvaren

en: <primary>hardware</primary>
nb-NO: <primary>maskinvare</primary>

en: <primary>SATA</primary>
nb-NO: <primary>S-ATA</primary>

en: <primary>Parallel ATA</primary><see>PATA</see>
nb-NO: <primary>Parallell ATA</primary><see>P-ATA</see>

en: <primary>PATA</primary>
nb-NO: <primary>P-ATA</primary>

en: Let us start with a basic reminder that a computer is, first and foremost, a set of hardware elements. There is generally a main board (known as the <emphasis>motherboard</emphasis>), with one (or more) processor(s), some RAM, device controllers, and extension slots for option boards (for other device controllers). Most noteworthy among these controllers are IDE (Parallel ATA), SCSI and Serial ATA, for connecting to storage devices such as hard disks. Other controllers include USB, which is able to host a great variety of devices (ranging from webcams to thermometers, from keyboards to home automation systems) and IEEE 1394 (Firewire). These controllers often allow connecting several devices so the complete subsystem handled by a controller is therefore usually known as a “bus”. Option boards include graphics cards (into which monitor screens will be plugged), sound cards, network interface cards, and so on. Some main boards are pre-built with these features, and don't need option boards.
nb-NO: La oss starte med en grunnleggende påminnelse om at en datamaskin først og fremst er et sett med maskinvareelementer. Det er generelt et <emphasis>hovedkort</emphasis>, med én (eller flere) prosessor(er), endel RAM, enhetskontrollere, og utvidelsesspor for tilleggskort (for andre enhetskontrollere). Mest bemerkelsesverdige blant disse kontrollerne er IDE (Parallel ATA), SCSI og Serial ATA, til å koble til lagringsenheter som harddisker. Andre kontrollere inkluderer USB, som er i stand til å være vert for et stort utvalg enheter (alt fra nettkameraer til termometre, fra tastaturer til hjemmeautomasjonssystemer) og IEEE 1394 (Firewire). Disse kontrollerne tillater ofte tilkobling av flere enheter slik at hele delsystemet håndteres av en kontroller, og derfor vanligvis er kjent som en «buss». Tilvalgskort inkluderer grafikkort (som skjermer kan plugges inn i), lydkort, nettverkskort, og så videre. Noen av hovedkortene har disse funksjonene innebygget, og trenger ikke tilleggskort.

en: <emphasis>IN PRACTICE</emphasis> Checking that the hardware works
nb-NO: <emphasis>I PRAKSIS</emphasis> Å sjekke at maskinvaren virker

en: Checking that a piece of hardware works can be tricky. On the other hand, proving that it doesn't work is sometimes quite simple.
nb-NO: Å kontrollere at en maskinvaredel virker, kan være vanskelig. På den annen side, å bevise at den noen ganger ikke virker er ganske enkelt.

en: A hard disk drive is made of spinning platters and moving magnetic heads. When a hard disk is powered up, the platter motor makes a characteristic whir. It also dissipates energy as heat. Consequently, a hard disk drive that stays cold and silent when powered up is broken.
nb-NO: En harddisk er laget av spinnende plater og bevegelige magnetiske hoder. Når en harddisk er slått på, avgir tallerkenmotoren en karakteristisk svirring. Den avgir også energi som varme. Følgelig er en harddisk som forblir kald og stille, når den slås på, gått i stykker.

en: Network cards often include LEDs displaying the state of the link. If a cable is plugged in and leads to a working network hub or switch, at least one LED will be on. If no LED lights up, either the card itself, the network device, or the cable between them, is faulty. The next step is therefore testing each component individually.
nb-NO: Nettverkskort inkluderer ofte lysdioder som viser tilstanden til linken. Hvis en kabel er koblet til, og fører til en fungerende nettverkshub eller -switch, vil minst én LED lyse. Hvis ingen LED lyser opp, er enten kortet selv, nettverksenheten, eller kabelen mellom dem, defekt. Det neste trinnet er derfor å teste hver enkelt komponent.

en: Some option boards — especially 3D video cards — include cooling devices, such as heat sinks and/or fans. If the fan does not spin even though the card is powered up, a plausible explanation is the card overheated. This also applies to the main processor(s) located on the main board.
nb-NO: Noen opsjonskort - spesielt 3D-skjermkort - inkluderer avkjølingsenheter, for eksempel kjøleribber og/eller vifter. Hvis viften ikke spinner selv om kortet er slått på, er det en plausibel forklaring at kortet er overopphetet. Dette gjelder også for hovedprosessoren(e) som er plassert på hovedkortet .

en: The Starter: the BIOS or UEFI
nb-NO: Starteren: BIOS eller UEFI

en: Hardware, on its own, is unable to perform useful tasks without a corresponding piece of software driving it. Controlling and interacting with the hardware is the purpose of the operating system and applications. These, in turn, require functional hardware to run.
nb-NO: På egen hånd er maskinvare ute av stand til å utføre nyttige oppgaver uten et samsvarende dataprogram som kjører den. Kontroll og samspill med maskinvaren er hensikten med operativsystemet og programmene. Disse krever i sin tur funksjonell maskinvare for å kjøre.

en: This symbiosis between hardware and software does not happen on its own. When the computer is first powered up, some initial setup is required. This role is assumed by the BIOS or UEFI, a piece of software embedded into the main board that runs automatically upon power-up. Its primary task is searching for software it can hand over control to. Usually, as you may have learned in <xref linkend="sect.system-boot" />, in the BIOS case, this involves looking for the first hard disk with a boot sector (also known as the <emphasis>master boot record</emphasis> or <acronym>MBR</acronym>), loading that boot sector, and running it. From then on, the BIOS is usually not involved (until the next boot). In the case of UEFI, the process involves scanning disks to find a dedicated EFI partition containing further EFI applications to execute.
nb-NO: Denne symbiosen mellom maskinvare og programvare skjer ikke av seg selv. Når datamaskinen først er slått på, kreves det innledende oppsett. Denne rollen fylles av BIOS eller UEFI, et dataprogram innebygd i hovedkortet og som kjører automatisk ved oppstart. Den primære oppgaven er å søke etter programvare som det kan overlate kontrollen til. For BIOS betyr det vanligvis, som du kanskje har lært om i <xref linkend="sect.system-boot" />, å se etter den første harddisken med en oppstartssektor (også kjent som <emphasis>master boot record</emphasis> eller <acronym>MBR</acronym>), laste oppstartssektoren, og kjøre den. Fra da av er BIOS vanligvis ikke involvert (før neste omstart). I tilfellet med UEFI, innebærer prosessen skanning av disker for å finne en øremerket EFI-partisjon som inneholder ytterligere EFI-programmer for kjøring.

en: <emphasis>TOOL</emphasis> Setup, the BIOS/UEFI configuration tool
nb-NO: <emphasis>VERKTØY</emphasis> Innstillinger, BIOS/UEFI-oppsettsverktøyet

en: <primary><emphasis>Setup</emphasis></primary>
nb-NO: <primary><emphasis>innstillinger</emphasis></primary>

en: The BIOS/UEFI also contains a piece of software called Setup, designed to allow configuring aspects of the computer. In particular, it allows choosing which boot device is preferred (for instance, you can select a USB key or a CD-ROM drive instead of the default harddisk), setting the system clock, and so on. Starting Setup usually involves pressing a key very soon after the computer is powered on. This key is often <keycap>Del</keycap> or <keycap>Esc</keycap>, sometimes <keycap>F2</keycap>, <keycap>F5</keycap>, <keycap>F8</keycap>, or <keycap>F10</keycap>. Most of the time, the choice is flashed on screen while booting. If not, you best check the manual of your mainboard or your computer.
nb-NO: BIOS/UEFI inneholder også en programvare som heter Setup, utformet for å tillate oppsett av ulike aspekter ved datamaskinen. Spesifikt tillater den å velge hvilke foretrukket oppstartsenhet (for eksempel kan du velge USB-minnepinne eller en CD-ROM-stasjon i stedet for forvalgt harddisk), stille inn systemklokken, og så videre. Å starte Setup innebærer vanligvis å trykke en tast ganske snart etter at datamaskinen er slått på. Denne tasten er ofte <keycap>Del</keycap> eller <keycap>Esc</keycap>, noen ganger <keycap>F2</keycap>, <keycap>F5</keycap>, <keycap>F8</keycap>eller <keycap>F10</keycap>. Som oftests vises det som skal brukes på skjermen et øyeblikk under oppstart. Hvis ikke så er det best å sjekke bruksanvisningen for hovedkortet ditt eller datamaskinen din.

en: The boot sector (or the EFI partition), in turn, contains another piece of software, called the bootloader, whose purpose is to find and run an operating system. Since this bootloader is not embedded in the main board but loaded from disk, it can be smarter than the BIOS, which explains why the BIOS does not load the operating system by itself. For instance, the bootloader (often GRUB on Linux systems) can list the available operating systems and ask the user to choose one. Usually, a time-out and default choice is provided. Sometimes the user can also choose to add parameters to pass to the kernel, and so on. Eventually, a kernel is found, loaded into memory, and executed.
nb-NO: Oppstartssektoren (eller EFI-partisjonen), inneholder i sin tur et annet dataprogram, kalt oppstartslaster, med formålet å finne og kjøre et operativsystem. Siden denne oppstartslasteren ikke er innebygd i hovedkortet, men lastet fra disk, kan det være smartere enn BIOS, noe som forklarer hvorfor BIOS ikke laster operativsystemet selv. For eksempel kan oppstartslasteren (ofte GRUB på Linux-systemer) liste tilgjengelige operativsystemer, og be brukeren om å velge en. Vanligvis er et tidsavbrudd og standardvalg gitt. Noen ganger kan brukeren også velge å legge til parametere som skal sendes til kjernen, og så videre. Til slutt blir en kjerne funnet, lastet inn i minnet, og utført.

en: <emphasis>NOTE</emphasis> UEFI, a modern replacement to the BIOS
nb-NO: <emphasis>MERK</emphasis> UEFI, en moderne erstatning for BIOS

en: <primary>Secure Boot</primary>
nb-NO: <primary>Sikker oppstart</primary>

en: BIOS (which stands for Basic Input/Output System) is a software that is included in the motherboard - the electronic board connecting all peripherals - and executed when the computer is booted, in order to load an operating system (via an adapted bootloader). It stays in the background to provide an interface between the hardware and the software (in our case, the Linux kernel).
nb-NO: BIOS (som står for Basic Input/Output System) (~ grunnleggende inn-/utdata system) er programvare som finnes i fastvaren på hovedkortet — det elektriske kretskortet som kobler sammen alle tilleggskort — og kjøres når maskinen startes, for å laste inn et operativsystem (via en oppstartslaster). Det kjører i bakgrunnen for å tilby et grensesnitt mellom maskinvaren i programvaren (i vårt tilfelle er dette Linux-kjernen).

en: Nowadays, most new computers will boot in UEFI mode by default, but usually they also support BIOS booting alongside for backwards compatibility with operating systems that are not ready to exploit UEFI. This is called the <emphasis>Compatibility Support Mode/Module</emphasis> (CSM). But, several manufacturers have either announced to cease support for the legacy BIOS mode in their UEFI implementation, or they already did. This transition, however, has not been without discussion nor without criticism.
nb-NO: Nå starter de fleste datamaskiner i UEFI-modus som forvalg, men vanligvis støtter de også BIOS-oppstart sammen med bakoverkompabilitet med operativsystemer som ikke er klare til å gjøre bruk av UEFI. Dette heter <emphasis>kompabilitetsstøttemodus/modul</emphasis> (CSM). Dog har flere produsenter annonsert at de vil slutte å støtte gammeldags BIOS-modus i sin UEFI-implementasjon, eller så har de allerede gjort det. Overgangen har dog ikke gått knirkefritt eller funnet sted uten kritikk.

en: The BIOS/UEFI is also in charge of detecting and initializing a number of devices. Obviously, this includes the IDE/SATA devices (usually hard disk(s) and CD/DVD-ROM drives), but also PCI devices. Detected devices are often listed on screen during the boot process. If this list goes by too fast, use the <keycap>Pause</keycap> key to freeze it for long enough to read. Installed PCI devices that don't appear are a bad omen. At worst, the device is faulty. At best, it is merely incompatible with the current version of the BIOS or main board. PCI specifications evolve, and old main boards are not guaranteed to handle newer PCI devices.
nb-NO: BIOS/ EFI er også ansvarlig for å oppdage og initialisere en rekke enheter. Selvfølgelig omfatter dette IDE/SATA-enheter (vanligvis harddisken(e) og CD/DVD-ROM-stasjoner), men også PCI-enheter. Oppdagede enheter blir ofte oppført på skjermen under oppstartsprosessen. Hvis denne listen går for fort, kan du bruke <keycap>Pause</keycap>-nøkkelen til å fryse den lenge nok til å få den lest. Installerte PCI-enheter som ikke vises er et dårlig tegn. I verste fall er enheten defekt. I beste fall er den bare inkompatibel med den gjeldende versjonen av BIOS eller hovedkortet. PCI-spesifikasjoner utvikler seg, og gamle hovedkort er ikke garantert for å håndtere nyere PCI-enheter.

en: The Kernel
nb-NO: Kjernen

en: <primary>kernel</primary>
nb-NO: <primary>kjerne</primary>

en: Both the BIOS/UEFI and the bootloader only run for a few seconds each; now we are getting to the first piece of software that runs for a longer time, the operating system kernel. This kernel assumes the role of a conductor in an orchestra, and ensures coordination between hardware and software. This role involves several tasks including: driving hardware, managing processes, users and permissions, the filesystem, and so on. The kernel provides a common base to all other programs on the system.
nb-NO: Både BIOS/UEFI og oppstartslasteren kjører bare noen få sekunder hver. Nå kommer vi til en programvaredel som kjører i lengre tid, operativsystemkjernen. Denne kjernen tar rollen som en dirigent i et orkester, og sikrer koordinering mellom maskinvare og programvare. Denne rollen innebærer flere oppgaver inkludert: Å kjøre maskinvare, administrere prosesser, brukere og tillatelser, filsystemet, og så videre. Kjernen gir en felles basis for alle andre programmer på systemet.

en: The User Space
nb-NO: Brukerlandet

en: Although everything that happens outside of the kernel can be lumped together under “user space”, we can still separate it into software layers. However, their interactions are more complex than before, and the classifications may not be as simple. An application commonly uses libraries, which in turn involve the kernel, but the communications can also involve other programs, or even many libraries calling each other.
nb-NO: Selv om alt som skjer utenfor kjernen kan bli slått sammen som «brukerlandet», kan vi likevel skille det inn i lag med programvare. Men samhandlingene deres er mer komplekse enn før, og klassifiseringene behøver ikke å være så enkle. Et program bruker ofte biblioteker, som i sin tur berører kjernen, men kommunikasjonen kan også involvere andre programmer, eller til og med mange biblioteker som kontakter hverandre.

en: Some Tasks Handled by the Kernel
nb-NO: Noen oppgaver som håndteres av kjernen

en: Driving the Hardware
nb-NO: Å drifte maskinvaren

en: The kernel is, first and foremost, tasked with controlling the hardware parts, detecting them, switching them on when the computer is powered on, and so on. It also makes them available to higher-level software with a simplified programming interface, so applications can take advantage of devices without having to worry about details such as which extension slot the option board is plugged into. The programming interface also provides an abstraction layer; this allows video-conferencing software, for example, to use a webcam independently of its make and model. The software can just use the <emphasis>Video for Linux</emphasis> (V4L) interface, and the kernel translates the function calls of this interface into the actual hardware commands needed by the specific webcam in use.
nb-NO: Kjernen har først og fremst som oppgave å kontrollere maskindelene, oppdage dem, slå dem på når datamaskinen blir slått på, og så videre. Det gjør dem også tilgjengelige for programvare på et høyere nivå med et forenklet programmeringsgrensesnitt, slik at programmene kan dra nytte av enheter uten å måtte bekymre seg om detaljer, slik som hvilken kortplass det valgte kortet er satt inn i. Programgrensesnittet gir også et abstraksjonslag; det tillater for eksempel at programvare for videokonferanser kan bruke et webkamera uavhengig av merke og modell. Programvaren kan bare bruke grensesnittet <emphasis>Video for Linux</emphasis> (V4L), og kjernen oversetter funksjonskallene i dette grensesnittet til de aktuelle maskinvarekommandoene som trengs når webkameraet brukes.

en: The kernel exports many details about detected hardware through the <filename>/proc/</filename> and <filename>/sys/</filename> virtual filesystems. Several tools summarize those details. Among them, <command>lspci</command> (in the <emphasis role="pkg">pciutils</emphasis> package) lists PCI devices, <command>lsusb</command> (in the <emphasis role="pkg">usbutils</emphasis> package) lists USB devices, and <command>lspcmcia</command> (in the <emphasis role="pkg">pcmciautils</emphasis> package) lists PCMCIA cards. These tools are very useful for identifying the exact model of a device. This identification also allows more precise searches on the web, which in turn, lead to more relevant documents.
nb-NO: Kjernen eksporterer mange detaljer om programvare den finner gjennom de virtuelle filsysemene <filename>/proc/</filename> og <filename>/sys/</filename>. Flere verktøy oppsummerer disse detaljene. Blant dem,<command>lspci</command> (i <emphasis role="pkg">pciutils</emphasis> -pakken) lister PCI-enheter, <command>lsusb</command> (i <emphasis role="pkg">usbutils</emphasis>-pakke) lister USB-enheter, og <command>lspcmcia</command> (i <emphasis role="pkg">pcmciautils</emphasis>-pakken) lister PCMCIA-kort. Disse verktøyene er meget nyttige til å identifisere den eksakte modellen for enheten. Denne identifikasjonen gir også mer presise søk på nettet, noe som i sin tur fører til mer relevant dokumentasjon.

en: Example of information provided by <command>lspci</command> and <command>lsusb</command>
nb-NO: Eksempel på informasjon fra <command>lspci</command> og <command>lsusb</command>

en: These programs have a <literal>-v</literal> option that lists much more detailed (but usually not necessary) information. Finally, the <command>lsdev</command> command (in the <emphasis role="pkg">procinfo</emphasis> package) lists communication resources used by devices.
nb-NO: Disse programmene har et <literal>-v</literal>-valg som lister mye mer detaljert (men vanligvis ikke nødvendig) informasjon. Til slutt¸ <command>lsdev</command>-kommandoen (i <emphasis role="pkg">procinfo</emphasis>-pakken) lister kommunikasjonsressurser som enhetene bruker.

en: <primary>device</primary><secondary>files</secondary>
nb-NO: <primary>enhet</primary><secondary>filer</secondary>

en: <primary>device</primary><secondary>block</secondary>
nb-NO: <primary>enhet</primary><secondary>blokk</secondary>

en: Applications often access devices by way of special files created within <filename>/dev/</filename> (see sidebar <xref linkend="sidebar.special-files" />). These are special files that represent disk drives (for instance, <filename>/dev/hda</filename> and <filename>/dev/sdc</filename>), partitions (<filename>/dev/hda1</filename> or <filename>/dev/sdc3</filename>), mice (<filename>/dev/input/mouse0</filename>), keyboards (<filename>/dev/input/event0</filename>), soundcards (<filename>/dev/snd/*</filename>), serial ports (<filename>/dev/ttyS*</filename>), and so on.
nb-NO: Programmer kobler seg ofte til enheter ved hjelp av spesielle filer som er opprettet innenfor <filename>/dev/</filename> (se sidestolpe <xref linkend="sidebar.special-files" />). Dette er spesielle filer som representerer platelager (for eksempel, <filename>/dev/hda</filename> og <filename>/dev/sdc</filename>), partisjoner (<filename>/dev/hda1</filename> eller <filename>/dev/sdc3</filename>), mus (<filename>/dev/input/mouse0</filename>), tastatur (<filename>/dev/input/event0</filename>), lydkort (<filename>/dev/snd/*</filename>), serieporter (<filename>/dev/ttyS*</filename>), og så videre.

en: Filesystems
nb-NO: Filsystemer

en: <primary>filesystem</primary>
nb-NO: <primary>filsystem</primary>

en: <primary>system</primary><secondary>filesystem</secondary>
nb-NO: <primary>system</primary><secondary>filsystem</secondary>

en: Filesystems are one of the most prominent aspects of the kernel. Unix systems merge all the file stores into a single hierarchy, which allows users (and applications) to access data simply by knowing its location within that hierarchy.
nb-NO: Filsystemer er en av kjernens mest fremtredende aspekter. Unix-systemer fletter alle fillagre inn i et enkelt hierarki, som gir brukere (og programmer) tilgang til data ved å kjenne til plasseringen i det hierarkiet.

en: The starting point of this hierarchical tree is called the root, <filename>/</filename>. This directory can contain named subdirectories. For instance, the <literal>home</literal> subdirectory of <filename>/</filename> is called <filename>/home/</filename>. This subdirectory can, in turn, contain other subdirectories, and so on. Each directory can also contain files, where the actual data will be stored. Thus, the <filename>/home/rmas/Desktop/hello.txt</filename> name refers to a file named <literal>hello.txt</literal> stored in the <literal>Desktop</literal> subdirectory of the <literal>rmas</literal> subdirectory of the <literal>home</literal> directory present in the root. The kernel translates between this naming system and the actual, physical storage on a disk.
nb-NO: Startpunktet til dette hierarkiske treet kalles roten, <filename>/</filename>. Denne katalogen kan inneholde navngitte underkataloger. For eksempel, <literal>home</literal>-underkatalog i <filename>/</filename> kalles <filename>/home/</filename>. Denne underkatalogen kan i sin tur inneholde andre underkataloger, og så videre. Hver katalog kan også inneholde filer, hvor de faktiske dataene blir lagret. Dermed refererer <filename>/home/rmas/Desktop/hello.txt</filename>-navnet til en fil med navnet <literal>hello.txt</literal> lagret i <literal>Desktop</literal>-underkatalog i <literal>rmas</literal>-underkatalogen i <literal>home</literal>-katalogen i roten. Kjernen oversetter mellom dette navnesystemet og den faktiske, fysiske lagring på en disk.

en: Unlike other systems, there is only one such hierarchy, and it can integrate data from several disks. One of these disks is used as the root, and the others are “mounted” on directories in the hierarchy (the Unix command is called <command>mount</command>); these other disks are then available under these “mount points”. This allows storing users' home directories (traditionally stored within <filename>/home/</filename>) on a second hard disk, which will contain the <literal>rhertzog</literal> and <literal>rmas</literal> directories. Once the disk is mounted on <filename>/home/</filename>, these directories become accessible at their usual locations, and paths such as <filename>/home/rmas/Desktop/hello.txt</filename> keep working.
nb-NO: I motsetning til andre systemer, er det bare ett slikt hierarki, og det kan integrere data fra flere disker. En av disse diskene anvendes som referanse, og de andre er «montert» på kataloger i hierarkiet (Unix-kommandoen er kalt <command>mount</command>); disse andre diskene er deretter tilgjengelige under disse «monteringspunktene». Dette tillater lagring av brukernes hjemmeområder (tradisjonelt lagret i <filename>/home/</filename>) på en annen harddisk, som da vil inneholde <literal>rhertzog</literal> og <literal>rmas</literal>-katalogene. Så snart disken er montert på <filename>/home/</filename>, blir disse katalogene tilgjengelige på sine vanlige steder, og stier som <filename>/home/rmas/Desktop/hello.txt</filename> fortsetter å virke.

en: There are many filesystem formats, corresponding to many ways of physically storing data on disks. The most widely known are <emphasis>ext3</emphasis> and <emphasis>ext4</emphasis>, but others exist. For instance, <emphasis>vfat</emphasis> is the system that was historically used by DOS and Windows operating systems, which allows using hard disks under Debian as well as under Windows. In any case, a filesystem must be prepared on a disk before it can be mounted and this operation is known as “formatting”. Commands such as <command>mkfs.ext3</command> (where <command>mkfs</command> stands for <emphasis>MaKe FileSystem</emphasis>) handle formatting. These commands require, as a parameter, a device file representing the partition to be formatted (for instance, <filename>/dev/sda1</filename>). This operation is destructive and should only be run once, except if one deliberately wishes to wipe a filesystem and start afresh.
nb-NO: Det er mange filsystemformater, og tilsvarende mange måter å lagre data fysisk på disker. De mest kjente er <emphasis>ext3</emphasis> og <emphasis>ext4</emphasis>, men også andre finnes. For eksempel er <emphasis>vfat</emphasis> det systemet som historisk ble brukt av DOS og Windows-operativsystemer, som gjør det mulig å bruke harddisker under Debian så vel som under Windows. I alle fall må et filsystem være forberedt på en disk før den kan monteres, og denne operasjonen er kjent som «formatering». Kommandoer som <command>mkfs.ext3</command> (der <command>mkfs</command> står for <emphasis>MaKe FileSystem</emphasis>) tar seg av formatteringen. Disse kommandoer krever, som et parameter, en enhetsfil som representerer den partisjonen som skal formateres (f.eks. <filename>/dev/sda1</filename>). Denne operasjonen er destruktiv, og bør bare kjøres en gang, bortsett fra hvis man bevisst ønsker å stryke ut et filsystem og starte på nytt.

en: There are also network filesystems, such as <acronym>NFS</acronym>, where data is not stored on a local disk. Instead, data is transmitted through the network to a server that stores and retrieves them on demand. The filesystem abstraction shields users from having to care: files remain accessible in their usual hierarchical way.
nb-NO: Det finnes også nettverksfilsystem, slik som <acronym>NFS</acronym>, der data ikke er lagret på en lokal disk. I stedet overføres data via nettverket til en tjener som lagrer og henter dem ved behov. Filsystemabstraksjonen gjør at brukeren ikke trenger bry seg om dette: filene forblir tilgjengelig som vanlig i hierarkiet.

en: Shared Functions
nb-NO: Delte funksjoner

en: Since a number of the same functions are used by all software, it makes sense to centralize them in the kernel. For instance, shared filesystem handling allows any application to simply open a file by name, without needing to worry where the file is stored physically. The file can be stored in several different slices on a hard disk, or split across several hard disks, or even stored on a remote file server. Shared communication functions are used by applications to exchange data independently of the way the data is transported. For instance, transport could be over any combination of local or wireless networks, or over a telephone landline.
nb-NO: Siden en rekke av de samme funksjonene brukes av all programvare, er det fornuftig å sentralisere dem i kjernen. For eksempel tillater et delt filsystem at et hvilket som helst program bare kan åpne en fil etter navn, uten å trenger å bekymre seg om hvor filen er lagret fysisk. Filen kan lagres i flere forskjellige disker på en harddisk, eller delt over flere harddisker, eller til og med lagret på en ekstern filtjener. Delte kommunikasjonsfunksjoner blir brukt av programmer til å utveksle data uavhengig av måten dataene transporteres. For eksempel kan transport være over hvilken som helst kombinasjon av lokale eller trådløse nettverk, eller over en fasttelefon.

en: A process is a running instance of a program. This requires memory to store both the program itself and its operating data. The kernel is in charge of creating and tracking them. When a program runs, the kernel first sets aside some memory, then loads the executable code from the filesystem into it, and then starts the code running. It keeps information about this process, the most visible of which is an identification number known as <emphasis>pid</emphasis> (<emphasis>process identifier</emphasis>).
nb-NO: En prosess er en kjørende forekomst av et program. Dette krever minne til å lagre både selve programmet og dets driftsdata. Kjernen er ansvarlig for å opprette og spore dem. Når et program kjøres, setter kjernen først av litt minne, deretter laster den kjørbar kode fra filsystemet inn i det, og starter så å kjøre koden. Den tar vare på informasjon om denne prosessen, i hvilken det mest synlige er et identifikasjonsnummer som kalles <emphasis>pid</emphasis> (<emphasis>process identifier</emphasis>).

en: Unix-like kernels (including Linux), like most other modern operating systems, are capable of “multi-tasking”. In other words, they allow running many processes “at the same time”. There is actually only one running process at any one time, but the kernel cuts time into small slices and runs each process in turn. Since these time slices are very short (in the millisecond range), they create the illusion of processes running in parallel, although they are actually only active during some time intervals and idle the rest of the time. The kernel's job is to adjust its scheduling mechanisms to keep that illusion, while maximizing the global system performance. If the time slices are too long, the application may not appear as responsive as desired. Too short, and the system loses time switching tasks too frequently. These decisions can be tweaked with process priorities. High-priority processes will run for longer and with more frequent time slices than low-priority processes.
nb-NO: Unix-lignende kjerner (inkludert Linux), som de fleste andre moderne operativsystemer, er i stand til «fleroppgavekjøring». Med andre ord, de kan kjøre mange prosesser «samtidig». Det er faktisk bare en kjørende prosess til enhver tid, men kjernen forkorter tiden i små deler, og kjører hver prosess etter tur. Siden disse tidssnittene er meget korte (i millisekund-området), skaper de en illusjon av prosesser som kjører i parallell, selv om de faktisk bare er aktive i noen tidsintervall, og i tomgang resten av tiden. Kjernens jobb er å justere sine planleggingsmekanismer for å holde på denne illusjonen, og samtidig maksimere den globale systemytelsen. Dersom tidsintervallene er for lange, kan programmet ikke fremstå som så responsivt som ønskelig. For kort, og systemet mister tid på grunn av hyppig veksling mellom oppgaver. Disse beslutningene kan bli forskjøvet med prosessprioriteringer. Høyt prioriterte prosesser vil kjøre lenger, og med mer hyppige tidsintervaller enn lavt prioriterte prosesser.

en: <emphasis>NOTE</emphasis> Multi-processor systems (and variants)
nb-NO: <emphasis>MERK</emphasis> Flerprosessorsystemer (og varianter)

en: The limitation described above of only one process being able to run at a time, doesn't always apply. The actual restriction is that there can only be one running process <emphasis>per processor core</emphasis> at a time. Multi-processor, multi-core or “hyper-threaded” systems allow several processes to run in parallel. The same time-slicing system is still used, though, so as to handle cases where there are more active processes than available processor cores. This is far from unusual: a basic system, even a mostly idle one, almost always has tens of running processes.
nb-NO: Begrensningen beskrevet ovenfor, at bare én prosess kan kjøre på ett tidspunkt, gjelder ikke alltid. Selve begrensningen er at det bare kan være en kjørende prosess <emphasis>per prosessorkjerne</emphasis> om gangen. Multiprosessor, multikjerne eller «hypertrådede» systemer tillater at flere prosesser kjører parallelt. Systemet med fleroppgavekjøring er fortsatt i bruk, slik som å håndtere tilfeller der det er flere aktive prosesser enn tilgjengelige prosessorkjerner. Dette er langt fra uvanlig. Et grunnleggende system, selv et stort sett inaktivt et, har nesten alltid et titalls prosesser som kjører.

en: Of course, the kernel allows running several independent instances of the same program. But each can only access its own time slices and memory. Their data thus remain independent.
nb-NO: Selvfølgelig tillater kjernen å kjøre flere uavhengige instanser av det samme programmet. Men hver kan bare få tilgang til sine egne tidsperioder og sitt eget minne. Deres data forblir dermed uavhengig.

en: Rights Management
nb-NO: Rettighetshåndtering

en: <primary>permissions</primary>
nb-NO: <primary>rettigheter</primary>

en: Unix-like systems are also multi-user. They provide a rights management system that supports separate users and groups; it also allows control over actions based on permissions. The kernel manages data for each process, allowing it to control permissions. Most of the time, a process is identified by the user who started it. That process is only permitted to take those actions available to its owner. For instance, trying to open a file requires the kernel to check the process identity against access permissions (for more details on this particular example, see <xref linkend="sect.rights-management" />).
nb-NO: Unix-lignende systemer er også flerbrukere. De gir et rettighetsforvaltningssystem som støtter egne brukere og grupper; det gir også kontroll over handlinger basert på tillatelser. Kjernen forvalter data for hver prosess, som tillater å kontrollere tillatelser. Mesteparten av tiden er en prosess identifisert med brukeren som startet den. Den prosessen er kun tillatt å gjøre det som er tilgjengelig for brukeren. For eksempel for å prøve å åpne en fil kreves det at kjernen kontrollerer prosessens identitet mot adgangstillatelser (for mer informasjon om dette eksempelet, se <xref linkend="sect.rights-management" />).

en: <primary>kernel space</primary>
nb-NO: <primary>kjerneland</primary>

en: “User space” refers to the runtime environment of normal (as opposed to kernel) processes. This does not necessarily mean these processes are actually started by users because a standard system normally has several “daemon” (or background) processes running before the user even opens a session. Daemon processes are also considered user-space processes.
nb-NO: «Brukerlandet» refererer til kjøretidsmiljøets normale (i motsetning til kjerne)prosesser. Dette betyr ikke nødvendigvis at disse prosessene faktisk er startet av brukere fordi et standardsystem normalt har flere prosesser (eller bakgrunnsprosesser) som kjører før brukeren selv åpner en økt. Bakgrunnsprosesser regnes også som brukerlandsprosesser.

en: When the kernel gets past its initialization phase, it starts the very first process, <command>init</command>. Process #1 alone is very rarely useful by itself, and Unix-like systems run with many additional processes.
nb-NO: Når kjernen passerer sin oppstartperiode, så starter den opp den aller første prosessen, <command>init</command>. Prosess #1 er svært sjelden nyttig på egen hånd, og Unix-lignende systemer kjører med mange prosesser i tillegg.

en: <primary><emphasis>fork</emphasis></primary>
nb-NO: <primary><emphasis>forgrening</emphasis></primary>

en: First of all, a process can clone itself (this is known as a <emphasis>fork</emphasis>). The kernel allocates a new (but identical) process memory space, and another process to use it. At this time, the only difference between these two processes is their <emphasis>pid</emphasis>. The new process is usually called a child process, and the original process whose <emphasis>pid</emphasis> doesn't change, is called the parent process.
nb-NO: Først av alt kan en prosess klone seg selv (dette er kjent som en <emphasis>forgrening/fork</emphasis>). Kjernen tildeler et nytt (men identisk) prosessminne, og en annen prosess for å bruke det. På denne tiden er den eneste forskjellen mellom disse to prosessene deres <emphasis>pid</emphasis>. Den nye prosessen kalles vanligvis en barneprosess, og den opprinnelige prosessen, hvis <emphasis>pid</emphasis> ikke forandres, kalles foreldreprosessen.

en: Sometimes, the child process continues to lead its own life independently from its parent, with its own data copied from the parent process. In many cases, though, this child process executes another program. With a few exceptions, its memory is simply replaced by that of the new program, and execution of this new program begins. This is the mechanism used by the init process (with process number 1) to start additional services and execute the whole startup sequence. At some point, one process among <command>init</command>'s offspring starts a graphical interface for users to log in to (the actual sequence of events is described in more details in <xref linkend="sect.system-boot" />).
nb-NO: Noen ganger fortsetter barneprosessen å leve sitt eget liv uavhengig av foreldreprosessen, med sine egne data kopiert fra den overordnede prosessen. I mange tilfeller kjører denne barneprosessen et annet program. Med noen få unntak, er minnet dens bare erstattet av det nye programmet, og gjennomføringen av dette nye programmet starter. Dette er mekanismen som brukes av init-prosessen (med prosess nummer 1) for å starte tilleggstjenester og gjennomføre hele oppstartssekvensen. På et tidspunkt starter en prosess blant <command>init</command>s avkom et grafisk grensesnitt som brukerne kan logge seg på (det faktiske hendelsesforløpet er beskrevet mer i detalj i <xref linkend="sect.system-boot" />).

en: <primary>shell</primary>
nb-NO: <primary>skall</primary>

en: <primary><literal>&amp;</literal></primary><see>background task</see>
nb-NO: <primary><literal>&amp;</literal></primary><see>bakgrunnsoppgave</see>

en: When a process finishes the task for which it was started, it terminates. The kernel then recovers the memory assigned to this process, and stops giving it slices of running time. The parent process is told about its child process being terminated, which allows a process to wait for the completion of a task it delegated to a child process. This behavior is plainly visible in command-line interpreters (known as <emphasis>shells</emphasis>). When a command is typed into a shell, the prompt only comes back when the execution of the command is over. Most shells allow for running the command in the background, it is a simple matter of adding an <userinput>&amp;</userinput> to the end of the command. The prompt is displayed again right away, which can lead to problems if the command needs to display data of its own.
nb-NO: Når en prosessen har fullført oppgaven den ble startet for å utføre, så avslutter den. Kjernen tar deretter tilbake minnet som er tilordnet denne prosessen, og slutter å dele ut tidsressurser den kan bruke til å kjøre. Foreldreprosessen blir fortalt at barneprosessen er avsluttet, noe som tillater en prosess å vente på fullføringen av en oppgave den delegerte til en barneprosess. Denne oppførselen vises tydelig i kommandolinjetolker (kjent som <emphasis>skall</emphasis>). Når en kommando er skrevet inn i et skall, kommer ledeteksten først tilbake når kommandoen er ferdig utført. De fleste skall lar en kjøre en kommando i bakgrunnen, som er bare å legge til <userinput>&amp;</userinput> på slutten av kommandoen. Ledeteksten vises igjen med en gang, noe som kan føre til problemer hvis kommandoen må skrive ut sitt eget resultat.

en: Daemons
nb-NO: Bakgrunnsprosesser

en: <primary>daemon</primary><seealso>background task</seealso>
nb-NO: <primary>bakgrunnsprosess</primary><seealso>bakgrunnsoppgave</seealso>

en: A “daemon” is a process started automatically by the boot sequence. It keeps running (in the background) to perform maintenance tasks or provide services to other processes. This “background task” is actually arbitrary, and does not match anything particular from the system's point of view. They are simply processes, quite similar to other processes, which run in turn when their time slice comes. The distinction is only in the human language: a process that runs with no interaction with a user (in particular, without any graphical interface) is said to be running “in the background” or “as a daemon”.
nb-NO: En «bakgrunnsprosess» er en prosess som startet automatisk ved oppstartssekvensen. Den fortsetter å kjøre (i bakgrunnen) for å utføre vedlikeholdsoppgaver, eller yte tjenester til andre prosesser. Denne «bakgrunnsoppgaven» er faktisk tilfeldig, og samsvarer ikke med noe bestemt fra systemets synspunkt. De er bare prosesser, ganske lik andre prosesser, som går igjen når deres tidskvote kommer. Forskjellen er bare i menneskelig språk: En prosess som går uten interaksjon med brukeren (særlig uten grafisk grensesnitt) sies å være kjørt «i bakgrunnen», eller «som en bakgrunnsprosess».

en: <emphasis>VOCABULARY</emphasis> Daemon, demon, a derogatory term?
nb-NO: <emphasis>ORDFORRÅD</emphasis> Bakgrunnsprosess, demon, en nedsettende betegnelse?

en: Although <emphasis>daemon</emphasis> term shares its Greek etymology with <emphasis>demon</emphasis>, the former does not imply diabolical evil, instead, it should be understood as a kind of helper spirit. This distinction is subtle enough in English; it is even worse in other languages where the same word is used for both meanings.
nb-NO: Selv om begrepet <emphasis>bakgrunnsprosess (daemon)</emphasis> deler sin greske etymologi med <emphasis>demon</emphasis>, innebærer førstnevnte ikke noe diabolsk onde, i stedet skal den forstås som en slags hjelpende ånd. Dette skillet er subtilt nok i engelsk, men det er til og med verre i andre språk der samme ordet er brukt for begge betydninger.

en: Several such daemons are described in detail in <xref linkend="unix-services" />.
nb-NO: Forskjellige slike bakgrunnsprosesser er beskrevet i detalj i <xref linkend="unix-services" />.

en: Inter-Process Communications
nb-NO: Kommunikasjon mellom prosesser

en: An isolated process, whether a daemon or an interactive application, is rarely useful on its own, which is why there are several methods allowing separate processes to communicate together, either to exchange data or to control one another. The generic term referring to this is <emphasis>inter-process communication</emphasis>, or IPC for short.
nb-NO: En isolert prosess, enten en bakgrunnsprosess eller et interaktivt program, er sjelden nyttig i seg selv, noe som er grunnen til at det er flere metoder som lar separate prosesser kommunisere sammen, enten for å utveksle data, eller for å kontrollere hverandre. Det generiske begrepet for dette er <emphasis>inter-process communication</emphasis>, eller i kortform IPC.

en: The simplest IPC system is to use files. The process that wishes to send data writes it into a file (with a name known in advance), while the recipient only has to open the file and read its contents.
nb-NO: Det enkleste IPC-systemet er å bruke filer. Prosessen som ønsker å sende data, skriver den inn i en fil (med et navn kjent på forhånd), mens mottakeren bare har å åpne filen, og lese innholdet.

en: <primary><emphasis>pipe</emphasis></primary>
nb-NO: <primary><emphasis>kanal</emphasis></primary>

en: In the case where you do not wish to store data on disk, you can use a <emphasis>pipe</emphasis>, which is simply an object with two ends; bytes written in one end are readable at the other. If the ends are controlled by separate processes, this leads to a simple and convenient inter-process communication channel. Pipes can be classified into two categories: named pipes, and anonymous pipes. A named pipe is represented by an entry on the filesystem (although the transmitted data is not stored there), so both processes can open it independently if the location of the named pipe is known beforehand. In cases where the communicating processes are related (for instance, a parent and its child process), the parent process can also create an anonymous pipe before forking, and the child inherits it. Both processes will then be able to exchange data through the pipe without needing the filesystem.
nb-NO: I tilfeller der du ikke ønsker å lagre data på disken, kan du bruke en <emphasis>kanal</emphasis> som rett og slett er et objekt med to ender; byte skrevet i den ene enden er lesbar i den andre. Dersom endene er styrt med separate prosesser, fører dette til en enkel og praktisk kommunikasjon mellom prosesser. Kanaler kan deles inn i to kategorier: Navngitte kanaler, og anonyme kanaler. En navngitt kanal er representert ved en oppføring i filsystemet (selv om de overførte data ikke er lagret der), slik at begge prosessene kan åpne det uavhengig om plasseringen av den navngitte kanalen er kjent på forhånd. I tilfeller hvor de kommuniserende prosessene er relatert (for eksempel en foreldre- og dens barneprosess), den overordnede prosessen kan også opprette en anonym kanal før forgreninger, og barnet arver det. Begge prosesser vil da være i stand til å utveksle data gjennom kanalen uten filsystemet.

en: <emphasis>IN PRACTICE</emphasis> A concrete example
nb-NO: <emphasis>I PRAKSIS</emphasis> Et konkret eksempel

en: Let's describe in some detail what happens when a complex command (a <emphasis>pipeline</emphasis>) is run from a shell. We assume we have a <command>bash</command> process (the standard user shell on Debian), with <emphasis>pid</emphasis> 4374; into this shell, we type the command: <command>ls | sort</command> .
nb-NO: La oss beskrive i detalj hva som skjer når en kompleks kommando (en <emphasis>pipeline (kanal)</emphasis>) kjøres fra et skall. Vi antar vi har en <command>bash</command>-prosess (standard brukerskallet på Debian), med <emphasis>pid</emphasis> 4374; I dette skallet skriver vi kommandoen:<command>ls | sort</command>.

en: The shell first interprets the command typed in. In our case, it understands there are two programs (<command>ls</command> and <command>sort</command>), with a data stream flowing from one to the other (denoted by the <userinput>|</userinput> character, known as <emphasis>pipe</emphasis>). <command>bash</command> first creates an unnamed pipe (which initially exists only within the <command>bash</command> process itself).
nb-NO: Skallet tolker første kommandoen skrevet inn. I vårt tilfelle forstår det at det er to programmer (<command>ls</command> og <command>sort</command>), med en datastrøm som flyter fra den ene til den andre (merket med <userinput>|</userinput>-tegnet, kjent som <emphasis>pipe</emphasis>). <command>bash</command> oppretter først en ikke navngitt kanal (som i utgangspunktet bare eksisterer i selve <command>bash</command>-prosessen).

en: Then the shell clones itself; this leads to a new <command>bash</command> process, with <emphasis>pid</emphasis> #4521 (<emphasis>pids</emphasis> are abstract numbers, and generally have no particular meaning). Process #4521 inherits the pipe, which means it is able to write in its “input” side; <command>bash</command> redirects its standard output stream to this pipe's input. Then it executes (and replaces itself with) the <command>ls</command> program, which lists the contents of the current directory. Since <command>ls</command> writes on its standard output, and this output has previously been redirected, the results are effectively sent into the pipe.
nb-NO: Deretter kloner skallet seg selv. Dette fører til en ny <command>bash</command>-prosess, med <emphasis>pid</emphasis> nummer 4521 (<emphasis>pid-er</emphasis> er abstrakte tall, og har generelt ikke noen bestemt mening). Prosess nummer 4521 arver kanalen/røret, noe som betyr at den er i stand til å skrive på sin «input»-side; <command>bash</command> omdirigeringer sin standard utgående strøm til dette rørets/kanalens inngang. Så utfører den (og erstatter seg med) <command>ls</command>-programmet, som viser innholdet i den gjeldende katalogen. Ettersom <command>ls</command> skriver til sine standard utdata, og denne produksjonen tidligere er omdirigert, blir resultatene effektivt sendt inn i kanalen/røret.

en: A similar operation happens for the second command: <command>bash</command> clones itself again, leading to a new <command>bash</command> process with pid #4522. Since it is also a child process of #4374, it also inherits the pipe; <command>bash</command> then connects its standard input to the pipe output, then executes (and replaces itself with) the <command>sort</command> command, which sorts its input and displays the results.
nb-NO: En lignende operasjon skjer for den andre kommandoen: <command>bash</command> kloner seg igjen, noe som fører til en ny <command>bash</command>-prosess med pid #4522. Siden den også er en barneprosess fra #4374, arver den også kanalen; <command>bash</command> kobler deretter sin standard inngang til kanalens utgang, deretter kjøres (og erstatter seg med) <command>sort</command>-kommandoen, som sorterer sine innspill, og viser resultatene.

en: All the pieces of the puzzle are now set up: <command>ls</command> reads the current directory and writes the list of files into the pipe; <command>sort</command> reads this list, sorts it alphabetically, and displays the results. Processes numbers #4521 and #4522 then terminate, and #4374 (which was waiting for them during the operation), resumes control and displays the prompt to allow the user to type in a new command.
nb-NO: Alle bitene i puslespillet er nå satt sammen: <command>ls</command> leser den gjeldende katalogen og skriver en liste over filer inn i kanalen; <command>sort</command> leser denne listen, sorterer den alfabetisk, og viser resultatene. Så avsluttes prosessnummer #4521 og #4522, og #4374 (som ventet på dem under operasjonen), gjenopptar kontrollen, og viser meldingen for å tillate brukeren å skrive inn en ny kommando.

en: Not all inter-process communications are used to move data around, though. In many situations, the only information that needs to be transmitted are control messages such as “pause execution” or “resume execution”. Unix (and Linux) provides a mechanism known as <emphasis>signals</emphasis>, through which a process can simply send a specific signal (chosen from a predefined list of signals) to another process. The only requirement is to know the <emphasis>pid</emphasis> of the target.
nb-NO: Ikke all inter-prosesskommunikasjon brukes til å flytte data rundt. I mange situasjoner er den eneste informasjonen som må overføres, kontrollmeldinger som «pause kjøring» eller «gjenoppta kjøring». Unix (og Linux) tilbyr en mekanisme som kalles <emphasis>signaler</emphasis>, som lar en prosess sende et bestemt signal (valgt fra en forhåndsdefinert liste av signaler) til en annen prosess. Det eneste kravet er å kjenne til mottakerens <emphasis>pid</emphasis>.

en: For more complex communications, there are also mechanisms allowing a process to open access, or share, part of its allocated memory to other processes. Memory now shared between them can be used to move data between the processes.
nb-NO: For mer komplekse kommunikasjoner er det også mekanismer som tillater at en prosess åpner tilgang, eller deler, en del av sitt tildelte minne til andre prosesser. Minnet, som nå er delt mellom dem, kan brukes til å flytte data mellom prosessene.

en: Finally, network connections can also help processes communicate; these processes can even be running on different computers, possibly thousands of kilometers apart.
nb-NO: Endelig, nettverkstilkoblinger kan også hjelpe prosesser å kommunisere; disse prosessene kan også kjøres på forskjellige datamaskiner, muligens tusenvis av kilometer fra hverandre.

en: It is quite standard for a typical Unix-like system to make use of all these mechanisms to various degrees.
nb-NO: Det er ganske standard for et typisk Unix-lignende system i ulik grad å gjøre bruk av alle disse mekanismene.

en: Libraries
nb-NO: Biblioteker

en: <primary>library (of functions)</primary>
nb-NO: <primary>bibliotek (funksjoner))</primary>

en: Function libraries play a crucial role in a Unix-like operating system. They are not proper programs, since they cannot be executed on their own, but collections of code fragments that can be used by standard programs. Among the common libraries, you can find:
nb-NO: Funksjonsbibliotekene spiller en avgjørende rolle i et Unix-lignende operativsystem. De er ikke egentlig programmer, da de ikke kan kjøres på egen hånd, men er samlinger av kodefragmenter som kan brukes av standardprogrammer. Blant de vanligste biblioteker, kan du finne:

en: the standard C library (<emphasis>glibc</emphasis>), which contains basic functions such as ones to open files or network connections, and others facilitating interactions with the kernel;
nb-NO: standard C biblioteket (<emphasis>glibc</emphasis>), som inneholder grunnleggende funksjoner som det å åpne filer eller nettverkstilkoblinger - og andre som legger til rette for interaksjoner med kjernen;

en: graphical toolkits, such as Gtk+ and Qt, allowing many programs to reuse the graphical objects they provide;
nb-NO: grafiske verktøysett, for eksempel Gtk+ og Qt, som tillater at mange programmer gjenbruker de grafiske objektene de leverer;

en: the <emphasis>libpng</emphasis> library, which allows loading, interpreting and saving images in the PNG format.
nb-NO: <emphasis>libpng</emphasis>-biblioteket som tillater lasting, tolking og lagring av bilder i PNG-format.

en: Thanks to those libraries, applications can reuse existing code. Application development is simplified since many applications can reuse the same functions. With libraries often developed by different persons, the global development of the system is closer to Unix's historical philosophy.
nb-NO: Takket være disse bibliotekene kan programmer gjenbruke eksisterende kode. Programutvikling forenkles fordi mange programmer kan bruke de samme funksjonene. Med bibliotekene, ofte utviklet av forskjellige personer, så er den globale utviklingen av systemet nærmere Unixs historiske filosofi.

en: <emphasis>CULTURE</emphasis> The Unix Way: one thing at a time
nb-NO: <emphasis>KULTUR</emphasis> Unix-måten: En ting om gangen

en: One of the fundamental concepts that underlies the Unix family of operating systems is that each tool should only do one thing, and do it well; applications can then reuse these tools to build more advanced logic on top. This philosophy can be seen in many incarnations. Shell scripts may be the best example: they assemble complex sequences of very simple tools (such as <command>grep</command>, <command>wc</command>, <command>sort</command>, <command>uniq</command> and so on). Another implementation of this philosophy can be seen in code libraries: the <emphasis>libpng</emphasis> library allows reading and writing PNG images, with different options and in different ways, but it does only that; no question of including functions that display or edit images.
nb-NO: Et av de grunnleggende begreper som ligger til grunn for Unix-familiens operativsystemer, er at hvert verktøy bare skal gjøre en ting, og gjøre det bra; programmer kan deretter bruke disse verktøyene for å bygge en mer avansert logikk på toppen. Denne filosofien kan gjenfinnes i mange utgaver. Skall-skript kan være det beste eksemplet: De kan sette sammen komplekse sekvenser av svært enkle verktøy (for eksempel <command>grep</command>, <command>wc</command>, <command>sort</command>, <command>uniq</command>, og så videre). En annen implementering av denne filosofien sees i kodebiblioteker: <emphasis>libpng</emphasis>-biblioteket gjør det mulig å lese og skrive PNG-bilder, med ulike alternativer og på ulike måter, men det gjør bare det; ikke noe spørsmål om å inkludere funksjoner som viser eller redigerer bilder.

en: Moreover, these libraries are often referred to as “shared libraries”, since the kernel is able to only load them into memory once, even if several processes use the same library at the same time. This allows saving memory, when compared with the opposite (hypothetical) situation where the code for a library would be loaded as many times as there are processes using it.
nb-NO: Dessuten er disse bibliotekene ofte referert til som «felles biblioteker», ettersom kjernen bare er i stand til å laste dem inn i minnet én gang, selv om flere prosesser benytter samme bibliotek samtidig. Dette tillater å spare lagringsminne, sammenlignet med den motsatte (hypotetisk) situasjonen, hvor koden for et bibliotek ville være lastet like mange ganger som det er prosesser som benytter den.

en: <primary>shared library</primary>
nb-NO: <primary>delt bibliotek</primary>
