Počítač s MS-DOS 

   Home   Hledání   Autor...         Aktualizace 18.11.2005.
Na konkrétním příkladu MS-DOS je popsáno obsazení pevného disku a operační paměti a proces startování PC kompatibilního s IBM. Informace mohou posloužit ke srovnání téhož v jiných OS jako MS Windows, Linux, Mac... Více o verzi software, hardware, licenci a těchto www ve volbě "Autor...".

Zde naleznete : Miniúvod, Důležité adresáře, Obsazení disku, Struktura MS-DOS, Start MS-DOS, Obsazení RAM, Programy.

Miniúvod


Operační systém MS-DOS je překonán. Stal se ale určitou legendou, pro někoho v dobrém, pro jiného ve zlém slova smyslu. S několika dalšími OS stál na počátku éry nástupu a postupného používání výpočetní techniky v masovém měřítku.

MS-DOS byl vytvořen firmou Microsoft v letech 1980-84 na základě požadavku firmy IBM. IBM potřebovala OS pro své nově vznikající PC s procesory řady Intel 80x86. MS-DOS vycházel z licenčně koupeného QDOS ( Quick and Dirty OS ) firmy Seatle Computers Products (SCP) a QDOS vycházel z OS CP/M od firmy Digital Research.

Od počátku nebyl nejlépe navrženým OS. Byl ale, v tehdejší konkurenční době dle potřeb IBM, vyvinut a nasazen rychle a byl vcelku i použitelný. Hlavně díky rychlému nasazení v PC IBM a kompatibilních a následném vzniku dostatku uživatelského SW slavil MS-DOS takový úspěch. Jednou z jeho velkých nevýhod bylo konstrukční omezení horní hranice přímo použitelné paměti RAM jen do velikosti 1024 KB a trvalé umístění části OS do této horní limitující oblasti. Tato hranice byla totiž díky překotnému vývoji v oblasti rozvoje VT překonána daleko dříve, než se asi původně předpokládalo.

Typické pro MS-DOS je, že je jednouživatelský a podporuje současnou práci pouze jediné úlohy. Ovládá se hlavně pomocí příkazové řádky v textovém režimu ručním zadáváním příkazů či spouštěním předem libovolně vytvořených příkazových dávek - souborů BAT. Později vzniklo několik velice povedených uživatelsky příjemných nadstaveb - manažérů jako Norton Commander, Volkov Commander či český M602.


Důležité adresáře

Hlavním přístupným místem na disk s MS-DOS je kořen - root, značený jako C:\. Odtud se větví do konkrétní struktury adresářů.

  
MOŽNÉ USPOŘÁDÁNÍ ADRESÁŘÚ
C:\ - Kořen - root - hlavní kořenový adresář. Přípojné místo, či vstupní bod pro přístup na disk. Zároveň nese jádro OS a jeho konfigurační soubory. Vytvořen při instalaci. Nezbytný pro chod MS-DOS.
C:\BAT\ - Adresář nese ručně vytvořené pomocné dávkové soubory *.BAT zpracovávající určité úlohy. Adresář je volitelně ručně založený.
C:\DATA\ - Prostor sloužící k ukládání vzniklých uživatelských dat. Adresář je volitelně ručně založený.
C:\DOS\ - nebo \MSDOS\,\DOS6\... Nese externí - služební programy MS-DOS. Součást OS. Vzniká při instalaci. Nutný pro kompletní chod OS. Bývá vždy.
C:\PRAC\ - Prostor sloužící k ukládání pomocných a zkušebních uživatelských dat. Adresář je volitelně ručně založený.
C:\PROG\ - Adresář nese později nainstalované libovolné aplikační programové balíčky. Každý takový balíček programů představuje jeden ucelený softwarový nástroj - program. Slouží k psaní dopisů, kreslení obrázků či grafů, tvorbě tabulek nebo seznamů...
C:\TEMP\ - či \TMP\... Prostor pro dočasné odkládání pomocných souborů. Pro činnost některých programů či částí MS-DOS potřebný. Zakládá se ručně.
C:\UTIL\ - nebo \TOOL\... Adresář nese drobné prográmky netvořící velké balíky jako v C:\PROG\. Tyto slouží spíše k administraci a pomocným úkolům údržujícím MS-DOS. Založen je ručně.
C:\ZAL\ - Prostor k uložení různých potřebných záloh. Je-li i disk D:, záložní adresář bývá na něm.

