Etikett: Intel 8086

  • MS DOS 1.x

    Från en blinkande kommandoprompt på en diskettbaserad IBM PC till grunden för hela Windows-eran – MS-DOS blev operativsystemet som definierade 1980-talets datorrevolution. Med rötter i 86-DOS och inspiration från CP/M skapade Microsoft en plattform som snabbt spreds till över 70 tillverkare och gjorde den IBM-kompatibla PC:n till global standard. Trots sin tekniska enkelhet kom MS-DOS att forma både mjukvarumarknaden och den moderna persondatorns historia.

    När IBM lanserade sin första persondator 1981 förändrades datorvärlden i grunden. Bakom den nya maskinen låg ett textbaserat operativsystem som snart skulle bli synonymt med hela PC-eran: MS-DOS. Med sin enkla kommandoprompt och sina strikta regler – som 8.3-filnamn – blev det fundamentet för miljontals datorer och lade grunden för Microsofts globala dominans.

    MS-DOS, en förkortning av MicroSoft Disk Operating System, utvecklades för x86-baserade persondatorer och släpptes den 12 augusti 1981. IBM licensierade systemet under namnet PC DOS 1.0 för sin IBM Personal Computer 5150, medan Microsoft sålde det till andra tillverkare som MS-DOS. De två versionerna utvecklades parallellt under tolv år innan de gradvis skildes åt 1993.

    Ursprunget går tillbaka till 86-DOS, utvecklat av Tim Paterson på Seattle Computer Products. Systemet var inspirerat av CP/M från Digital Research men anpassat för Intel 8086-processorn och utrustat med filsystemet FAT12. Microsoft köpte rättigheterna 1981 för 25 000 dollar och anpassade systemet för IBM:s nya dator. Den modulära designen gjorde det möjligt för olika tillverkare att skriva egna hårdvarunära drivrutiner medan kärnan förblev gemensam – en avgörande faktor för spridningen.

    Den första versionen, DOS 1.0, var tekniskt enkel. Den kunde läsa och skriva 160 KB disketter, köra program i .COM- och .EXE-format och hantera batchfiler. Alla filer låg i rotkatalogen; det fanns inga katalogträd, inga hårddiskar och ingen omdirigering. Kommandotolken COMMAND.COM innehöll endast ett fåtal interna kommandon. Ändå räckte detta. Kombinationen av IBM:s hårdvara och Microsofts licensmodell skapade en plattform som andra företag kunde kopiera. Inom ett år hade Microsoft licensierat MS-DOS till över 70 företag.

    Version 1.1, som kom 1982, stödde dubbelsidiga disketter på 320 KB och markerade början på bred OEM-licensiering. Under 1980-talet växte systemet snabbt. Version 2.0 (1983) introducerade katalogträd, hårddiskstöd, omdirigering och en mer Unix-liknande filhantering. Version 3.x gav stöd för större diskar, nätverk och nya diskettformat. Version 4.x introducerade stöd för större partitioner och ett grafiskt DOS Shell, men led av buggar. Version 5.0 (1991) blev en stabil milstolpe med förbättrad minneshantering och en fullskärmseditor. Den sista fristående versionen, 6.22 från 1994, inkluderade diskkomprimering och avancerade systemverktyg.

    Samtidigt uppstod konkurrens. Digital Research lanserade DR-DOS som ett kompatibelt alternativ. IBM och Microsoft samarbetade kring OS/2, tänkt som efterträdare. Men när Windows 3.0 slog igenom 1990 började tyngdpunkten förskjutas. MS-DOS blev basen under grafiska Windows-versioner. Windows 95, 98 och Me använde DOS för uppstart och bakåtkompatibilitet, men användarna arbetade i ett grafiskt gränssnitt.

    Tekniskt var MS-DOS en monolitisk kärna, huvudsakligen skriven i x86-assembler. Tidiga versioner omfattade bara några tusen rader kod. Systemet var enanvändarbaserat och saknade multitasking, något som Microsoft istället erbjöd genom sitt Unix-baserade Xenix. Under 1990-talet blev DOS alltmer en underliggande komponent. Windows NT-linjen, som inte byggde på DOS, tog gradvis över, och 64-bitarsversioner av Windows avskaffade till slut all inbyggd DOS-emulering.

    Supporten för klassiska versioner upphörde 2001, och 2006 avslutades stödet för de sista DOS-baserade Windows-versionerna. Trots detta lever arvet kvar. 2014 och senare år publicerade Microsoft källkoden till tidiga versioner som 1.25, 2.0 och 4.00 under MIT-licens för utbildningsändamål, vilket gav nya generationer möjlighet att studera hur ett historiskt operativsystem var uppbyggt.

    MS-DOS var aldrig det mest avancerade systemet tekniskt sett. Det saknade fleranvändarstöd, skyddat minne och multitasking. Men det hade rätt kombination av enkelhet, kommersiell strategi och timing. Genom att bli standard på IBM-kompatibla datorer skapade det den plattform som Windows senare kunde ta över.

    Från en blinkande A-prompt på en 16 KB-maskin till grunden för en global mjukvaruindustri – MS-DOS var motorn bakom PC-revolutionen och en av de viktigaste byggstenarna i den moderna datorhistorien.

    Teknikfakta: MS-DOS och DOS 1.0–1.1
    Namn
    MS-DOS (MicroSoft Disk Operating System), IBM PC DOS
    Lansering
    1981 (PC DOS 1.0 samtidigt med IBM PC)
    Ursprung
    Bygger på 86-DOS (Tim Paterson), inspirerat av CP/M
    Målplattform
    x86 (Intel 8086/8088), initialt diskettbaserat
    Kärntyp
    Monolitisk
    Programmerat i
    x86-assembler (tidiga versioner)
    Gränssnitt
    Kommandorad (COMMAND.COM)
    Kärnkomponenter (DOS 1.x)
    IBMBIO.COM (I/O-drivrutiner), IBMDOS.COM (kärna/API), COMMAND.COM (tolk)
    Lagring (DOS 1.0)
    160 KB 5,25″ disketter (enkelsidigt)
    Lagring (DOS 1.1)
    320 KB 5,25″ disketter (dubbelsidigt)
    Filstruktur (DOS 1.x)
    Ingen kataloghierarki (endast rotkatalog)
    Stöd saknas i DOS 1.x
    Hårddiskar, katalogträd, pipes/omdirigering, laddningsbara drivrutiner
    Minimikrav (praktiskt)
    Minst 32 KB RAM för att kunna boota (bootsektor laddas vid 7C00h)
    Kommandon (DOS 1.0, interna)
    DIR, COPY, ERASE, PAUSE, REM, RENAME, TYPE
    Verktyg i paketet
    DEBUG, LINK, EDLIN (DOS 1.x), EXE2BIN (DOS 1.1)
    BASIC-roll
    BASIC.COM/BASICA.COM gav ROM-BASIC diskstöd och en tidig “IDE”-känsla
    Efterföljare
    Windows tog över gradvis; DOS blev bas/bootlager i tidiga Windows-versioner
    Historisk betydelse
    Standardiserade IBM-kompatibla PC:n och möjliggjorde klonmarknaden

    Annons

    Strul med e-posten? Hjälp med TV? Problem med wifi?
    Digital Fixare

  • Intel 8086 – processorn som formade PC-världen

    En processor framtagen som en tillfällig lösning kom att lägga grunden för nästan all modern PC-teknik. När Intel 8086 lanserades i slutet av 1970-talet var den varken den snabbaste eller mest eleganta på marknaden – men genom smarta kompromisser, oväntade designval och ett avgörande genombrott i IBM PC:n blev den startpunkten för x86-arkitekturen som än i dag driver världens datorer.

    Intel 8086 – processorn som formade PC-världen

    När Intel lanserade 8086 år 1978 var det inte med ambitionen att skapa en tidlös standard. Processorn var snarare ett praktiskt steg vidare från tidigare 8-bitarskonstruktioner, framtagen under tidspress och med tydliga tekniska kompromisser. Ändå är det just denna krets som lade grunden för x86-arkitekturen – den arkitekturfamilj som fortfarande driver merparten av världens persondatorer och servrar.

    Ett steg upp till 16 bitar

    8086 var Intels första fullt 16-bitars mikroprocessor. Det innebar att den kunde hantera större tal, effektivare textbearbetning och mer avancerade program än sina föregångare som 8080 och 8085. För programmerare och systemkonstruktörer betydde det att mikrodatorer nu började närma sig de möjligheter som tidigare varit förbehållna minidatorer.

    Samtidigt ville Intel behålla kontinuitet. Instruktionsuppsättningen och programmeringsmodellen hade tydliga rötter i de äldre 8-bitarsprocessorerna, vilket gjorde det relativt enkelt att porta befintlig programvara. Det här visade sig bli en av 8086-familjens största styrkor.

    En megabyte minne – tack vare segmentering

    En av de mest omtalade egenskaperna hos 8086 är dess sätt att hantera minne. Processorn kunde adressera upp till en megabyte, vilket var enormt vid slutet av 1970-talet. Problemet var att dess register bara var 16 bitar breda, vilket normalt sett bara räcker till 64 kilobyte.

    Lösningen blev den berömda segmenteringen. I stället för en enda adress använde processorn två delar: ett segment och ett offset. Segmentet flyttades fyra bitar åt vänster och adderades med offset, vilket gav en 20-bitars fysisk adress. På så sätt kunde man nå hela minnesområdet utan att göra registren bredare.

    Tekniskt sett var detta elegant, men i praktiken blev det en källa till komplexitet. Samma minnesadress kunde beskrivas på många olika sätt, och programmerare tvingades förhålla sig till begrepp som ”near” och ”far” pekare. Segmenteringen löste ett akut hårdvaruproblem men skapade långvariga mjukvarumässiga konsekvenser.

    Två arbetsenheter i samma processor

    8086 var också ovanligt modern i sin interna uppdelning. Den bestod i praktiken av två samarbetande delar. Den ena, bussgränssnittsenheten, hämtade instruktioner från minnet och lade dem i en liten kö. Den andra, exekveringsenheten, tolkade och utförde instruktionerna.

    Detta innebar att instruktioner kunde hämtas i förväg medan tidigare instruktioner fortfarande kördes. Det var en tidig form av parallellism, långt ifrån dagens avancerade pipelines men ändå ett viktigt steg mot effektivare utnyttjande av processorns tid.

    När programkoden flöt på utan många hopp fungerade detta mycket bra. Vid täta hopp och minnesåtkomster minskade vinsten. Ändå visade konstruktionen tydligt hur framtida processorer skulle komma att byggas.

    Inte snabbast, men mest användbar

    8086 var inte den snabbaste eller mest eleganta 16-bitarsprocessorn på marknaden. Konkurrenter som Motorola 68000 hade en renare arkitektur och var enklare att programmera. Trots detta var det Intels processor som vann.

    En viktig anledning var att Intel även tog fram 8088, en variant med 8-bitars databuss. Den var långsammare men billigare att bygga system kring, eftersom den kunde använda enklare och billigare kringkretsar. Det var denna processor som valdes till den första IBM PC:n.

    När IBM hade valt 8088 följde resten av marknaden efter. Programvara, expansionskort och operativsystem anpassades till x86-familjen, och plötsligt spelade det mindre roll om arkitekturen var perfekt. Det viktiga var att allt fungerade tillsammans.

    Ett arv som fortfarande lever

    Efter 8086 följde 80286, 80386, 80486 och senare Pentium-generationerna. Varje ny processor blev kraftfullare, bredare och snabbare, men nästan alltid med bakåtkompatibilitet som ledstjärna. Instruktioner och idéer från slutet av 1970-talet finns därför fortfarande kvar i moderna processorer, ibland djupt begravda men fortfarande nödvändiga.

    Till och med dagens datorer startar i ett läge som är kompatibelt med 8086, innan de växlar över till modernare driftlägen. Det är ett tydligt tecken på hur djupt denna processor har präglat datorteknikens utveckling.

    Slutsats

    Intel 8086 var inte en perfekt konstruktion. Den var full av kompromisser, särskilt i sin minnesmodell. Men just dessa kompromisser gjorde den möjlig att bygga, sälja och använda i stor skala. I teknikhistorien är det ofta inte den elegantaste lösningen som vinner, utan den som råkar passa bäst in i sin tid.

    8086 är ett skolexempel på detta. Den var tillräckligt bra, tillräckligt flexibel och tillräckligt tidig. Resultatet blev en arkitektur som, nästan ett halvt sekel senare, fortfarande formar hur datorer fungerar.

    Innehåll ifrån youtube om 8086 och 8088

    Teknisk faktaruta: Intel 8086

    Lanserad
    8 juni 1978
    Ordlängd
    16 bitar
    Adressbuss
    20 bitar (upp till 1 MiB adressrymd)
    Databuss
    16 bitar (extern, multiplexad med adresslinjer)
    Klockfrekvens
    Typiskt 5–10 MHz (beroende på variant)
    Register
    8 st 16-bitars huvudregister (AX, BX, CX, DX, SI, DI, BP, SP) + IP, flaggor och 4 segmentregister (CS, DS, SS, ES)
    Minnesmodell
    Segment:offset (fysisk adress = 16×segment + offset)
    Instruktionshämtning
    6-byte förhämtningskö (BIU/EU-separation för överlappad fetch/execute)
    Avbrott
    256 vektorer, vektortabell vid 0x0000–0x03FF
    I/O
    Separat I/O-adressrymd: 64 KiB portar
    Förpackning
    40-pin DIP (DIP40)
    Transistorer
    ≈29 277
    Varianter
    8088 (8-bitars extern databuss), 80C86 (CMOS)
    Typiska stödchips
    8237 (DMA), 8253/8254 (timer), 8255 (PIO), 8259 (PIC), 8284 (klockgenerator), 8288 (bus controller)

    Annons

    Strul med e-posten? Hjälp med TV? Problem med wifi?
    Digital Fixare