Archiv 2005 Počítač - MS-DOS
Zpět na # Archiv Počítače MiniHome
Aktualizace 18.11.2005.
# O www
# Autor
Na konkrétním příkladu MS-DOS je popsáno obsazení pevného disku a operační
paměti a proces startu PC kompatibilního s IBM. Informace mohou posloužit
ke srovnání téhož v jiných OS jako MS Windows, Linux, MacOS.. Zde
naleznete : Miniúvod, Důležité adresáře, Obsazení disku, Struktura,
Start, Obsazení RAM, Programy.
MS-DOS - 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. 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.
MS-DOS - Důležité adresáře
-
Hlavní přístup 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.
#
Zpět na úvod této stránky.
MS-DOS - 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.
MS-DOS OBSAZENÍ DISKU - schéma
----------------------------------------------------
| 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
| | |
#
Zpět na úvod této stránky.
MS-DOS - Struktura systému
-
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. O.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.
#
Zpět na úvod této stránky.
MS-DOS - Start
-
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í.
#
Zpět na úvod této stránky.
MS-DOS - 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 ).
#
Zpět na úvod této stránky.
MS-DOS - 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Í typ - 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Ý typ - 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í...).
#
Zpět na úvod této stránky.
Optimalizováno pro rozlišení 1024 x 768 pixelů a 32 bit barev
v grafickém prostředí Linux a MS Windows.
Tyto stránky používají kaskádové styly CSS, JavaScript a rámy.