A személyi számítógépek hajnalán, amikor a grafikus felhasználói felületek még gyerekcipőben jártak, és az operációs rendszerek közvetlenül a hardverrel kommunikáltak, a rendszerindítási folyamat sokkal transzparensebb és konfigurálhatóbb volt a felhasználó számára. E korszak egyik legfontosabb, és talán legmisztikusabb fájlja a CONFIG.SYS
volt. Ez a DOS operációs rendszerek központi konfigurációs fájlja, amely a számítógép kezdeti beállításait, az illesztőprogramok betöltését és a rendszer erőforrásainak kiosztását végezte el, még mielőtt a felhasználóval interaktívvá válhatott volna a rendszer. A CONFIG.SYS
nélkülözhetetlen volt ahhoz, hogy a DOS felismerje a hardvereszközöket, optimalizálja a memóriát, és felkészítse a környezetet az alkalmazások futtatására. Ez a fájl volt az alapköve a DOS-alapú rendszerek testreszabásának és hatékony működésének.
A CONFIG.SYS
szerepe messze túlmutatott egy egyszerű parancsfájl funkcióján; az egyfajta digitális tervrajzként szolgált, amely meghatározta a gép működésének alapvető paramétereit a bootolás pillanatától kezdve. A benne definiált beállítások közvetlenül befolyásolták a rendszer stabilitását, teljesítményét és a különböző perifériák, például a CD-ROM meghajtók, hangkártyák vagy egerek elérhetőségét. Egy rosszul konfigurált CONFIG.SYS
akár a rendszer összeomlásához is vezethetett, míg egy gondosan optimalizált fájl jelentősen javíthatta a felhasználói élményt, különösen a korlátozott memóriával rendelkező rendszerekben. A fájl helye mindig a rendszerindító meghajtó gyökérkönyvtárában volt, általában a C:\CONFIG.SYS
elérési úton, és a rendszer automatikusan megkereste és feldolgozta minden egyes indításkor.
A CONFIG.SYS Történelmi Kontextusa és Fejlődése a DOS Verzióiban
A CONFIG.SYS
fájl az MS-DOS 2.0-ás verziójával jelent meg először 1983-ban, az IBM PC XT bevezetésével egy időben. Ez a verzió hozta el a könyvtárstruktúrát és a fájlkezelési funkciók jelentős bővítését, amelyekhez szükség volt egy központosított konfigurációs mechanizmusra. Az első DOS verziók, mint az MS-DOS 1.0, még rendkívül egyszerűek voltak, és nem igényeltek ilyen szintű konfigurációt. A DOS 2.0-val azonban a rendszerek komplexebbé váltak, megjelentek a merevlemezek, és egyre több periféria csatlakozott a számítógépekhez, ami szükségessé tette az illesztőprogramok dinamikus betöltését és a rendszererőforrások finomhangolását.
A CONFIG.SYS
fejlődése szorosan összefüggött a DOS operációs rendszer és a PC-k hardverének evolúciójával. Kezdetben a parancsok száma korlátozott volt, főként a fájl- és bufferkezelésre, valamint az alapvető illesztőprogramok betöltésére koncentráltak. Azonban ahogy a hardver egyre sokrétűbbé vált – megjelentek a memóriabővítések, a speciális videokártyák, a hangkártyák és a hálózati eszközök –, úgy bővült a CONFIG.SYS
parancskészlete is. Minden új DOS verzióval új direktívák és lehetőségek jelentek meg, amelyek célja a rendszer teljesítményének és rugalmasságának növelése volt.
A DOS Különböző Verzióinak Hatása a CONFIG.SYS-re
- MS-DOS 2.x: Bevezette a
DEVICE
parancsot illesztőprogramok betöltéséhez, aFILES
ésBUFFERS
parancsokat a fájlkezeléshez és a lemezgyorsítótárhoz. Ekkor vált alapvetővé a fájl a rendszerműködéshez. - MS-DOS 3.x: Bővült a parancskészlet, például a
LASTDRIVE
a meghajtóbetűjelek kezeléséhez, és aSHELL
parancs az alternatív parancsértelmező definiálásához. A DOS 3.3-tól kezdve aFASTOPEN
is megjelent. - MS-DOS 4.x: Ez a verzió volt az első, amely támogatta a gigabájtos merevlemezeket. Megjelent a
INSTALL
parancs a rezidens programok betöltésére, és aSTACKS
a veremkezeléshez. A DOS 4.0 azonban hírhedt volt a hibáiról és a memóriahasználatáról. - MS-DOS 5.0: Ez a verzió hozta el a legjelentősebb áttörést a memóriakezelés terén. Bevezették a
HIMEM.SYS
ésEMM386.EXE
memóriakezelőket, valamint aDOS=HIGH,UMB
parancsot. Ez lehetővé tette a DOS kernel és a rezidens programok magas memóriába (HMA) és felső memóriaterületekre (UMB) való betöltését, felszabadítva a hagyományos 640KB-os memóriát az alkalmazások számára. ADEVICEHIGH
ésLOADHIGH
parancsok (utóbbi azAUTOEXEC.BAT
-ban) ekkor váltak létfontosságúvá a memória optimalizálásában. - MS-DOS 6.x: Ez volt a DOS utolsó jelentős önálló verziója. Tovább finomították a memóriakezelést, és bevezették a multi-config (több konfiguráció) opciót, amely lehetővé tette a felhasználó számára, hogy a rendszerindításkor kiválassza a kívánt konfigurációt egy menüből. Ez különösen hasznos volt különböző játékokhoz vagy alkalmazásokhoz eltérő illesztőprogram-készletek betöltésére. Megjelentek a
MENUITEM
,MENUDEFAULT
,NUMLOCK
,INCLUDE
,SUBMENU
parancsok. Ekkor vált aCONFIG.SYS
a legkomplexebb és leginkább testreszabható formájává.
A Windows 3.x rendszerek (3.0, 3.1, 3.11 for Workgroups) még a DOS tetején futottak, így a CONFIG.SYS
továbbra is kulcsszerepet játszott a Windows környezet előkészítésében, különösen a memóriakezelés és a hardver-illesztőprogramok szempontjából. A CONFIG.SYS
optimális beállítása létfontosságú volt a Windows 3.x stabilitásához és teljesítményéhez. A Windows 95 és a későbbi Windows 9x rendszerek (98, ME) már integrálták a DOS-t, de a CONFIG.SYS
és az AUTOEXEC.BAT
fájlok továbbra is jelen voltak, elsősorban a „valódi DOS mód” vagy régebbi alkalmazások futtatásához. Bár a Windows 9x nagyrészt felváltotta a DOS-alapú illesztőprogramokat saját 32 bites virtuális illesztőprogramjaival, a CONFIG.SYS
még mindig befolyásolhatta a rendszerindítási folyamatot és a DOS-os alkalmazások viselkedését.
A CONFIG.SYS Működési Elve és Parancsfeldolgozási Sorrendje
A CONFIG.SYS
fájl a DOS rendszerindítási folyamatának egyik legkorábbi és legfontosabb szakaszában kerül feldolgozásra. Amikor bekapcsoljuk a számítógépet, a BIOS (Basic Input/Output System) elindítja az öntesztet (POST), majd megkeresi a rendszerindító eszközt (pl. merevlemez, floppy lemez). A rendszerindító szektor betölti az IO.SYS
(vagy PC-DOS esetén az IBMBIO.COM
) és az MSDOS.SYS
(vagy PC-DOS esetén az IBMDOS.COM
) fájlokat a memóriába. Ezek a fájlok tartalmazzák a DOS kernel alapvető funkcióit.
Az IO.SYS
fájl felelős a CONFIG.SYS
fájl megkereséséért és sorról sorra történő feldolgozásáért. Ez a sorrend kritikus. A CONFIG.SYS
parancsai felülről lefelé, szigorú sorrendben hajtódnak végre. Ez azt jelenti, hogy egy később definiált beállítás felülírhat egy korábban definiáltat, és egy illesztőprogram, amely egy másik illesztőprogramra támaszkodik, annak előbb be kell töltődnie. Például, a memóriakezelő illesztőprogramoknak (HIMEM.SYS
, EMM386.EXE
) mindig a CONFIG.SYS
elején kellett szerepelniük, mielőtt bármilyen más, memóriát optimalizáló vagy memóriába töltendő program következett volna.
A
CONFIG.SYS
volt a DOS-alapú számítógép operációs rendszerének idegrendszere, amely a hardver és a szoftver közötti első, alapvető kommunikációt és konfigurációt megteremtette, lehetővé téve a rendszer működését és testreszabását a legmélyebb szinten.
Miután a CONFIG.SYS
feldolgozása befejeződött, a DOS betölti a parancsértelmezőt, ami alapértelmezés szerint a COMMAND.COM
. Ezután a COMMAND.COM
megkeresi és végrehajtja az AUTOEXEC.BAT
fájlt, amely további környezeti változókat állít be, programokat indít el, és más automatizált feladatokat végez. Fontos megérteni, hogy a CONFIG.SYS
a rendszermag beállításaiért és az illesztőprogramokért felelt, míg az AUTOEXEC.BAT
a felhasználói környezetért és az automatikusan induló alkalmazásokért. A két fájl kiegészítette egymást, és együttesen biztosította a teljes rendszerindítási folyamatot.
A CONFIG.SYS
egy egyszerű, tiszta szöveges fájl volt, amely tetszőleges szövegszerkesztővel (például a DOS beépített EDIT
programjával, vagy a régi EDLIN
-nel) szerkeszthető volt. Minden sor egy parancsot vagy direktívát tartalmazott. A megjegyzéseket a sor elején lévő REM
(remark) szóval vagy egy pontosvesszővel (;
) lehetett jelezni, ami lehetővé tette a konfigurációk dokumentálását vagy ideiglenes kikapcsolását a hibakeresés során. A fájlban a kis- és nagybetűk nem voltak megkülönböztetve, ami rugalmasságot biztosított a szerkesztés során.
Kulcsfontosságú CONFIG.SYS Parancsok és Direktívák Részletes Elemzése
A CONFIG.SYS
fájlban számos parancs állt rendelkezésre, amelyek mindegyike egy specifikus feladatot látott el a rendszer konfigurálásában. Ezek a parancsok a DOS verziók függvényében változtak, de néhány alapvető direktíva szinte minden verzióban megtalálható volt, és kulcsfontosságú volt a rendszer működéséhez.
Memóriakezelési Parancsok
A DOS korszak egyik legnagyobb kihívása a memória kezelése volt. A 640KB-os konvencionális memória korlátja miatt a memória optimalizálása létfontosságúvá vált, különösen a komplexebb alkalmazások és játékok futtatásához. A CONFIG.SYS
ezen a téren nyújtott jelentős segítséget.
-
DEVICE=HIMEM.SYS
:A
HIMEM.SYS
volt a DOS kiterjesztett memória (XMS – eXtended Memory Specification) kezelője. Ez a program lehetővé tette a 640KB feletti memória (általában 1MB felett) elérését, feltéve, hogy a számítógép rendelkezett ilyen memóriával (286-os vagy újabb processzorral). AHIMEM.SYS
betöltése elengedhetetlen volt az XMS memória használatához, amelyre számos program, különösen a Windows 3.x és a játékok támaszkodtak. A parancs általában aCONFIG.SYS
első sorai között szerepelt, mivel más memóriakezelők és illesztőprogramok függhettek tőle.DEVICE=C:\DOS\HIMEM.SYS
-
DEVICE=EMM386.EXE
:Az
EMM386.EXE
egy bővített memória (EMS – Expanded Memory Specification) emulátor volt, és egyben felső memóriaterület (UMB – Upper Memory Block) kezelő. EMS memóriára elsősorban régebbi, DOS-os alkalmazások és játékok támaszkodtak, amelyek az EMS specifikációt használták a 640KB-os korlát áthidalására. AzEMM386.EXE
képes volt a kiterjesztett memóriát (XMS) EMS memóriává alakítani, de ami még fontosabb volt, lehetővé tette a felső memóriaterületek (640KB és 1MB közötti terület) kihasználását. Ezen területekbe lehetett betölteni aDEVICEHIGH
ésLOADHIGH
parancsokkal a rezidens programokat és illesztőprogramokat, felszabadítva ezzel a konvencionális memóriát.DEVICE=C:\DOS\EMM386.EXE RAM AUTO
A
RAM
paraméter engedélyezte az EMS és UMB használatát, míg azAUTO
paraméter automatikusan engedélyezte vagy tiltotta az EMS-t, ha szükséges volt. Más paraméterek, mint aNOEMS
, csak az UMB-k használatát engedélyezték EMS nélkül, ami hasznos volt, ha egy program ütközött az EMS-sel, de mégis szükség volt a UMB-kre. -
DOS=HIGH,UMB
:Ez a parancs a DOS 5.0-ban jelent meg, és forradalmasította a memóriakezelést. A
HIGH
paraméter utasította a DOS-t, hogy a saját kerneljét a magas memóriaterületre (HMA – High Memory Area) töltse be. A HMA az 1MB-os határ feletti első 64KB mínusz 16 bájt terület volt, amely a 286-os és újabb processzorokon érhető el a A20-as címvonal engedélyezésével. Ez felszabadított körülbelül 40-50KB-ot a konvencionális memóriából. AzUMB
paraméter (Upper Memory Blocks) engedélyezte a felső memóriaterületek (640KB és 1MB közötti) használatát, feltéve, hogy azEMM386.EXE
is be volt töltve. Ez tette lehetővé aDEVICEHIGH
ésLOADHIGH
parancsok hatékony használatát.DOS=HIGH,UMB
-
DEVICEHIGH=
:Ez a parancs funkciójában megegyezett a
DEVICE=
paranccsal, de megpróbálta a megadott illesztőprogramot a felső memóriaterületekre (UMB-k) tölteni a konvencionális memória helyett. Ez kulcsfontosságú volt a konvencionális memória felszabadításában az alkalmazások számára. A sikeres betöltéshez azEMM386.EXE
-nek és aDOS=UMB
beállításnak is aktívnak kellett lennie.DEVICEHIGH=C:\CDROM\OAKCDROM.SYS /D:MSCD001
Hardver Illesztőprogramok Betöltése
A CONFIG.SYS
volt az elsődleges hely, ahol a hardvereszközök illesztőprogramjait betöltötték. Ezek az illesztőprogramok (angolul: device drivers) tették lehetővé a DOS számára, hogy kommunikáljon a perifériákkal, mint például a CD-ROM meghajtók, hangkártyák, egerek, speciális billentyűzetek vagy videokártyák. A DEVICE=
parancs volt erre a célra a standard.
-
DEVICE=C:\DOS\ANSI.SYS
:Az
ANSI.SYS
egy szabványos DOS illesztőprogram volt, amely kibővített képernyő- és billentyűzetfunkciókat biztosított. Támogatta az ANSI escape kódokat, amelyek lehetővé tették a szöveg színeinek, kurzorpozíciójának és egyéb képernyőattribútumok programozott módosítását. Sok program és játék használta azANSI.SYS
képességeit a jobb vizuális megjelenés érdekében. Nélküle a karakteres interfész sokkal korlátozottabb volt.DEVICE=C:\DOS\ANSI.SYS
-
Egér Illesztőprogramok (pl.
MOUSE.SYS
):Az egér használatához be kellett tölteni egy specifikus illesztőprogramot. A leggyakoribb a Microsoft egér illesztőprogramja volt, a
MOUSE.SYS
(vagyMOUSE.COM
, amit azAUTOEXEC.BAT
-ból lehetett indítani). Ezek az illesztőprogramok biztosították az egérkurzor mozgását és a kattintások érzékelését a DOS-os alkalmazásokban, valamint a Windows 3.x környezetben.DEVICEHIGH=C:\MOUSE\MOUSE.SYS
-
CD-ROM Illesztőprogramok:
A CD-ROM meghajtók megjelenésével szükségessé váltak a hozzájuk tartozó illesztőprogramok. Ezek általában a meghajtó gyártója által biztosított fájlok voltak (pl.
OAKCDROM.SYS
,MSCD001.SYS
). Ezeket aCONFIG.SYS
-ben kellett betölteni, és általában egy egyedi azonosítót is meg kellett adni (pl./D:MSCD001
). Ezt követően azAUTOEXEC.BAT
-ban azMSCDEX.EXE
programot kellett futtatni, amely hozzárendelt egy meghajtóbetűjelet a CD-ROM-hoz, és elérhetővé tette azt a DOS számára.DEVICEHIGH=C:\DRIVERS\CDROM.SYS /D:MYCDROM
-
Hangkártya és SCSI Vezérlő Illesztőprogramok:
A hangkártyák (pl. Sound Blaster) és SCSI vezérlők szintén saját illesztőprogramokat igényeltek, amelyeket a
CONFIG.SYS
-ben kellett betölteni. Ezek gyakran tartalmaztak paramétereket az I/O címek, IRQ vonalak és DMA csatornák beállításához, amelyek kritikusak voltak a hardverkonfliktusok elkerüléséhez. Például egy Creative Labs Sound Blaster illesztőprogramja így nézhetett ki:DEVICEHIGH=C:\SB16\DRV\SB16.SYS /BLASTER:A:220 I:5 D:1 H:5
Rendszerbeállítások és Optimalizációk
A CONFIG.SYS
nemcsak illesztőprogramokat töltött be, hanem a DOS operációs rendszer alapvető működését is befolyásoló beállításokat is tartalmazott.
-
FILES=
:Ez a parancs határozta meg, hogy a DOS egyidejűleg hány fájlt tarthat nyitva. Minden program, amikor fájlt nyitott meg, egy fájlkezelőt kapott. Ha a beállított érték túl alacsony volt, a programok „Too many open files” hibával összeomolhattak. Általában 30-60 közötti értéket használtak, de komplexebb alkalmazások vagy hálózati környezetek esetén ez akár 255-re is nőhetett.
FILES=60
-
BUFFERS=
:Ez a parancs a lemezgyorsítótár (disk buffer) méretét állította be. A bufferek a lemezről olvasott vagy lemezre írandó adatok ideiglenes tárolására szolgáltak, csökkentve ezzel a fizikai lemezhozzáférések számát és gyorsítva a fájlműveleteket. Túl sok buffer azonban fölöslegesen sok memóriát foglalhatott el. A tipikus értékek 10-50 között mozogtak.
BUFFERS=40
-
LASTDRIVE=
:Ez a parancs határozta meg a legmagasabb meghajtóbetűjelet, amelyet a DOS felismerhetett. Alapértelmezés szerint ez az utolsó fizikai meghajtó betűjele volt (pl. C, D). Ha virtuális meghajtókat (RAM drive), hálózati meghajtókat vagy CD-ROM meghajtókat használtunk, amelyek meghajtóbetűjelet igényeltek, ezt az értéket meg kellett növelni (pl.
LASTDRIVE=Z
), hogy elegendő betűjel álljon rendelkezésre.LASTDRIVE=Z
-
SHELL=
:Ez a parancs lehetővé tette egy alternatív parancsértelmező (shell) megadását a standard
COMMAND.COM
helyett, vagy aCOMMAND.COM
paramétereinek finomhangolását. Gyakran használták a/P
paraméterrel, amely rezidenssé tette aCOMMAND.COM
-ot, és megakadályozta, hogy egy program kilépjen belőle. Ezenkívül megadható volt az/E:xxxx
paraméter a környezeti változók tárolására szolgáló memória (environment size) növelésére.SHELL=C:\DOS\COMMAND.COM C:\DOS\ /P /E:1024
-
STACKS=
:A
STACKS
parancs a hardveres megszakítások kezelésére szolgáló veremtárolók (stack frames) számát és méretét állította be. Ha egy program túl sok megszakítást generált, vagy túl mélyen ágyazott hívásokat használt, a rendszer „Stack Overflow” hibát jelezhetett, ha aSTACKS
érték túl alacsony volt. A standard beállítás általábanSTACKS=9,256
volt (9 verem, mindegyik 256 bájtos).STACKS=9,256
-
BREAK=ON/OFF
:Ez a parancs határozta meg a Ctrl+Break kombináció érzékenységét. Ha
ON
-ra volt állítva, a DOS gyakrabban ellenőrizte a Ctrl+Break lenyomását, lehetővé téve a programok gyorsabb megszakítását. Ez azonban enyhe teljesítménycsökkenést okozhatott. Alapértelmezésben általábanOFF
volt.BREAK=ON
-
FCBS=
:A File Control Blocks (FCB-k) egy régebbi fájlkezelési mechanizmus volt, amelyet a DOS 1.x és 2.x használt. Bár a DOS 3.x-től kezdve a fájlkezelés a fájlkezelőkön (file handles) keresztül történt, néhány régi program még mindig az FCB-ket használhatta. Az
FCBS=
parancs határozta meg, hogy a DOS hány FCB-t tarthat nyitva. ÁltalábanFCBS=4,0
volt az alapértelmezett, ami elegendő volt a legtöbb esetben.FCBS=4,0
-
COUNTRY=
:Ez a parancs az országspecifikus beállításokat (dátumformátum, időformátum, pénznem, tizedesjel, karakterkészlet) állította be. Két paramétert igényelt: az országkódot és a kódlap számát. Például Magyarországra:
COUNTRY=036,,C:\DOS\COUNTRY.SYS
A
COUNTRY.SYS
fájl tartalmazta a különböző országok adatait. -
INSTALL=
:Ez a parancs lehetővé tette egy rezidens program (TSR – Terminate and Stay Resident) betöltését a
CONFIG.SYS
-ből. AzINSTALL
parancs előnye az volt, hogy a programot a DOS indításakor töltötte be, és gyakran kevesebb memóriát foglalt el, mint ha azAUTOEXEC.BAT
-ból indították volna. Gyakran használták például aKEYB.COM
(billentyűzetkiosztás) vagy aSHARE.EXE
(fájlmegosztás) betöltésére.INSTALL=C:\DOS\KEYB.COM HU,,C:\DOS\KEYBOARD.SYS
-
SETVER.EXE
:Bár a
SETVER.EXE
magát azAUTOEXEC.BAT
-ban futtatták, aCONFIG.SYS
-ben aDEVICE=SETVER.EXE
sor is szerepelhetett, hogy a DOS betöltse a memóriába a programot, amely lehetővé tette a DOS verziószám emulációját. Ez bizonyos régebbi alkalmazások számára volt hasznos, amelyek csak egy adott DOS verzióval működtek, és hibát jeleztek, ha újabb verziót észleltek. ASETVER
lehetővé tette, hogy a DOS egy régebbi verziószámot jelentsen egy adott programnak.DEVICE=C:\DOS\SETVER.EXE
Gyakori Problémák és Hibaelhárítás a CONFIG.SYS-szel

