MS-DOS

Från Wikipedia
(Omdirigerad från MS-dos)
MS-DOS
Företag / utvecklareMicrosoft
OS-familjMS-DOS
Arbetsstatusnedlagd
KällkodSluten källkod
Senaste versionMS-DOS 8.0/ 14 september 2000; för 23 år sedan (2000-09-14)
Skärmdump av MS-DOS

MS-DOS (MicroSoft Disk Operating System) var ett operativsystem för diskbaserade persondatorer med Intel x86-familjens mikroprocessorer, producerat av Microsoft som var standard på 1980-talet och i början av 1990-talet.[1] Sedan dess är dess användning i huvudsak existerande industrisystem och inbyggda system. Microsoft Windows var till en början en grafisk överbyggnad till MS-DOS. PC-DOS och DR-DOS är snarlika operativsystem för PC-datorer. System till andra datorfamiljer innehåller oftast bara beteckningen "OS" trots att "DOS" skulle varit relevant. Populärt kallas MS-DOS ofta "DOS", vilket är en oegentlig beteckning som omfattar alla operativsystem för diskbaserade datorsystem.

MS-DOS skapades 1980 av Tim Paterson vid det lilla företaget Seattle Computer Products under namnet QDOS, senare ändrat till DOS-86 eftersom det var skrivet för Intels processor 8086. Ursprungligen var QDOS en klon av operativsystemet CP/M och lånade namn av CP/M-kommandon, som i sin tur hade lånat många av dem från Unix.

Microsoft köpte operativsystemet QDOS av Seattle Computer Products, anställde Tim Paterson och licensierade det till IBM som använde det i sina tidiga PC-datorer under namnet IBM PC-DOS. Microsofts avtal med IBM skulle visa sig vara mycket fördelaktigt, då Microsoft fick behålla rättigheterna att vidareutveckla och sälja systemet till utvecklare av PC-kloner under namnet MS-DOS.

Den sista versionen av MS-DOS som såldes i affärer som en separat produkt var 6.22 från 1994. Windows-versioner upp till Windows 3.11 kördes ovanpå MS-DOS (eller något annat DOS-kompatibelt operativsystem) och hanterade filsystem och systemanrop. I Windows 95 och Windows 98 fanns MS-DOS kvar som version 7.0 samt i Windows 98SE och Windows ME som version 7.1 resp. 8.0.

I Sverige används oftast teckentabellen CP850 om ingen annan har specificerats i CONFIG.SYS. Textfiler i DOS kan konverteras med till exempel programmet iconv.

MS-DOS uppbyggnad[redigera | redigera wikitext]

Microsoft DOS är ett operativsystem med text- och teckenbaserat gränssnitt, till skillnad från senare tiders grafiska, men likt CP/M och Unix (samt Linux). Det innebär att man får skriva in textkommandon till en kommandotolk för de olika saker man kan tänkas vilja göra. När datorn startas läser mikroprocessorn in operativsystemets grund BIOS, och läser in en startprocedur (”bootstrap”) från någon disk (diskett) som styr hur inläsningen av operativsystemet (bootning) ska ske. När den nödvändiga delen av systemet är laddat i datorns primärminne, visas en ”kommandoprompt”, en indikator som via tangentbordet erbjuder inmatning av kommandon som tolkas och omedelbart utförs. Typiskt utseende i hårddisksystem är ”C:\>_”, där ”C:” betyder första hårddisken. Inmatningen kräver exakthet, eftersom fel i ett enda tecken kan leda till felaktig operation eller att kommandot avvisas.

MS-DOS är ett mycket stabilt operativsystem och detta till stor del på grund av dess största begränsning. Det är nämligen endast möjligt att köra ett program i taget (egentligen process; jämför multikörning). Andra begränsningar som kan nämnas är att DOS har en övre minnesgräns på 640 kB, då det var baserat på Intels 16-bitars processorserie, kombinerat med designval för vilka minnesområden som skulle reserveras för expansionskort och systemets ROM. Ett rikt utbud av program gav användare möjlighet att i olika utsträckning komma runt begränsningarna i MS-DOS.

Kommandon[redigera | redigera wikitext]