Obsazení disku

Na disku se při instalaci MS-DOS vyčlení pomocí SW zvaného FDISK oblast - oddíl, kde bude ležet MS-DOS a data. U malého disku do 500 MB bude 1 oddíl pro celý prostor disku - kapacita HD odpovídá době užívání MS-DOS v letech asi 1985 - 1990. Oddílu bude při startu PC přiřazen název v podobě písmene C:.
Oddíl, ze kterého bude PC startovat se pomocí FDISK označí boot příznakem jako hlavní - zaváděcí - bootovací. Informace o počtu, velikosti, umístění oddílů, příznaku boot jsou pomocí SW FDISK uloženy jako tabulka oddílů na úplný začátek disku do hlavní systémové oblasti disku - hlavního zavaděcího záznamu zvaného MBR - master boot record na 1.sektor 1.stopu 1.povrch. FDISK zároveň do MBR nahraje ještě malý systémový zavaděč MS-DOS, a to přímo za tabulku oddílů. Za prostorem MBR již následuje samotný oddíl či více oddílů, jestliže byly vytvořeny.
Při instalaci MS-DOS na disketu existuje vždy jen jeden oddíl v prostoru celé diskety. Není zde proto nutná tabulka oddílů a systémová oblast diskety začíná jen prostorem pro samotný boot zavaděč. Oddílu diskety jsou při startu PC přidělena písmena buď A: nebo B:. Pro 2 diskety A: i B:.

Na vzniklém oddíle se nyní vytvoří souborový systém MS-DOS zvaný FAT - file alocation table ( FAT16 ). Ten vzniká procesem zvaným logické formátování pomocí SW FORMAT. Na konci procesu logického formátování je na disku vytvořen kořen - root - kořenový adresář a uloženy informace o položkách či-li adresářích v tomto kořeni. Zároveň vznikne i tabulka FAT nesoucí přesný popis toho, jaké místo disku - které clustery ( popsáno níže ), jsou kterým souborem obsazeny. Kořen, označený jako C:\, je hlavní přípojné místo zpřístupňující prostor disku k možnému ukládání dat. Informace o tabulce FAT, kopii tabulky FAT, velikosti naformátovaného prostoru a podobě kořenového adresáře se také uloží do systémové oblasti. Nyní však nejde o hlavní oblast MBR, úplný začátek disku, ale o začátek konkrétního, právě naformátovaného oddílu - systémovou oblast oddílu - boot record oddílu.

Logické formátování oddíl zároveň rozdělí na nejmenší přidělitelné části, alokační bloky - clustery, se kterými umí MS-DOS pracovat. Veškerá data jsou rozdělena mezi tyto bloky a jejich prostřednictvím ukládáná, čtena či mazána. 1 cluster zabírá vždy několik sektorů. Například 1 cluster je 8 sektorů/ 4096 By/ 4 KB či 16 sektorů/ 8192 By/ 8KB či 32 sektorů/ 16384 By/ 16 KB či 64 sektorů/ 32768 By/ 32 KB... u větších disků je to více sektorů.

Existuje-li druhý oddíl D:, pak získá pod logickým MS-DOS naformátováním také svůj souborový systém, svoji tabulku FAT a její kopii, svůj kořenový adresář D:\ jako druhé přípojné místo. Na D: se většinou neukládá zavaděč a jádro MS-DOS. I tyto formátováním vzniklé informace jsou obdobně uloženy do systémové oblasti zde oddílu D:, na začátek tohoto druhého oddílu.

Nakonec je do hlavního kořene C:\ - jako první spojitě uložené na úplném začátku datové oblasti - nahráno jádro MS-DOS, skládající se ze souborů IO.SYS, MSDOS.SYS a COMMAND.COM. Instalace MS-DOS pokračuje vytvořením adresáře C:\DOS\ či C:\MSDOS\... v hlavním kořeni C:\. Tam jsou nakopírovány i ostatní externí součásti a doplňky MS-DOS. Vše končí základním nastavením standardního chování MS-DOS pomocí parametrů v pomocných konfigurovatelných soborech MS-DOS zvaných CONFIG.SYS a AUTOEXEC.BAT. Poté se PC zrestartuje.

