• Därför lever 50 år gamla Unix-idéer kvar i moderna Linux

    Linux är ett modernt operativsystem, men många av dess viktigaste idéer utvecklades redan under Unix-eran på 1960- och 1970-talen. Det hierarkiska filsystemet, processhanteringen, kommandopipelines och möjligheten att flytta systemet mellan olika datorarkitekturer är principer som fortfarande präglar dagens Linuxdistributioner. Att de lever kvar efter mer än 50 år beror framför allt på att de fortfarande är enkla, flexibla och användbara.

    Linux brukar beskrivas som ett modernt operativsystem. Det används i allt från mobiltelefoner och persondatorer till superdatorer, webbservrar och inbyggda system. Trots detta bygger Linux på flera grundidéer som utvecklades redan under Unix barndom på 1960- och 1970-talen.

    Många av idéerna var banbrytande när de introducerades. I dag är de så självklara att de flesta användare knappt tänker på dem. Här är några av de viktigaste Unix-principerna som fortfarande präglar moderna Linuxdistributioner.

    Filsystemet är uppbyggt som ett träd

    En av Unix viktigaste innovationer var det hierarkiska filsystemet. När forskarna bakom Unix beskrev systemet i artikeln The Unix Time-Sharing System år 1974 var idén om ett sammanhängande katalogträd fortfarande relativt ny.

    I Linux börjar hela filsystemet i rotkatalogen:

    Under rotkatalogen finns kataloger som exempelvis:

    Dessa kan i sin tur innehålla fler kataloger och filer. Strukturen kan jämföras med ett träd där rotkatalogen är stammen och underkatalogerna är grenar.

    Till skillnad från DOS och Windows använder Linux normalt inte enhetsbokstäver som C: eller D:. I stället monteras olika lagringsenheter på valfria platser i samma katalogträd.

    En extern hårddisk kan exempelvis monteras under:

    En nätverksresurs kan monteras under:

    För användaren ser resurserna då ut som vanliga kataloger, även om de i verkligheten finns på olika hårddiskar, USB-minnen, servrar eller optiska skivor.

    Detta gör Linux filsystem både flexibelt och enhetligt.

    Flera processer kan köras samtidigt

    Unix konstruerades från början som ett fleranvändar- och multitaskingsystem. Flera program kunde därför köras samtidigt, även när användarna arbetade via enkla textterminaler.

    I Linux kallas ett program som körs för en process. Operativsystemet kan hantera tusentals processer samtidigt och fördela processortid och minne mellan dem.

    I ett kommandoskal kan ett program startas i bakgrunden genom att lägga till tecknet &:

    Skalet återgår då direkt till kommandoprompten medan programmet fortsätter att köras.

    Om ett program redan körs i förgrunden kan det tillfälligt stoppas genom att trycka:

    Därefter kan processen fortsätta i bakgrunden med kommandot:

    Det går även att visa skalets aktuella jobb:

    Och återföra ett bakgrundsjobb till förgrunden:

    Denna typ av jobbkontroll utvecklades när textterminaler var vanligare än grafiska skrivbord. Funktionen är fortfarande användbar vid arbete via terminal, SSH eller på servrar utan grafiskt gränssnitt.

    Små program kan kopplas ihop med pipelines

    En av Unix mest inflytelserika idéer är att program ska vara små, göra en tydligt avgränsad uppgift och kunna kombineras med andra program.

    Detta möjliggörs genom standardiserade kanaler för inmatning och utmatning:

    • standard input, normalt tangentbordet
    • standard output, normalt terminalen
    • standard error, där felmeddelanden visas

    Utmatningen från ett kommando kan sparas i en fil:

    Kommandot ps aux visar systemets processer. Tecknet > skickar resultatet till filen allprocs.txt i stället för till skärmen.

    En fil kan även användas som inmatning:

    Ännu viktigare är pipeline-tecknet:

    Det skickar utmatningen från ett kommando direkt till nästa kommando.

    Ett enkelt exempel är:

    Här skapar ps aux en lista över alla processer. Resultatet skickas till grep, som endast visar de rader som innehåller ordet firefox.

    Ett mer lekfullt exempel är:

    Programmet fortune skriver ut ett kort citat eller meddelande. Resultatet skickas sedan till lolcat, som visar texten i olika färger.

    Pipeline-principen gör det möjligt att skapa avancerade arbetsflöden genom att kombinera enkla verktyg. I stället för att varje program måste innehålla alla funktioner kan användaren bygga en lösning av flera mindre delar.

    C gjorde Unix flyttbart mellan olika datorer

    Tidiga operativsystem skrevs ofta nästan helt i assembler. Assemblerkod arbetar nära datorns processor och kan vara mycket effektiv, men den är samtidigt starkt bunden till en viss processorarkitektur.

    Ett program skrivet för en viss processor kunde därför inte utan vidare köras på en annan.

    Unix skrevs till stor del om i programspråket C, som utvecklades av Dennis Ritchie vid Bell Labs. Detta var ett avgörande steg.

    C är ett kompilerat högnivåspråk. Samma källkod kan i många fall kompileras för flera olika processorer, förutsatt att det finns en lämplig kompilator och att de maskinberoende delarna anpassas.

    Det gjorde Unix betydligt lättare att flytta, eller porta, till nya datorsystem.

    Samma grundidé gäller för Linux. Linuxkärnan och stora delar av operativsystemets grundläggande verktyg är skrivna i C. Därför kan Linux köras på många arkitekturer, bland annat:

    • x86 och x86-64
    • ARM
    • RISC-V
    • PowerPC
    • MIPS
    • IBM:s stordatorarkitekturer

    Portabiliteten är en viktig förklaring till att Linux finns i så många typer av produkter, från små routrar till världens kraftfullaste superdatorer.

    Användarna hjälper varandra

    Unix utvecklades vid Bell Labs, som tillhörde det amerikanska telebolaget AT&T. På grund av dåtidens konkurrensregler hade företaget begränsade möjligheter att sälja Unix som en vanlig kommersiell produkt.

    I stället distribuerades Unix till universitet och forskningsinstitutioner mot relativt låga avgifter. I många fall fick mottagarna även tillgång till källkoden.

    Däremot följde inte alltid någon traditionell kundsupport med systemet. Användarna fick därför själva lösa problem, rätta fel och utveckla förbättringar.

    Det växte fram användargrupper där forskare, studenter och systemadministratörer utbytte program, dokumentation och tekniska lösningar. En viktig organisation blev USENIX, som senare utvecklades till en betydande konferensorganisation inom datavetenskap.

    Vid University of California, Berkeley utvecklades BSD, Berkeley Software Distribution. BSD blev en egen Unix-gren och kom att påverka många senare operativsystem.

    Samma kultur lever kvar runt Linux. Supporten kommer ofta från flera olika håll:

    • distributionsprojektens dokumentation
    • webbforum
    • e-postlistor
    • lokala Linuxanvändargrupper
    • IRC och chattkanaler
    • webbplatser som Stack Exchange
    • diskussionsforum och sociala medier

    Linuxvärlden bygger fortfarande i stor utsträckning på att användare delar kunskap och hjälper varandra.

    Unix började på en relativt liten dator

    Linuxanvändare framhåller ofta att systemet kan ge äldre datorer ett nytt liv. Lätta Linuxdistributioner kan användas på maskiner som inte längre klarar moderna versioner av Windows.

    Även detta har en historisk koppling till Unix.

    Bell Labs hade tidigare deltagit i utvecklingen av Multics, ett mycket ambitiöst operativsystem som skulle erbjuda datorkraft som en samhällstjänst. Användare skulle kunna ansluta till centrala datorresurser ungefär på samma sätt som människor ansluter sig till el- eller telefonnätet.

    Projektet blev dyrt och försenat, och Bell Labs drog sig ur samarbetet.

    Ken Thompson och Dennis Ritchie började därefter utveckla ett mindre och enklare system. De använde en PDP-7 från Digital Equipment Corporation, en dator som redan då hade begränsade resurser jämfört med de stora stordatorsystemen.

    Unix växte alltså fram ur tanken att skapa ett användbart system med mindre och enklare hårdvara.

    På ett liknande sätt kan Linux i dag användas för att återbruka äldre datorer. En maskin som inte längre fungerar bra med ett tungt operativsystem kan fortfarande användas som exempelvis:

    • enkel arbetsstation
    • webbserver
    • filserver
    • internetradio
    • informationsskärm
    • brandvägg eller router
    • retrospelsdator
    • terminal för fjärranslutning

    Det betyder inte att alla moderna Linuxdistributioner är resurssnåla. Fullständiga skrivbordsmiljöer kan kräva relativt mycket minne och processorkraft. Däremot ger Linux användaren stora möjligheter att välja ett lättare skrivbord eller helt avstå från ett grafiskt gränssnitt.

    Unixfilosofin lever vidare

    Linux är inte Unix, men det är ett Unix-liknande operativsystem. Många av dess viktigaste egenskaper kommer direkt eller indirekt från de idéer som utvecklades vid Bell Labs för mer än ett halvt sekel sedan.

    Det hierarkiska filsystemet skapar en sammanhängande struktur för filer och enheter. Processmodellen gör det möjligt att köra många program samtidigt. Pipelines låter små verktyg samarbeta. Programspråket C gjorde systemen lättare att flytta mellan olika datorarkitekturer. Användargemenskaperna skapade en tradition av kunskapsdelning och gemensam utveckling.

    Dessa idéer lever inte kvar enbart av nostalgiska skäl. De finns kvar eftersom de fortfarande fungerar.

    Linux visar därmed att teknisk utveckling inte alltid innebär att allt gammalt måste ersättas. Ibland bygger framtidens system vidare på idéer som visade sig vara ovanligt hållbara.

    > FAKTA: UNIX-IDÉER I LINUX

    > Ursprung: Unix började utvecklas vid Bell Labs år 1969.

    > Linux: Linuxkärnan skapades av Linus Torvalds och publicerades första gången 1991.

    > Filsystem: Alla filer och lagringsenheter ingår i ett gemensamt katalogträd som börjar i rotkatalogen /.

    > Processer: Linux kan köra många program och användarsessioner samtidigt.

    > Pipelines: Tecknet | skickar resultatet från ett kommando vidare till ett annat.

    > Programspråk: Linuxkärnan och många grundläggande systemverktyg är huvudsakligen skrivna i C.

    > Arkitekturer: Linux kan köras på bland annat x86-64, ARM, RISC-V, PowerPC och stordatorer.

    > Grundprincip: Små program ska göra en tydlig uppgift och kunna kombineras med andra program.

    > Varför lever idéerna kvar? De är enkla, flexibla, portabla och fungerar fortfarande efter mer än 50 år.

  • En MacBook från 2008 – fortfarande användbar nästan 20 år senare

    En nästan 20 år gammal MacBook kan verka hopplöst föråldrad, men med Ubuntu installerat visar 2008 års Unibody-modell att äldre datorer fortfarande kan fylla en funktion. Trots begränsat minne, mekanisk hårddisk och visst handpåläggning för att få allt att fungera, går den fortfarande att använda för enklare uppgifter som webbsurf, TV-tittande och vardagsbruk.

    När Apple presenterade sina första Unibody-MacBooks hösten 2008 var det en tydlig förändring i designfilosofi. I stället för ett chassi byggt av flera delar började Apple fräsa ut hela datorns skal ur ett enda block aluminium. Resultatet blev en dator som var både starkare, tunnare och mer robust än tidigare modeller.

    Den här artikeln handlar om en sådan maskin – MacBook “Core 2 Duo” 13 tum (Late 2008) – en dator som i dag är tekniskt sett gammal men fortfarande kan användas för vissa uppgifter.

    En processor från en annan era

    Den här modellen använder inte någon modern Intel Core i3 eller i5. I stället sitter här en Intel Core 2 Duo P7350 på 2,0 GHz.

    På sin tid var Core 2 Duo-processorerna ganska avancerade. De byggdes med en 45-nanometers tillverkningsprocess, kallad Penryn, och innehöll två processorkärnor på samma chip. Processorn hade dessutom:

    • 3 MB delad L2-cache
    • 1066 MHz systembuss
    • två processorkärnor

    Det här var en kraftfull konsumentprocessor runt 2008, men jämfört med dagens CPU:er är den naturligtvis betydligt långsammare.

    2 GB minne – datorns största begränsning

    Den aktuella datorn är utrustad med 2 GB DDR3-minne.

    Det räcker för enklare Linux-system, men innebär också att operativsystemet ganska ofta måste använda växlingsminne på hårddisken (swap). När det sker börjar datorn läsa och skriva data till disken i stället för till RAM, vilket gör att systemet upplevs som betydligt långsammare.

    Under testet uppstod också problem med Wayland, där skrivbordsmiljön ibland låste sig. När systemet i stället startades med den äldre grafiska servern X11 fungerade allt stabilare, även om datorn fortfarande upplevdes som långsam. Den största orsaken är dock den mekaniska hårddisken och den begränsade mängden internminne.

    Den mekaniska hårddisken bromsar systemet

    Maskinen har fortfarande kvar sin ursprungliga mekaniska hårddisk på 160 GB (5400 rpm).

    Den typen av hårddisk var standard i bärbara datorer under 2000-talet, men jämfört med moderna SSD-enheter är den mycket långsam. En SSD kan ofta vara 10–20 gånger snabbare när det gäller åtkomsttid och filoperationer.

    Det innebär att en relativt enkel uppgradering – att byta ut hårddisken mot en SSD – kan göra en mycket stor skillnad i hur datorn upplevs i praktiken.

    Wi-Fi kräver lite extra arbete

    Maskinen är utrustad med ett Broadcom BCM4322-kort för trådlöst nätverk. För att få detta att fungera i Ubuntu krävs lite handpåläggning, eftersom drivrutinen inte är helt öppen källkod och därför inte alltid installeras automatiskt i systemet.

    Efter installation av rätt firmware eller proprietär drivrutin fungerar dock Wi-Fi normalt utan problem.

    Ubuntu ger nytt liv åt gammal hårdvara

    På testmaskinen installerades Ubuntu Linux. Trots den begränsade hårdvaran fungerar systemet förvånansvärt bra för lättare uppgifter.

    Datorn går till exempel att använda som TV-maskin. När SVT Play startas i webbläsaren fungerar videouppspelningen, även om systemet är något långsamt i övrigt. Det visar att även äldre hårdvara fortfarande kan ha praktiska användningsområden.

    Grafik och skärm

    Grafiken hanteras av NVIDIA GeForce 9400M, en integrerad grafikprocessor som delar minne med systemet (upp till 256 MB).

    Skärmen är en 13,3-tums LED-bakbelyst TFT-panel med upplösningen 1280 × 800, vilket var standard på mindre bärbara datorer vid den tiden.

    Anslutningar och funktioner

    Trots sin ålder har datorn en ganska komplett uppsättning anslutningar:

    • Wi-Fi (802.11a/b/g/n)
    • Bluetooth 2.1
    • Gigabit Ethernet
    • två USB 2.0-portar
    • Mini DisplayPort för extern skärm upp till 2560 × 1600
    • optisk digital/analog ljud in/ut
    • inbyggd iSight-kamera

    En sak som saknas är FireWire 400, som tidigare funnits på många Mac-modeller.

    En design som blev standard i många år

    Den här MacBook-generationen var början på Apples Unibody-design, som senare skulle användas i många MacBook Pro-modeller.

    Den introducerade också:

    • en stor glasbaserad multitouch-styrplatta utan separat knapp
    • stöd för fyrfinger-gester
    • ett tunnare och mer robust aluminiumchassi

    Den billigare modellen saknade dock bakgrundsbelyst tangentbord, något som annars blev vanligt i senare MacBook-modeller.

    Hur mycket snabbare kan den bli?

    Det finns två uppgraderingar som kan göra stor skillnad.

    1. Installera en SSD

    Detta är den uppgradering som ger störst effekt. Systemstart, program och filhantering blir dramatiskt snabbare.

    1. Öka minnet

    Modellen klarar normalt upp till 8 GB RAM, vilket minskar behovet av swap och gör systemet betydligt mer responsivt.

    Med dessa uppgraderingar kan en nästan 20 år gammal dator fortfarande fungera för:

    • webbsurfning
    • ordbehandling
    • enklare programmering
    • mediaspelare eller TV-dator

    En påminnelse om hur snabbt datorer utvecklas

    MacBooken från 2008 visar hur mycket datorer har förändrats. Det som en gång var en relativt kraftfull laptop känns i dag ganska långsamt.

    Samtidigt är det imponerande att maskinen fortfarande går att använda efter så många år, särskilt när den får nytt liv med Linux och några enkla uppgraderingar.

    Gamla datorer behöver alltså inte alltid hamna på elektronikskroten. I rätt sammanhang kan de fortfarande göra nytta.

    Teknisk faktaruta

    Modell: MacBook Core 2 Duo 13 tum (Late 2008, Unibody)

    Processor: Intel Core 2 Duo P7350, 2,0 GHz

    Arkitektur: Penryn, 45 nm

    Kärnor: 2

    Cache: 3 MB delad L2-cache

    Systembuss: 1066 MHz

    Minne: 2 GB DDR3

    Lagring: 160 GB mekanisk hårddisk, 5400 rpm

    Grafik: NVIDIA GeForce 9400M

    Skärm: 13,3 tum, 1280 × 800

    Trådlöst nätverk: Broadcom BCM4322, 802.11a/b/g/n

    Bluetooth: 2.1 + EDR

    Portar: 2 × USB 2.0, Gigabit Ethernet, Mini DisplayPort, ljud in/ut

    Optisk enhet: 8x SuperDrive

    Operativsystem i testet: Ubuntu Linux

    Kommentar: Fungerar för lättare uppgifter, men vinner mycket på SSD och mer RAM

Etikett: datorhistoria

  • Därför lever 50 år gamla Unix-idéer kvar i moderna Linux

    Linux är ett modernt operativsystem, men många av dess viktigaste idéer utvecklades redan under Unix-eran på 1960- och 1970-talen. Det hierarkiska filsystemet, processhanteringen, kommandopipelines och möjligheten att flytta systemet mellan olika datorarkitekturer är principer som fortfarande präglar dagens Linuxdistributioner. Att de lever kvar efter mer än 50 år beror framför allt på att de fortfarande…

  • En MacBook från 2008 – fortfarande användbar nästan 20 år senare

    En nästan 20 år gammal MacBook kan verka hopplöst föråldrad, men med Ubuntu installerat visar 2008 års Unibody-modell att äldre datorer fortfarande kan fylla en funktion. Trots begränsat minne, mekanisk hårddisk och visst handpåläggning för att få allt att fungera, går den fortfarande att använda för enklare uppgifter som webbsurf, TV-tittande och vardagsbruk. När Apple…