Wstęp

System operacyjny DOS, choć obecnie bardzo rzadko używany, nadal jest dobrym systemem operacyjnym do nauki podstaw o systemach operacyjnych. Jest to system prosty, jednozadaniowy, co oznacza, że w jednym czasie może się wykonywać tylko jeden program. System ten przez wiele lat święcił swe triumfy, aż do pojawienia się na rynku systemów okienkowych, graficznych, gdzie nie trzeba było znać wielu instrukcji tekstowych, a polecenia wydawało się za pomocą myszy.

Pliki systemowe command.com, msdos.sys oraz io.sys są najważniejszymi plikami systemu MS-DOS. Dzięki nim możliwe jest zainicjowanie systemu operacyjnego, czyli uruchomienie go w momencie wykrycia, że komputer został włączony.

Pliki systemowe zazwyczaj znajdują się w ściśle określonym miejscu na dysku twardym, zwłaszcza pliki, które mają za zadanie uruchomić system operacyjny. Są to zwykle początkowe sektory dysku, przy których w stanie spoczynku znajduje się głowica dysku.

Plik systemowy io.sys

Zacznijmy od pliku wejścia-wyjścia (angielskie input-output, w skrócie IO). Plik ten zawiera procedury, które muszą być wykonane, aby w systemie operacyjnym mogły działać wszelkie urządzenia wejścia-wyjścia, takie jak myszy, drukarki, monitory i wiele innych. Plik ten współpracuje z programem BIOS, który na stałe rezyduje w pamięci komputera. Program ten z poziomu sprzętu reguluje działanie urządzeń wejściowych i wyjściowych.

Plik systemowy msdos.sys

Plik msdos.sys jest właściwie najważniejszym plikiem systemu, ponieważ reprezentuje jego jądro. To właśnie w tym pliku zapisane są sposoby wykonywania poszczególnych poleceń systemowych (na przykład otwieranie konkretnego pliku musi wiązać się z umiejscowieniem go na dysku, przesunięciem głowicy, odczytem, załadowaniem do pamięci i wyświetleniem jego zawartości na ekranie). Procedury zapisane w jądrze systemu zarządzają plikami, siecią, a także procesorem i pamięcią operacyjną.

Plik systemowy command.com

W pliku command.com znajdują się elementy, dzięki którym możliwe jest interpretowanie różnych poleceń wewnętrznych, a także zapisanych przez użytkownika.

Jak wykonywana jest inicjalizacja systemu MSDOS?

Kiedy włączany jest komputer, specjalne elementy płyty głównej dokonują tak zwanego przerwania systemowego. Jest to impuls elektryczny o innej niż pozostałe impulsy charakterystyce. Dzięki temu przerwaniu możliwe jest stwierdzenie, że komputer został włączony i należy rozpocząć inicjalizację systemu operacyjnego.

Pierwszym etapem jest uruchomienie programu BIOS, który, jak już wiemy, na stałe jest umieszczony w pamięci komputera (tak zwana pamięć ROM, nieulotna, niemożliwa do wyczyszczenia).

Zgodnie z ustawieniami programu BIOS, uruchamiany jest program ładujący, czy to z dysku czy z dyskietki. Rozpoczyna się poszukiwanie plików systemowych na konkretnych dyskach lub dyskietkach. Kiedy programowi ładującemu uda się znaleźć takie pliki na przykład na dysku C:, wówczas uruchamia on plik io.sys.

Praca programu ładującego na tym się kończy. Następną fazę wykonuje już plik io.sys. Polega ona na zdefiniowaniu i zainicjowaniu wszelkich urządzeń wejścia-wyjścia, a także na sprawdzeniu konfiguracji dysków twardych. Wykorzystuje do tego bądź ustawienia fabryczne, lub też zawartość plików konfiguracyjnych, zwłaszcza pliku config.sys. Następnie plik io.sys ładuje do pamięci jądro systemu, czyli plik msdos.sys.

PO załadowaniu do pamięci, plik msdos.sys dokańcza tablicę przerwań, przygotowuje obszar roboczy dla pliku command.com i ładuje do pamięci ów plik.

Kiedy plik command.com jest ładowany do pamięci, można wyróżnić jego trzy zasadnicze części.

Część pierwsza jest przede wszystkim odpowiedzialna za obsługę konkretnych rodzajów przerwań systemowych. Poza tym, część pierwsza jest w stanie załadować do pamięci trzecią część programu, która, jak się później okaże, może być zamazana i utracona podczas pracy komputera.

W drugiej części pliku command.com przechowywany jest przede wszystkim kontroler pliku autoexec.bat, który jest plikiem wsadowym i zawiera informacje o procedurach uruchamianych automatycznie. Poza tym w części tej zapisany jest adres, od którego można rozpoczynać ładowanie do pamięci programów użytkownika, tak, by nie zamazać pierwszej, ważnej części programu command.com.

Trzecia część programu command.com znajduje się już ponad tym granicznym adresem, co oznacza, że może zostać zniszczona przez programy użytkowe. Jak wiemy, może ona być jednak odtworzona dzięki pierwszej części tego pliku. Ta właśnie część jest kluczowa, jeśli chodzi o przetwarzanie poleceń systemowych. To właśnie tam zapisane są takie informacje jak procesor poleceń wewnętrznych, kontrolery plików wsadowych i procedury, dzięki którym możliwe jest zainicjowanie programów użytkownika oraz innych programów wywoływanych przez system operacyjny w czasie jego działania.