A technológia szédületes tempóban fejlődik, és miközben a modern operációs rendszerek virtuális gépekkel, emulátorokkal igyekeznek hidat verni a múlt és a jelen közé, volt idő, amikor a múlt még nagyon is része volt a jelennek. Ezt az átmeneti időszakot jellemezte talán legjobban a Windows 98, egy hibrid operációs rendszer, amely magán viselte az igazi grafikus felületű Windows ígéretét, miközben mélyen gyökerezett a régebbi, megbízható MS-DOS világában. A legtöbb felhasználó talán sosem lépett túl a jól ismert asztalon és az indítástól kezdve azonnal elérhető programokon, de sokan, különösen a retro játékok kedvelői, a rendszergazdák és a hobbi hackerek, mélyebbre ástak: ők ismerték és használták az MS-DOS mód rejtelmeit. De mi is volt ez pontosan, és miért volt rá szükség?
Miért volt szükség az MS-DOS módra a Windows 98 idején?
A Windows 98, akárcsak elődje, a Windows 95, egy 16/32 bites hibrid operációs rendszer volt. Ez azt jelentette, hogy bár rendelkezett modern, grafikus felhasználói felülettel (GUI), alatta mégis ott dobogott az MS-DOS szíve. Sok program és eszköz azonban, különösen az 1990-es évek elejéről származóak, még nem a Windows API-ra épültek, hanem közvetlenül a DOS-ra. Ezek a programok, elsősorban a népszerű DOS játékok, valamint bizonyos rendszersegédprogramok és hardvereszközök (például BIOS frissítő segédprogramok, speciális diagnosztikai eszközök), megkövetelték a „tiszta” DOS környezetet. A Windows grafikus felülete és az általa menedzselt erőforrások, mint a memória és a hardverhozzáférés, zavaróan hatottak rájuk, vagy egyenesen megakadályozták működésüket. Az MS-DOS mód pontosan ezt a tiszta környezetet biztosította: egy olyan világot, ahol a Windows grafikus felülete teljesen leállt, és a felhasználó közvetlenül a DOS parancssorával találta magát szemben, teljes kontrollt gyakorolva a hardver felett.
Belépés az MS-DOS módba: Több mint egy egyszerű parancssor
Fontos tisztázni egy alapvető félreértést: a Windows 98 alatt futtatható „Parancssor” (Command Prompt) ablak nem volt azonos a valódi MS-DOS móddal. A Parancssor valójában egy DOS-emulációs ablak volt a Windows GUI-n belül, ami azt jelentette, hogy az erőforrásokat még mindig a Windows kezelte, és nem volt garantált a teljes hardverhozzáférés. Ez elegendő volt számos egyszerűbb DOS-programhoz, de a komolyabb játékokhoz vagy az alacsony szintű hardvereszközökhöz ez nem volt elegendő.
A valódi MS-DOS módba való belépés a következőképpen történt:
- Rendszerleállítás menüpont: A leggyakoribb és legegyszerűbb módja az volt, hogy a Start menüből a „Leállítás” (Shut Down) opciót választva, majd a „Számítógép újraindítása MS-DOS módban” (Restart in MS-DOS mode) lehetőséget kiválasztva. Ekkor a Windows 98 elegánsan leállt, majd betöltötte a tiszta DOS környezetet.
- Indítási menü: A számítógép indításakor, még a Windows betöltődése előtt, a CTRL billentyű lenyomásával elő lehetett hívni az indítási menüt (Boot Menu). Itt számos opció közül lehetett választani, többek között az „Only Command Prompt” (Csak parancssor) lehetőséget, ami szintén a tiszta DOS környezetbe vezetett.
- Saját MS-DOS mód indítóparancsikon: A haladó felhasználók egyéni MS-DOS mód indítóparancsikonokat is létrehozhattak. Ezek a parancsikonok lehetővé tették egyedi CONFIG.SYS és AUTOEXEC.BAT fájlok betöltését, specifikus programokhoz optimalizálva a környezetet. Ehhez a „Program Properties” (Program tulajdonságai) ablakban az „Program” fülön a „Close program on exit” (Program bezárása kilépéskor) jelölőnégyzetet ki kellett kapcsolni, és az „Advanced” (Speciális) gombra kattintva be kellett jelölni a „MS-DOS mode” (MS-DOS mód) opciót. Itt meg lehetett adni, hogy a rendszer a szokásos `config.sys` és `autoexec.bat` fájlokat használja, vagy egy egyedi, kifejezetten az adott programhoz optimalizált változatot.
A tiszta DOS környezet: CONFIG.SYS és AUTOEXEC.BAT
Amikor a rendszer belépett az MS-DOS módba, a Windows grafikus felülete teljesen kikapcsolt, és a számítógép visszatért egy olyan állapotba, mintha közvetlenül DOS-sal indult volna. Ez azt jelentette, hogy a hardverhez való hozzáférés közvetlenné vált, és a memória sem volt tele a Windows által használt segédprogramokkal és illesztőprogramokkal. Ebben a környezetben két alapvető szöveges fájl játszott kulcsszerepet: a CONFIG.SYS és az AUTOEXEC.BAT.
CONFIG.SYS: A rendszer konfigurációs alapja
Ez a fájl felelt a rendszer alapvető hardveres konfigurációjáért és a memóriakezelésért. A benne lévő parancsok határozták meg, hogyan kezelje a DOS a memóriát, milyen eszközillesztőket töltsön be, és hogyan konfigurálja az alapvető rendszerfunkciókat. Néhány tipikus bejegyzés:
DEVICE=C:WINDOWSHIMEM.SYS
: Ez a sor töltötte be az Extended Memory Manager-t (kiterjesztett memória kezelőt), amely lehetővé tette, hogy a DOS programok hozzáférjenek a 640 KB feletti memóriához (XMS).DEVICE=C:WINDOWSEMM386.EXE NOEMS
vagyRAM
: Az Expanded Memory Manager (bővített memória kezelő) betöltése volt a feladata. ANOEMS
paraméterrel csak az Upper Memory Blocks (UMBs) területet tette elérhetővé, míg aRAM
paraméter bővített memóriát (EMS) is emulált, ami számos régebbi DOS játék és program számára volt elengedhetetlen.DOS=HIGH,UMB
: Ez a parancs volt az optimalizált memóriakezelés sarokköve. AHIGH
paraméterrel a DOS magját a High Memory Area-ba (HMA) töltötte be, felszabadítva ezzel közel 60 KB hagyományos memóriát (640KB alatti terület). AzUMB
paraméterrel pedig az Upper Memory Blocks (UMBs) területet tette elérhetővé, ahol az eszközillesztőket és a TSR programokat lehetett elhelyezni, tovább optimalizálva a hagyományos memória felhasználását.DEVICEHIGH=C:CDROMDRIVER.SYS /D:MSCD001
: Ez a sor egy CD-ROM illesztőprogramot töltött be az UMB területre, ami elengedhetetlen volt a CD-ROM-ról futó játékokhoz és programokhoz.FILES=40
,BUFFERS=20
,LASTDRIVE=Z
: Ezek a parancsok a fájlkezeléshez és a meghajtókhoz kapcsolódtak, beállítva az egyidejűleg megnyitható fájlok számát, a lemez gyorsítótár méretét és az utolsó lehetséges meghajtó betűjelét.
AUTOEXEC.BAT: A programindító szkript
Az AUTOEXEC.BAT volt a „parancsfájl”, amely automatikusan lefutott a CONFIG.SYS betöltése után. Ez tartalmazta a környezeti változók beállításait, a TSR (Terminate and Stay Resident) programok (pl. egér driver, CD-ROM kiterjesztés) betöltését és az esetlegesen automatikusan elindítandó programokat. Néhány gyakori bejegyzés:
SET BLASTER=A220 I5 D1 H5 P330 T6
: Ez volt a Sound Blaster hangkártya beállító sora. A paraméterek (portcím, megszakítási vonal, DMA csatorna, stb.) pontos beállítása létfontosságú volt a régi DOS játékok hangjának működéséhez.C:MOUSEMOUSE.COM
: Az egér illesztőprogramjának betöltése, ami a DOS-os egérhasználatot tette lehetővé.LH C:WINDOWSCOMMANDMSCDEX.EXE /D:MSCD001 /M:10
: Ez a sor töltötte be a MSCDEX.EXE programot, amely elengedhetetlen volt ahhoz, hogy a DOS felismerje és kezelni tudja a CD-ROM meghajtót. AzLH
(Load High) paraméter itt is azt jelentette, hogy az UMB területre töltődik be.PATH=C:DOS;C:WINDOWS;C:UTILS
: A PATH környezeti változó beállítása, amely megmondta a DOS-nak, hol keressen végrehajtható fájlokat, ha nem adtuk meg a teljes elérési utat.PROMPT $P$G
: A parancssor promptjának beállítása (pl. C:>).
A Windows 98 okosan kezelte ezeket a fájlokat. Amikor normál Windows módban indult, a saját, Windows-specifikus CONFIG.SYS és AUTOEXEC.BAT fájlokat használta. Amikor azonban MS-DOS módba lépett, automatikusan átnevezte ezeket CONFIG.W98
és AUTOEXEC.W98
névre, majd a gyökérkönyvtárban lévő CONFIG.DOS
és AUTOEXEC.DOS
(vagy ha nem léteztek, akkor a CONFIG.SYS
és AUTOEXEC.BAT
) fájlokat használta. Ez a mechanizmus tette lehetővé a Windows és a DOS mód közötti zökkenőmentes váltást és a különböző konfigurációk fenntartását.
Memóriakezelés a DOS-ban: A 640 KB-os falon túl
A memóriakezelés volt az egyik legnagyobb kihívás a DOS-ban, és az MS-DOS mód felhasználóinak alaposan érteniük kellett hozzá. A DOS eredeti felépítése miatt a programok csak a hagyományos memóriát (Conventional Memory), azaz az első 640 KB RAM-ot tudták közvetlenül címezni. Sok program, különösen a nagy DOS játékok, igényelték, hogy minél több ebből a 640 KB-ból szabad legyen. Ezt a kihívást oldották meg a memóriakezelők:
- Hagyományos memória (Conventional Memory): Az első 640 KB RAM, a DOS és a futó programok számára.
- Felső memória terület (Upper Memory Area – UMA) és Felső memóriablokkok (Upper Memory Blocks – UMBs): A 640 KB és 1 MB közötti terület, amit a BIOS, a videókártya és más hardverek használtak. Az UMB-k olyan szabad blokkok voltak ezen a területen, ahová az eszközillesztőket és a TSR programokat be lehetett tölteni a CONFIG.SYS és AUTOEXEC.BAT fájlokban a
DEVICEHIGH
ésLOADHIGH
(LH
) parancsokkal, felszabadítva ezzel hagyományos memóriát. - Kiterjesztett memória (Extended Memory – XMS): Az 1 MB feletti memória, amit a
HIMEM.SYS
kezelt. Ezt a memóriát elsősorban a modernebb DOS programok és a Windows használta. - Bővített memória (Expanded Memory – EMS): Egy speciális memóriamenedzsment technológia, amit a
EMM386.EXE
emulált. Régebbi DOS játékok és programok használták, amelyek direkt módon tudtak hozzáférni ehhez a memóriatípushoz. Az EMS lehetővé tette, hogy a programok a 640 KB-os limitet áthidalva nagyobb adatmennyiséget kezeljenek.
A cél az volt, hogy a MEM
parancs kiadása után minél nagyobb számot lássunk a „Free Conventional Memory” (Szabad hagyományos memória) sorban. Ezt a CONFIG.SYS és AUTOEXEC.BAT fájlok gondos optimalizálásával lehetett elérni, az EMM386.EXE
, HIMEM.SYS
, DOS=HIGH,UMB
és az LH
/DEVICEHIGH
parancsok segítségével. Sokszor órákat lehetett eltölteni a tökéletes konfiguráció megtalálásával, ami elindította a kedvenc játékot a megfelelő hangzással és sebességgel.
Gyakori felhasználási módok és a retro élmény
Az MS-DOS mód létfontosságú volt számos felhasználói forgatókönyvben:
- Klasszikus DOS játékok: Ez volt az MS-DOS mód fő vonzereje. Olyan legendás címek, mint a Doom, Duke Nukem 3D, Warcraft II, Fallout, Civilization, X-COM: UFO Defense vagy a Quake, mind igazi DOS környezetben működtek optimálisan. Ezek a játékok gyakran igényeltek speciális memóriakonfigurációt, direkt hardverhozzáférést a hangkártyához (például Sound Blaster) vagy a CD-ROM-hoz, amit a Windows-on belüli DOS ablak nem tudott biztosítani.
- Régi üzleti alkalmazások és segédprogramok: Sok kisebb vállalkozás még mindig DOS alapú számlázó, könyvelő vagy adatbázis szoftvereket használt, amelyek stabilitásához elengedhetetlen volt a tiszta DOS környezet. Emellett számos diagnosztikai, adatmentő vagy lemezkezelő segédprogram is kizárólag DOS alatt működött.
- BIOS frissítés és alacsony szintű műveletek: Bizonyos hardvereszközök, például az alaplap BIOS-ának frissítése, gyakran igényelt egy tiszta DOS boot lemezt vagy az MS-DOS mód használatát. Ezek a műveletek nagy pontosságot és közvetlen hardverhozzáférést igényeltek.
- Programozás és fejlesztés: A régi C, Pascal vagy assembly fordítóprogramok gyakran DOS-alapúak voltak, és a fejlesztők a DOS módot használták a kód fordítására és futtatására.
- Hálózati hozzáférés: Bár ritkábban, de léteztek DOS-os hálózati illesztőprogramok és segédprogramok, amelyek lehetővé tették a hálózati erőforrások elérését akár MS-DOS módból is.
Az MS-DOS mód előnyei és korlátai
Az MS-DOS módnak megvoltak a maga jelentős előnyei és hátrányai a Windows 98 idején:
Előnyei:
- Stabilitás: A tiszta DOS környezet sokkal stabilabb volt a régi programok számára, mivel nem kellett versenyeznie a Windows erőforrásigényével és komplexitásával.
- Teljesítmény: Mivel nem futott háttérben a Windows, az összes erőforrás (CPU, memória) az éppen futó DOS program rendelkezésére állt, ami jobb teljesítményt eredményezett.
- Hardverhozzáférés: Közvetlen hozzáférés a hardverhez, ami elengedhetetlen volt bizonyos játékokhoz (pl. Sound Blaster hangkártya, joystick) és alacsony szintű segédprogramokhoz.
- Kompatibilitás: Megoldást nyújtott a régebbi, DOS-ra írt szoftverek futtatására modern(ebb) gépeken.
Korlátai:
- Nincs grafikus felület: A parancssor használata sokak számára ijesztő és kényelmetlen volt.
- Nincs multitasking: Egyszerre csak egy program futhatott. A váltás a Windows és a DOS mód között újraindítást igényelt.
- Fájlrendszer korlátok: A DOS nem támogatta a hosszú fájlneveket (8.3 formátum), ami problémákat okozhatott a Windows-ban létrehozott fájlokkal.
- Manuális konfiguráció: A CONFIG.SYS és AUTOEXEC.BAT kézi szerkesztése hibalehetőségeket rejtett, és időigényes volt.
- Periféria támogatás: A modern perifériák illesztőprogramjai gyakran hiányoztak DOS alatt.
A búcsú a DOS-tól: Egy korszak vége
Az MS-DOS mód kényelmét és szükségességét a Windows 98 operációs rendszer jelentette. A Windows 2000 és különösen a Windows XP megjelenésével a DOS, mint az operációs rendszer alapja, végleg eltűnt. Az NT kernelre épülő rendszerek már nem hibridek voltak, hanem teljes mértékben 32 bites (később 64 bites) operációs rendszerek, amelyek a DOS programokat kompatibilitási rétegeken keresztül futtatták (NTVDM – NT Virtual DOS Machine). Ezek a kompatibilitási rétegek sok DOS programot el tudtak indítani, de a legkritikusabb, hardverigényes játékok és segédprogramok számára már nem nyújtottak tökéletes megoldást. Ezért a DOSBox és más emulátorok vették át a szerepüket a modern rendszereken.
Ma, a Windows 98 és az MS-DOS mód már a múlt része, egyfajta digitális őskövület. De azok számára, akik átélték ezt a korszakot, egy nosztalgikus emlékként él tovább, a kísérletezés, a problémamegoldás és a játékokért való „harc” időszakaként. Egy olyan időszak volt ez, amikor a számítógép még nem volt teljesen felhasználóbarát, és megkövetelte a tudást, az odaadást – cserébe viszont egyedi élményeket és a teljes kontroll érzését adta. Az MS-DOS mód a Windows 98 alatt nem csupán egy funkció volt; egy kapu volt a számítástechnika korábbi, analógabb, és sokak számára emlékezetesebb világába.
Leave a Reply