Det finns två sorters kommandon i MS-DOS: interna som sköts från kommandotolken (command.com) samt externa som har en egen programfil. Det finns tre sorters programextensioner som prioriteras i ordningen som följer: .EXE, .COM och .BAT, (executable, command, batch dvs. exekverbar, kommando, sats av instruktioner) – i den händelse två filer skulle ha samma namn, men olika extension. Till exempel om det i aktuell katalog (=mapp) finns följande två filer: ”program.exe” och ”program.bat” – och användaren bara skriver in ”program” vid prompten, så kommer ”program.exe” köras eftersom EXE-filer har högst prioritet.

EXE- och COM- filer är direkt exekverbara program, med liten skillnad i minneshantering. De är antingen assemblerade från assemblerkod eller kompilerade från något högnivåspråk till exempel BASIC eller C.

För att ändra i en EXE eller COM-fil behöver man (i de flesta fall) tillgång till den okompilerade källkoden, vilken dock ytterst sällan medföljer DOS- eller Windows-program av sekretesskäl. En BAT-fil (batchfil) är däremot en textfil med diverse kommandon som körs radvis. Dessa redigerades för länge sedan antingen direkt från prompten eller med krångliga verktyg som till exempel texthanteraren EDLIN. Men när DOS-redigeraren Edit kom 1991 blev det enkelt att skriva BAT-filer, vilka till skillnad från EXE och COM-filer inte kompileras med något programmeringsverktyg. Applikationsprogram och systemverktyg är oftast EXE-filer som startas från prompten och sedan tar över hela användargränssnittet tills programkörningen är färdig. Då kommer prompten tillbaka. Ifall programmet inte avslutas måste datorn startas om med Ctrl-Alt-Del, vilket bootar om operativsystemet.

För att specificera flera filer brukar man använda sig av jokertecken (wild cards). Om man skriver ett frågetecken (?) kommer det att representera ett tecken, vilket som helst. Om man skriver en stjärna (*) kommer det att representera inget, ett eller hur många tecken som helst.

Exempel: Kommandot DIR listar filer på angiven plats. Om man vid prompten skriver ”DIR P*.COM” så kommer samtliga COM-filer som börjar på P att presenteras.

Namnkonventioner[redigera | redigera wikitext]

Vidare får filnamnen högst innehålla åtta tecken samt ytterligare tre tecken som åtskiljs av de övriga med punkt, den så kallade filändelsen. Filändelsen är till för att program och användare lättare skall kunna veta vad det är för typ av fil för att välja åtgärd; exempelvis står ”.EXE” för exekverbar fil, ”.TXT” för textfil och så vidare. Används ett modernare DOS, eller extra program, stöds VFAT och FAT32 och då är man inte begränsad till enbart 8.3-namnkonventionen.

Några tecken får inte användas varken i fil- eller katalognamn, bland andra '*', '+', '-', '?', '/', '\', '[', ']', '{', '}', '(', ')', ':', ';', '.', ',', '=', '<' och '>'. Dessutom är vissa ord reserverade, som exempelvis CON, AUX, COM 1-4, PRN, LPT 1-4 och NUL (console, auxiliary, communication port, printer, line printer samt null).

Katalogstruktur[redigera | redigera wikitext]

I DOS arbetar man i en katalogstruktur (bibliotek) sedan version 2. Katalogstrukturen brukar liknas vid ett upp-och-nervänt katalogträd där roten är överst, underkatalogerna förgrenar sig nedåt och där löven representerar filer. De olika partitionerna på hårddisken (exempelvis C:) brukar kallas rot (root) och tecknet för detta är det omvända snedstrecket: \, även kallas ”Backslash”. Under roten finns moderkataloger (parent directories) som i sin tur rymmer barnkataloger (child directories) som innehåller filer (files). En sökväg i DOS kan se ut så här: C:\Moderkat\barnkat\textfil.txt

Filsystem[redigera | redigera wikitext]

Filsystemet i DOS heter FAT (FAT12/FAT16), som är en förkortning för file allocation table (filallokeringstabell) som innebär en tabell över placeringen av filer och kataloger (mappar). I filsystemet lagras filerna i ett kedjesystem där filallokeringstabellen är en lista över vilka block som är lediga och i vilka block det finns filer. I pekarna till de upptagna blocken finns också adressen till det block där filen fortsätter att lagras. En rotkatalog kan (beroende på version) innehålla upp till 512 kataloger/filer och tusentals underkataloger. FAT16 från 1988 har begränsningarna 2 GB och 65 000 filer per partition. Från DOS 7 (1996) är det dock möjligt att formatera hårddiskpartitioner med FAT32, med 8 TB och 268 miljoner filer per partition – och detta filsystem saknar gränsen på 512 katalogobjekt.

