Slovo úvodem:
Zkratka DOS znamená Diskový Operační Systém. Jedná se o jednouživatelský, jednoúlohový operační systém, který
vznikl roku 1981 na základě systému CP/M. DOS běží v reálném módu a programy s ním obvykle komunikují pomocí přerušení,
nic jim ale nebrání použít přímý přístup k hardware. Pokud je potřeba pracovat s víc jak 640kB paměti, musí se o to
programátor postarat sám a nebo využít ovladačů rozšířené paměti XMS/EMS, DOS extenderů či DPMI serveru.
Ovládání DOSu probíhá přes příkazovou řádku o kterou se stará
interpret příkazů. Uživatel něco napíše na příkazovou řádku a command interpreter rozpozná, jde-li o příkaz nebo
o název externího programu nebo nesmysl, načež reaguje obligátním " Bad command or filename ".
Příkazy mohou mít několik povinných i nepovinných parametrů. DOS pracuje se souborovým systémem FAT a podporuje stromovou adresářovou strukturu. Disky (logické i fyzické) se označují písmeny " A: B: C: ".... V případě portfolia značí A: RAMkartu a C: interní RAMdisk. Na každém disku je po naformátování automaticky vytvořen kořenový adresář (root) " \ ". V něm pak vytváříme naše uživatelské soubory a adresáře s podadresáři. Názvy souborů a adresářů musí splňovat konvenci 8.3 neboli 8 znaků pro jméno a 3 znaky pro příponu, která není povinná. V názvu souborů by neměli být speciální znaky, nejlépe je použít jen písmena, číslice, případně -, _, ~, $, @, ^, #. V jednom adresáři nemohou být dva soubory nebo podadresáře stejného jména (DOS nerozlišuje velká a malá písmena). Spustitelné programy mají obvykle příponu com, exe, bat. Při zadávání názvů souborů jako parametrů pro příkazy se nám budou hodit tzv. wildcards. Jde o vyhrazené znaky " * " a " ? " které zastupují 0-8 libovolných znaků, resp. právě jeden libovolný znak. Chceme-li tedy např. pracovat se všemi soubory s příponou txt, zadáme tzv. masku ve tvaru " *.txt ". Pro soubory pepa01.txt až pepa50.txt můžeme zadat masku " pepa??.txt ". Důležitý pojem je cesta (path). Pokud totiž program nespouštíme zrovna z adresáře v němž se nacházíme, DOS jej nenajde. Je tedy nutno zadat před názvem programu posloupnost názvů disku a adresářů oddělených " \ " , např. " C:\APPS\NC\nc.exe " jež se nazývá absolutní cesta. Absolutní cesta vždy začíná názvem disku. Je však možno zápis zkrátit a použít relativní cestu. Ta může vycházet z libovolného adresáře. Zde mají význam dva speciální symboly " . " a " .. " jež značí adresář v němž se nacházíme, resp. adresář o úroveň výš (ke kořenovému). Jsme-li třeba v adresáři " C:\APPS\DOOM " můžeme spustit program takto " ..\NC\nc.exe ". Cesta k adresáři v němž se právě nacházíme se nazývá aktuální cesta (current path) a obvykle se zobrazuje v promptu příkazové řádky. V případě portfolia jsou všechny příkazy DIP DOSu interní, to znamená že se před nimi neuvádí cesta a lze je provádět z jakéhokoliv adresáře. DOS má dva konfigurační soubory " confug.sys " a " autoexec.bat " které musí být umístěny v kořenovém adresáři bootovacího disku. U portfolia mají vyšší prioritu soubory na RAMkartě. To znamená, že pokud dané soubory existují v A:\ i C:\ budou po resetu zpracovány vždy jen soubory v A:\. Do souboru config.sys se obvykle zapisují ovladače, které se mají načíst pomocí speciálního příkazu " DEVICE= ", např. " DEVICE=C:\ansi.sys ". V autoexec.bat se pak nachází sekvence standardních příkazů DOSu jež je třeba provést po spuštění systému. Obvykle se v něm provádí také nasavení systémových proměnných pomocí příkazu " SET proměnná=hodnota ". Důležitou proměnnou a zároveň příkazem je " PATH ", které přiřadíme seznam cest oddělených středníkem, která určuje, kde všude bude DOS hledat uživatelské programy. Např. když nastavíme " PATH C:\APPS;C:\APPS\NC;C:\APPS\DOOM " budeme moci programy z těchto adresářů spuštět odkudkoliv, stejně jako interní příkazy. Proč tedy DOS neprohledává rovnou všechny adresáře? Protože při práci na velké a pomalé jednotce se složitou adresářovou strukturou bysme se hóódně načekali, proto se hledání omezuje proměnnou PATH. Další důležitou proměnnou je " PROMPT " jež ovlivňuje vzhled výzvy na příkazové řádce. " PROMPT $P$G " zajistí, že se bude zobrazovat aktuální absolutní cetsa zakončená znakem " > " a kurzorem. Doufám, že jsem vystihl to nejdůležitější a zde je už podrobný přehled příkazů DIP DOSu: |
APP [/a/c/d/e/s/w] | (pouze jeden z parametrů) - spustí adreář/kalkulačku/diář/editor/setup/tabulkáč |
BREAK {on,off} | bez parametru - vypíše aktuální stav BREAK on - umožní běžící proces zastavit ihned stiskem CTRL+C BREAK off - stisk CTRL+C se ověřuje jen při vstupu/výstupu na CON, takže zastavení nemusí být okamžité |
CD {cesta} | bez parametru - vypíše aktuální adresář jinak přepne do požadovaného adresáře CD \ - přepne do kořenového adresáře CD .. - přepne do adresáře o úroveň výš CD ..\.. - přepne do adresáře o dvě úrovně výš |
CHKDSK [disk]{/p}{/f} | vypíše informace o kapacitě daného disku a RAM a případných chybách souborového systému /p - stráknuje výpis /f - pokusí se obravit chyby souborového systému |
CLS | smaže obrazovku a nastaví kurzor na 1. řádek obrazovky |
COPY [cesta1][cesta2] | zkopíruje soubor(y) z cesty1 do cesty2 COPY C:\TEXTY\dopis??.txt A:\ - zkopíruje všechny soubory odpovídající masce dopis??.txt do kořenového adresáře jednotky A: |
DATE {mm-dd-yyyy} | bez parametru - vypíše aktuální datum jinak ho nastaví na požadované DATE 10-26-2002 - nastaví datum 26.10.2002 |
DEL [cesta] | smaže daný soubor DEL A:\DATA\*.* - smaže všechny soubory v adresáři data |
DIR [cesta]{/p}{/w} | bez parametru - vypíše soubory v aktuálním adresáři jinak v daném adresáři /p - stráknuje výpis /w - vypisuje pouze jména souborů ve třech sloupcích |
FDISK [n] | nastaví velikost RAMdisku v kB a resetuje portfolio FDISK 16 - nastaví velikost RAMdisku C: na 16kB pozor! všechna data na C: budou ztracena |
FORMAT [disk]{/v} | naformátuje daný disk /v - po formátování se zeptá na jmenovku disku pozor! všechna data na daném disku budou ztracena |
HELP | vypíše seznam příkazů DIP DOSu |
LABEL [disk][jméno] | nastaví jmenovku disku (max. 11 znaků) |
MD [disk][cesta][adresář] | vytvoří daný adresář MD A:\DATA\TEXTY - vytvoří podadresář TEXTY v adresáři DATA na jednotce A: MD TEXTY - vytvoří podadresář TEXTY v aktuálním adresáři |
OFF | vypne portfolio |
PATH {cesta1};{cesta2}... | bez parametru - vypíše aktuální seznam cest jinak nastaví cesty kde se budou hledat spouštěné programy PATH A:\;C:\;C:\MAIN\PROGS - nastaví vyhledávací cesty do adresářů A:\ C:\ a C:\MAIN\PROGS PATH ; - zruší nastavené cesty |
PROMPT {text}{$n$v...} | nastaví vzhled výzvy příkazového řádku (promptu) PROMPT Portfolio $p$g - nastaví prompt do tvaru " Portfolio c:\data> " $d - aktuální datum $t - aktuální čas $p - aktuální adresář $v - číslo verze DOSu $n - aktuální disk $g - " > " $l - " < " $b - " | " $_ - CR-LFverze DOSu $s - space $h - backspace |
RD [disk][adresář] | smaže daný adresář, který však musí být prázdný RD A:\DATA - smaže prázdný adesář DATA na jednotce A: |
REN [cesta][soubor1][soubor2] | přejmenuje daný soubor (v rámci dané cesty) REN tabulka.wks zaloha.bak - přejmenuje soubor tabulka.wks na zaloha.bak |
RUN [cesta][soubor] | určeno jen pro spouštění speciálních programů na RAMkartě |
SET {proměnná}={hodnota} | bez parametru vypíše všechny proměnné a jejich hodnoty SET name=David - nastaví proměnnou name na hodnotu David, pokud proměnná neexistuje, vytvoří se, jiank se původní hodnota přepíše. SET name= - zruší proměnnou name |
TIME {hh:mm:ss} | bez parametru - vypíše aktuální čas jinak ho nastaví TIME 16:17:29 - nastaví čas 16:17.29 |
TYPE [cesta][soubor]{/p} | vypíše obsah daného souboru na obrazovku /p - stráknuje výpis |
VERIFY {on,off} | bez parametru - vypíše aktuální stav VERIFY on - zapne kontrolu zápisu VERIFY off - vypne kontrolu zápisu |
VER | vypíše verzi DOSu |
VOL [disk] | vypíše jmenovku disku |
> [zařízení] | přesměrování výstupu na dané zařízení jméno souboru - daný soubor PRN, LPT1, LPT2 - tiskárna, port LPT1, LPT2 AUX, COM1, COM2... - sériový port NUL - prázdné zařízení CON - konzole, obrazovka DIR C:\DATA > PRN - vytiskne na tiskárnu obsah adesáře DIR C:\DATA |
< [zařízení] | přesměrování vstupu z daného zařízení jméno souboru - daný soubor PRN, LPT1, LPT2 - tiskárna, port LPT1, LPT2 AUX, COM1, COM2... - sériový port NUL - prázdné zařízení CON - konzole, klávesnice TYPE < list.txt - vypíše obsah souboru jehož jméno je uvedeno v souboru list.txt |