CONFIG.SYS: a számítógép kezdeti beállításait tartalmazó DOS parancsfájl szerepe

A CONFIG.SYS egy fontos DOS parancsfájl, amely a számítógép indulásakor állítja be a rendszer alapvető működését. Ebben találhatók meg az eszközillesztők és memória-beállítások, amelyek segítik a zökkenőmentes működést.
ITSZÓTÁR.hu
35 Min Read

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, a FILES és BUFFERS 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 a SHELL parancs az alternatív parancsértelmező definiálásához. A DOS 3.3-tól kezdve a FASTOPEN 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 a STACKS 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 és EMM386.EXE memóriakezelőket, valamint a DOS=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. A DEVICEHIGH és LOADHIGH parancsok (utóbbi az AUTOEXEC.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 a CONFIG.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). A HIMEM.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 a CONFIG.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. Az EMM386.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 a DEVICEHIGH és LOADHIGH 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 az AUTO paraméter automatikusan engedélyezte vagy tiltotta az EMS-t, ha szükséges volt. Más paraméterek, mint a NOEMS, 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. Az UMB paraméter (Upper Memory Blocks) engedélyezte a felső memóriaterületek (640KB és 1MB közötti) használatát, feltéve, hogy az EMM386.EXE is be volt töltve. Ez tette lehetővé a DEVICEHIGH és LOADHIGH 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 az EMM386.EXE-nek és a DOS=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 az ANSI.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 (vagy MOUSE.COM, amit az AUTOEXEC.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 a CONFIG.SYS-ben kellett betölteni, és általában egy egyedi azonosítót is meg kellett adni (pl. /D:MSCD001). Ezt követően az AUTOEXEC.BAT-ban az MSCDEX.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 a COMMAND.COM paramétereinek finomhangolását. Gyakran használták a /P paraméterrel, amely rezidenssé tette a COMMAND.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 a STACKS érték túl alacsony volt. A standard beállítás általában STACKS=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ában OFF 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ában FCBS=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. Az INSTALL 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 az AUTOEXEC.BAT-ból indították volna. Gyakran használták például a KEYB.COM (billentyűzetkiosztás) vagy a SHARE.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 az AUTOEXEC.BAT-ban futtatták, a CONFIG.SYS-ben a DEVICE=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. A SETVER 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 hibái rendszerindítási problémákat okozhatnak gyakran.
A CONFIG.SYS hibás beállítása rendszerindítási hibákat okozhat, ezért mindig mentés szükséges a módosítás előtt.

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 az F5 billentyűt, a DOS teljesen kihagyta a CONFIG.SYS és az AUTOEXEC.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 a CONFIG.SYS vagy az AUTOEXEC.BAT valamelyik sorában volt.
  • F8 (Interaktív Indítás): Az F8 lenyomása esetén a DOS sorról sorra végighaladt a CONFIG.SYS és az AUTOEXEC.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 az AUTOEXEC.BAT előtt hajtódott végre. A CONFIG.SYS parancsait az IO.SYS kernel dolgozta fel, még mielőtt a parancsértelmező (COMMAND.COM) betöltődött volna. Csak a CONFIG.SYS sikeres feldolgozása után indult el az AUTOEXEC.BAT, amelyet már a COMMAND.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éges MSCDEX.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 a DEVICE, FILES, DOS. Az AUTOEXEC.BAT viszont standard DOS parancsokat (mint a SET, 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 a DOS=UMB és EMM386.EXE segítségével, a LOADHIGH (vagy LH) parancsot az AUTOEXEC.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

  1. BIOS POST: A számítógép hardverének öntesztje.
  2. Boot Szektor: A rendszerindító meghajtó boot szektora betöltődik.
  3. IO.SYS (vagy IBMBIO.COM): Az alapvető I/O rendszer és a rendszerindító rutinok betöltődnek.
  4. MSDOS.SYS (vagy IBMDOS.COM): A DOS kernel betöltődik.
  5. CONFIG.SYS: Az IO.SYS feldolgozza a CONFIG.SYS fájlt, betölti az illesztőprogramokat és beállítja a rendszerparamétereket.
  6. COMMAND.COM: A DOS parancsértelmezője betöltődik.
  7. AUTOEXEC.BAT: A COMMAND.COM végrehajtja az AUTOEXEC.BAT fájlt, beállítja a környezeti változókat és elindítja az automatikusan futó programokat.
  8. 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 és AUTOEXEC.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 az AUTOEXEC.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 és EMM386.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. A FULL 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 és DOS=HIGH,UMB), amelyek minden esetben szükségesek.
  • [FULL]: A teljes konfiguráció. Betölti az EMM386.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. Az EMM386.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én NOEMS paraméterrel futtatja az EMM386.EXE-t a maximális konvencionális memória érdekében. A FILES és BUFFERS é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 módosítása újraindítás nélkül nem lép életbe.
A CONFIG.SYS fájl módosításával testre szabható a rendszer memóriahasználata és eszközillesztők betöltése indításkor.

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 az EDIT 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 a EDIT 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) az EDLIN 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.

Share This Article
Leave a comment

Vélemény, hozzászólás?

Az e-mail címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük