MS-DOS
MS-DOS | |
![]() | |
![]() | |
Fejlesztő | Microsoft |
Forráskód | zárt |
OS-család | DOS |
Programozási nyelv | assembly |
Stabil verzió | 8.0 (2000. szeptember 14.) |
Kernel | monolitikus |
Felhasználói felület | DOS CLI |
Licenc | saját |
Státusz | Nem támogatott |
Weboldal | https://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/windows_dos_overview.mspx |
A Microsoft lemezes operációs rendszere, az MS-DOS (Microsoft Disc Operating System, azaz Microsoft lemezkezelő rendszer) egy széles körben használt operációs rendszer volt az IBM-kompatibilis PC platformon (ma már kiváltották az asztali gépek terén a Windows különféle változatai). Első verziója 1981-ben jelent meg, és 8 fő változat készült belőle, mielőtt a Microsoft 2006-ban befejezte a fejlesztését. A bevételének és piaci részesedésének köszönhetően ez volt a Microsoft kulcsfontosságú terméke a programozási nyelveket gyártó cégből kiterjedt szoftverfejlesztő vállalattá való növekedés során.
Történelem
[szerkesztés]Az MS-DOS-t eredetileg a Seattle Computer Products (SCP) fejlesztette ki QDOS (Quick and Dirty Operating System, gyorsan összecsapott operációs rendszer) néven. Ez végül 86-DOS-ként került forgalomba (mert az Intel 8086 processzoraira tervezték). Bizonyos események folytán – ami több legendát is szült – a QDOS-t a Microsoft licencelte az IBM-nek az SCP nevében. A Microsoft 50 000 dolláros áron vásárolta meg a rendszert az SCP-től röviddel a PC megjelenése előtt, később ez az üzlet milliókat jelentett számára, és megalapozta elterjedtségét.
Fejlesztés
[szerkesztés]Mind az IBM, mind a Microsoft adott ki saját DOS-változatokat. Eredetileg az IBM csak ellenőrizte és becsomagolta a Microsoft termékeit, így az IBM verziói röviddel a Microsoftéi után jelentek meg. Az MS-DOS 4.0 azonban valójában az IBM PC-DOS 4.0 verzión alapult, mert akkoriban a Microsoft az OS/2 fejlesztésére koncentrált. A Microsoft „MS-DOS”, az IBM „PC DOS” néven forgalmazta DOS változatait.
Eleinte amikor a Microsoft licencelte az MS-DOS OEM változatát egy-egy számítógépgyártó cégnek, a gyártó az operációs rendszer nevét is megváltoztathatta (például TandyDOS, Compaq DOS). A legtöbb ilyen változat teljesen megegyezett az MS-DOS-szal. Egy idő után a Microsoft ragaszkodni kezdett hozzá, hogy a gyártók megtartsák az MS-DOS terméknevet. Végül egyedül az IBM állt ellen ennek a követelésnek.
Az időrend
[szerkesztés]- PC DOS 1.0 – 1981. augusztus – Az első kiadás az IBM PC-vel
- PC DOS 1.1 – 1982. május
- MS-DOS 1.25 – 1982. május – Az első nem IBM hardverhez kapcsolt változat
- MS-DOS 2.0 – 1983. március – Unix-ból ismert funkciók bevezetése, mint az alkönyvtárak, handle-alapú fájl műveletek, bemenet/kimenet átirányítás, pipe-ok használata. Elérési út elemeit elválasztó karakterként a Microsoft a Unixban használt / karakter helyett a \ karaktert választotta, mivel a perjelet a legtöbb DOS és CP/M program kapcsolóként használta a parancssorban.
- PC DOS 2.1 – 1983. október
- MS-DOS 2.11 – 1984. március
- MS-DOS 3.0 – 1984. augusztus – FAT16 fájlrendszer támogatása
- MS-DOS 3.1 – 1984. november
- MS-DOS 3.2 – 1986. január – Két merevlemez-partíció támogatása 32 MB-ig, egy elsődleges és egy logikai meghajtó a kiterjesztett partíción
- PC DOS 3.3 – 1987. április
- MS-DOS 3.3 – 1987. augusztus – Több logikai meghajtó támogatása
- MS-DOS 4.0 – 1988. június – Az IBM kódból származtatott verzió
- PC DOS 4.0 – 1988. július – A DOS Shell héjprogram megjelenése, grafikus menü kiválasztó, 32 MB-nál nagyobb merevlemezek támogatása a Compaq DOS 3.31 formátumában. Több hiba is megjelent, valamint kevesebb hagyományos memória érhető el. Sikertelen kiadás, kerülendő.
- MS-DOS 4.01 – 1988. november – hibajavításokat tartalmazó kiadás
- MS-DOS 5.0 – 1991. június – A DR-DOS 5.0-s verziójára reagálva hasonló tulajdonságok megjelenése: memóriakezelés, teljes képernyős szövegszerkesztő, QBASIC programozási nyelv, súgó, feladatváltó a DOS Shellben
- MS-DOS 6.0 – 1993. március – A DR-DOS 6.0-ra reagálva: DoubleSpace lemez tömörítés (a Stackerről másolva) és más funkciók
- MS-DOS 6.2 – 1993. november – hibajavításokat tartalmazó kiadás
- MS-DOS 6.21 – 1994. február – A Stacker pere folytán eltávolítják a DoubleSpace tömörítést
- PC DOS 6.3 – 1994. április
- MS-DOS 6.22 – 1994. június – Utolsó önálló verzió. A DoubleSpace technológiát kicserélik a jogilag tiszta, de kompatibilis DriveSpace-re
- PC DOS 7.0 – 1995. április – A DriveSpace helyett a Stackerrel csomagolva
- MS-DOS 7.0 – 1995. augusztus – A Windows 95-ben megtalálható DOS változat
- MS-DOS 7.1 – 1996. augusztus – A Windows 95 OSR2 (Windows 95B) és Windows 98 változatokkal csomagolt DOS. Támogatja a FAT32 fájlrendszert
- MS-DOS 8.0 – 2000. szeptember 14. – A Windows Me DOS változata, az MS-DOS utolsó verziója. Nem szerepel benne a SYS parancs, nem lehet parancssorba bootolni és más képességek is hiányoznak
- PC DOS 2000 – Y2K-kompatibilis verzió több kisebb jelentőségű újdonsággal. Az MS-DOS család utolsó tagja
Forrás: PC Museum
Az MS-DOS nagyon gyors ütemben fejlődött, több jelentős képességet kölcsönözve más termékekből és oper��ciós rendszerekből, mint például a Microsoft saját Xenix-e (egy Unix-variáns) és a Digital Research DR-DOS-a, valamint olyan segédeszközökből, mint a Norton Utilities, a PC Tools (Microsoft Anti-Virus), a QEMM kiterjesztett memória menedzser, a Stacker lemez tömörítő stb.
Az Intel 80286 mikroprocesszor megjelenésével az IBM és a Microsoft egy közös projekten kezdtek el dolgozni, amit OS/2-nek neveztek el és eredetileg az MS-DOS védett módú változata lett volna. Később a Microsoft kiszállt a projektből, hogy minden erőforrását a Windows-ra és a Windows NT-re fordíthassa. A Digital Research kifejlesztette GEM grafikus felhasználói felületét (GUI), ami PC-n nem terjedt el, bár nagyon népszerű volt az Atari ST gépeken. A Microsoft Windows 3.0 megjelenésével teljesen feledésbe merült ez a rendszer.
Jogi kérdések
[szerkesztés]Válaszként a Digital Research DR-DOS 6.0-jára, ami SuperStore lemeztömörítést tartalmazott, a Microsoft tárgyalásba kezdett a Stac Electronics-szal, a legnépszerűbb DOS lemeztömörítő eszköz (Stacker) gyártójával. A Stacnek nem tetszett a Microsoft által ajánlott szerződés, ezért visszavonult. A jutalékfizetési eljárás megállapítása során a Stac mérnökei a Stacker forráskódjának egy részét is megmutatták.
Ez után nem sokkal kiadták a MS-DOS 6.0-t, ami a Microsoft DoubleSpace lemeztömörítési eszközt tartalmazta. A Stac sikeresen beperelte a Microsoftot a DoubleSpaceben alkalmazott algoritmus szabadalomsértése miatt. Ez az MS-DOS 6.21-et eredményezte, amiből eltávolították a lemeztömörítést. Röviddel később megjelent a 6.22 verzió egy új lemeztömörítési eszközzel, a DriveSpace-szel, ami már nem ütközött szabadalomsértési problémákba. A társaság egy másik pert is elvesztett, mivel a Windows 3.1 kódja tartalmazott egy olyan részt, ami hamis hibákat okozott, ha a rendszert DR-DOS-on indították.
1995 előtt a Microsoft három fajta módon licencelte az MS-DOS-t a számítógépgyártóknak: processzor alapon (minden eladott rendszer után fizetett összeg), rendszer alapon (adott modellből minden rendszer után fizetett összeg), másolás alapon (minden telepített MS-DOS után fizetett összeg). A legnagyobb gyártók a processzor alapú konstrukciót választották, aminek a legalacsonyabb volt a díja. Ez a megállapodás nehézzé tette a nagy gyártóknak, hogy más operációs rendszerre váltsanak, például DR-DOS-ra. 1994-ben az Egyesült Államok kormánya beperelte a Microsoftot az antitröszt törvény megsértéséért, és egyezség keretén belül rendszer alapú licencelésre korlátozta a Microsoftot. A Digital Research nem nyert a megállapodással, és évekkel később a jogutódja (amelynek érdekeltsége volt a Calderában) beperelte a Microsoftot az okozott kárért. A bíróság 150 millió dollár kifizetésére kötelezte a Microsoftot.
Multitasking
[szerkesztés]Az MS-DOS-t nem többfelhasználós vagy többfeladatos operációs rendszernek tervezték, de megpróbálták ezt a hátrányt leküzdeni az évek során. A Terminate and Stay Resident (TSR) rendszerhívás eredeti célja a betölthető eszközmeghajtók kezelése volt, valamint más, többnyire nem dokumentált függvényeket használtak felugró alkalmazások készítésére. A Borland SideKick személyi produktivitás terméke egy jelentős példánya volt ezen képességeknek. Olyan termékek, mint a TopView és főleg a DESQview megpróbáltak többfeladatos környezetet biztosítani, és sikereket is értek el, amikor később kombinálták őket az Intel 80386 és későbbi mikroprocesszor virtuális 8086-os módjával és a virtuális memória képességeivel. A Windows 2.1 és későbbi verziói hasonló, de gyengébb lehetőséget biztosítanak a "386 enhanced" módban, de a Microsoft sosem hangsúlyozta ezt a lehetőséget, és elsősorban a grafikus felület használata felé próbálta terelni a felhasználókat.
Felhasználói felület
[szerkesztés]Az MS-DOS szöveges felhasználói felülettel és kötegeltscript-futtatási lehetőséggel (batch) rendelkezik a parancsértelmezője, a command.com révén. Az MS-DOS-t úgy tervezték, hogy könnyen cserélhető legyen a parancs értelmezője, például 4DOS-ra. Egyes programjai, mint például az EDIT.COM, semigrafikus felhasználói felületet, úgynevezett TUI-t biztosítanak, amely bizonyos mértékig grafikus felületet hoz létre karakterekből, gyakran azok színezését is felhasználva, ha a hardver lehetővé teszi. Sok harmadik féltől származó szoftver, illetve a Microsoft által gyártott, de nem a DOS-szal egy csomagban adott program szintén tartalmaz TUI-t, vagy akár grafikus felhasználói felületet (GUI) is, de maga az operációs rendszer karakter és szöveg alapon kommunikál a felhasználóval.
Kompatibilitás
[szerkesztés]Az Apple Macintosh 1984-es megjelenése után az IBM PC felhasználói is hasonló grafikus felületre vágytak. Sok MS-DOS alatt futó program próbálta az űrt betölteni saját grafikus felülettel, mint a Microsoft Word for DOS, XTree és a Norton Shell. Ez azonban dupla erőfeszítést követelt, és nem biztosított konzisztens felhasználói felületet (még egy termékvonalon belül sem).
A Microsoft Windows első verziói rendes programok voltak, melyek az MS-DOS-on és klónjain futottak. A későbbi verziók is DOS-ból indultak, de kiterjesztették azt, hogy védett módban fussanak. A későbbi Microsoft Windows verziók többé-kevésbé DOS-tól függetlenül futottak, de a DOS is a memóriában marad, az új operációs rendszerben virtuális gépként tudott futni. A Windows terminálása után, a "Most már kikapcsolhatja a számítógépet" felirat megjelenésének pillanatára a vezérlés valójában visszakerül a DOS-hoz, amely végig a memóriában volt, több feladathoz futott is, a videóbeállítás megfelelő DOS utility programmal ekkor frissíthető, és a DOS-prompt megjelenik, bár a memória tartalmában lezajlott változások miatt nem teljeskörűen használható. Az NTFS fájlrendszert (a Windows XP alapértelmezett fájlrendszere) használó gépeken az MS-DOS nem futtatható közvetlenül a merevlemezről. Ehhez vagy NTFS-kompatibilis DOS verzió szükséges, vagy szükség van egy elsődleges FAT16 (azzal kompatibilis DOS, például FreeDOS esetében esetleg FAT32) partícióra, amelyről az operációs rendszer bootolhat. Az NTFS és más, például exFAT később már hozzáférhetőek a DOS számára driverekkel, mint például a DRFAT32, az Avira NTFS4DOS, a Paragon Software írást, olvasást és hosszú fájlneveket is támogató, szintén NTFS4DOS szoftvere, vagy az NTFSPRO. Egyes, 32 bites, Windowsra írt programok DOS-on is futtathatóak, noha alapértelmezésben egy "This program cannot be run in DOS mode!", vagy ahhoz hasonló hibaüzenettel már a stub betöltése után terminálnának.
Az HX.DOS keretrendszer tartalmaz egy DPMI betöltő programot, amely érzékeli, ha Windows (PE) programot próbálnak vele betölteni, ebben az esetben átugorja a stub-ot, és megkísérli a Windows programot DOS védett módú programként futtatni, több esetben sikerrel. Szélsőséges példa a DOSBox, amelynek több verziója fut DOS-on, Windows ablakos környezet híján csak a nem létező ablak tartalmát megjelenítve VESA funkciók révén. Az HX.DOS 2.17+ az egyik eszköz a modern számítógépek hangeszközei és a régi játékok összekötésére valódi DOS rendszeren. A mai napig készülnek szoftverek DOS-ra, ide értve a 2016-os HX.DOS 2.17+ extendert, a QuickView 2016-os változatát, vagy a grafikus Links webböngészőt, amelynek magyar nyelvű menüje és kezelőfelülete van, valamint kezeli a Unicode szabványt. Ezek a szoftverek főként rajongóktól, hobbi-termékként készülnek el, vagy mindenféle platformokra kiadott szoftverek DOS-változataként, de egyes hardverekhez a mai napig szokása a gyártóknak saját hivatalos DOS drivert közzétenni, például a hálózati kártyákhoz. Ezek viszont gyakran kisebb hatásfokú használatot biztosítanak, mint más rendszerek driverei, és nem egy-egy termékhez, hanem termékcsaládokhoz készülnek. Wifi adapterekhez viszont jellemzően nem találni DOS drivert.
Michael Chourdakis 2015-ben publikálta a DMMI névre hallgató DOS-extendert, amely 64-bites és többprocesszoros futtatási környezetet biztosít DOS operációs rendszeren. Az operációs rendszer 16 bitesként fut tovább az első processzor(mag)on, míg a kliensszoftver egy másik, 64 bites longmode-ba kapcsolt CPU-n fut és a DMMI-n keresztül kommunikál az operációs rendszerrel. Az önmagában nem élvezi a 64 bites hardver előnyeit, de az alkalmazás, utility, vagy egyéb kliensprogram igen. 64 bites program önállóan, DMMI nélkül is, vagy más DOS-longmode interface-en keresztül is futhat DOS-on, így a DOS Navigator 2018-as 64-bites verziója, amellyel statikusan linkelve érkezik saját DPMI64 extendere. Az EMS64 – EMS 4.0 szimulátor a 64 bites DOS Navigator készítőjének másik 64 bites szoftvere egy DOS driver, amely képes elérni a csak 64 bites módban elérhető RAM-ot és az EMS specifikációnak megfelelően hozzáférhetővé teszi azt hagyományos DOS programok számára.
Kapcsolódó rendszerek
[szerkesztés]Több hasonló terméket is bemutattak más cégek. A PC-DOS-t és a DR-DOS-t gyakran nevezik másolatoknak. Mivel a PC-DOS-t a Microsoft gyártotta az IBM-nek, a PC-DOS és az MS-DOS „testvérek” voltak, melyek a fejlődésük során kettéváltak különböző termékekké.
Linux alatt is lehetséges a DOS és másolatainak futtatása a dosemu program segítségével, ami egy linuxos virtuális gép valós módú programok futtatására. Több DOS-emulátor is elérhető a különböző Unix-verziókra, még nem x86 platformokon is.