Minnesområden[redigera | redigera wikitext]

När DOS skapades var minneskraven på operativsystem betydligt mindre krävande än idag. Detta innebar att allt eftersom DOS utvecklades tvingades man lösa hur operativsystemet skulle kunna adressera mer minne för mer minneskrävande program. 64 kB var en vanlig storlek på primärminnet i IBM PC 1981. Eftersom Intel x86-seriens processorer använda med von Neumann-arkitektur kunde adressera 1 MiB, valde IBM att allokera utrymmet under 640 kB för RAM som operativsystem och applikationer behövde, och utrymmet över det för bildskärmsadapter, BIOS, diskinterface och annat. I början sågs 640 kB som ett oerhört stort utrymme, men enligt Moores lag kom utvecklingen av processorer och datalagring snabbt att leda till att hela utrymmet togs i anspråk. När 80286 introducerades i IBM PC/AT kunde teoretiskt 16 MiB adresseras, men operativsystemet och processorn begränsade direkt åtkomst till detta utökade minne, som bara nåddes i protected mode. Detta förenklades senare med Intel 80386.

Base memory[redigera | redigera wikitext]

Det konventionella minnet eller base memory som det också heter är det område i primärminnet på 640 kB som var tillgängliga för alla program att allokera minne från. Till skillnad från XMS och EMS behövdes ingen särskild drivrutin för att använda den här delen av minnet.

Upper memory[redigera | redigera wikitext]

Det höga minnet eller upper memory block är utrymmet från 640 kB upp till 1 MiB (1024 kB). Detta brukar hänvisas till i DOS som HIGH. Här kan man lägga exempelvis drivrutiner och MS-DOS egna rutiner när de laddas i config.sys (DOS=UMB samt DEVICEHIGH=drivrutin) och på så sätt lämna plats för annat i det konventionella minnet. Det enda hindret mot att använda detta minne var om BIOS eller expansionskort själva ville disponera det.

Expanded memory[redigera | redigera wikitext]

EMS var en variant som en del program under främst slutet av åttiotalet använde för att kunna utnyttja mer minne. Det byggde ursprungligen på speciella expansionskort med egna minneskretsar och ROM, som kunde "växla" in olika delar av EMS i vanligt minne. Denna typ av minne kunde utnyttjas av alla processortyper, inklusive 8086/88-processorn, men krävde att applikationsprogrammen kunde använda EMS-sidor. Detta emulerades sedan ofta med drivrutiner som EMM386 som kräver Intel 80386 eller bättre för att fungera.

High memory area[redigera | redigera wikitext]

HMA (high memory area) är ytterligare 64 kB ovanför de första 1024 kB. Detta är tillgängligt för processorn 80286 och högre. Även här kan man placera DOS egna rutiner i config.sys (DOS=HIGH), för att frigöra mera basminne. Området var speciellt då det enbart kunde täckas av ett minnessegment, medan övriga segment är överlagrade.

Extended memory[redigera | redigera wikitext]

Det utökade minnesområdet eller XMS (extended memory specifikation) brukar man kalla allt minne ovanför HMA. Det är tillgängligt för processorn 80286 och högre.

Olika MS-DOS-versioner[redigera | redigera wikitext]

Förutom nedanstående kommandon och systemprogram, medlevererades ofta ytterligare program som inte i sig själva var delar av själva operativsystemet, exempelvis en BASIC-interpretator. Se även en:List of MS-DOS commands.

MS-DOS 1.0[redigera | redigera wikitext]

DOS 1.0, som kom i augusti 1981, lagrade alla filer direkt under "rot" på diskett, utan några underkataloger. Den hade bara stöd för enkelsidig diskett, och hela operativsystemet rymdes på en 5,25-tumsdiskett. Från och med 1.10 (1982) hade det stöd för dubbelsidiga disketter med lagringskapacitet på upp till 320 kB.

