Microsoft Disk Operating System — Änderungen 5301 → 9233

Zeile 1: Zeile 1:
−
'''MS-DOS''' (Microsoft Disk Operating System) ist eines der ersten Betriebssysteme für [[x86]]-PCs. DOS war in den späten 1980ern das dominierende Betriebssystem für Ein-Benutzer-Rechner.  Heute ist DOS nicht mehr erhältlich. Stattdessen gibt es Betriebssysteme wie Free-DOS oder andere Abstammungen von MS-DOS.
+
{{Vorlage:Infobox OS
 +
|Name = MS-DOS
 +
|Entwickler = Microsoft
 +
|Version = 8.0 (Windows ME)
 +
|Lizenz = Proprietär
 +
|Plattform = [[x86]]| (Real Mode)
 +
|API = u.a. int 21h
 +
|Binaerformat = COM, [[MZ EXE]]
 +
|Kernel = [[Monolithischer Kernel|Monolith]]
 +
|Sprache = Assembler, C
 +
|IPC = -
 +
}}
  
−
Früher waren alle Versionen von [[Windows]] abhängig von DOS, bis Windows 3.11 wurden DOS und Windows sogar noch getrennt installiert. Beim NT-Kernel, der von neueren Windows-Versionen benutzt wird, änderte sich das aber: Der [[NT]]-[[Kernel]] wurde komplett neu entwickelt und konnte DOS-Anwendungen nicht mehr oder nur mit Problemen starten. Ab diesem Zeitpunkt wurden immer häufiger Emulatoren wie z.B. DOS-Box eingesetzt, um diese Programme dennoch starten zu können.
+
'''MS-DOS''' (Microsoft Disk Operating System) ist eines der ersten Betriebssysteme für [[x86]]-PCs. DOS war in den späten 1980ern das dominierende Betriebssystem für Ein-Benutzer-Rechner.  Heute ist DOS nicht mehr erhältlich. Stattdessen gibt es Betriebssysteme wie FreeDOS oder andere Abstammungen von MS-DOS.
 +
 
 +
Die ursprüngiche Codebasis von [[Windows]] (Windows 1.x bis Windows ME) waren lediglich ein grafischer Betriebssystemaufsatz für MS-DOS, auch wenn MS-DOS seit Windows 95 (MS-DOS 7.0) nicht mehr einzeln verkauft wurde. Beim NT-Kernel, der von allen neueren Windows-Versionen benutzt wird, änderte sich das aber: Der [[NT]]-[[Kernel]] wurde komplett neu entwickelt und konnte DOS-Anwendungen nicht mehr oder nur mit Problemen starten. Ab diesem Zeitpunkt wurden immer häufiger Emulatoren wie z.B. DOS-Box eingesetzt, um diese Programme dennoch starten zu können.
 +
 
 +
==Zugriff auf hohen Speicher==
 +
Da DOS ein [[Real Mode|Real-Mode]]-Betriebssystem ist, ist der direkt adressierbare Speicher auf etwa ein Megabyte beschränkt. Da der Bereich zwischen 640 kB und 1 MB für das BIOS und zum Einblenden von Hardware reserviert ist (die ''Upper Memory Area''), bleiben für Treiber und Anwendungen 640 kB an ''konventionellem Speicher'' übrig. Weil das auf Dauer etwas zu wenig war, wurden Methoden eingesetzt, um auch auf die höheren Speicherbereiche zugreifen zu können.
 +
 
 +
Der Treiber himem.sys stellt gemäß der ''Extended Memory Specification'' den Zugriff auf verschiedene Arten von hohen Speicherbereichen zur Verfügung:
 +
* Die ''High Memory Area'' (HMA) bezeichnet den 65520 Bytes großen Bereich ab 1 MB. Der Zugriff darauf wird ermöglicht, indem das [[A20-Gate]] aktiviert wird, so dass der Bereich innerhalb des im Real Mode adressierbaren Bereichs liegt.
 +
* Je nach Hardware freie Speichbereiche in der ''Upper Memory Area'' zwischen 640 kB und 1 MB. Die Adressierung im Real Mode stellt hier kein Problem dar.
 +
* ''Extended Memory Blocks'' beginnen nach dem Ende der HMA. Die API erlaubt es, im erweiterten Speicher Blöcke zu reservieren, freizugeben und zu kopieren (die Speicherverwaltung schaltet dazu kurzzeitig in den [[Protected Mode]]). Eine direkte Adressierung des Speichers ist im Real Mode nicht möglich, so dass die API-Funktion zum Kopieren des Blocks in den konventionellen Speicher benutzt werden muss bevor mit dem Inhalt gearbeitet werden kann.
 +
 
 +
Mit dem ''Expanded Memory'' stellt emm386.exe einen anderen Mechanismus zur Verfügung, um auf hohen Speicher zuzugreifen. Dazu wird mindestens ein 386er benötigt, denn der Prozessor wird dazu dauerhaft in den 32-Bit-Protected-Mode geschaltet, so dass [[Paging]] verfügbar ist und hoher Speicher in das erste Megabyte des virtuellen Adressraums eingeblendet werden kann. Dadurch wird das bei XMS nötige Kopieren vermieden. Das eigentliche System und alle Programme laufen mit emm386.exe im [[VM86]]-Modus.
 +
 
 +
==Weblinks==
 +
* [http://www.phatcode.net/res/219/files/xms30.txt Extended Memory Specification (XMS)]
 +
* [http://www.phatcode.net/res/218/files/limems40.txt Expanded Memory Specification (EMS)]
  
 
[[Kategorie: Betriebssystem]]
 
[[Kategorie: Betriebssystem]]