
- •Системне програмування
- •1. Головний завантажувальний запис диску Master Boot Record.
- •2. Таблиця розділів та логічні диски
- •3. Таблиця розміщення файлів (fat). Загальна схема використання fat
- •4. Файлова система iso9660.
- •5. Файлова система udf
- •6. Таблиця відкритих файлів (sft). Стандартні файлові маніпулятори та їх розташування в sft.
- •7. Таблиця файлів завдань jft та її зв’язок з таблицею відкритих файлів sft.
- •9. Файлова система ntfs
- •10. Використання api функцій для роботи з файлами
- •11. Методи налагоджування драйверів та механізм підготовки їх до виконання
- •12. Команда ініціалізації драйверу. Її зміст, призначення та місце розташування. Визначення адреси точки розриву.
- •13. Об’єкти і їх дескриптори в Windows
- •14. Процедура переривання драйвера, її функція. Таблиця переходів
- •16. Загальний зв’язний список драйверів. Правила для встановлення нового драйверу.
- •19. Процедура стратегії драйвера та її основна задача.
- •20. Заголовок запиту драйверу, його складові частини та їх призначення
- •22.Обслуговування пам’яті в dos
- •23. Буфер попередньої трансляції в сторінковій організації пам’яті
- •Привілеї сегмента задаються полем dpl байта управління доступом.
- •26.Глобальні, локальні таблиці дескрипторів та idt.
- •27. Перетворення логічної адреси на лінійну в реальному та захищеному режимах
- •29.Таблиця дескрипторів переривань (idt).
19. Процедура стратегії драйвера та її основна задача.
Створення стратегії пристрою.
Програма стратегій викликається, коли драйвер встановлюється при завантаженні операційної системи, а також при кожному сгенерированном операційною системою запиті на ввід / вивід.
Процедура стратегії пристрою содержіттолько п'ять рядків, призначених для визначення місця розташування області запиту. Область запиту (заголовок запиту) створюється при завантаженні драйвера.
Вона має дві функції:
1. Служить областю даних для внутрішніх операцій системи.
2. Через цю область відбувається обмін інформацією між драйвером і викликає його програмою. Наприклад, коли драйвер виводить дані, то йому дається адресу даних через заголовок запиту. При завершенні роботи драйвер встановлює в заголовку запиту байт статусу, який доступний викликає програмі, тим самим даючи можливість їй дізнатися про помилку.
Розмір заголовка запиту може змінюватися, залежно від типу зробленого запиту до драйвера (напр. ініціалізація, висновок даних або повернення статусу).
Однак перші 13 байт заголовка завжди одні й ті ж. Їх формат такий:
1. Довжина заголовка запиту (DB).
2. Код пристрої (DB). Визначає номер для блокових пристроїв.
3. Код команди (DB). Тут зберігається номер останньої надісланій драйверу команди (коди стандартні, дивись нижче).
4. Статус (DW). Статус встановлюється щоразу при виклику драйвера. Якщо встановлено біт 15, то в молодших восьми бітах знаходиться код помилки.
5. Резервна область (8 байтів). Використовується MS DOS.
6. Додаткові рядки - дані необхідні для роботи драйвера (змінної довжини).
При виклику процедури стратегії пристрою регістри ES: BX вказують на новостворений заголовок запиту і процедурі потрібно просто скопіювати їх, щоб згодом він міг бути виявлений при зверненні до драйвера. Адреси зсуву і сегмента заголовка поміщаються в дві змінні.
У мультизадачною системі цей адреса повинна зберігатися в деякому масиві, який при наступному виклику процедури переривань повинен піддаватися сортуванню з метою оптимального використання пристрою.
Приклад стратегії:
DEV_STRATEGY: MOV CS: KEEP_ES, ES
MOV CS: KEEP_BX, BX
RET
KEEP_CS DW?
KEEP_BX DW?
Призначення драйверів та порядок роботи з драйверами в MS-DOS Робота зі всіма пристроями в комп'ютері здійснюється через драйвери. Така структура DOS дозволяє розширити стандартні функції і організувати обмін інформацією практично з будь-яким цифровим пристроєм. Пристрої розділяються на 2 групи: символьні і блокові. Символьні передають по одному символу, наприклад клавіатура модем та інші. Блокові пристрої передають дані блоками по декілька байт, наприклад 512 або 1024 байт. Це диски, дисководи. Розділення на такі групи дає великі переваги, тому що операційна система працює з пристроєм, не дивлячись на його апаратні особливості. Обмін між драйверами і операційною системою відбувається за допомогою запитів. Запит містить всю необхідну інформацію для роботи пристрою: яку команду потрібно виконати, в якому вигляді повернути дані і т.п. Також запит є уніфікованою структурою, що дуже спрощує роботу прикладних програм з пристроєм. Нижче на рис.1.1 приведена схема взаємодії прикладної програми і пристрою. Безпосереднє управління пристроєм з програми доцільно застосувати для організації обміну інформацією з нестандартним пристроєм. Робота через BIOS менш складне завдання, але використання цього методу обмежує можливості програми, оскільки можна реалізувати обмін інформацією лише із стандартними пристроями. Найбільш поширений спосіб роботи з пристроями, причому не тільки в MS-DOS, - робота через драйвери. Всі мови високого рівня для введення-виведення використовують функції int21h або функції драйвера.
Рис.1.1. Взаємодія програми з MS-DOS, BIOS і апаратурою Системний файл MS-DOS з ім'ям io.sys містить драйвери для деяких пристроїв. Ці драйвери з'являються в пам'яті при завантаженні операційної системи і зв'язані в ланцюжок через поля next в своїх заголовках. Це резидентні драйвери MS-DOS. Резиденті драйвери можна замінити драйверами користувача. Крім того, користувач може додати в список драйверів нові. Для підключення драйвера до операційної системи файл config.sys повинен містити рядок наступного вигляду: Device=<путь_файла_драйвера>_<параметри>. Параметри прочитуються драйвером один раз в процесі ініціалізації драйвера. Завантажуванні додатково драйвери знаходяться у списку драйверів перед резидентними драйверами.
BСТАНОВЛЕННЯ ДРАЙВЕРІВ.
Поняття драйверу.
Драйвер – програма, що розширює можливості операційної системи.
Драйвер пристрою – програма операційної системи для керування роботою периферійними пристроями: дисководами, монітором, клавіатурою, принтером, маніпулятором “миш” та ін.
Драйвер пристрою повинен враховувати специфіку роботи зовнішнього приладу, усі тонкості його функціонування. В зв’язку з цим кожному приладу повинен відповідати свій драйвер.
Функції драйвера пристрою складаються в наступному:
· прийняття та обробка запросу (керуючого сигналу), що надходить до даного периферійного пристрою;
· перетворення запросу про необхідність зв’язку з цим пристроєм у серію команд керування ним, з урахуванням усіх деталей конструкції та особливостей його роботи;
· обробка сигналу переривання, який надходить від відповідного цьому драйвера периферійного пристрою.
Драйверами також вважаються програми, які забезпечують керування розширеної пам'яті, а також створення і обслуговування віртуальних пристроїв, наприклад електронного диска в кооперативній пам’яті.
Драйвери можуть бути або стандартні, або завантажувальними.
Стандартні (внутрішні) драйвери – це програми, які знаходяться усередині BIOS або його модуля розширення EM BIOS служать для керування зовнішніми пристроями, що входять до стандартного комплекту поставки персонального комп’ютера. Ці драйвери підключаються до системи автоматично після переходу комп’ютера в нормальне робоче становище.
Завантажувальні (зовнішні, встановлювані) драйвери – це програми, що зберігаються на диску і призначені для керування зовнішніми пристроями, які відрізняються від стандартних або за своїми технічними властивостями, або особливими режимами використання. Завантажувальні драйвери підключаються до системи тільки тоді, коли вони вказані у файлі конфігурації CONFIG.SYS. Можливість використання завантажувальних драйверів полегшує адаптацію операційної системи до нових зовнішніх пристроїв.
Настроювання операційної системи за допомогою файлу конфігурації CONFIG.SYS
Файл CONFIG.SYS призначений для налагодження операційної системи на конкретну конфігурацію апаратури комп’ютера. Він, також як і файл AUTOEXEC.BAT, присутній практично на кожному комп’ютері і розташовується в головному каталозі на диску, з якого відбувається завантаження операційної системи (зазвичай це диск С).
Його основне призначення – завантаження в оперативну пам’ять необхідних драйверів (керуючих програм) для керування апаратною частиною комп’ютера: підключення різних видів пам’яті, клавіатури, мишею, принтером і т.д.
При відсутності цього файлу параметри конфігурації операційної системи встановлюються по умовчанню. Запускається він автоматично при кожному завантаженні операційної системи MS DOS.
Файл CONFIG.SYS створюється і редагується як текстовий файл в будь-якому текстовому редакторі.
§ Файл CONFIG.SYS складається з спеціальних команд операційної системи MS DOS по настроюванню апаратури. Формат цих команд має вигляд:
Ім’я команди = значення
§ Кожна команда займає окремий рядок;
§ Після закінчення формування конструкції кожної команди необхідно натиснути клавішу <Enter>.
§ Конструктивно кожна команда може бути записана символами розмір яких не має значення;
§ Після редагування цього файлу необхідно здійснити перезавантаження операційної системи для становлення нової конфігураційної настройки;
Команди, найбільш широко використовувані у файлі CONFIG.SYS
BREAK = ON або OFF – становлення режиму перевірки одночасного натиснення клавіш <Ctrl> <Break> або <Ctrl> <C>. Якщо установлений параметр ON, то при операціях введення-виводу з диском можна перервати роботу, в протилежному випадку (параметр OFF) це зробити не можливо й операція буде виконана повністю.
BUFFERS = число – виділення об’єму оперативної пам’яті у відповідності із заданим у команді числом буферів (комірок стандартної довжини). Ці буфери відводяться для проміжного зберігання даних з диска в пам’ять і навпаки при операціях введення-виводу з диском. Таким чином збільшується швидкість обміну між диском і оперативною пам'яттю. Звичайно, рекомендується використовувати 40 буферів.
DEVICE = ім’я драйверу [параметри] – підключення драйверу для керування будь-яким пристроєм, наприклад, мишею;
DEVICEHIGH = ім’я драйверу [параметри] – завантажує драйвер пристрою у верхню частину пам’яті (UMA – Upper memory);
Примітка: порядок запису команд DEVICE та DEVICEHIHG у файлі CONFIG.SYS дуже важливий! Спочатку установлюються драйвери, що дозволяють працювати з різними видами пам’яті, якщо доповнюють стандартну пам’ять об’ємом 640 Кбайт, а потім установлюються драйвери, що використовують цю пам’ять.
DOS = параметри установлює режим використання області високої пам’яті (HMA) і забезпечення доступу до блоків верхньої п ам’яті (UMB);
FILES = число – установлює максимальне число одночасно відкритих файлів. Зазвичай це число не повинно бути менше 20;
NUMLOCK = ON або OFF – установлює стан клавіш <Num Lock>. Параметр OFF відключає дію цієї клавіші, параметр ON – включає режим введення з клавіатури прописних букв.
REM чи; - коментар;
LASTDRAVE – становлення кількості букв логічних дисків.
Установлювані драйвери у файлі CONFIG.SYS.
Для керування зовнішніми пристроями використовуються стандартні (вбудовані) і завантажувальні (установлювальні) драйвери.
Стандартні драйвери BIOS забезпечують роботу комп’ютера стандартної конфігурації, до складу якої входять: монітор, жорсткі та гнучкі диски, клавіатура, зовнішні порти зв’язку.
Завантажувальні драйвери дозволяють забезпечити підключення додаткових пристроїв, наприклад, миші, дисковод для лазерних дисків, лазерний принтер та ін. Крім того, драйвери можуть забезпечити додаткові настройки стандартних пристроїв, наприклад, драйвер-українізатор для стандартної клавіатури з латинським шрифтом.
Призначення найбільш часто використовуваних драйверів.
ANSI.SYS – підтримує імітування терміналу ANSI.
DISPLAY.SYS – підтримує перемикання кодових сторінок для монітору.
HIMEN.SYS – керує використанням розширеної (Extended) пам’яті.
EMM386.EXE – організує розширену (Extended) пам’ять і забезпечує доступ до області верхньої пам’яті на комп’ютерах з процесором 386 та вище, які мають розширену (Extended) пам’ять.
переривання роботи програми при одночасному натисканні клавіш <Ctrl> <C> або <Ctrl> <Break>.