A CONFIG.SYS
fájl hibás beállítása vagy egy inkompatibilis illesztőprogram betöltése komoly problémákat okozhatott, egészen a rendszerindítási hibákig. A DOS azonban biztosított néhány alapvető hibaelhárítási mechanizmust.
Memóriaproblémák
A leggyakoribb problémák a memóriakezeléssel kapcsolatosak voltak. Ha egy illesztőprogram vagy rezidens program túl sok konvencionális memóriát foglalt el, előfordulhatott, hogy egy alkalmazás nem tudott elindulni a „Not enough memory” hibával. Ennek elkerülésére a DEVICEHIGH
és LOADHIGH
(az AUTOEXEC.BAT
-ban) parancsok használata volt a megoldás, de ehhez az HIMEM.SYS
és EMM386.EXE
megfelelő konfigurációja is szükséges volt. Ha az EMM386.EXE
nem a megfelelő paraméterekkel futott (pl. NOEMS
helyett RAM
, ha egy programnak csak UMB-re volt szüksége, de az EMS ütközött), az is okozhatott gondot.
Illesztőprogram-konfliktusok
Két illesztőprogram ütközhetett egymással, ha ugyanazt az I/O címet, IRQ vonalat vagy DMA csatornát próbálták használni. Ez rendszer lefagyáshoz, eszközhibához vagy instabil működéshez vezethetett. A hibakeresés során gyakran kellett egyesével kikapcsolni (REM
paranccsal kommentálni) az illesztőprogramokat a CONFIG.SYS
-ben, hogy azonosítani lehessen a problémás komponenst. A hardvereszközök jumper-beállításai is kritikusak voltak a konfliktusok elkerülésében.
Rossz Sorrend
Mint korábban említettük, a CONFIG.SYS
parancsainak sorrendje létfontosságú volt. Például a HIMEM.SYS
-nek mindig az EMM386.EXE
előtt kellett lennie, és mindkettőnek az összes DEVICEHIGH
parancs előtt. Ha a sorrend rossz volt, a memóriakezelés nem működött megfelelően, vagy az illesztőprogramok nem tudtak betöltődni magas memóriába.
A Rendszerindítási Segédeszközök: F5 és F8
A DOS 6.x bevezette az F5
és F8
billentyűk szerepét a rendszerindításkor, ami jelentősen megkönnyítette a hibaelhárítást:
-
F5
(Tiszta Indítás): Ha a felhasználó a rendszerindítás során lenyomta azF5
billentyűt, a DOS teljesen kihagyta aCONFIG.SYS
és azAUTOEXEC.BAT
fájlok feldolgozását. Ez egy „tiszta DOS” környezetet biztosított, ami ideális volt annak ellenőrzésére, hogy a probléma a konfigurációs fájlokkal kapcsolatos-e. Ha így a rendszer elindult, akkor a hiba valószínűleg aCONFIG.SYS
vagy azAUTOEXEC.BAT
valamelyik sorában volt. -
F8
(Interaktív Indítás): AzF8
lenyomása esetén a DOS sorról sorra végighaladt aCONFIG.SYS
és azAUTOEXEC.BAT
fájlokon, és minden egyes sor előtt megkérdezte a felhasználót, hogy végrehajtsa-e az adott parancsot (Y/N
). Ez lehetővé tette a hibás sor pontos azonosítását, mivel a felhasználó láthatta, melyik parancs végrehajtása után jelentkezik a probléma.
Több Konfiguráció (Multi-Config) Kezelése
A DOS 6.x egyik leginnovatívabb funkciója a multi-config menü volt, amely lehetővé tette a felhasználó számára, hogy különböző konfigurációkat definiáljon egyetlen CONFIG.SYS
fájlban. Ez különösen hasznos volt, ha különböző illesztőprogramokra volt szükség különböző feladatokhoz (pl. játékhoz optimalizált memória beállítások, vagy hálózati illesztőprogramok irodai munkához). A CONFIG.SYS
elejére egy menüblokkot kellett elhelyezni, amely a MENUITEM
, MENUDEFAULT
, MENUCOLOR
és SUBMENU
parancsokat tartalmazta. Minden menüpont egy [blokknév]
szekcióhoz vezetett, amely saját DEVICE
, FILES
stb. beállításokat tartalmazott. Az INCLUDE
paranccsal lehetett megosztott blokkokat is definiálni, amelyeket több konfiguráció is használhatott.
[MENU]
MENUITEM=NORMAL, Normál indítás
MENUITEM=GAME, Játékhoz optimalizált indítás
MENUDEFAULT=NORMAL, 10
[NORMAL]
DEVICE=C:\DOS\HIMEM.SYS
DEVICE=C:\DOS\EMM386.EXE RAM
DOS=HIGH,UMB
FILES=60
BUFFERS=40
DEVICEHIGH=C:\CDROM\OAKCDROM.SYS /D:CD001
DEVICEHIGH=C:\MOUSE\MOUSE.SYS
[GAME]
DEVICE=C:\DOS\HIMEM.SYS
DEVICE=C:\DOS\EMM386.EXE NOEMS ; Nincs EMS a több UMB-ért
DOS=HIGH,UMB
FILES=30
BUFFERS=10
REM DEVICEHIGH=C:\CDROM\OAKCDROM.SYS /D:CD001 ; Kikapcsolva a CD-ROM a memóriáért
REM DEVICEHIGH=C:\MOUSE\MOUSE.SYS ; Egér kikapcsolva a memóriáért
[COMMON]
LASTDRIVE=Z
STACKS=9,256
BREAK=ON
[NORMAL]
INCLUDE=COMMON
[GAME]
INCLUDE=COMMON
Ez a példa bemutatja, hogyan lehetett két különböző indítási profilt létrehozni, az egyiket általános használatra, a másikat pedig játékokra optimalizálva, ahol a CD-ROM és az egér illesztőprogramja kikapcsolható volt a minél több konvencionális memória felszabadításáért.
A CONFIG.SYS és az AUTOEXEC.BAT Kapcsolata
A CONFIG.SYS
és az AUTOEXEC.BAT
két elválaszthatatlan fájl volt a DOS operációs rendszerekben, amelyek a rendszerindítási folyamat két különböző, de egymást kiegészítő szakaszát kezelték. Bár mindkettő a rendszer konfigurálására szolgált, a szerepük és a végrehajtási sorrendjük szigorúan elkülönült.
A Különbségek és Hasonlóságok
-
Végrehajtási Sorrend: A
CONFIG.SYS
mindig azAUTOEXEC.BAT
előtt hajtódott végre. ACONFIG.SYS
parancsait azIO.SYS
kernel dolgozta fel, még mielőtt a parancsértelmező (COMMAND.COM
) betöltődött volna. Csak aCONFIG.SYS
sikeres feldolgozása után indult el azAUTOEXEC.BAT
, amelyet már aCOMMAND.COM
értelmezett. -
Feladatkör:
CONFIG.SYS
: Fő feladata a rendszermag beállításai, a hardver illesztőprogramok betöltése (DEVICE
,DEVICEHIGH
), a memóriakezelés (HIMEM.SYS
,EMM386.EXE
,DOS=HIGH,UMB
), valamint az alapvető rendszerparaméterek (FILES
,BUFFERS
,LASTDRIVE
,STACKS
) konfigurálása volt. Ezek a beállítások a DOS kernel szintjén történtek.AUTOEXEC.BAT
: Fő feladata a felhasználói környezet beállítása, környezeti változók (PATH
,PROMPT
) definiálása, rezidens programok (TSRs
– mint pl.DOSKEY
,SHARE
, vagy a CD-ROM meghajtóhoz szükségesMSCDEX.EXE
) betöltése, valamint automatikusan indítandó programok (pl. menürendszerek, vírusirtók, grafikus felületek, mint a Norton Commander) futtatása volt. Ez a fájl inkább a felhasználói „shell” szintjén működött.
-
Parancsok Típusa: A
CONFIG.SYS
speciális, DOS kernel szintű direktívákat használt, mint aDEVICE
,FILES
,DOS
. AzAUTOEXEC.BAT
viszont standard DOS parancsokat (mint aSET
,PATH
,PROMPT
, vagy bármelyik futtatható program neve) és kötegelt fájlparancsokat (ECHO
,GOTO
,IF
) tartalmazott. -
Memóriakezelés: Bár a
CONFIG.SYS
tette lehetővé az UMB-k létrehozását aDOS=UMB
ésEMM386.EXE
segítségével, aLOADHIGH
(vagyLH
) parancsot azAUTOEXEC.BAT
-ban használták a programok UMB-be történő betöltésére. Ez egy példa arra, hogyan működtek együtt a fájlok a memória optimalizálásában.
A DOS Betöltési Sorrendje Összefoglalva
- BIOS POST: A számítógép hardverének öntesztje.
- Boot Szektor: A rendszerindító meghajtó boot szektora betöltődik.
IO.SYS
(vagyIBMBIO.COM
): Az alapvető I/O rendszer és a rendszerindító rutinok betöltődnek.MSDOS.SYS
(vagyIBMDOS.COM
): A DOS kernel betöltődik.CONFIG.SYS
: AzIO.SYS
feldolgozza aCONFIG.SYS
fájlt, betölti az illesztőprogramokat és beállítja a rendszerparamétereket.COMMAND.COM
: A DOS parancsértelmezője betöltődik.AUTOEXEC.BAT
: ACOMMAND.COM
végrehajtja azAUTOEXEC.BAT
fájlt, beállítja a környezeti változókat és elindítja az automatikusan futó programokat.- Felhasználói Interfész: A felhasználó megkapja a DOS parancssorát, vagy elindul egy grafikus felület, ha az
AUTOEXEC.BAT
-ban be volt állítva.
Ezen sorrend pontos ismerete kulcsfontosságú volt a DOS-rendszerek hibaelhárításához és optimalizálásához. Egy-egy illesztőprogram vagy program hibás működése gyakran a CONFIG.SYS
vagy az AUTOEXEC.BAT
hibás sorrendjére vagy hiányzó beállításaira vezethető vissza.
A CONFIG.SYS Öröksége és Jelentősége a Modern Rendszerekben
Bár a CONFIG.SYS
fájl már a múlté a modern operációs rendszerekben, a mögötte meghúzódó koncepció – a rendszerindítási folyamat testreszabása és a hardver-szoftver interfész konfigurálása – továbbra is alapvető fontosságú. A modern rendszerekben ezek a feladatok sokkal komplexebbé váltak, és különböző, automatizáltabb mechanizmusok vették át a CONFIG.SYS
szerepét.
Az Átalakulás a Modern Rendszerekben
-
Windows NT/2000/XP és Utódai: A Windows NT alapú rendszerek (beleértve a modern Windows 10/11-et is) teljesen eltérő architektúrával rendelkeznek. A
CONFIG.SYS
ésAUTOEXEC.BAT
fájlok elvesztették jelentőségüket. A hardver felismerése és az illesztőprogramok betöltése nagyrészt automatizált, a Plug and Play (PnP) technológia és a központosított illesztőprogram-tárolók (driver store) segítségével történik. A rendszerindítási beállításokat a Registry (rendszerleíró adatbázis) és különböző konfigurációs fájlok (pl. BCD – Boot Configuration Data) kezelik. A memóriakezelés a virtuális memórián és a védett módú működésen alapul, ahol az operációs rendszer kezeli az összes memóriaterületet, és elvonatkoztatja a programoktól a fizikai memóriacímeket. -
Linux és UNIX-alapú Rendszerek: A Linux rendszerekben a boot folyamat szintén sokkal komplexebb. A kernel modulok (`/lib/modules`) töltik be az illesztőprogramokat, gyakran dinamikusan. A rendszerindítási beállításokat a GRUB vagy LILO bootloaderek kezelik, és a rendszer konfigurációs fájljai (pl. `/etc/fstab` a fájlrendszerekhez, `/etc/sysctl.conf` a kernel paraméterekhez, `/etc/modprobe.d/` a modulokhoz) veszik át a
CONFIG.SYS
szerepét. Az `init` vagy `systemd` folyamat indítja el a szolgáltatásokat és állítja be a felhasználói környezetet, hasonlóan azAUTOEXEC.BAT
-hoz, de sokkal kifinomultabb módon. -
BIOS/UEFI: A modern rendszerekben a BIOS (vagy a modernebb UEFI) sokkal fejlettebb konfigurációs lehetőségeket kínál, mint a régi BIOS-ok. Itt állíthatók be a boot sorrend, a hardvereszközök alapvető paraméterei, és számos energiafelhasználási beállítás. Ez a szint a
CONFIG.SYS
előtti hardveres inicializációt képviseli.
A CONFIG.SYS Koncepciójának Fennmaradása
Bár a CONFIG.SYS
, mint fájl, eltűnt, a mögöttes elvek továbbra is relevánsak a modern számítástechnikában:
-
Rendszerindítási Szakaszok: A modern operációs rendszerek is külön szakaszokra bontják a rendszerindítást: a hardver inicializálása (BIOS/UEFI), a kernel betöltése és az illesztőprogramok aktiválása, majd a felhasználói környezet és a szolgáltatások indítása. Ez a felosztás alapvetően megegyezik a DOS
IO.SYS
->CONFIG.SYS
->COMMAND.COM
->AUTOEXEC.BAT
sorrendjével. - Illesztőprogramok Szükségessége: Minden hardvernek szüksége van illesztőprogramra, hogy az operációs rendszer kommunikálhasson vele. A modern rendszerek automatizálják ezt a folyamatot, de az illesztőprogramok létezése és betöltése alapvető marad.
-
Memória- és Erőforrás-Optimalizálás: Bár a modern rendszerek gigabájtos memóriával rendelkeznek, az erőforrás-gazdálkodás és az optimalizálás továbbra is kulcsfontosságú a teljesítmény szempontjából. A kernel paraméterek finomhangolása, a szolgáltatások kezelése mind a régi
CONFIG.SYS
szellemében történik, csak sokkal bonyolultabb és absztraktabb módon. -
Hibaelhárítási Logika: A hibaelhárítás módszerei is hasonlóak maradtak: a konfiguráció egyes részeinek kikapcsolása vagy módosítása a probléma forrásának azonosítására. A „Safe Mode” (csökkentett mód) a Windowsban vagy a „single-user mode” a Linuxban a DOS
F5
/F8
funkciójának modern megfelelője.
A CONFIG.SYS
megértése tehát nem csupán történelmi érdekesség. Segít megérteni a számítógépes rendszerek alapvető működési elveit, a hardver és szoftver közötti interfészt, és a rendszerindítási folyamat komplexitását. Ez a tudás alapvető a rendszeradminisztrációhoz, a hálózati ismeretekhez és a modern operációs rendszerek mélyebb megértéséhez is.
Példa CONFIG.SYS Fájlok és Elemzésük
Nézzünk meg néhány valós példát a CONFIG.SYS
fájlokra, és elemezzük a bennük lévő parancsokat.
1. Egyszerű, Alap CONFIG.SYS (DOS 3.x)
FILES=20
BUFFERS=10
LASTDRIVE=E
SHELL=C:\COMMAND.COM /P
Elemzés: Ez egy nagyon alapvető konfiguráció, amely a DOS korai verzióira jellemző. Nincs memóriakezelés, nincsenek speciális illesztőprogramok. Egyszerűen beállítja a nyitott fájlok számát (20), a lemezgyorsítótár méretét (10), az utolsó elérhető meghajtóbetűjelet (E) és a parancsértelmező helyét. Ez egy minimális rendszerindításhoz elegendő lehetett.
2. Memóriára Optimalizált CONFIG.SYS (DOS 6.x)
DEVICE=C:\DOS\HIMEM.SYS
DEVICE=C:\DOS\EMM386.EXE RAM AUTO
DOS=HIGH,UMB
FILES=60
BUFFERS=40
LASTDRIVE=Z
STACKS=9,256
SHELL=C:\DOS\COMMAND.COM C:\DOS\ /P /E:1024
DEVICEHIGH=C:\CDROM\OAKCDROM.SYS /D:MSCD001
DEVICEHIGH=C:\MOUSE\MOUSE.SYS
DEVICEHIGH=C:\DOS\ANSI.SYS
Elemzés: Ez egy tipikus, jól optimalizált CONFIG.SYS
fájl a DOS 5.0 vagy 6.x rendszerekhez.
HIMEM.SYS
ésEMM386.EXE RAM AUTO
: Engedélyezi az XMS és EMS memóriát, valamint az UMB-ket.DOS=HIGH,UMB
: A DOS kernelt a HMA-ba, a rezidens programokat pedig az UMB-kbe próbálja tölteni.FILES=60
,BUFFERS=40
: Megnöveli a fájl- és bufferkezelési kapacitást a modern alkalmazásokhoz.LASTDRIVE=Z
: Támogatja a hálózati és CD-ROM meghajtókat.STACKS=9,256
: Standard veremméret.SHELL=... /E:1024
: Megnöveli a környezeti változók méretét.DEVICEHIGH=...
: A CD-ROM, egér és ANSI illesztőprogramokat a felső memóriaterületekre tölti, felszabadítva a konvencionális memóriát a programok számára. Ez a kulcsfontosságú a modern DOS-os játékok és alkalmazások futtatásához.
3. Multi-Config CONFIG.SYS (DOS 6.x)
[MENU]
MENUITEM=FULL, Teljes rendszer (CD-ROM, Egér, Hálózati)
MENUITEM=MINIMAL, Minimális indítás (csak DOS)
MENUITEM=GAME, Játékhoz optimalizált (max. memória)
MENUDEFAULT=FULL, 5
MENUCOLOR=15,1
[COMMON]
FILES=60
BUFFERS=40
LASTDRIVE=Z
STACKS=9,256
SHELL=C:\DOS\COMMAND.COM C:\DOS\ /P /E:1024
DEVICE=C:\DOS\HIMEM.SYS
DOS=HIGH,UMB
[FULL]
INCLUDE=COMMON
DEVICE=C:\DOS\EMM386.EXE RAM AUTO
DEVICEHIGH=C:\CDROM\OAKCDROM.SYS /D:MSCD001
DEVICEHIGH=C:\MOUSE\MOUSE.SYS
DEVICEHIGH=C:\NWCLIENT\LSL.COM
DEVICEHIGH=C:\NWCLIENT\3C5X9.COM
DEVICEHIGH=C:\NWCLIENT\IPXODI.COM
[MINIMAL]
INCLUDE=COMMON
DEVICE=C:\DOS\EMM386.EXE NOEMS ; Csak UMB-k, nincs EMS
REM DEVICEHIGH=C:\CDROM\OAKCDROM.SYS /D:MSCD001
REM DEVICEHIGH=C:\MOUSE\MOUSE.SYS
[GAME]
INCLUDE=COMMON
DEVICE=C:\DOS\EMM386.EXE NOEMS ; Max UMB memória a játékoknak
FILES=30 ; Kevesebb fájl, ha a játék nem igényli
BUFFERS=10 ; Kevesebb buffer a memóriaért
REM DEVICEHIGH=C:\CDROM\OAKCDROM.SYS /D:MSCD001
REM DEVICEHIGH=C:\MOUSE\MOUSE.SYS
Elemzés: Ez a példa a DOS 6.x multi-config funkcióját használja, lehetővé téve a felhasználó számára, hogy a rendszerindításkor kiválassza a kívánt konfigurációt.
[MENU]
: Definiálja a rendszerindítási menüt. Három opció van:FULL
,MINIMAL
,GAME
. AFULL
az alapértelmezett, 5 másodperc után automatikusan elindul.[COMMON]
: Ez egy közös blokk, amelyet minden konfiguráció tartalmaz. Itt vannak az alapvető beállítások és a memóriakezelők (HIMEM.SYS
ésDOS=HIGH,UMB
), amelyek minden esetben szükségesek.[FULL]
: A teljes konfiguráció. Betölti azEMM386.EXE
-t EMS és UMB támogatással, valamint a CD-ROM, egér és Novell NetWare hálózati illesztőprogramokat.[MINIMAL]
: Csak az alapvető DOS funkciókat tölti be. AzEMM386.EXE NOEMS
paraméterrel fut, ami több UMB memóriát szabadíthat fel, ha nincs szükség EMS-re. A CD-ROM és egér illesztőprogramok kikapcsolva vannak (REM
).[GAME]
: Játékra optimalizált konfiguráció. SzinténNOEMS
paraméterrel futtatja azEMM386.EXE
-t a maximális konvencionális memória érdekében. AFILES
ésBUFFERS
értékek csökkentve vannak a memória megtakarítása céljából. A CD-ROM és egér illesztőprogramok szintén kikapcsolva vannak.
Ez a multi-config képesség rendkívül rugalmassá tette a DOS-rendszereket, és lehetővé tette a felhasználók számára, hogy a lehető legjobban kihasználják a rendelkezésre álló erőforrásokat a különböző feladatokhoz.
A CONFIG.SYS Szerkesztése és Mentése

