Структура DOS

Структура MS DOS

Найважливішою особливістю MS DOS є модульність, що дозволяє за необхідності розширення функцій системи модифікувати її окремі модулі.

DOS складається з наступних основних модулів:

- базова система введення/виводу (BIOS); - блок початкового завантаження (Boot Record); - модуль розширення базової системи вводу/виводу (IO.SYS); - модуль обробки переривань (MSDOS.SYS); - командний процесор (COMMAND.COM); - утиліти DOS.

У архітектурі ПЕОМбазову систему вводу/вывода (BIOS)можна як з одного боку як складову частину апаратних засобів , з іншого боку, BIOS одна із програмних модулів DOS. BIOS знаходиться не на дисках, як усі інші модулі, а в постійному пристрої (ПЗУ), встановленому всередині системного блоку.

1) Автоматичне тестування основних апаратних компонентів при включенні машини.Процес тестування або самотестування, як його іноді називають, займає після включення живлення машини помітний час - від кількох секунд до кількох хвилин. Якщо виявляються помилки, BIOS видає на екран відповідні повідомлення (зазвичай як умовного коду помилки) і повідомляє про це користувача звуковим сигналом. Подальша робота машини при цьому припиняється і користувачеві потрібно вживати заходів щодо усунення виявленої помилки.

2). Виклик блоку початкового завантаження DOS.Завантаження DOS у пам'ять відбувається у два етапи; спочатку BIOS завантажує з системного диска на згадку спеціальний блок початкового завантаження, та був вже передає нього управління, і той, своєю чергою, здійснює завантаження решти модулів DOS.

3). Обслуговування системних викликів або переривань.Системні викликивиробляються програмними чи апаратними засобами з виконання різних операцій. Для реалізації системних викликів використовується механізм переривань.

Перерив можна розділити на три групи: апаратні, логічні та програмні.

Джерела апаратних переривань- падіння напруги живлення, натискання клавіші на клавіатурі, прихід чергового імпульсу від лічильника часу, виникнення спеціальних сигналів від накопичувачів на гнучких або жорстких дисках та ін.

Логічні або процесорні перериваннявиникають при різних нестандартних ситуаціях у роботі основного мікропроцесора - розподілі на нуль, переповненні регістрів, появі "точки зупинки" та ін.

Кожне переривання має унікальний номер і з ним може бути пов'язана певна підпрограма, покликана обслуговувати ситуацію, що виникла. Сама підпрограма, що обслуговує, взагалі кажучи, теж може бути призупинена іншим перериванням.

На BIOS покладається завдання обслуговування переривань нижнього рівня - тих, які потребують безпосереднього керування апаратними компонентами. Цим перериванням надано номери з 0h по 1Fh. Інші переривання - з номерами 20h-3Fh - відносяться до вищого рівня, їх обслуговування покладається інші модулі DOS.

блок початкового завантаженнярозташований на доріжці 0, в секторі 1 на стороні 0 будь-якого диска, розміченого командою FORMAT. Він поміщається на диск за його початкової розмітці (форматуванні) незалежно від цього, який створюється диск - системний чи ні. Блок початкового завантаження друкує повідомлення про помилку під час спроби запустити систему з несистемного диска у пристрої A:. На фіксованому диску блок початкового завантаження розташований першому секторі (сектор 1, головка 0) першого циліндра розділу DOS.

Блок початкового завантаження (БНЗ) або просто "завантажувач" – це невелика програма, єдина функція якої полягає у зчитуванні з дисків в оперативну пам'ять двох інших частин DOS - модуля розширення базової системи вводу/виводу та модуля обробки переривань.

Довжина БНЗ - 512 байт, тобто він займає всього один сектор на диску, тому програма, що міститься в ньому, не може бути надмірно складною.

Тут слід зауважити, що машину можна перезапустити двома способами. Один з них, очевидний, полягає у вимкненні та повторному включенні живлення всієї машини. Однак, цей "грубий" спосіб не дуже корисний для електронних компонентів системного блоку, чутливих до кидків напруги живлення.

Інший спосіб перезапуску - за допомогою спеціальної комбінації клавіш. У другому випадку тестування пам'яті та інших апаратних компонентів не проводиться, а відразу починається пошук та завантаження на згадку про БНЗ.

Модуль розширення базової системи вводу-виводурозташований у файлі IO.SYS і забезпечує звернення до підпрограм BIOS.

