Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
OS_chast_3.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
59.37 Кб
Скачать

72 Поняття динамічної бібліотеки

Динамічна бібліотека — набір функцій, скомпонованих разом у вигляді бінарного файла, який може бути динамічно завантажений в адресний простір процесу, що використовує ці функції. Динамічне завантаження – завантаження під час виконання процесу , динамічне компонування - компонування образу виконуваного файла під час виконання процессу із використанням динамічних бібліотек.Переваги і недоліки використання. Переваги: • Оскільки бібліотечні функції містяться в окремому файлі, розмір виконуваного файла стає меншим.• Якщо динамічну бібліотеку використовують кілька процесів, у пам'ять завантажують лише одну її копію, після чого сторінки коду бібліотеки відображаються в адресний простір кожного з цих процесів.• Оновлення застосування може бути зведене до встановлення нової версії динамічної бібліотеки без необхідності перекомпонування тих його частин, які не змінилися. • Динамічні бібліотеки дають змогу застосуванню реалізувати динамічне завантаження модулів на вимогу. • Динамічні бібліотеки дають можливість спільно використовувати ресурси застосування, дають змогу спростити локалізацію застосування.• Оскільки динамічні бібліотеки є двійковими файлами, можна організувати спільну роботу бібліотек недоліки: • Використання DLL сповільнює завантаження застосування. • У деяких ситуаціях використання спільних системних DLL неприйнятне через нестачу дискового простору для їхнього зберігання. • Найбільшою є зворотня сумісность динамічних бібліотек.

73 Завдання підсистеми введення-виведення

Основним завданням підсистеми введення-виведення є реалізація доступу до зовнішніх пристроїв із прикладних програм, яка повинна забезпечити: • ефективність (можливість використання ОС всіх засобів оптимізації, які надає апаратне забезпечення), спільне використання і захист зовнішніх пристроїв за умов багатозадачності; • універсальність для прикладних програм (ОС має приховувати від прикладних програм відмінності в інтерфейсі апаратного забезпечення, надаючи стандартний інтерфейс доступу до різних пристроїв), при цьому потрібно завжди залишати можливість прямого доступу до пристрою, оминаючи стандартний інтерфейс; • універсальність для розробників системного програмного забезпечення (драйверів пристроїв), щоб під час розробки драйвера для нового пристрою можна було скористатися наявними напрацюваннями і легко забезпечити інтеграцію цього драйвера у підсистему введення-виведення.

74 Способи виконання операцій введення-виведення

Зовнішній пристрій взаємодіє із комп'ютерною системою через точку зв'язку, яку називають портом (port). Якщо кілька пристроїв з'єднані між собою і можуть обмінюватися

повідомленнями відповідно до заздалегідь визначеного протоколу, то кажуть, що вони використовують шину (bus). Як відомо, пристрої зв'язуються із комп'ютером через контролери. Є два базові способи зв'язку із контролером: через порт введення-виведення (I/O port) і відображувану пам'ять (memory-mapped I/O). У першому випадку дані пересилають за допомогою спеціальних інструкцій, у другому - робота із певною ділянкою пам'яті спричиняє взаємодію із контролером. Деякі пристрої застосовують обидві технології відразу. Наприклад, графічний контролер використовує набір портів для організації керування і регіон відображуваної пам'яті для зберігання вмісту екрана. Спілкування із контролером через порт звичайно зводиться до використання чотирьох регістрів. Команди записують у керуючий регістр (control), дані - у регістр виведення (data-out), інформація про стан контролера може бути зчитана із регістра статусу (status), дані від контролера - із регістра введення (data-in). Ядро ОС має реєструвати всі порти введення-виведення і діапазони відображуваної пам'яті, а також інформацію про використання пристроєм порту і діапазону.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]