MS-DOS

Fra Wikipedia, den frie encyklopædi
Spring til navigation Spring til søgning
Disambig bordered fade.svg Se også DOS
Question book-4.svg Der er for få eller ingen kildehenvisninger i denne artikel, hvilket er et problem. Du kan hjælpe ved at angive troværdige kilder til de påstande, som fremføres i artiklen.
MS-DOS
Del af DOS-familien
StartingMsdos.png
Udvikler Microsoft Corporation
Seneste udgave 8.0  (14. september 2000)
Platform x86
Brugergrænseflade Kommandolinje-interface
Kernetype Monolithic kernel
Kildekodetilgængelighed Lukket kildekode
Licens Ophavsret

Microsofts MS-DOS (Microsoft Disk Operating System) var det første populære operativsystem til IBM PC'en. Det blev første gang leveret med en PC i 1981 og blev fortsat udviklet indtil den ottende version udkom sammen med Windows ME i 2000.

Opbygning[redigér | redigér wikikode]

MS-DOS bygger oven på computerens BIOS. Når der bliver tændt for maskinen, eller den nulstilles (resettes) vil BIOS lede efter en valid boot-sektor i en angivet rækkefølge (kan angives i BIOS). En boot-sektor er den første sektor på en diskette eller en harddisk, og den indeholder enten en bootstrap-loader eller et program, der blot meddeler, at denne diskette kan man ikke boote fra, hvorpå det stopper. Dvs. selv om maskinen er beregnet til at boote fra en harddisk, så vil den kunne boote fra en diskette i stedet, hvis den er isat ved starten og BIOS er sat op til at prøve diskettedrevene af først.

Først vil resten af BIOS blive læst ind (noget ligger i ROM i forvejen). BIOS ligger i filen io.sys (ibmbio.com hos PC-DOS).

BIOS vil derpå indlæse operativsystemet. Dette består af to dele. Filen msdos.sys (ibmdos.com hos PC-DOS), der efter indlæsning forbliver i maskinens hukommelse, og filen command.com (kommandofortolkeren), der indlæses bagefter, og som kan overskrives af andre programmer, da den vil blive genindlæst, når disse andre programmer afsluttes.

Enkeltbruger[redigér | redigér wikikode]

MS-DOS er et enkeltbrugersystem, dvs. der er kun én person, der kan benytte systemet ad gangen. Brugeren logger heller ikke på, systemet er klart, når det er bootet. Hvis MS-DOS kører i et netværk, var det dog almindeligt, at man logger på netværket. Man vil også i nogle tilfælde skulle logge på applikationsprogrammer, hvis disse har en adgangskontrol.

Endelig er det muligt for MS-DOS at fungere som filserver eller databaseserver over for andre maskiner i et netværk. På den måde vil flere forskellige brugere kunne benytte den samme MS-DOS-maskine. På den måde kan man køre ganske avancerede flerbrugersystemer på MS-DOS.

Single task[redigér | redigér wikikode]

MS-DOS er også single task. Det vil sige, der er ét program, der kører. Dette program skal afsluttes, før andre kan få lov til at køre.

Dog har MS-DOS faciliteter til simpel multitasking, der benyttes af MS-DOS til at spoole printfiler, og som også gør det muligt at lade forskellige programmer køre på skift, styret af interrupts fra maskinens ur. MS-DOS lader det dog være helt op til disse programmer at bevare systemets integritet. Der er ingen beskyttelse af maskinens lager eller andre ressourcer. Man kan altså godt implementere multitasking med tvungen tidsdeling, men der er ingen beskyttelse af de enkelte programmer mod andre programmer.

API[redigér | redigér wikikode]

MS-DOS's Application Programming Interface (API) er baseret på software interrupts. Et applikationsprogram, der har brug for en tjeneste fra MS-DOS, vil udføre en særlig maskininstruktion, et softwareinterrupt. Dette interrupt har et nummer, som via en interrupttabel (interruptvektorer) oversættes til en adresse på en rutine, der håndterer interruptet. Ofte vil de nærme detaljer specificeres ved en kode (et tal) i et eller flere af cpu'ens registre, som interruptrutinen fortolker. Parametre til tjenesten overføres også i cpu'ens registre, tit som en adresse (en pointer) på en datastruktur. Når MS-DOS har udført tjenesten, returneres der til adressen lige efter den instruktion, der kaldte operativsystemet.

Ofte ville programmørerne for at få bedre hastighed eller for at udføre ting, der ikke kunne gøres gennem MS-DOS, kalde tilsvarende rutiner i BIOS eller direkte tilgå maskinens hardware. Dette kunne lade sig gøre, da MS-DOS ikke har nogen form for beskyttelse af maskinens eller operativsystemets ressourcer. Der findes også en del udokumenterede tjenester i MS-DOS, altså rutiner som Microsoft havde forbeholdt til egen brug og derfor ikke havde dokumenteret offentligt.

TSR-programmer[redigér | redigér wikikode]

MS-DOS gav mulighed for nogle meget enkle tilføjelser til det kørende system, nemlig de såkaldte Terminate and Stay Resident-programmer. Når et normalt program afslutter, kalder det en afslutningstjeneste i MS-DOS, der frigiver programmets lager og overgiver kontrollen til MS-DOS. En speciel afslutningsrutine tillader, at programmet kan beholde en del af eller hele den allokerede hukommelse, der altså ikke efterfølgende bliver tildelt andre programmer. Forinden har programmet hægtet sig på et eller flere interrupts, således at programmet kortvarigt bliver vakt til live, når disse interrupts bliver udført. Det er kotume derpå at lade kontrollen gå videre til andre programmer i interrupt-kæden. Ellers vil disse efterfølgende programmer blive sat ud af kraft, systemet vil ikke fungere længere. Metoden blev benyttet til en del fikse forbedringer: Tidlige printspoolere, smarte utilities der kunne kaldes frem ved at trykke på begge shift-taster (som Borland Sidekick) samtidig, tegnsætkonvertering på printerporte osv.