A CONFIG.SYS
fájl szerkesztése egy viszonylag egyszerű feladat volt, de megkövetelte a pontosságot és a körültekintést, mivel egyetlen hiba is megakadályozhatta a rendszer normális indítását.
Szövegszerkesztők Használata
A CONFIG.SYS
egy egyszerű, tiszta szöveges fájl volt, ami azt jelentette, hogy bármilyen szövegszerkesztővel megnyitható és szerkeszthető volt. A leggyakrabban használt eszközök a következők voltak:
-
EDIT
(DOS Editor): A DOS 5.0-tól kezdve azEDIT
egy felhasználóbarát, menüvezérelt szövegszerkesztő volt, amely megkönnyítette a fájlok szerkesztését. Könnyen elindítható volt a parancssorból aEDIT C:\CONFIG.SYS
paranccsal. Grafikus felületet biztosított (karakteres módban), és olyan alapvető funkciókat kínált, mint a másolás, beillesztés és keresés. Ez volt a legtöbb felhasználó számára az elsődleges választás. -
EDLIN
: A DOS régebbi verzióiban (DOS 1.0-tól 5.0-ig) azEDLIN
volt a beépített sorszerkesztő. Ez egy parancssori alapú szerkesztő volt, amely sokkal nehezebben kezelhető volt, és soronként kellett módosítani a szöveget. Kevesen szerették, de ha nem volt más, ezzel is meg lehetett oldani. - Harmadik féltől származó szerkesztők: Számos népszerű, harmadik féltől származó szövegszerkesztő is létezett DOS alatt, mint például a Norton Editor (NE), a QEdit, vagy akár a WordPerfect DOS-os verziói. Ezek gyakran több funkciót és kényelmet kínáltak, mint a beépített DOS szerkesztők.
A Fájlkiterjesztés Fontossága
Fontos volt, hogy a fájl neve pontosan CONFIG.SYS
legyen, és a gyökérkönyvtárban helyezkedjen el (pl. C:\CONFIG.SYS
). A DOS rendszerindítási rutinja kizárólag ezt a nevet kereste, és ha a fájl neve eltért (pl. CONFIG.TXT
vagy CONFIG.SY
), akkor a DOS nem találta meg, és alapértelmezett beállításokkal indult el, ami gyakran problémákat okozott.
Biztonsági Másolatok Készítése
A CONFIG.SYS
módosítása előtt mindig javasolt volt biztonsági másolatot készíteni a fájlról. Ez egy egyszerű COPY C:\CONFIG.SYS C:\CONFIG.BAK
paranccsal megtehető volt. Ha a módosítások hibásak voltak, és a rendszer nem indult el, a felhasználó egy boot floppy lemezről (amelyen volt egy minimális DOS és az EDIT
program) elindíthatta a gépet, és visszaállíthatta a régi CONFIG.BAK
fájlt a C:\CONFIG.SYS
helyére. Ez megmenthette a rendszert a teljes újratelepítéstől. Sok tapasztalt DOS felhasználó több verziót is tartott a CONFIG.SYS
fájlból (pl. CONFIG.OLD
, CONFIG.OK
), hogy gyorsan válthasson közöttük vagy visszaállíthasson egy korábbi, jól működő állapotot.