DOS


Felteszem néhány régi doksim. Talán érdekesnek találják páran

A Dos-ról általában
Szeretnék bemutatni a teljesség igénye nélkül néhány DOS-t (Disk Operating System). Ezek az operációs rendszerek a mai x86 számítógépcsalád kezdeti tagjainak domináns szoftverei voltak, mára azonban szinte teljesen elvesztették jelentőségüket, kihaltak.

A DOS valós módban fut, tehát alapértelmezés szerint nem tudja az 1 MB fölötti memóriát használni. Nem többfeladatos, és a többfelhasználós jelző sem illik rá. Alapvetően karakteres üzemmódban működik, és a prompton keresztül lehet utasítani a rendszert különböző feladatok elvégézésére. Kifejlesztésekor már létezett a Unix, igaz, más környezetben, mint amin a DOS futott. A DOS néhány dolgot a Unixból vett át, ilyen például a standard ki- és bemenetek átirányíthatósága. Szolgáltatásai a mai modern grafikus rendszerekhez képest nagyon szűkek, de minden fontosabb funkciót támogatnak. Különböző DOS extenderekkel (pl. DOS4GW, PMODE32 stb.) lehetséges DOS alá is védett módú programot írni, ami nyugodtan használhatja a teljes memóriatartományt. Sajnos a rendszer sajátosságaiból adódóan nagyon könnyen lefagyhat a rendszer, elég egy hibásan megírt program.

A DOS fejlesztésekor saját fájlrendszert kapott: legelső volt a 12-bites FAT, ami hajlékonylemezek fájlrendszerének kiválóan alkalmas volt. (Itt kell megjegyezni, hogy az 1.xx verziójú DOS-ok csak hajlékonylemezt tudtak kezelni.) Aztán amikor a merevlemezek jobban elterjedtek, létrejött a FAT16, ami már 16-bites volt, és alkalmas volt több száz, akár ezer MB-os merevlemezek fájlrendszerének is. Sajnos nagyobb (5-600 MB) winchestereknél a 16-bites FAT jellegéből adódóan nagyon sok terület veszett fölöslegesen kárba, ezért a Windows 95-tel nagyjából egyidőben jelentették meg a 32-bites FAT-ot, ami még ma is a Windows 98, ME alapja. A 32-bites FAT sokkal kevésbé pazarolja a helyet, de nem érdemes 300-400 MB-nál kisebb winchesterre telepíteni, mert ott nem biztos, hogy nyerni fogunk vele.

A kezdetektől fogva a DOS fájlrendszere a 8+3-as fájlneveket támogatta, ahol az utolsó három karakter (kiterjesztés) a fájl tipusára utal. A Windowsok térhódításával azonban egyre inkább szükség volt hosszabb fájlnevekre is, és így jött létre a VFAT, aminek segítségével a régi, FAT12, FAT16 (és az új FAT32) fájlrendszerekben le lehet írni a hosszú fájlneveket. Ez a rendszer teljesen kompatibilis a korábbi rendszerekkel. Félreértések elkerülése végett ez nem egy új fájlrendszer, hanem egy módszer, aminek segítségével a hosszú fájlneveket tárolni lehet. Igaz, DOS alatt még így is csak a régi, 8+3-as nevek használhatók...

Nem csak a Microsoft fejlesztett DOS-t (MS-DOS), hanem az IBM is (PC-DOS), és volt DR-DOS is. Apróbb eltérésektől eltekintve (pl. az MS-DOS fájljait MSDOS.SYS-nek és IO.SYS-nek nevezték, míg a PC-DOS-ban IBMBIO.COM-nak és IMBDOS.COM-nak), nagyjából ugyanazt tudták. Nem szabad elfeledkeznünk a Novell DOS-ról sem, ami kifejezetten hálózati rendszer volt, erős támogatással a Novell hálózatok felé.

--------------------------------------------------------------------------------

