Etikett: Intel 8086

  • XENIX – Microsofts bortglömda kärlekshistoria med Unix

    Microsoft förknippas i dag nästan uteslutande med Windows, men under 1980-talet satsade företaget också på ett helt annat operativsystem: XENIX. Systemet var Microsofts egen variant av Unix och blev under en period den mest spridda Unix-plattformen i världen. Genom att anpassa Unix till billigare mikrodatorer bidrog XENIX till att föra avancerade fleranvändarsystem från datorhallar och universitet ut till företag, butiker och kontor.

    Långt innan Windows blev världens dominerande PC-plattform satsade Microsoft på något helt annat: Unix. Resultatet blev XENIX, ett operativsystem som i dag nästan har fallit ur det allmänna teknikminnet men som under 1980-talet spelade en viktig roll i övergången från stora minidatorer till mindre och billigare mikrodatorer.

    Det är lätt att tänka på Microsoft som företaget bakom DOS och Windows, men under en period såg företaget faktiskt Unix som en del av framtiden. XENIX blev deras försök att ta ett kraftfullt fleranvändarsystem från datorhallarnas värld och anpassa det till den framväxande marknaden för 16-bitarsdatorer.

    Från Unix till XENIX

    Bakgrunden var att AT&T:s Unix redan hade fått rykte om sig att vara ett elegant och portabelt operativsystem. Problemet var att Bell System, som ägde tekniken, inte kunde sälja Unix fritt till alla slutkunder på vanligt kommersiellt sätt. I stället licensierades systemet till andra företag som sedan kunde bygga vidare på det.

    Microsoft köpte en licens till Unix Version 7 i slutet av 1970-talet, men kunde inte använda själva namnet ”Unix”. Därför fick produkten ett eget namn: XENIX.

    Det var inte bara ett namnbyte. XENIX utvecklades vidare och anpassades för nya processorer, först och främst sådana som skulle användas i den snabbt växande mikrodatorvärlden. Systemet byggde först på äldre Unix-versioner som V6 och V7, senare på System III och till sist på System V. Under vägen plockade det också upp idéer och verktyg från BSD-världen.

    Ett Unix för små maskiner

    I dag är det självklart att ett operativsystem kan köras på många olika typer av hårdvara. I början av 1980-talet var detta betydligt svårare. Unix hade ursprungligen vuxit fram på PDP-11 och andra större minidatorer. Att flytta systemet till betydligt mindre 16-bitarsprocessorer som Intel 8086, 80286 och Motorola 68000 var en tekniskt krävande bedrift.

    Det var just här XENIX fick sin betydelse. Systemet blev ett slags bro mellan två världar: å ena sidan de dyra minidatorerna, å andra sidan de billigare persondatorerna och arbetsstationerna som började dyka upp på kontor, i butiker och i industrimiljöer.

    XENIX hamnade därför i ett ovanligt läge på marknaden. Det var för avancerat för de enklaste hemdatorerna, som fortfarande dominerades av 8-bitarsmaskiner, men samtidigt mycket billigare än traditionella Unix-minidatorer. Det gjorde att XENIX kunde erbjuda fleranvändardrift och multitasking i miljöer där det tidigare varit otänkbart.

    Därför blev XENIX stort

    En viktig anledning till att XENIX spreds så mycket var att det gav små företag tillgång till funktioner som annars var förbehållna dyrare system. Med XENIX kunde flera användare arbeta samtidigt på samma dator via terminaler. Det gjorde operativsystemet attraktivt för exempelvis kassasystem i butiker, bokningssystem i hotell och restauranger samt administrativa system i mindre företag.

    Under mitten och slutet av 1980-talet blev XENIX troligen den mest spridda Unix-varianten i världen. Det säger mycket om tidsandan: samtidigt som DOS var kung på enanvändar-PC:n fanns ett stort behov av robusta fleranvändarsystem i verksamheter som inte hade råd med stora Unix-maskiner.

    Priset spelade också roll. En installation kunde kosta några hundra dollar för operativsystemet och ytterligare några hundra för utvecklingsverktyg. Det var inte billigt för sin tid, men ändå tillräckligt överkomligt för att locka företag som ville ha fleranvändardrift.

    Många plattformar

    XENIX var ovanligt portabelt och dök upp på en rad olika maskiner. Bland Intel-baserade system fanns versioner för processorer som 8086, 80286 och senare 80386. På Motorola-sidan kördes det bland annat på TRS-80 Model 16, Tandy 6000 och Apple Lisa.

    Det fanns också planer eller experimentella portar till plattformar som Zilog Z8001, PDP-11 och VAX. Alla dessa blev inte kommersiellt framgångsrika, men bredden visar hur ambitiöst projektet var.

    Samtidigt uppstod ett problem. I början av 1980-talet saknades en tydlig standard för minneshantering i många mikrodatorer. Tillverkarna konstruerade egna lösningar, vilket innebar att XENIX-kärnan ofta måste anpassas för varje specifik maskin. Det gjorde porteringen betydligt mer komplicerad än i dag.

    Program och utvecklingsverktyg

    Trots sitt rykte som ett tekniskt system hade XENIX ett ganska brett utbud av program. Microsoft släppte bland annat kalkylprogrammet Multiplan och en BASIC-kompilator för plattformen.

    För programmerare fanns språk som C, COBOL, Fortran och Pascal. Systemet innehöll även klassiska Unix-verktyg och textredigerare som vi. Bland tillgängliga program fanns också databaser som FoxPro samt vissa affärsapplikationer och utvecklingsmiljöer.

    XENIX innehöll dessutom vissa funktioner som gjorde det lättare att arbeta tillsammans med DOS-system, till exempel möjligheten att läsa och skriva DOS-filsystem. Det visar hur Microsoft redan tidigt försökte skapa kopplingar mellan sina olika produktlinjer.

    Microsofts strategi

    I början av 1980-talet talade Microsoft om XENIX som ett slags fleranvändarmotsvarighet till DOS. DOS skulle vara systemet för en ensam användare på en PC, medan XENIX var tänkt för multitasking, nätverk och fleranvändarsystem.

    Företaget såg alltså inte systemen som konkurrenter utan som två delar av en större strategi. Tanken var att användare skulle kunna börja med DOS och senare gå vidare till XENIX när deras behov växte.

    När Microsoft lämnade XENIX

    Under mitten av 1980-talet förändrades Unix-marknaden snabbt. Efter upplösningen av Bell System började AT&T sälja Unix mer direkt. Samtidigt inledde Microsoft sitt samarbete med IBM kring operativsystemet OS/2.

    I slutet av 1980-talet överfördes därför ägandet av XENIX till företaget Santa Cruz Operation, ofta kallat SCO. Där fortsatte tekniken att utvecklas och blev så småningom grunden för SCO UNIX och senare OpenServer.

    Det innebar att XENIX inte försvann över en natt. I stället levde det vidare i en annan produktlinje.

    Ett system som levde kvar länge

    Trots att XENIX i dag är relativt okänt fortsatte systemet att användas länge i praktiska miljöer. Kassasystem, bokningssystem och administrativa program kunde köras på XENIX-servrar i många år efter att plattformen slutat utvecklas.

    Just sådana verksamhetssystem byts ofta ut mycket långsamt. Därför kunde XENIX-installationer överleva långt in i 1990-talet och ibland ännu längre.

    XENIX i datorhistorien

    I dag framstår XENIX som ett intressant kapitel i datorhistorien. Operativsystemet visar hur osäker utvecklingen var under PC-revolutionens tidiga år. Det var långt ifrån självklart att Windows skulle bli Microsofts huvudsakliga plattform.

    XENIX representerar också en viktig övergång: när avancerade fleranvändarsystem började flytta från stora minidatorer till billigare mikrodatorer. På så sätt bidrog det till att göra Unix-idéer tillgängliga i helt nya miljöer.

    Även om namnet XENIX i dag mest förekommer i historieböcker, spelade systemet en betydande roll i utvecklingen av moderna operativsystem. Det var ett av de första försöken att förena Unix-världens kraft med persondatorns snabbt växande marknad.

    Faktaruta: XENIX

    Typ: Unix-baserat operativsystem

    Utvecklare: Microsoft, senare SCO

    Lansering: 1980

    Bakgrund: Byggde ursprungligen på AT&T Unix och anpassades för flera olika mikrodatorklasser.

    Plattformar: Bland annat Intel 8086, 80286, 80386 och Motorola 68000

    Kännetecken: Fleranvändarstöd, multitasking och spridning i affärssystem som kassor och bokningssystem

    Historisk betydelse: En av de mest spridda Unix-varianterna under 1980-talet

    Efterföljare: Utvecklingen togs över av SCO och ledde vidare till SCO UNIX och senare OpenServer

    Annons

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

  • 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