Базова система вводу/висновку є інваріантною до того, яка саме операційна система встановлюється на даній машині. У цьому сенсі BIOS є загальною і незмінною частиною всіх можливих операційних систем даної моделі ПЕОМ. Зміна BIOS - нетривіальне завдання, оскільки дуже тісно пов'язані з особливостями апаратури конкретної моделі ПЕОМ.

Розширення BIOS за допомогою додаткового модуля DOS надає гнучкість операційній системі, дозволяючи керувати з її допомогою таким набором апаратних засобів ПЕОМ, який найточніше відповідав б задуму розробників конкретної DOS.

Модуль розширення BIOS це звичайна програма, яка за потреби може бутизамінена іншою програмою. При цьому використання механізму переривань дозволяє, з одного боку, дуже просто і витончено "перекривати" функції, що обслуговуються BIOS; з іншого боку, з'являється можливість увімкнення додаткових підпрограм, які обслуговують нові зовнішні пристрої. Такі підпрограми звуться драйверів зовнішніх пристроїв. Системний програміст може розробити свої драйвери як нових зовнішніх пристроїв, але й тих, які стандартно входять до складу апаратури (при цьому обмін інформацією зі стандартними пристроями відбуватиметься вже інакше, ніж прийнято в оригінальній версії DOS). Це надає системі більшої гнучкості та можливості адаптації її під будь-які вимоги користувачів.

Інформація про необхідність підключення нових драйверів зовнішніх пристроїв, а також про зміну інших параметрів DOS здійснюється через спеціальний файл конфігурації CONFIG.SYS.

На відміну від описаного вище модуля розширення BIOS, що має справу з перериваннями нижнього рівня, модуль обробки переривань DOSутворює верхній рівень системи, з якими взаємодіє більшість прикладних програм. З цієї причини цей модуль ДОС називають базовим. Компонентами даного модуля є підпрограми, що забезпечують роботу файлової системи, пристроїв, обслуговування деяких спеціальних ситуацій, пов'язаних із завершенням програм, їх штучним перериванням та обробкою помилок. Деякі з цих підпрограм досить великі за обсягом.

Багато функцій, реалізованих даним модулем DOS, використовуються як прикладними програмами, а й командами, які обробляються командним процесором.

Резидентна частина містить підпрограми стандартної обробки переривань. Тут же знаходиться програмапідзавантаження нерезидентної частини у ОЗП. Крім того, до складу резидентної частини входить підпрограма ініціалізації, яка обробляє файл AUTOEXEC.BAT під час запуску машини.

Основні функції та командного процесора укладаються:

- у прийомі, аналізі та виконанні команд користувача, звернених до DOS - в обробці командних файлів

Команди користувача інакше називають командами DOS. Вони служать основним засобом спілкування користувача з дисковою операційною системою доти, доки не буде викликана будь-яка прикладна програма (завдання), або "надбудова", яка заслонить DOS від користувача своїм інтерфейсом. Після закінчення роботи прикладної системи знову набирає чинності командний процесор, забезпечуючи обробку команд ДОС.

Команди DOS дозволяють готувати диски до роботи, копіювати файли, перейменовувати їх, видаляти з каталогів, змінювати поточний каталог і поточний накопичувач, змінювати режим роботи дисплея, виводити вміст текстових файлів на екран дисплея, на принтер чи комунікаційний канал.

DOS здійснює запуск будь-якої прикладної програми. У цьому ролі можуть, зокрема, фігурувати " утиліти " ДОС - програми, виконують якусь сервісну функцію (наприклад, початкову розмітку диска).

На відміну від вбудованих або "внутрішніх" команд DOS, що реалізуються підпрограмами трьох основних модулів, "зовнішні" команди, які зазвичай входять до стандартного комплекту DOS, реалізуються за допомогою автономних сервісних програм. Такі програми називаютьутилітами.

У стандартний комплект DOS входить кілька десятків утиліт, призначених для різних цілей. При практичній роботі найчастіше використовуються лише деякі з них. Наприклад, FORMAT.COM, CHKDSK.COM, MODE.COM. Рідше використовуютьсяінші програми - FDISK.COM, BACKUP.COM, RECOVER.COM, RESTORE.COM, PRINT.COM, GRAPHICS.COM, TREE.COM та ін.

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