MS-DOS 1.25
Egy igazi gyöngyszem! 1983-as termés a Microsofttól. Sajnos mivel eléggé részleteiben van csak meg ez az operációs rendszer, kipróbálni nem tudtam (bootolni róla), viszont van 1-2 program, ami futott. Például ment a BASIC.COM is, csak egy kicsit furán, igaz, NT4 alól indítottam. Nagyon tetszett, hogy teljesen más karaktereket jelenít meg, mint amiket ténylegesen lenyomok :) Ez a BASIC.COM egyébként egy örökzöld darab, aki BASIC-et akar tanulni és nincs kedve ezt Windows alól tenni, magyarul visszavágyik a 80-as évekbe, annak ajánlom figyelmébe!

Szövegszerkesztésre az EDLIN nevű igazán borzalmas programot mellékelték, ami mindenre jó volt, csak szövegek írására nem. Ennél még a COPY CON >FILE.TXT is barátságosabb volt! :)

Ez a DOS még igazán az elsők közül való. Nem támogatta a memóriarezidens programokat (TSR), nem tudta lekezelni a CTRL-BREAK-et, és ami igazán érdekes lehet, nem támogatta a könyvtárakat. Ezen kívül még sok minden mást sem .... viszont a teljes mérete kb. 200 KB körül lehetett! Úgy gondolom, hogy az átlagember számára teljesen használhatatlan volt, a programozóknak viszont egy igazi paradicsom, hiszen bőven volt mit fejleszteni hozzá. Ezt tudták Microsofték, és mellékelték a LINK-et, amivel OBJ fájlokat lehet összefűzni EXE-vé, és volt EXE2BIN is, amivel az EXE-ből lehet kinyerni a bináris kódot, majd abból COM-ot csinálni. Továbbá volt még egy DEBUG is, egy egyszerű nyomkövető és disassembler, amivel meglepően sokmindent lehetett ügyködni. Mondhatni hatékony eszköz volt.

--------------------------------------------------------------------------------

MS-DOS 5.0
A következő tesztalanyunk egy 1991-es darab, szintén a Microsofttól (még lesz néhány tőlük...). Az 5-ös változat szerintem minden idők legjobb DOS-a: kicsi (2 darab 1.2 MB-os lemezen elfér), gyors, és viszonylag sokat tud. Gyorsasága főleg a bootolás során mutatkozik meg, szinte pillanatok alatt elindul. Memóriával nagyon takarékos, ekkor még a Microsoft is tudott kevés memóriával gazdálkodni ...

Ezt a változatot már felvértezték hálózati szolgáltatások alapjaival is, amit sajnos nekem sosem volt alkalmam kipróbálni... az 1.25-ösből már megismert jó kis BASIC-ünket lecserélték QBASIC-re, ami egy kicsit újabb fajta BASIC nyelv, de nem hiszem, hogy ezért vették a DOS5-öt az emberek...

A DOS5-tel egyidőben már megkezdődött a Norton Commander térhódítása, hiszen rendkívül kényelmes és gyors eszköz volt. Már nem kellett ismerni a CD-t, MD-t, DIR-t stb., elég volt az NC. A Microsoft ezt felismerte, és megjelent a DOSSHELL nevű rém, ami az NC riválisa akart lenni. Hiába volt az MS-DOS 5 könyvben sok-sok oldalas leírás erről a torzszülöttről, nem igazán lett népszerű. Csúnyának végülis nem mondható, egész pofás, csak éppen használhatatlan. Megfigyelhető azonban, hogy a Windows 95-ben bemutatott Intéző (Explorer) nagyon hasonlít a DOSSHELL-re. Bal oldalon találjuk a fa-struktúrát, ahol is a könyvtár neve előtt van egy + jel, ha a könyvtár tartalmaz további alkönyvtárakat, és jobb oldalon pedig a bal oldalon kiválasztott könyvtár tartalma látszik. Ez közös a kettőben. Meg az is, hogy szinte teljesen használhatatlanok.

