Archiv verlassen und diese Seite im Standarddesign anzeigen : Speicherarten von DOS
cereal
2003-03-30, 19:54:31
Könnt ihr mir bitte genauer erläutern, was für aufgaben welche speicherart zu machen hat (habe 4 tage technik versäumt):
Konventioneller Speicher
Erweiterungsspeicher
Expansionsspeicher
danke
mfg
acrophobia
2003-03-30, 20:51:11
Originally posted by cereal
Konventioneller Speicher
Erweiterungsspeicher
Expansionsspeicher
Ein Altes Relikt aus der DOS Zeit!
Konventioneller Speicher war kurz gesagt der Adressbereich bis 640kb. Dort wurden die ausführbaren Codeteile eines 16bit Programmes "eingelagert".
Erweiterungs- bzw. Expansionsspeicher liegt im Adressbereich >1024kb. Dort wurden Daten und unbenutze Codefragmente gelagert.
Der Unterschied zwischen Erweiterungs- und Expansionsspeicher liegt IMO nur in der Art wie darauf zugegriffen werden mußte:
Für Erweiterungsspeicher brauchte man einen EMS-Treiber, der bei anfragen Speicher vom Erweiterungsspeicher in 64k Blöcken in den Konventionellen Speicher "eingeblendet" hat.
Um auf Expansionsspeicher zugreifen zu können musste das Programm selbsständig für die Verwaltung sorgen.
Hoffe das ist soweit korrekt. Wenn ich falsch liege dann bitte um Korrektur!
cereal
2003-03-30, 21:20:17
danke für die gute erklärung, aber wie merke ich mir das alles?!? hm ;/
acrophobia
2003-03-30, 21:28:13
Originally posted by cereal
danke für die gute erklärung, aber wie merke ich mir das alles?!? hm ;/
Hmm, dafür hab ich dann auch keine Erklärung ;)
Wenn du aber noch mehr "Infos-die-ich-mir-nicht-behalten-kann(tm)" über Betriebssysteme suchst dann schau dir mal folgendes an:
http://www.netzmafia.de/skripten/bs/
Dort findest du Interessante Infos.
Michamel2k
2003-03-31, 14:24:16
Der Speicher
- zwischen 0 und 640KB wird "Konventioneller Arbeitsspeicher" genannt und stand für DOS und DOS-Programme zur Verfügung,
- zwischen 640 und 1024 KB liegen die "upper memory areas", hier residiert das Rechner-BIOS und die BIOSe von Grafikkarte, SCSI und sonstigen Controllern sowie diverse rechnerinterne Funktionen; um den konventionellen Arbeitsspeicher frei zu bekommen, konnten ungenutzte Stellen in diesem Bereich mit "hochladbaren" Hardware-Treibern (für Maus usw.) belegt werden,
- zwischen 1024 und und 1088 KB liegt das "high memory area", wo der Extended Memory Manager (bsp. HIMEM.SYS) residiert; auch hier konnte noch freier Platz mit auch hochladbaren Treibern belegt werden,
- über 1088 KB konnte je nach Definition als Expansions- oder Erweiterungsspeicher genutzt werden.
Michamel
mapel110
2003-03-31, 15:36:04
Originally posted by acrophobia
Für Erweiterungsspeicher brauchte man einen EMS-Treiber, der bei anfragen Speicher vom Erweiterungsspeicher in 64k Blöcken in den Konventionellen Speicher "eingeblendet" hat.
Um auf Expansionsspeicher zugreifen zu können musste das Programm selbsständig für die Verwaltung sorgen.
ehm, iirc
erweiterungsspeicher= xms speicher
expansionspeicher = ems speicher (benötigt emm386.exe speichermanager von ms-dos)
also genau umgekehrt, wie du meintest ;)
mfg
cereal
2003-03-31, 16:11:07
[QUOTE]Originally posted by acrophobia
Erweiterungs- bzw. Expansionsspeicher liegt im Adressbereich >1024kb. Dort wurden Daten und unbenutze Codefragmente gelagert.
[SIZE=4]Erweiterungs- bzw. Expansionsspeicher
das müsste falsch sein!
Erweiterungsspeicher (1 MB)
Expansionsspeicher (384 kb)
mapel110
2003-03-31, 17:30:32
http://www.glossar.de/glossar/1frame.htm?http%3A//www.glossar.de/glossar/z_arbeitss.htm
da
ich hatte recht und back mir jetzt nen eis :D
hm, irgendwie wird da ems speicher falsch erklärt. :|
ahh, jetzt hab ichs glaube. unter 386ern konnte ems speicher halt emuliert werden.
und das mit speicher oberhalb der 1 mb.
sonst waren das zusatzmodule für 8086/88er.
Exxtreme
2003-03-31, 17:58:39
Aaaalso,
EMS-Speicher (Expanded Memory Source AFAIR)ist eigentlich eine Notlösung um HW-Beschränkungen zu umgehen. Da die 808x-Serie nicht mehr als 1088 kB Speicher adressieren kann und die damaligen Programme schnell an diese Grenze stiessen, hat man den Speicher in Form von ISA-Karten nachgerüstet. Die Speichermodule wurden halt als 'Geräte' eingebaut. Um darauf zuzugreifen hat man ein 64 kB grosses Fenster in der IIRC High Memory Area (HMA) reserviert. Wenn man da was reingeschoben hat, landete dies auf der ISA-Karte. Genauso konnte man die Daten da auslesen. Wie die Adressierung zustande kam, das weiss ich leider nicht mehr. Der Nachteil dieser Methode ist, daß dies sehr langsam abläuft da ständig Häppchen reinkopieren muss und wieder raus etc da die CPU mit diesen Daten direkt nichts anfangen konnte.
Irgendwannmal konnten die CPUs halt mehr als die 1088 kB adressieren und eine neue Speicherart wurde geboren: XMS-Speicher (eXtended Memory Source IIRC). Auf diesen konnte die CPU dann direkt zugreifen.
Wenn in meiner Ausführung Fehler drinne sind, dann bitte ich um Korrekturen.
cereal
2003-03-31, 20:50:05
nix verstehen :(
Savant
2004-01-24, 18:19:42
Wie kann ich EMS Speicher im Dos anschalten ? Brauche das für nen uralt spiel ----- Danke
Lokadamus
2004-01-24, 19:25:15
mmm...
Um EMS Speicher unter DOS zu erhalten, muss in die Config.Sys folgendes eingetragen werden:
Device=c:\dos\himem.sys
device=c:\dos\emm386.exe /ram=16394 (erzeugt 16 MB Ram als EMS)
dos=high,umb
Das gleiche geht auch bei Windows, statt c:\dos dann eben c:\windows ...
EMS arbeitet Seitenweise (Pages, eine Seite hat eine Grösse von 64 KB oder 256 KB weiss ich nicht, müssten 64 KB sein, es sieht dann so aus, das du XXX Pages a 64 KB hast), während XMS den Speicher einfach durchadressiert, so hab ich es zumindest verstanden ...
Hardcore-Variante für viel UMB's:
DEVICE=C:\WINDOWS\HIMEM.SYS /Testmem: off
DEVICE=C:\WINDOWS\EMM386.EXE /NOEMS /I=B000-B7FF /NOVCPI ...
XMS kann durch eine Registerumschaltung mit Hilfe der MMU über das 64K-Fenster auf den oberen Speicher quasi direkt zugreifen.
Bei EMS muß der Speicher von oben nach unten in Form der Kacheln kopiert werden.
Das erklärt auch die langsame Arbeitsweise von EMS.
Und die ganze Sache mußte gemacht werden, da anno 1982 640K-Ram als genug für alle Ewigkeiten angesehen wurden.
Savant
2004-01-26, 18:53:43
@ Lokadamus:
das mit dem ems funzt bei mir nicht wie du das meintest leider noch ne idee oder ein anderer hier ?
Lokadamus
2004-01-26, 21:31:51
mmm...
Frage, welches Windows hast du ? das, was ich geschrieben habe, gilt für Windows 9x (bzw. MS-DOS 6.0 - 6.22), bei Windows 2000 und XP kannst du versuchen, auf die .Exe, die aufgerufen wird, raufzugehen und die Eigenschaften dafür mal durchgucken. Dort kann man angeben, wie sie ausgeführt werden soll (im Windows 95 kompatibilitätsmodus und mit EMS Speicherunterstützung). Allerdings laufen unter 2000 und XP die alten Dos-Spiele meistens nicht mehr richtig/ stürzen häufig ab. Die Technik basiert eben auf NT und nicht mehr auf DOS ... für einige DOS-Games gibt es noch einen Emulator (http://www.scummvm.org/), aber der ist nur für Lucas Art Spiele gemacht ...
Marcel
2004-01-26, 23:31:01
Original geschrieben von Zool
Bei EMS muß der Speicher von oben nach unten in Form der Kacheln kopiert werden.
Das erklärt auch die langsame Arbeitsweise von EMS.
Waren die Hardware-Bauer damals wirklich so beknackt, oder haben die die MMU des 386er genutzt, um die Adressen des 64kb großen Page Frames, welcher üblicherweise zwischen 640 und 1024k eingerichtet wurde, direkt auf Speicherbereiche > 1088k umzuleiten?
Mein Gedächtnis verblasst...
harkpabst_meliantrop
2004-01-28, 00:39:36
Original geschrieben von Marcel
Waren die Hardware-Bauer damals wirklich so beknackt, oder haben die die MMU des 386er genutzt, um die Adressen des 64kb großen Page Frames, welcher üblicherweise zwischen 640 und 1024k eingerichtet wurde, direkt auf Speicherbereiche > 1088k umzuleiten?
Mein Gedächtnis verblasst...
Ich möchte mal so antworten:
Der ATARI ST (um rein zufällig nur ein Beispiel zu nennen) konnte schon damals mit seinem Motorala 68000 unter TOS seine (maximal) 4 MB linear und ohne Tricks adressieren. ;)
Das Speichermanagement, eine der Ur-Aufgaben eines Betriebssystems, irgendwelchen Hilfsprogrammen zu überlassen, disqualifizierte DOS eigentlich schon damals...
@Marcel
Bei Tecchannel gibts es eine kleine Retro-Reihe zu den X86-Prozies, in Teil2 wird auch auf HiMem und CO eingegangen
http://www.tecchannel.de/hardware/1292/index.html
@harkpabst_meliantrop
Naja die gute alte MC68000 war eben ein anderes Stück Si, wesentlich moderner als die 8086/88er dabei nur ein Jahr jünger.
Beim Amiga 500/2000 konnte man sogar 10MB mit dem 24Bit-Adressbus von dem 68000er addressieren.
Ab den 68020 ging der Übergang zu den 32Bit-Adressraum ohne Probleme.
Aber der 68000 war auch immer schon intern eine 32Bit-CPU, hatte aber eben nur ein 16Bit-Speicherinterface mit dem 24Bit-Adressbus.
Diese 16/32Bit Dualität steckte bei Atari ST ja auch im Namen (Sixteen/Thirty-Two = ST)
Lokadamus
2004-01-28, 11:46:46
mmm...
Um dem Schwachsinn nochmal die Krone aufzusetzen... Der 80186 wurde immerhin in Waschmaschinen eingebaut, das hat man mit nem Motorola aber nicht gemacht, oder ? Naja, damals meinte Bill Gates ja auch, das 640 KB Ram mehr als genug für alle Ewigkeit sei ...
x-dragon
2004-01-28, 11:58:51
Original geschrieben von Lokadamus
mmm...
Um dem Schwachsinn nochmal die Krone aufzusetzen... Der 80186 wurde immerhin in Waschmaschinen eingebaut, das hat man mit nem Motorola aber nicht gemacht, oder ? Naja, damals meinte Bill Gates ja auch, das 640 KB Ram mehr als genug für alle Ewigkeit sei ... Naja wenn man die Ressourcen sinnvoll nutzen würde ... die Roboter die zur Zeit auf dem Mars unterwegs sind, sollen z.B. mit 25 MHz-CPUs bestückt sein :stareup:.
Marcel
2004-01-28, 12:14:22
Original geschrieben von Zool
@Marcel
Bei Tecchannel gibts es eine kleine Retro-Reihe zu den X86-Prozies, in Teil2 wird auch auf HiMem und CO eingegangen
http://www.tecchannel.de/hardware/1292/index.html
Der gute alte Messmer... Das Buch von ihm ist genial.
Leider wird das, was ich hier angezweifelt habe, wohl erst im 5. Teil der Artikelserie geklärt, und es sind erst drei Teile online. Und das Buch habe ich meinen Kommilitonen damals so ausdrücklich empfohlen, dass ich es mir nicht mehr selbst kaufen musste. =)
Original geschrieben von Zool
Diese 16/32Bit Dualität steckte bei Atari ST ja auch im Namen (Sixteen/Thirty-Two = ST)
Stand ST nicht für Sixteen und TT für Thirty-two?
@Marcel
Naja die interessanten MMU-Infos kommen ja beim Tecchannel hoffentlich in den nächsten Tagen
Zum Thema Atari
Das ST steht für Sixteen/Thirty two
in Anspielung auf 16Bit-Datenbus, aber interner 32Bit-Verabeitung der guten alten MC68000 (btw. 68000 weil knapp über 68000 Transitoren)
TT steht für Thirty two / Thirty two, und meint nun auch einen 32Bit-Datenbus bei 68030 des Atari TT.
Marcel
2004-01-28, 12:57:02
Original geschrieben von Zool
@Marcel
Naja die interessanten MMU-Infos kommen ja beim Tecchannel hoffentlich in den nächsten Tagen
Zum Thema Atari
Das ST steht für Sixteen/Thirty two
in Anspielung auf 16Bit-Datenbus, aber interner 32Bit-Verabeitung der guten alten MC68000 (btw. 68000 weil knapp über 68000 Transitoren)
TT steht für Thirty two / Thirty two, und meint nun auch einen 32Bit-Datenbus bei 68030 des Atari TT.
OK, dann mach mal bitte weiter:
STE
und:
FALCON
=)=)
Original geschrieben von Marcel
STE
und:
FALCON
=)=)
Mögen sie in Frieden ruhen.
Wären nicht irgendwann mal Atari und Amiga am Missmanagement der Companies eingegangen, hätte es bestimmt noch einige Impulse beim Speichermanagement und generell in der Computerindustrie gegeben.
Wenigstens hängt man bei Apple nicht an so an alten Zöpfen und hat sich irgenwann von den Altlasten getrennt.
Sogesehen ist der Itanium der bessere Weg als der Athlon 64 mit seiner X86-64Bit Erweitung und immer noch vorhandenen Gate A20 Control
harkpabst_meliantrop
2004-01-30, 19:17:41
Der Falcon war schließlich in erster Linie ein TT, dem man die Flügel gestutzt hatte. :D Naja, ich übertreibe, es gab ja auch ein paar Dinge, die er mehr konnte.
Ich hatte damals im Endstadium einen Mega ST4 mit PAK68/3 (68030 48 MHz plus FPU) und FastRAM-Karte mit nochmal 8 MB TT-RAM. Das ganze einschließlich einer ATI Mach64-Karte in das Original Mega ST-Gehäuse gequetscht. Das hat Spaß gemacht...
Marcel
2004-01-31, 00:22:01
[B]Original geschrieben von
Ich hatte damals im Endstadium einen Mega ST4 mit PAK68/3 (68030 48 MHz plus FPU) und FastRAM-Karte mit nochmal 8 MB TT-RAM. Das ganze einschließlich einer ATI Mach64-Karte in das Original Mega ST-Gehäuse gequetscht. Das hat Spaß gemacht...
Dass ich hier in's Sabbern komme, liegt nicht am Bier...
:O :O :O :O
harkpabst_meliantrop
2004-01-31, 16:41:15
Ach ja, das waren noch Zeiten. Die PAK68/3 habe ich natürlich (erstens der geringeren Kosten und zweitens der Ehre wegen) selbst zusammengelötet. Nicht ohne dabei konsequent sämtliche Tantal-Kondensatoren verpolt aufzulöten.
Bei der Inbetriebnahem hatte ich dann das Vergnügen, die Stetigkeitsbedingungen von Strom und Spannung am explodierenden Kondensator im Selbstversuch bestimmen zu dürfen. :( Aber oh Wunder: Nichts ist dabei kaputt gegangen. Neue Kondensatoren besorgt, ausnahmsweise richtig herum eingelötet und alles lief. :)
vBulletin®, Copyright ©2000-2025, Jelsoft Enterprises Ltd.