Algorytm procesu uruchomienia komputera w DOSie:
Po włączeniu komputera (wciśnięciu przycisku Power) odczytywana jest informacja z pamięci ROM (Read Only Memory zawierająca program BIOS(Basic Input/Output System). Jest to podstawowy system obsługi wejść i wyjść, zawierający procedury obsługi typowych urządzeń wejścia / wyjścia (np. klawiatura, monitor, stacje dysków, porty szeregowe i równoległe, itp.)
Następnie zostaje odczytana i sprawdzana konfiguracja komputera zapisana w pamięci CMOS Zapisane są w niej m.in. informacje o typie monitora, rodzaju dołączonych stacji dysków, typie i parametrach dysku twardego, sposobie wykorzystanie pamięci itp.
BIOS uruchamia procedurę ładującą system operacyjny do pamięci. Szukany jest pierwszy sektor (Boot Sector) w stacji A:, a jeżeli nie zostanie on tam znaleziony, to na aktywnej partycji dysku twardego C:. Poszukiwane są zbiory systemowe IO.SYS i MSDOS.SYS.
Jeśli system nie znajdzie poszukiwanych programów zostanie wyświetlony komunikat o błędzie (w języku angielskim):
Non-System disk or disk error
Replace and strike any key when ready
(Dysk nie-systemowy lub błąd dysku
Wymień dyskietkę i naciśnij dowolny klawisz)
Zostaje wczytany zbiór IO.SYS. Następuje uruchomienie tego programu i on przejmuje kontrolę nad komputerem. Zostają zainicjowane urządzenia peryferyjne komputera.
System poszukuje zbioru CONFIG.SYS i jeśli znajdzie go to wykonuje polecenia w nim zawarte.
Następnie zostaje wczytany zbiór COMMAND.COM. Zostaje uruchomiony ten program i następuje poszukiwanie zbioru AUTOEXEC.BAT. Jeśli ten zbiór istnieje to zostaną wykonane zawarte w nim polecenia. Jeśli nie istnieje, to system żąda podania daty i czasu.
COMMAND.COM wyświetla tzw. znak zachęty systemu (PROMPT) i oczekuje na wpisanie polecenia przez użytkownika. Jeżeli podane polecenie nie jest zgodne z listą poleceń wewnętrznych lub zewnętrznych oraz nie jest nazwą żadnego programu wykonywanego (jeśli system wie gdzie danego programu szukać), to jest wyświetlane polecenie o błędzie
System MS-DOS złożony jest z następujących (niezbędnych) głównych części:
- IO.SYS - Zawiera rozszerzenie procedur podstawowych (z Bios-a - obsługi podzespołów komputera i urządzeń zewnętrznych) zawiera niezbędne dla danej konfiguracji komputera modyfikacje i dopełnienia.
- MSDOS.SYS - Program z procedurami obsługi odwołań systemowych. Jest to właściwa część systemu operacyjnego.
- CONFIG.SYS - Program napisany przez użytkownika dotyczący zmian w konfiguracji i pracy systemu operacyjnego.
- COMMAND.COM - Jest to biblioteka tzw. poleceń wewnętrznych systemu. Program ten interpretuje polecenia wprowadzone z klawiatury. Zostają one porównane z listą poleceń wewnętrznych, zawartych w tym zbiorze. Jeśli zostanie znalezione to program wykona to polecenie. Jeśli nie to zostanie ono zrozumiane jako tzw. polecenie zewnętrzne i następuje poszukiwanie tego polecenia (jako nazwy zbioru) w aktualnym katalogu, a następnie w katalogach ujętych w zmiennej środowiskowej PATH umieszczonej w zbiorze AUTOEXEC.BAT.
- AUTOEXEC.BAT - Zbiór napisany przez użytkownika, który może zawierać polecenia systemowe (wewnętrzne i zewnętrzne), polecenia uruchamiające wybrane programy lub polecenia ustalające wartości zmiennych środowiskowych.
Przykładowy zbiór AUTOEXEC.BAT:
@ECHO OFF
PROMPT $p$g - ustawienie znaku zachęty
PATH C:\MSEVAL61;C:\WINDOWS; C:\DOS;c:\nc;c:\mouse;c:\;nu70 - ścieżka dostępu
SET SYMANTEC=C:\SYMANTEC
SET SIMLIBPATH=C:\MSEVAL61
SET NU=C:\NU70
SET TEMP=C:\DOS
lh C:\DOS\SMARTDRV.EXE /X
lh c:\mouse\amouse.com/1 - uruchomienie sterownika myszki
lh nc - uruchomienie programu Norton Commander
Przykładowy zbiór CONFIG.SYS:
DEVICE=C:\DOS\SETVER.EXE
DEVICE=C:\DOS\HIMEM.SYS - sterownik zarządzający pamięcią
DOS=HIGH - załadowanie systemu do pamięci wysokiej (HMA)
DOS=UMB - obsługa pamięci górnej (UMB)
FILES= 40 - deklaracja maksymalnej liczby równocześnie otwartych plików
STACKS=9,256
BUFFERS=20 - liczba buforów używanych przez system do transmisji dyskowych
DEVICE=C:\dos\emm386.exe ram - sterownik zarządzający pamięcią (wcześniej musi być zainstalowany Himem.sys)