Schéma - MS-DOS OBSAZENÍ DISKU
  ----------------------------------------------------
 | Fyzický disk
 |  --------------------------------------------------
 | | Hlavní systémová oblast disku  |  tabulka oddílů
 | | či-li  hlavní zaváděcí sektor  |  a systémový
 | | či-li  MBR master boot record  |  zavaděč MS-DOS
 | |  ------------------------------------------------
 | | | Oddíl disku C:
 | | |  ----------------------------------------------
 | | | |  |  Systémová oblast oddílu - zaváděcí sektor
 | | | |  |  -----------------------------------------
 | | | |  |  | tabulka FAT - tabulka umístění souborů
 | | | |  |  | druhá kopie FAT - file alocation table
 | | | |  --------------------------------------------
 | | | |  |  Datová oblast oddílu C
 | | | |  |  -----------------------------------------
 | | | |  |  | Kořenový adresář - root directory C:\
 | | | |  |  | ---------------------------------------
 | | | |  |  | |  Jádro MS-DOS - IO.SYS, MSDOS.SYS
 | | | |  |  | |  ( speciálně uložené soubory jádra )
 | | | |  |  | |  COMMAND.COM
 | | | |  |  |----------------------------------------
 | | | |  |  | AUTOEXEC.BAT, CONFIG.SYS - konfigurace
 | | | |  |  | Externí část MS-DOS - adresář C:\DOS\
 | | | |  |  | Ostatní data
 | | |
  

Struktura MS-DOS

ZÁKLADNÍ ARCHITEKTURA MS-DOS - je v podstatě 2 vrstvá. První nejspodnější vrstvou je vrstva fyzická. Je závislá na konkrétním HW, se kterým přímo spolupracuje ( IO.SYS ). Druhá vrstva již není přímo závislá na HW. Obsahuje jádro MS-DOS ( MSDOS.SYS ), jeho přímou nadstavbu ( COMMAND.COM ) a skupinu služeních programů ( externí programy - příkazy MS-DOS v C:\DOS\ ).
Někdy je možné se setkat s dělením do 5 vrstev : první zavaděč ms-dos, druhá io.sys, třetí jádro msdos.sys, čtvrtá procesor command.com a pátá služební programy z c:\dos.
Systémový zavaděč MS-DOS je malý program, sloužící při startu PC k inicializaci disku na úrovni OS a nalezení a zavedení jádra MS-DOS z vnější diskové paměti FD / HD do operační paměti RAM. Samotný zavaděč se jednorázově instaluje s MS-DOS. Leží v MBR, odkud je spuštěn BIOSem.

IO.SYS - Systemový soubor pro MS-DOS. Obsluhuje zakladní vstupně/ výstupní operace veškerých periferii - řídí komunikaci s diskovými pamětmi, klávesnicí, grafickou kartou, sériovými porty... Obsahuje ovladače - drivers - standardních zařízení CON, PRN, AUX, CLOCK, HD. Tato zařízení, podobně jako jejich ovladače se dělí na znakově pracující ( CON, PRN ) a blokově pracující ( FD, HD ). IO.SYS je vlastně variabilní částí správy přídavných zařízení. Pevnou, částí této správy přídavných zařízení je BIOS v ROM paměti. IO.SYS tvoří takzvanou fyzickou vrstvu architektury MS-DOS, přímo svázanou s technickým vybavením PC. Uložen je při instalaci jako první spojitý soubor na úplný začátek datové oblasti kořene C:\. Nelze jej později jednoduše nakopírovat ( nebyl by již první spojitý ) ani editovat.

MSDOS.SYS - Systemový soubor pro MS-DOS. Obsahuje jádro systému. Načte se do paměti RAM a zůstane tam rezidentní. Jádro systému zajišťuje základní rutinní úkony pomocí systému přerušeních - služeb - miniprográmků. MSDOS.SYS z pohledu architektury MS-DOS již není součástí fyzické technicky závislé vrstvy. S touto vrstvou komunikuje pomocí pevně definovaného rozhraní. Uložen je jako druhý spojitý soubor na úplný začátek datové oblasti kořene C:\. Nelze jej později jednoduše nakopírovat ( nebyl by již druhý spojitý ) ani editovat.

COMMAND.COM - příkazový procesor / interpret příkazů / monitor činnosti MS-DOS. Skládá se ze 3 částí, plnících určité skupiny činností:   1 / Ošetření kritických stavů a jejich hlášení. Mechanismus spouštění externích programů s příponou *.EXE a *.COM - jejich zavaděč. Tato část zůstává po úvodním zavedení trvale - rezidentní - v paměti RAM.   2 / Nese interní příkazy OS pro zpracování základních důležitých úkonů a příkazy vyskytující se v dávkách *.BAT. Tranzientní část - natahuje se podle potřeby   3 / Ošetření spouštění dávek *.BAT a přidělování paměti a zavádění programů do paměti.  