Brugergrænseflade[redigér | redigér wikikode]

MS-DOS bliver styret med forskellige DOS-kommandoer, dvs. det "sprog" man taler med computeren.

MS-DOS benytter en kommandoprompt også kaldet en kommandolinje til at modtage kommandoer fra brugeren. Disse kommandoer fortolkes af systemets kommandofortolker, der i MS-DOS's tilfælde hedder command.com. Nogle kommandoer bliver udført af selve kommandofortolkeren. Men i de fleste tilfælde vil kommandofortolkeren kalde et særskilt program, der hedder det samme som kommandoen, enten med endelsen .COM eller .EXE (filendelserne svarer til forskellige strukturer for programmerne). Det er muligt for brugerne at tilføje nye programfiler som kommandoer. Endelig kan kommandofortolkeren afvikle en række kommandoer, der er skrevet i en bat-fil, dvs. en fil med endelsen .BAT, hvilket står for batch. Filen køres altså uden at interagere ret meget med brugeren, evt. helt uden interaktion. Bat-filer har en simpel struktur for løkker og betingelser. Ellers fungerer de omtrent som sad brugeren og tastede de enkelte kommandoer ind, efterhånden som den foregående var færdig.

MS-DOS overtog fra version 2.0 filtre og pipes, som de er kendt fra Unix. Det betyder at programmer kan modtage data fra en fil i stedet for fra tastaturet (brugeren), lige som deres uddata evt. kan sendes videre til andre kommandoer.

MS-DOS var designet så den kommandofortolker, der som standard fulgte med, nemt kunne udskiftes med en brugervalgt, men folk ville efter fremkomsten af Apples Macintosh i 1984 hellere have en grafisk brugerflade til deres PC. Mange programmer forsøgte at skabe en grafisk brugergrænseflade og med stor individuel succes for nogle af dem, f.eks. XTree, Norton og Microsoft Word for DOS. Ingen af disse programmer førte dog til en ensartet brugergrænseflade.

Tidlige versioner af Windows var som ovennævnte blot programmer der kørte ovenpå MS-DOS og mange versioner af Windows er da også stadig grundlæggende bygget ovenpå MS-DOS.

Historie[redigér | redigér wikikode]

Oprindelse[redigér | redigér wikikode]

Oprindeligt blev styresystemet udviklet af Seattle Computer Products i 1980 under navnet 86-DOS, bedre kendt som QDOS (Quick and Dirty Operating System), og på vegne af dette firma licenserede Microsoft QDOS til IBM. Senere købte Microsoft rettighederne til systemet.

Udvikling[redigér | redigér wikikode]

IBM og Microsoft udgav begge versioner af DOS. Microsoft udgav deres version under navnet "MS-DOS" og IBM brugte navnet "PC-DOS" til deres udgivelser.

Den første version af operativsystemet havde ikke mulighed for at lagre filer i en hierarkisk filstruktur, altså ingen mapper og undermapper (det hedder directories eller kataloger i MS-DOS). Det fungerede derfor også kun med disketter, hvor antallet af filer er begrænset. Ret hurtigt blev filsystemet ændret til at tillade foldere.

  • PC-DOS 1.0 – August, 1981 – Første udgivelse sammen med den første IBM PC
  • PC-DOS 1.1 – Maj, 1982
  • MS-DOS 1.25 – Maj, 1982 – Første version for hardware fra andre producenter end IBM
  • MS-DOS 2.0 – Marts, 1983
  • PC-DOS 2.1 – Oktober, 1983
  • MS-DOS 2.11 – Marts, 1984
  • MS-DOS 3.0 – August, 1984
  • MS-DOS 3.1 – November, 1984
  • MS-DOS 3.2 – Januar, 1986
  • PC-DOS 3.3 – April, 1987
  • MS-DOS 3.3 – August, 1987
  • MS-DOS 4.0 – Juni, 1988
  • PC-DOS 4.0 – Juli, 1988
  • MS-DOS 4.01 – November, 1988
  • MS-DOS 5.0 – Juni, 1991
  • MS-DOS 6.0 – Marts, 1993
  • MS-DOS 6.2 – November, 1993
  • MS-DOS 6.21 – Februar, 1994
  • PC-DOS 6.3 – April, 1994
  • MS-DOS 6.22 – Juni, 1994 – Sidste version udgivet uden Windows
  • PC-DOS 7.0 – April, 1995
  • Windows 95/DOS 7.0 – August, 1995 – Første version udgivet sammen med Windows
  • Windows 95 OSR2/DOS 7.1 – August, 1997 – Understøttelse af FAT32 filsystemet
  • Windows 98/DOS 7.1
  • Windows 98 SE/DOS 7.1
  • Windows ME/DOS 8.0

MS-DOS fik efterhånden tilføjet funktioner fra andre styresystemer. F.eks. blev MS-DOS 2.0 udgivet med flere funktioner fra UNIX, bl.a. undermapper.

Da Intel introducerede 80286 processoren på markedet, begyndte IBM og Microsoft at arbejde på et fælles projekt, OS/2. Oprindelig var det planen, at OS/2 skulle være en protected mode version af MS-DOS med en grafisk brugerflade, men Microsoft forlod hurtigt samarbejdet for i stedet at udvikle Windows NT.

Kilder og henvisninger[redigér | redigér wikikode]

Se også[redigér | redigér wikikode]