Tim Paterson lämnade utvecklingen våren -82 då Mark Zbikowski tog över. Än idag inleds alla EXE-filer av hans initialer i början på binärfilen.

Exempel på kommandon som fanns med i den första versionen av DOS är:

  • Copy som är ett internt kommando för att kopiera filer. Genom att ange con: (console, dvs. tangentbord+bildskärm) kan man dessutom skriva in text direkt till en textfil ("copy con namn.txt"). Funktionstangenten F6 (eller Ctrl+Z) kan sedan avsluta detta, eftersom det betecknade "filslut", EndOfFile (EOF). Det var vanligt att själva tecknet Ctrl+Z (ASCII-kod 26) förekom i slutet av filer i tidiga DOS-versioner.
  • Kommandot Date var också ett internt kommando i DOS 1.0. Det visar och kan ändra systemklockans aktuella datuminställning.
  • Kommandot Time fungerade likadant men gällde tidsinställningarna istället.
  • Type är ett internt kommando som skriver ut innehållet i en fil på skärmen.
  • Del (internt) står för delete och används för att ta bort filer.
  • Även Dir är ett internt kommando och listar filerna.
  • Ren eller rename är ett internt kommando som används för att byta namn på filer.
  • Diskcopy är ett externt kommando (diskcopy.com) som används för att kopiera disketter.
  • Format är ett externt kommando (Format.com) som används till att formatera disketter (och med tiden hårddiskar). Växeln /s överför även systemfiler.
  • Sys (Sys.com) överför systemet, det vill säga filerna IO.sys, MSDOS.sys och Command.com så att man kan boota från den enhet dit man överfört filerna.
  • I DOS 1.0 medföljde även en liten radeditor som hette Edlin, föregångare till Edit.

MS-DOS 2.0[redigera | redigera wikitext]

1983 kom DOS 2.0 den hade förutom stöd för diskettstation även stöd för upp till 32 MB stora hårddiskar. I DOS 2.0 infördes DOS katalogsystem där man kan lagra filer i olika kataloger. Version 2.10 var en specialversion för bärbara datorer (IBM Portable PC).

I DOS 2.0 infördes en rad nya kommandon. Exempelvis:

  • Ver som var ett internt kommando som visar vilken version av MS-DOS som används, en fördel när det nu fanns två olika.
  • Cls (ett internt kommando) för att rensa skärmen.
  • Det interna kommandot prompt användes för att ändra utseendet på prompten.
  • Fdisk (Fdisk.exe) är ett externt kommando som används för att partitionera hårddiskar.

Den nya filstrukturen förde också med sig nya kommandon:

  • Tree (Tree.com) är externt och visar katalogstrukturen som ett träd.
  • CD eller Chdir (internt) för change directory då det nu krävdes att kunna förflytta sig mellan olika kataloger.
  • RD eller Rmdir är interna kommandon för att ta bort katalog.
  • MD eller Mkdir är ett internt kommando för att skapa ny katalog.
  • Path (internt) används som systemvariabel för att styra sökvägarna operativsystemet använder sig av när det lokaliserar körbara program (externa kommandon, skriptfiler och andra program).

MS-DOS 3.0[redigera | redigera wikitext]

1984 kom version 3.0, som klarade 1,2 MB floppydiskett. 1985 införde 3.10 stöd för nätverk, och två år senare kom stöd för enkelsidig 3,5-tumsdiskett (720 kB) i och med version 3.20. I 3.30 kom även stöd för dubbelsidiga 3,5-tumsdisketter (1,44 MB), och där har man även infört stöd för upp till 64 MB stora hårddiskar med två partitioner på högst 32 MB vardera. 1987 kom även Compaq MS-DOS 3.31 med stöd för partitioner på 512 MB på Compaqdatorer.

I trean började man använda volymetiketter på hårddiskar. I denna version tillkom också bland annat följande kommandon:

  • Attrib (attrib.exe) som var ett externt kommando som kunde skrivskydda filer med attributet R för Read-Only samt attributet A för Archive som används vid backup och sätts automatiskt av systemet om en ändring gjorts sedan senaste backup.
  • Label (label.exe) används för att visa eller ändra volymetiketten på hårddiskar.
  • XCopy (xcopy.exe) tillkom i version 3.2. Detta kommando kan bland annat användas för att kopiera en hel trädstruktur samtidigt.

MS-DOS 4.0[redigera | redigera wikitext]

MS-DOS 4.0 från 1988 drogs med minnesproblem på grund av en rad minnesslukande program.

  • Med hjälp av det något minnesslukande (6 kB) programmet SHARE hade DOS nu stöd för 1 GB stora hårddiskar med 2 partitioner på upp till 512 MB vardera.
  • Det grafiska skalet Dosshell ritade upp en enkel trädstruktur där man kunde bläddra bland filerna och katalogerna. Detta program användes ytterligare 20 kB av minnesområdet. Detta spelade förstås bara någon roll om man sedan startade andra program inifrån skalet.
  • Mem (mem.exe) är ett externt kommando som visar information om det konventionella minnet och tillkom för att användarna skulle ha bättre kontroll på minnesallokeringen.

MS-DOS 5.0[redigera | redigera wikitext]

På grund av minnesförbrukningen i 4.0 utvecklades metoder för att få tillgång till ytterligare minne. 1991 kom DOS version 5.0. Det använder en drivrutin som heter Himem.sys och som därför kan utnyttja minnesområdet mellan 1024 och 1088 för att ladda in vissa delar av operativsystemet och därmed frigöra 64 kB av det konventionella minnet till att köra program som kräver mycket ledigt minne.

DOSSHELL förbättrades i version 5 och var bland annat mindre minnesslukande. Vidare tillät det en enkel form av multikörning som kallades task swapping där program kunde ligga vilande i bakgrunden. Detta hade tidigare kunnat göras med hjälpprogram från andra tillverkare.

Det finns stöd för upp till 2 GB stora partitioner, men i praktiken flera andra begränsningar för hur stora hårddiskar som kan adresseras.

I version 5.0 kom några nya kommandon:

  • Textredigeraren Edit (Edit.com).
  • Även doskey (doskey.com) kom i version 5. Det är ett program som minns alla kommandon man gett så att man med hjälp av piltangenterna kan bläddra sig fram mellan givna kommandon.
  • Undelete (Undelete.exe) är ett program som återställer filer som tagits bort med kommandot del, dock med klart varierande tillförlitlighet, bland annat eftersom filen för att återställas korrekt inte fick vara fragmenterad.

Det tillkom även två nya attribut i version 5: S för system som är ett attribut som systemet sätter på filer som behövs för operativsystemet. H står för hidden och används för att göra vissa filer dolda för kommandot dir.

I och med den avsevärt förbättrade minneshanteringen blev den grafiska användarmiljön i Windows för första gången praktiskt användbar. (De tidigare versionerna hade varit alltför minneskrävande för att få en större användarskara). Det första Windows som kördes på DOS 5.0 var Windows 3. Detta är en stor anledning till att Windows 3 (och särskilt versionen med stöd för nätverk: 3.11 for Workgroups) blev en sådan försäljningsframgång.[källa behövs]

MS-DOS 6.0[redigera | redigera wikitext]

1993 kom version 6.0. Microsoft hade här införlivat en egen tolkning av diskkomprimeringsprogrammet Stacker i operativsystemet. 6.2, 6.21 och 6.22 (1994) är ytterligare revideringar där bland annat programmet scandisk tillkommit. För att DOS 6.22 skall fungera bra rekommenderas minst en 8 MB stor partition för systemfilerna.

I DOS 6.0 tillkom en rad användbara kommandon:

  • Dblspace var ett externt kommando (dblspace.exe) som används för att komprimera hela volymer
  • Dblspace ersattes i version 6.22 av drvspace. Den ingår bland systemfilerna och överförs med exempelvis sys.com till diskett eller hårddisk.
  • Ett annat kommando var deltree som används för att ta bort en hel trädstruktur.
  • Move (move.exe) flyttar och byter namn på filer
  • Memmaker (Memmaker.exe) optimerar användningen av konventionellt minne, den redigerar automatiskt autoexec.bat och config.sys och flyttar delar av operativsystemet till HMA och UMB.
  • Scandisk (Scandisk.exe) används för att korrigera fel i filsystemet. Ersätter det äldre chkdisk som dock fortfarande finns kvar.
  • Msd (msd.exe) visar information om datorn.
  • I version 6 tillkom även Help (help.com) som är ett externt kommando som ger information om de olika kommandona.

