Процеси в MS-DOS

Як говорилося вище, управління процесами в однозадачних ОС, до яких відноситься MS-DOS, є порівняно тривіальної завданням.

Завантаження ОС завершується запуском програми командного інтерпретатора COMMAND.COM, в завдання якого входить:

· Читання й аналіз команд, що вводяться користувачем з клавіатури;

· Виконання внутрішніх команд системи, таких, як команда видачі змісту каталогу, команди копіювання, видалення і перейменування файлів і т.п.;

· Запуск на виконання системних та прикладних програм;

· Обробка критичних помилок, що відбулися в ході виконання системних функцій MS-DOS;

· Завершення роботи програми із звільненням всіх ресурсів, які займалися програмою.

Запускаючи програму користувача, COMMAND.COM не завершує власну роботу, а фактично переходить в стан сну. Після завершення запущеної програми COMMAND.COM відновлює роботу, видаючи запрошення до вводу наступної команди. Таким же чином програма користувача може

запустити іншу програму і чекати її завершення. Кількість одночасно присутніх в системі процесів обмежене тільки розміром пам'яті системи (не більше 640 Кб на всіх), проте тільки остання запущена програма може бути в активному (працюючому) стані. Якщо ж і ця програма блокується на виконанні системної функції (наприклад, очікує введення з клавіатури), то в системі не залишається активних процесів. Таким чином, термін «однозадачная ОС» в даному випадку слід розуміти як «ОС, що допускає не більше однієї активної задачі». Системі не доводиться займатися поділом процесорного часу та іншими «багатозадачними» проблемами, за винятком тільки збереження і відновлення контексту батьківської програми.

Деяким винятком з правила «одна активна задача» є резидентні програми MS-DOS, розглянуті в п. 4.4.5.