Támogatta az IPX hálózatokat, nemzeti karaktertáblákat és billentyűzetkiosztásokat, batch programokat, winchestereket, elsődleges és kiterjesztett partíciókat stb.

Az EDLIN-nek csúfolt agyrémet szerencsére felváltotta az MS-DOS Editor, azaz az EDIT.COM, aminek leszármazottai még mai is vígan élnek Windows 98-unk COMMAND könyvtárában. Ez a szerkesztő trükkös volt, mert egy pici 413 bájtos COM program volt az EDIT. Ez azonban betöltötte a QBASIC-et, és gyakorlatilag a QBASIC felülete alatt lehetett szöveget szerkeszteni.

Virágkorukat élték a memóriamenedzserek. Nagyon sokféle menedzser program jelent meg, amik az 1MB fölött memória kihasználását célozták meg. Alapvetően azonban a HIMEM.SYS-ről és az EMM386.EXE-ről beszélhetünk. Az előbbi az XMS memóriát támogatta, míg az utóbbi az EMS-t. Nagy keverések folytak a memória elnevezéséről, mert a 640 KB fölötti részt felső memóriának (UMB), míg az 1MB fölöttieket extended/expanded (kiterjesztett) memóriának hívták attól függően, hogy HIMEM-et vagy EMM386-ot használtunk. Véleményem szerint az XMS volt a jobb megoldás, de tagadhatatlan, hogy nagyon sok program használt EMS-t. Az EMS kisebb teljesítményű volt. Én azért sem szerettem az EMS-t, mert nem tetszett, hogy a CONFIG.SYS-be a DEVICE után egy EXE program kerül :)