Version 6.22 kom att bli den sista rena DOS-versionen från Microsoft som såldes som egen produkt.

MS-DOS 7.0, Windows 95 och senare[redigera | redigera wikitext]

Version 7.0 kom 1995 och var en integrerad del av Windows 95. Egentligen var den bara en avskalad variant av 6.22 med vissa kommandon borttagna. Den grafiska miljön, "skalprogrammet", kallades ”Windows” medan den textbaserade miljön kallade ”DOS-läge”, men i själva verket var både två aspekter av samma operativsystem. Skillnaden var främst hur användaren kunde styra vad datorn skulle utföra, medan program kunde göra MS-DOS-systemanrop alternativt Windows API-anrop. I Windows initierades ”DOS-läge” av kommandotolken command.com. Vissa av kommandona (som DIR och andra interna kommandon som hanterade filnamn) utökades för att hantera långa filnamn när de laddades inifrån Windows. Om de kördes i rent DOS-läge fungerade de inte, eftersom den filsystemskod som laddades då inte behärskade detta. En skillnad i Windows 98 och senare versioner av Windows 95 var att den version av Drivespace som ingick var något effektivare än tidigare. Denna version hade tidigare enbart erbjudits genom Plus!-paketet. Vid ”exit” från det grafiska skalet återgick man till ”DOS-läge”.

Genom att sätta variabeln BootGUI i filen ”MSDOS.SYS” till noll stannar datorn i DOS (realläge) i stället för att starta Windows. Windows kan sedan startas med kommandot ”WIN”.

De Windowssystem som byggde på MS-DOS 7 var Windows 95, Windows 98 och Windows ME. I dem är DOS fortfarande en nödvändighet. Filen IO.SYS är "startmotorn" för både DOS och Windowssystemen. Utan denna fil på rätt plats, först i startpartitionen, kommer BIOS överlämnande av programkontrollen att stanna i Masterbootsektorn (MBR). När Microsoft under sin största reklamkampanj någonsin hävdade att "DOS är borta" var det alltså inte hela sanningen. Det var snarare att den vanlige användaren inte behövde mata in kommandon via ”DOS-prompt” för normalt handhavande av datorn.

För allmänheten försvann inte MS-DOS förrän med Windows XP hösten 2001, vilket gjorde att program som anropar MS-DOS-funktioner blev inkompatibla, men kommandoinmatningsfönstret fanns fortfarande kvar, med motsvarande funktioner som tidigare erbjudits av MS-DOS, i viss mån vidareutvecklade.

MS-DOS för NT-baserade Windows[redigera | redigera wikitext]

I Microsoft Windows NT, XP, 2000, 2003, Vista och "7" är vissa delar av MS-DOS inbakat i Windows, och det "MS-DOS" som fortfarande kan anropas i kommandofönster fungerar bara delvis som "äkta" MS-DOS. Det är med som ett "påhäng" för att möjliggöra körning av äldre, MS-DOS-baserade program under Windows som operativsystem och utföra kommandon. En del MS-DOS program kommer inte att fungera i denna miljö eftersom man frångått "real mode" med bl.a. direkt åtkomst till hårdvaran. En stor del av systemkommandon görs, likt i Unix, i ett kommandofönster. Även script utförs på motsvarande sätt. Sedan är alla Windows-operativsystem i diskbaserade datorer naturligtvis DOS per definition.

Man måste också vara medveten om att ett "konsolprogram" i Windows mycket väl ändå kan vara ett verkligt modernt Windows-program. cmd.exe och många av de traditionella externa kommandona i DOS är under Windows NT sådana konsolprogram. Skillnaden är egentligen om de använder ett grafiskt fönster eller en textbaserad kommunikation med användaren. Nästan alla program lagras som EXE eller COM-filer med eventuella tilläggsfiler, och kan exempelvis startas via kommandofönstret, självständigt av systemet, eller indirekt av Windowssystemet genom att klicka på filen i Utforskaren.

Typiska kommandon som utförs i kommandofönstret i NT-baserade Windows och som inte alltid är grafiskt lättillgängliga inkluderar:

Uppstart[redigera | redigera wikitext]

Bootprogrammet[redigera | redigera wikitext]

