DOS

DOS(Disk Operating System, diskový operační systém)je rodina velmi podobných a jednoduchýchoperačních systémůstextovým uživatelským rozhraním. Nejrozšířenější bývalMS-DOS, ale používaly se také navzájemkompatibilnísystémyIBM PC DOS(1981),DR DOS(1988),PTS-DOS(1993) aFreeDOS(1998).
DOS dominovalIBM PC kompatibilnímpočítačům mezi roky1981a1995(resp. zhruba do roku2000, započítáme-li na DOSu založené verzeWindows 95,Windows 98aWindows ME), poté ho nahradil ve velké většiněMicrosoft Windows.
Jádro systémů DOS je16bitovéa je určeno proprocesoryIntel 8088(a kompatibilní) použité v prvnímIBM PCuvedené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éhosystémuCP/Ma byl částečně inspirován tehdy již existujícímiunixovýmisystémy (adresáře,shell,přesměrovánívstupů a výstupů atp.).
DOS je jednouživatelský a jednoúlohovýoperační systémprovozovaný naprocesorechIntelx86a kompatibilních. Je schopen běžet i na novějších zpětně kompatibilních procesorech (IA-32ax86-64), avšak využívá vždy jen 16bitovéhoreálného režimushodného s procesoryIntel 8086. Pokročilé vlastnosti modernějších procesorů využívá jen částečně (Extended memory,DPMI,DOS extendery).
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émuje velmi jednoduché a neníreentrantní, takže může být spuštěn nejvýše jeden program. Výjimkou jsouTSRprogramy, které vytvářejí zdání, že DOS podporujemultitasking. Avšak i pro TSR programy platí, že jakmile nějakýprogramvolá 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 8088může adresovat maximálně 1 MiB (2= 1 048 576bajtů)operační paměti, přičemž pro programy je přístupných pouze prvních 640 kiB (640 × 2= 655 360 bajtů) tak zvanékonvenční paměti.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 80286byl zaveden standard XMS (Extended memory), který využíval pro zpřístupnění paměti nad hranici 1 MiB speciální vlastnosti tohoto procesoru. ProcesoryIntel 80386pak umožnily využítchráněný režimproDPMIaDOS extendery, které umožnily využít větší množství paměti aplikacím přímo.
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.I přes to, že sWindows 95 OSR 2byl DOS rozšířen o podporuFAT32s 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.Větší disky jsou přístupné jen pomocí 32bitového přístupu (uvnitřWindows 3.xa 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 kareta 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 IBMletech 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,ProDOSaTRS-DOS).
První systém DOS byl vydán v roce1979pod názvemQDOS(později známý jako 86-DOS). Vzorem mu byloperační systémCP/Mod firmyDigital Research, který dominoval8bitovýmpočítačům s procesoryIntel 8080aZilog Z-80. Od něj se odvíjely další varianty DOSu.
V roce1980představilaIBMsvůj prvnímikropočítač, který byl založen na procesoruIntel 8088a 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).
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 Kildallodmítl a společnost IBM se stáhla.
IBM se opět obrátila na Billa Gatese a Gates oslovilSeattle Computer Products(SCP). Zde programátorTim PatersonvyvinulCP/M-80, který byl zamýšlen jako interní produkt pro testování nové 16bitovéprocesorovékarty s procesoremIntel 8086prosbě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.
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-DOSpro svá IBM PC, která používala procesorIntel 8088, jenž měl shodnou instrukční sadu s procesoremIntel 8086.
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.
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(jakoOpenDOSa 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 WindowsaOS/2od IBM.Důsledkem bylo oddělení vývoje obou systémů DOS.MS-DOS byl pak částečně transformován do Windows a poslední verze PC-DOSu (PC-DOS 2000) byla vydána v roce1998.
ProjektFreeDOSbyl 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.Někteří výrobci (včetně firemDell,Hewlett-Packard) prodávají počítače se systémem FreeDOS.
NX-DOSje distribuován podGPLlicencí a je v současné době ve vývoji. Jeho počátek byl v roce1992jako osobní projekt, pod GPL licencí byl vydán v roce2005.
Aktivně je v současné době distribuován pouzeEnhanced DR-DOS, ruskýPTS-DOSaROM-DOSproembedded systémy. Jediná komerčně dostupná verze je DR DOS.
Postup při startu počítače je uIBM PC kompatibilníchpočítačů jednotný. Po zapnutí počítače a inicializaci všech komponent pomocí signáluResetje 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í.
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.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ála 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 M602a další (v současnosti seMidnight Commanderstále používá vunixovýchoperač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 factostandardem 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 kompatibilitousvých zařízení. Například textový editorT602umožň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.
Grafické uživatelské rozhraníbylo v DOSu vytvářeno pomocí nadstavbových programů, které přinášely vlastníAPI. Nejúspěšnějším byly 16bitovéMicrosoft Windows, jejichž verzeWindows 1.0byla vydána v roce1985a neumožňovala překrývání oken.
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.
Starší aplikace pro DOS mohou být provozovány za pomoci jiných operačních systémů.
Původní verzeMicrosoft Windowsbyly aplikace, které běžely ve zvlášť zakupovaném systému DOS.VeWindows 3.xbyla role DOSu omezena na zavaděčjádraWindows 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 98aWindows MEobsahovaly 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.
Ř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í.
DOSBoxje nejběžnější emulátor operačního systémuMS-DOS, který je dostupný proMicrosoft Windows,BeOS,Linux,Mac OS Xa další.
DOSEMU umožňuje běh klonů DOSu vLinuxu.