Przeznaczenie plików systemowych COMAND.COM, MSDOS.SYS, IO.SYS
I. Informacje wstępne.
Pliki systemowe COMAND.COM, MSDOS.SYS i IO.SYS służą zainicjowania systemu operacyjnego. Pliki te muszą znajdować się na dysku, z którego następuje zainicjowanie systemu. Miejsce umieszczenia pierwszych dwóch programów jest ściśle określone. Dwa pierwsze pola katalogu głównego zawierają dane o plikach IO.SYS i MSDOS.SYS w podanej kolejności; IO.SYS zaczyna się w początkowych sektorach dysku przeznaczonych dla pliku.
Plik IO.SYS
Plik IO.SYS zawiera wbudowane programy obsługi standardowych urządzeń ładowanych w czasie uruchamiania systemu, współpracujące z procedurami wejścia-wyjścia programu BIOS umieszczonego w pamięci stałej komputera.
Plik MSDOS.SYS
Plik MSDOS.SYS zawiera procedury odwołań systemowych, realizujące zadania właściwego systemu operacyjnego (jądro systemu), m.in. zarządzania plikami, pamięcią, procesorami.
Plik COMMAND.COM
Plik COMMAND.COM jest interpreterem (procesorem) wewnętrznych ładowanych w czasie uruchamiania systemu.
II. Inicjacja systemu z plików COMAND.COM, MSDOS.SYS i IO.SYS
Inicjacja systemu operacyjnego rozpoczyna się od próby załadowania przez BIOS programu ładującego z dyskietki znajdującej się w napędzie A lub z dysku twardego C, jeżeli w napędzie A nie ma dyskietki. Program ładujący sprawdza, czy na dysku znajdują się pliki IO.SYS i MSDOS.SYS; jeśli tak, to ładuje do pamięci operacyjnej program IO.SYS i przekazuję mu sterowanie. Program IO.SYS ma część inicjującą, która określa konfigurację systemu, inicjuje system dysków oraz układy wejścia-wyjścia, wpisuje część tablicy wektorów przerwań oraz ładuje MSDOS.SYS. Podczas tych operacji jest odczytywany, o ile znajduje się na dysku, i interpretowany plik CONFIG.SYS. Po zakończeniu działania części inicjującej IO przekazuje sterowanie do programu MSDOS. Program MSDOS inicjuje tablice robocze systemu, wpisuje pozostałą część tablicy wektorów przerwań i tworzy blok wstępny programu (PSP) dla programu COMMAND.COM, a następnie go ładuje.
Procesor poleceń COMMAND.COM składa się z trzech zasadniczych części. Części pierwsza i druga są ładowane do pamięci operacyjnej o najmniejszych dostępnych adresach (bezpośrednio za blokiem PSP przeznaczonym dla COMMAND.COM). Część trzecia jest ładowana do obszaru o największych adresach konwencjonalnej pamięci operacyjnej i jest tak zwaną częścią „zamazywalną”, która nie jest chroniona i może być zniszczona przez programy użytkowe.
Część pierwsza zawiera procedury obsługi przerwań 22H,23H i 24H oraz procedury ładujące część trzecią COMMAND.COM, jeżeli nastąpiło jej zniszczenie.
Część druga jest częścią inicjującą. Zawiera ona procesor pliku wsadowego AUTOEXEC.BAT oraz procedury określające najmniejszy adres segmentu, od którego mogą być ładowane programy użytkowe. Adres ten zostaje określony w ten sposób, że pierwszy program użytkowy jest ładowany na miejsce zajmowane przez niepotrzebną dalej, drugą część programu COMMAND.COM.
Część trzecia jest właściwym procesorem poleceń systemu. Zawiera ona procesor poleceń wewnętrznych, procesor plików wsadowych, procedury obsługi klawiatury, wyświetlania znacznika zgłoszenia systemu oraz procedury ładujące i inicjujące wykonanie programów (plików z rozszerzeniem nazwy COM i EXE), w tym poleceń zewnętrznych systemu.
System pozostawia możliwie duży obszar pamięci operacyjnej dla programów użytkowych. Po zakończeniu działania programu użytkowego system sprawdza, obliczając sumę kontrolną dla obszaru pamięci zajmowanego przez część „zamazywalną”, czy należy