När en PC startas laddas startadressen in i processorn. Denna pekar till Basic Input/Output System (BIOS) som är det första programmet som körs och som läser in konfiguration från ett beständigt minne som EEPROM (ROM) eller ett litet batteridrivet RAM. BIOS utför sedan Power-on Self Test (POST). Därefter laddas ett bootprogram in från Master Boot Record (MBR). Sättet att starta på är identisk för datorer som är IBM-kompatibla. Sedan ca 2000–2008 finns GUID som ersättare för MBR som möjliggör at starta från hårddiskar större än 2 TB och ha fler än 4 operativsystem att starta med.

IO.SYS[redigera | redigera wikitext]

Är DOS installerat på datorn så laddar bootprogrammet i (MBR) in filen IO.SYS i primärminnet och kör den för att styra och aktivera enheter för in- och utmatning. IO.SYS kör i sin tur igång MSDOS.SYS som startar själva operativsystemet.

MSDOS.SYS[redigera | redigera wikitext]

MSDOS.SYS är en dold, skrivskyddad systemfil som ser till att filen config.sys kan läsas in och därefter köra det skal som anges där (raden "shell=") eller startenhet:\command.com om raden saknas.

Filen finns även i Windows, och är då en textfil där man kan gå in och ändra ett antal konfigurationsvärden. Filens gamla funktion är överförd till IO.SYS. Om man till exempel sätter värdet "BootGUI = 0" (istället för "BootGUI = 1") så kommer datorn stanna i DOS-realläge. Man kan då starta Windows manuellt genom att skriva ”WIN” vid prompten – således exakt likadant som före Windows 95 (detta gäller Win 95, Win 98, Win 98SE).

COMMAND.COM[redigera | redigera wikitext]

När MSDOS.SYS är färdig startar den det skal som angetts i CONFIG.SYS, nästan alltid COMMAND.COM, som läser in de interna kommandona (ex CD, MD, RD, DIR etc.) i det konventionella minnet.

Inställningsfiler[redigera | redigera wikitext]

MSDOS läser in filen Config.sys efter användaranpassade inställningar och drivrutiner efter att msdos.sys lästs in.

Till sist körs Autoexec.bat av skalet som ställer in diverse användaranpassade inställningar, startar diverse program, drivrutiner och batchfiler allt efter hur man har ställt in det.

Begränsningar[redigera | redigera wikitext]

I de flesta äldre MS-DOS-versioner kan ett filnamn inte innehålla mer än åtta tecken i filnamnet och endast tre tecken i filändelsen. Tecken som : / \ * < > | " kan inte ingå i filnamnet eftersom dessa tecken används i vissa syntaxer. *.* betyder till exempel alla filer, och Filename.* betyder alla filer vid namnet Filename fast med olika filändelser. \ används för att skriva ut en sökväg och / är för att ange kommandoparametrar etc.

I Windows 95 kan ett filnamn innehålla max 255 tecken, men öppnar man en fil i DOS-läge med mer än åtta tecken skrivs de sex första bokstäverna och ett ~1 eller ~2 och så vidare beroende på hur många filer som har liknande namn. Exempel: Ansökningar.doc, MS-DOS-namn: ANSÖKN~1.DOC. Om det också finns en fil med namnet Ansökningar_jobb.doc så kommer den heta ANSÖKN~2.DOC. Filerna kan heller inte innehålla mellanslag, och heter en fil till exempel Jobb 1.doc så kommer den i MS-DOS att heta Jobb1~1.doc.

Både det långa filnamnet och det i 8.3-format lagras i filposten, och i vissa fall kan en listning i DOS-läge även visa det långa namnet och acceptera inmatning av det. 8.3-formatet är emellertid den minsta gemensamma nämnaren som kan behövas vid användning av program som inte stöder långa filnamn. Denna dubbla namnsättning för samma fil kan även ge upphov till säkerhetsproblem i till exempel nättjänster.

Se även[redigera | redigera wikitext]

Referenser[redigera | redigera wikitext]

  1. ^ ”MS-DOS: A Brief Introduction”. The Linux Information Project. Arkiverad från originalet den 7 december 2017. https://web.archive.org/web/20171214120951/http://www.linfo.org/ms-dos.html. Läst 27 november 2019. 

Externa länkar[redigera | redigera wikitext]