Jádro systémů DOS je16bitové a je určeno proprocesoryIntel 8088 (a kompatibilní) použité v prvnímIBM PC uvedeném12. srpna1981. Lze ho provozovat i v současných počítačích typu PC, protože jejich procesory jsouzpětně kompatibilní a jsou schopny běhu v původním 16bitovém režimu, avšak i se všemi jeho omezeními. Systém DOS vychází z8bitového systémuCP/M a byl částečně inspirován tehdy již existujícímiunixovými systémy (adresáře,shell,přesměrování vstupů a výstupů atp.).
Programům poskytuje systém DOS různé služby, jako například přístup k souborům nadisku, zobrazování znaků na obrazovce, čtení znaků z klávesnice a podobně. Tyto vysokoúrovňové služby, které vytvářejí jednotnou abstraktní vrstvu pro programy (HAL), jsou následně předáványBIOSu, který přímo ovládáhardware.
Jádro operačního systému je velmi jednoduché a neníreentrantní, takže může být spuštěn nejvýše jeden program. Výjimkou jsouTSR[2] programy, které vytvářejí zdání, že DOS podporujemultitasking. Avšak i pro TSR programy platí, že jakmile nějakýprogram volá službu operačního systému, nemůže být přerušen jiným programem, který by chtěl také volat službu operačního systému (problém absence reentrantního jádra).
Jednoduchost DOSu byla jeho silnou stránkou, ale zároveň způsobila i jeho rychlý ústup po nástupu pokročilejších operačních systémů, které využívaly chráněného režimu procesorů kompatibilních sIntel 80386.
ProcesorIntel 8088 může adresovat maximálně 1 MiB (220 = 1 048 576bajtů)operační paměti, přičemž pro programy je přístupných pouze prvních 640 kiB (640 × 210 = 655 360 bajtů) tak zvanékonvenční paměti.[3] Tento limit byl obejit nejprve pomocí EMS (Expanded memory), která byla realizována speciální přídavnou paměťovou kartou. Později s pomocí procesoruIntel 80286 byl zaveden standard XMS (Extended memory), který využíval pro zpřístupnění paměti nad hranici 1 MiB speciální vlastnosti tohoto procesoru. ProcesoryIntel 80386 pak umožnily využítchráněný režim proDPMI aDOS extendery, které umožnily využít větší množství paměti aplikacím přímo.[4]
V obsluzepevných disků počítače bylo limitem použití souborového systémuFAT16, protože nebylo možné vytvořit většídiskový oddíl, než 2,1 GiB.[5] I přes to, že sWindows 95 OSR 2 byl DOS rozšířen o podporuFAT32 s maximální velikostí oddílu až 2 TiB, využívá DOS přístup k disku pomocí voláníBIOSu (INT 13) s metodouCylindr-Hlava-Sektor, která omezuje maximální velikost disku na 8 GiB.[6] Větší disky jsou přístupné jen pomocí 32bitového přístupu (uvnitřWindows 3.x a novějších).
DOS nevyužíval pro ovládání hardware vlastníovladače zařízení, ale služby BIOSu, které však podporovaly omezené množství zařízení a byly neefektivní. Důsledkem bylo přesouvání ovladačů tiskáren,grafických karet a dalšího moderního hardware do programů. Programy takto DOS obcházely a využívaly nejrůznější rozšíření, čímž se význam DOSu snižoval.
Přestože je název „DOS“ běžně používán, nikdy neexistoval systém, který by se jmenoval jen „DOS“ (až na nesouvisející název operačního systému prosálové počítače IBM letech 1960). Existuje též mnoho nesouvisejících systémů, které mají DOS v názvu, avšak pro počítače, které nejsouIBM PC kompatibilní a nejsou ani schopné spouštět DOSové programy a mají i odlišnéAPI (např.AmigaDOS,AMSDOS,ANDOS,Apple DOS,Atari DOS,Commodore DOS,CSI-DOS,ProDOS aTRS-DOS).
V roce1980 představilaIBM svůj prvnímikropočítač, který byl založen na procesoruIntel 8088 a potřebovala pro nějoperační systém. Nejprve se pokusila najít variantu CP/M, kterou by bylo možné provozovat na procesorech 8088 a oslovila protoBilla Gatese (pravděpodobně proto, že si mysleli, že jim CP/M patří kvůliMicrosoft Softcard, které umožňovalo běh CP/M na počítačíchApple II).[7]
IBM byla odeslána do firmy Digital Research (DR), avšak zde obchodní jednání ztroskotalo na tom, že firma DR požadovala licenční program a IBM chtěla jednorázovou licenci a změnu názvu na „PC-DOS“. Zakladatel firmy DRGary Kildall odmítl a společnost IBM se stáhla.[7]
IBM se opět obrátila na Billa Gatese a Gates oslovilSeattle Computer Products (SCP). Zde programátorTim Paterson vyvinulCP/M-80, který byl zamýšlen jako interní produkt pro testování nové 16bitovéprocesorové karty s procesoremIntel 8086 prosběrnici S-100. Systém se původně jmenoval „QDOS“ (anglickyQuick and Dirty Operating System) a posléze byl komerčně uvolněn jako86-DOS. Microsoft zakoupil 86-DOS za 50 000 dolarů a stal se z nějMS-DOS, který byl uvolněn v roce1981.[8]
Microsoft prodal licence svého systému mnoha počítačovým společnostem, které dodávaly MS-DOS se svým vlastním hardware a někdy i pod svým vlastním jménem. Později Microsoft začal vyžadovat, aby se používalo výhradně jméno MS-DOS (kromě varianty od IBM). IBM pokračovala ve vývoji vlastní verzePC-DOS pro svá IBM PC, která používala procesorIntel 8088, jenž měl shodnou instrukční sadu s procesoremIntel 8086.[8]
Firma Digital Research se dozvěděla, že IBM prodává operační systém podobný CP/M pod stejným názvem, na jakém IBM trvala při původním obchodním jednání, a hrozila právními kroky. IBM nabídla dohodu, že bude zákazníkům nabízet jak PC-DOS, takCP/M-86 (Kildalova verze pro procesor 8086), avšak CP/M bylo o 200 dolarů dražší než PC-DOS a prodeje byly nízké. CP/M ztratilo trh ve prospěch systémů MS-DOS a PC-DOS, které se staly standardem proIBM PC kompatibilní počítače.[7]
Digital Research se pokusilo získat trh zpět pomocíDR DOSu, který byl schopen provozovat programy pro MS-DOS i CP/M-86. Digital Research později koupila firmaNovell, DR DOS byl přejmenován na Novell DOS 7 a později se stal součástí firmyCaldera (jakoOpenDOS a DR DOS 7), Lineo a DeviceLogics.
Firmy Microsoft a IBM spolu měly několik neshod kvůli dvěma následníkům DOSu:Microsoft Windows aOS/2 od IBM.[9] Důsledkem bylo oddělení vývoje obou systémů DOS.[10] MS-DOS byl pak částečně transformován do Windows a poslední verze PC-DOSu (PC-DOS 2000) byla vydána v roce1998.
ProjektFreeDOS byl založen26. června1994, když Microsoft oznámil, že nebude dále prodávat a podporovat MS-DOS. Bylo vydáno několik předverzí, které obsahovaly volně dostupný kód. Verze 1.0 byla vydána3. září2006. FreeDOS nevyžaduje žádnou licenci ani licenční poplatky.[11][12] Někteří výrobci (včetně firemDell,Hewlett-Packard) prodávají počítače se systémem FreeDOS.[13][14]
Související informace naleznete také v článku FreeDOS.
NX-DOS je distribuován podGPL licencí a je v současné době ve vývoji. Jeho počátek byl v roce 1992 jako osobní projekt, pod GPL licencí byl vydán v roce2005.[15]
Postup při startu počítače je uIBM PC kompatibilních počítačů jednotný. Po zapnutí počítače a inicializaci všech komponent pomocí signáluReset je aktivovánBIOS, který do paměti zavede na operačním systému nezávislýMaster boot record (MBR) a spustí ho. MBR zavede do pamětiBoot sektor, také ho spustí. Boot sektor je závislý na operačním systému a je zodpovědný za jeho zavedení do paměti a následné spuštění.
Související informace naleznete také v článku BIOS.
V DOSu boot sektor zavádí do paměti nejprve IO.SYS (resp. IBMBIO.COM), který obsahuje rutiny pro obsluhuhardware. Následně je zavedeno do paměti jádro systému DOS, které je uloženo v souboru MSDOS.SYS (resp. IBMDOS.COM). V tuto chvíli je k dispozici přístup k souborům a je přečten textový konfigurační souborCONFIG.SYS, ve kterém se nachází příkazy pro nastavení jádra systému, odkazy na další ovladače a definice interpretupříkazového řádku, kterým je obvykleCOMMAND.COM. Interpret je spuštěn a jako první vykoná textovýdávkový souborAUTOEXEC.BAT, ve kterém jsou spouštěny další příkazy a programy, které je nutné při startu automaticky vykonat.[16] Nakonec interpret COMMAND.COM vytvoří příkazový řádek a čeká na zadání dalších příkazů uživatelem.
Jednotlivé kroky jsou mírně odlišné v jednotlivých variantách DOSu. Ke změnám došlo i při nástupuWindows 95. Podrobnosti najdete v příslušných článcích:MS-DOS,DR DOS,FreeDOS, atd.
DOS standardně poskytuje jentextový terminál a v němpříkazový řádek, pomocí kterého může uživatel zápisem příkazů počítač ovládat.
Protože je příkazový řádek poměrně nepohodlný, byly velmi často využívány specializované programy, které usnadňovaly správu souborů (kopírování, mazání, vytváření adresářů, …) a vytvářely charakteristickétextové uživatelské rozhraní. Nejpoužívanější bylNorton Commander, který se stal vzorem pro mnoho klonů, jako napříkladVolkov Commander,Manažer M602 a další (v současnosti seMidnight Commander stále používá vunixových operačních systémech včetněLinuxu).
DOS neposkytuje žádné API pro práci vgrafickém režimu, takže nelze přímo na DOSem vystavětgrafické uživatelské rozhraní ani jeho služby využít propočítačové hry. Programátoři grafických aplikací proto využívali vlastní knihovny a rozšíření, která však musela být schopna přímo ovládat nejrůznějšígrafické karty.De facto standardem byla v prvních počítačíchIBM PC kompatibilních černobílá grafická kartaHercules, jejíž grafický režim umělo ovládat mnoho programů. Velmi citelnou nevýhodou bylo, že každý program musel sám řešit ovládání hardware grafických karet, což snižovalo možnosti jeho přenositelnosti, avšak výrobci na to reagovalizpětnou kompatibilitou svých zařízení. Například textový editorT602 umožňoval běh s většinou tehdejších grafických karet, což však znamenalo enormní úsilí programátorů, které ale nešlo využít v jiných programech.
Existovaly i jiné pokusy o grafické rozhraní DOSu, avšak postupně zanikly. Samotné 16bitové Microsoft Windows byly později nahrazeny 32bitovýmiWindows NT, které však již DOS pro svůj běh nevyužívaly.
Související informace naleznete také v článku MS-DOS.
Původní verzeMicrosoft Windows byly aplikace, které běžely ve zvlášť zakupovaném systému DOS.[17] VeWindows 3.x byla role DOSu omezena na zavaděčjádra Windows a eventuální nouzový přístup k zařízením DOSovými ovladači (tzv.16bitový přístup v reálném režimu).Windows 95,Windows 98 aWindows ME obsahovaly DOS, který už nebyl prodáván zvlášť. Kromě verze Windows ME bylo u těchto systémů stále možné při startu spustit pouze samostatný DOS.[18]
ŘadaWindows NT, která obsahuje 32bitové jádro, pracuje nezávisle na DOSu. Většina verzí řady Windows NT obsahuje DOSový subsystém (Virtual DOS machine (NTVDM), v němž se používá modifikovaná verze MS-DOS 5.0 ve virtuálním stroji, který umožňuje běh DOSových aplikací, avšak není se systémem MS-DOS 100% kompatibilní.
↑The Int 13 Interface [online]. storagereview.com [cit. 2008-07-10]. (The PC Guide).Dostupné v archivu pořízeném dne 2008-07-04.
↑abc The rest of the story: How Bill Gates beat Gary Kildall in OS war, Part 1.www.podtech.net [online]. [cit. 26-07-2008].Dostupné v archivu pořízeném dne 21-08-2008.
↑ab The Unusual History of MS-DOS The Microsoft Operating System.inventors.about.com [online]. [cit. 2008-07-26].Dostupné v archivu pořízeném z originálu dne 2012-04-27.