COMMAND.COM je přímá nadstavba jádra. Tvoří základní prostředí - rozhraní a umožňuje komunikaci OS s uživatelem. Po jeho aktivaci lze ihned začít pracovat a zadávat základní příkazy OS. Do kořene C:\ je nakopírován při instalaci. Lze kopírovat. Lze případně nahradit vhodným či podobným ekvivalentem. Spouští se ihned po aktivaci config.sys.

config.sys - Textový konfigurační soubor. Není ale klasickou BAT dávkou. Existuje-li, automaticky jednorázově modifikuje svými parametry zdroje systému. Upřesňuje správu periferií systemu zabudovanou v IO.SYS. Zavádí případné speciální HW ovladače - modifikuje standardní nastavení IO.SYS. Ovlivňuje tak především chování existujiciho HW. Mohl by být považován za dynamickou součást fyzické vrstvy MS-DOS. Musí ležet v hlavním adresáři disku - v kořeni C:\, kde je při instalaci vytvořen. Lze jej běžně kopírovat a editovat. Aktivuje se ihned po IO.SYS a MSDOS.SYS.

autoexec.bat - Dávkový soubor. Existuje-li, automaticky se spustí na konci startu PC a MS-DOS. Provede jednorázové základní nastavení OS na uživatelské SW úrovni. Ovlivňuje především chování SW. Musí ležet v hlavním adresáři disku - v kořeni C:\, kde je při instalaci vytvořen. Lze jej běžně kopírovat a editovat.

Start MS-DOS

Start PC zahají BIOS. Pomocí POST otestuje HW PC a dle parametrů v CMOS přednastaví PC. Poslední část BIOSu zvaná technický zavaděč aktivuje nalezený disk FD / HD. Na něm vstoupí na jeho začátek do MBR a spustí zde uložený systémový zavaděč MS-DOS. Tato část je podrobněji popsána ve volbě "Počítač - Start".

MS-DOS systémový zaveděč načtený do RAM se aktivuje a zavede do RAM informace o rozdělení zaváděcího disku přečtené z tabulky oddílů a informace o uspořádání adresářové struktury kořene, které jsou také uloženy v MBR. Poté v hlavním kořeni, jeho úplném počátku datové oblasti, najde systémový soubor IO.SYS a zahájí jeho aktivaci.

Nalezený soubor IO.SYS si při načítání do RAM modifikuje podle nastaveních v souboru CONFIG.SYS některé své parametry. Jeho speciální program SYSINIT zajistí sestavení správy periferií / obsluhy VV operací. Ovlivní tak chování HW přídavných zařízení. Poté zavaděcí část IO.SYS natahne do RAM, opět z kořene disku, druhý systémový soubor MSDOS.SYS.

MSDOS.SYS je hlavní systémový soubor, jádro MS-DOS. Aktivuje systém přerušení a jejich obslužných programů - služeb MS-DOS. Poté MSDOS.SYS načte z hlavního kořenového adresáře do RAM takzvaný příkazový procesor nebo monitor nebo také jinak interpret příkazů COMMAND.COM. Proběhne nastavení standardních vstupů / výstupů klávesnice, monitoru a tiskárny ( CON, LPT ). Během aktivace IO.SYS a MSDOS.SYS ještě dojde k logickému označení nalezených diskových oddílů podle konvence MS-DOS takto : První FD - A:, druhá FD - B:, první HD - C: ( je systémový - nese bootovatelný MS-DOS ), druhý HD - D:, první CD - E:, první síťový oddíl/disk - F:... Pevně jsou určeny jen A:, B:, C:. Ostatní označení je postupně přidělováno podle skutečné existence oddílů.

COMMAND.COM převezme řízení a na konec startu provede ještě dávku příkazů ze souboru AUTOEXEC.BAT, jestli tento v kořenovém adresáři disku existuje. Jádro MS-DOS je aktivováno, PC se zastaví a očekává uživatelské příkazy. Ukáže buď příkazovou řádku s výzvou - prompt nebo nějaký uživatelský program, byl-li jako poslední nastaven v AUTOEXEC.BAT souboru k automatickému spuštění.