A DOS5-nek voltak belső pufferei a fájlműveletekhez, ezzel azonban nem sokat értek. Így hát mellékelték a SMARTDRIVE-ot, ami egy disk cache program volt. Ennek használatával sokat javult a rendszer teljesítménye; képes volt hagyományos, EMS és XMS memória használatára is. Végre végetért a hosszú másodpercekig, vagy akár percekig tartó kattogás a winchesterből, ami ráadásul még a mechanikának sem tett jót. A SMARTDRIVE-nak volt egy riválisa, a Norton Cache, azonban Nortonéknek ezen a téren nem igazán sikerült nyerniük, a SMARTDRIVE volt az elterjedtebb. A winchesterek még nem voltak olyan gyorsak, mint ma, ezért a RAMDISK.SYS is jó megoldásnak bizonyult olyan esetekre, amikor a program sokat olvas/ír merevlemezre. A RAMDISK.SYS szimulált egy meghajtót, aminek az összes adata a memóriában volt, csak erről más programok nem tudtak. Ha egy program írt erre a meghajtóra (ramdiskre), akkor az nagyon gyorsan ment végbe, hiszen a memóriába írt, és ha olvasott, akkor ez is onnan történt. Azonban voltak komoly veszélyei ennek a megoldásnak, mégpedig ha hirtelen áramszünet jött, vagy nem megfelelően kapcsolták ki a gépet, esetleg nem archiválták a ramdisken található új adatokat, akkor azok szépen elszálltak... :( (mint a PC RAM teljes tartalma).

Szívem szerint csak ezt használnám, de van egy komoly hátulütője: FAT16. A mai időkben a FAT16 már komoly pazarlást jelentene, ezért FAT32-t használok, amit ugye sajnos nem támogat az MS-DOS 5, így kénytelen vagyok a 7.1-es MS-DOS-t használni. Nagyon stabil kis operációs rendszer, és az is érdekes, hogy a DOS-os játékok szinte sosem igényeltek 5-ösnél újabb DOS-t. Támogatta az XMS-t, EMS-t, és ha jól sejtem a DPMI-t is. A DOS-os játékoknak tehát minden adva volt.

Az 5-ös DOS mellett meg kell említeni a Windows 3.0-t, ami a DOS alapjaira épült. Érdemes tudni, hogy még a Windows 98 is használt eredeti DOS függvényeket! Windows ME már egyáltalán nem használ, legalábbis ezt állítja a Microsoft...

--------------------------------------------------------------------------------

MS-DOS 6.2, MS-DOS 6.22
Az 5-ös óta beépítettek néhány apróbb fejlesztést, mellékelték pl. a CD-ROM meghajtót, az MSCDEX programot. Saját SETUP-ot kapott, már ezt is lehetett telepíteni, mint a Windowsokat... a 6.22 egy eléggé stabil változatnak mondható, a 6.2 javított és egy kicsit továbbfejlesztett változata. Memóriaéhsége megnőtt, de ennek ellenére még mindig az egyik legjobb DOS. Joggal jöhet a kérdés, hogy miért használ több memóriát, amikor a fájlok (pl. a SYS.COM) kisebbek az 5-öshöz képest? Azért, mert a programok le vannak tömörítve PKLite-al, ami futásidőben kitömöríti a progit. Tehát csak a fájl kisebb, a tényleges mérete nagyobb. Összes DOS-os játék fut alatta. FAT32-t nem támogatja.

A 6.22-es DOS-hoz szorosan kapcsolódik a Windows 3.1 és a 3.11, amik a 3.0-hoz hasonlóan használták a DOS-t.

--------------------------------------------------------------------------------

MS-DOS 7.0, MS-DOS 7.1
A 7.0-ás DOS a Windows 95 mellé jött, önállóan nem is adták ki. Nem sokkal tudott többet elődeinél, viszont jó Microsoft szokás szerint ismét nagyobb lett. A Windows 95 már sok nyelven jelent meg, így a DOS-t is nemzeti nyelvűre változtatták. A magyar Windows 95 mellé adott DOS egyszerűen siralmas volt, a magyarítás olyan mértékig sikerült rosszul, hogy nem is érdemes beszélni róla. Inkább ki kell próbálni.

A 7.1-es a Windows 98-hoz jár, annak már kulturáltabb a magyarítása. Jelentős továbblépés, hogy ez már támogatja a FAT32-t, azaz simán csak DOS módból elérhető a FAT32 fájlrendszer. Eddig ez csak külön segédprogramokkal, Windows alól vagy sehogy sem ment.

Windows DOS boxból a DIR parancs már hosszú névvel listázza a tartalomjegyzéket, továbbá szintén Windows alól a DOS-nak vannak kiterjesztett függvényei, amikkel a hosszú fájlnevek kezelhetők. Az viszont hiányosság, hogy sima DOS módban nem működnek ezek a funkciók, pedig nyugodtan beépíthették volna, ez tényleg hasznos lenne.

--------------------------------------------------------------------------------

Caldera OpenDOS 7.01
Eredetileg Novell DOS névre hallgatott, azonban a Caldera megvette és végül ingyenessé tette, azt hiszem a forráskódját is. Novelltől örökölte az erős hálózati támogatást (IPX), ami tényleg figyelemre méltó volt. DOS-os hálózatok rendszeréül szívesen választották, mert nagy teljesítményt nyújt.

Ál-grafikus, ám szép telepítőfelülete van, és sok egyéb program is megkapta ezt a felületet. Van benne egy hálózati játék, ami amilyen egyszerű olyan nagyszerű (a Netwars-ról beszélek :) ) A programfejlesztői "segédletek" teljesen eltűntek, egyedül az EXE2BIN maradt, amit szerintem senki sem használ... (mert az átlag embernek teljesen mindegy, hogy COM vagy EXE, a programozó meg úgysem így fog COM-ot csinálni)

Sajnos túl későn jelent meg, a Windowsok már teljesen kiszorították, és így nem sok port kavart .... :(