Obsazení RAM

Po nastartování MS-DOS je operační paměť RAM užita přibližně následujícím způsobem. Všechny zde použité zkratky jsou více vysvětleny ve volbě "Poučítačové zkratky".

   XMS   | - volné pro běh dalších
    1089 |   programů pomocí EMS
    1088 |----------------------------
   HMA   | - pro některé ovladače
    1025 | - část MS-DOS
    1024 |----------------------------
   UMB   | - ovladače a TSR programy
         | - shadow kopie BIOS
     641 | - část MS-DOS
   k 640 |----------------------------
   o     | - volné pro běh
   n     |   běžných
   v     |   MS-DOS programů
   e     |----------------------------
   n     | - rezidentní TSR programy
   č     | - ovladač HMA a UMB
   n     | - jádro MS-DOS
   í   0 |----------------------------
  
0-640 KB ( konvenční 640 KB ), 641-1024 KB ( UMB + SHADOW 384 KB ), 1025-1088 KB ( XMS, 64 KB HMA ), 1089-... KB ( pokračování XMS ).

Programy

MS-DOS je zaveden, nabootován, nastartován. Lze zadávat příkazy. Zadávané příkazy jsou zpracovány z části přímo jádrem, z části interními příkazy zabudovanými v interpretu COMMAND.COM, z části externími příkazy MS-DOS přístupnými v adresáři C:\MSDOS\ či podobném.

Provedení příkazu je vlastně spuštění určitého programu. COMMAND.COM vyhodnotí zadaný příkaz, jeho zadané přesné jméno, takto : nejprve své interně zabudované podprogramy, poté externí programy - tedy samostatné soubory - z aktuálního pracovního adresáře, dále z kořene C:\ a poté z C:\MSDOS\. Jestliže nalezne odpovídající, přidělí mu odpovídající prostor paměti RAM a zavede jej tam, předá mu parametry, existují-li, a předá mu řízení. Je-li více externích příkazů - souborů stejného jména, vyhodnocují se ve výše uvedeném pořadí a zároveň dle přípon těchto souborů v pořadí COM, EXE, BAT. Není-li příkaz nalezen, MS-DOS vypíše chybové hlášení.

Programy z hlediska funkce v zásadě dělíme na 2 typy. PRVNÍ - běžný program. Spuštěním umožní vykonávat nějakou činnost. Po vykonání svých činností či ukončení vrátí řízení do OS a uvolní systémové zdroje - prostředky : přidělenou RAM, otevřené komunikační kanály, obsazené části vnějších pamětí... DRUHÝ - rezidentní program. Po spuštění se usadí do přidělené RAM paměti, vyčlení si své zdroje, případně udělá prvotní jednorázovou akci. Ihned po své inicializaci předá řízení zpět OS. Poté čeká na pozadí a až na požádání nebo automaticky provádí určitou činnost. Jde o takovou službu, démona na pozadí. Někdy lze deaktivovat bez resetu, někdy jen s resetem OS. Až po své deaktivaci uvolňuje pro sebe zabrané systémové zdroje. V prostředí MS-DOS se nazývá TSR - terminate and stay resident.

Spuštění programu prakticky vyvolá spuštění určitého procesu. Než je proces spuštěn, COMMAND.COM či jádro MS-DOS pro něho vytváří určité pracovní prostředí. Toto prostředí se skládá z přidělená části - segmentu - paměti RAM. Segment pak obsahuje načtený kód programu a prostor PSP. PSP - program segment prefixprostor nese identifikaci - deskriptor spuštěného procesu a určitou oblast - zónu pro komunikaci programu s OS. Při své činnosti program - jeho proces, ještě využívá určité, předem konfigurací připravené okolí - environment MS-DOS. Environment nese některá trvalá nastavení, společná celému MS-DOS jako důležité cesty PATH, vyčleněný prostor bufferů či-li vyrovnávacích pamětí přidělovaných procesům... Spuštěnému procesu jsou při běhu dále přidělovány i další systémové prostředky - zdroje, vyžaduje-li je. Vše probíhá formou volání systému přerušení a jim odpovídajících spouštěných rutin - triviálních podprogramů. Rutiny plní konkrétní dílčí úkoly ( otevřít komunikaci portu, otevřít konkrétní soubor, uložit informační bity, zobrazit informaci na konkrétním výstupním zařízení...).