
- •57 Неперервне розміщення файлів
- •58 Розміщення файлів зв'язними списками
- •60 Організація каталогів
- •61 Облік вільних кластерів
- •62 Кешування доступу до диска
- •63 Дискове планування
- •64 Резервне копіювання
- •65 Запобігання суперечливостям і відновлення після збою
- •66 Журнальні файлові системи
- •67 Основні функції vfs
- •68 Файлові системи ext2fs і ext3fs
- •69 Файлові системи лінії fat
- •70 Файлова система ntfs
- •72 Поняття динамічної бібліотеки
- •73 Завдання підсистеми введення-виведення
- •74 Способи виконання операцій введення-виведення
- •75 Підсистема введення-виведення ядра
- •77.Основні завдання забезпечення безпеки
- •81.Мережна безпека даних:
- •55 Файлові операції Win32 api
72 Поняття динамічної бібліотеки
Динамічна бібліотека — набір функцій, скомпонованих разом у вигляді бінарного файла, який може бути динамічно завантажений в адресний простір процесу, що використовує ці функції. Динамічне завантаження – завантаження під час виконання процесу , динамічне компонування - компонування образу виконуваного файла під час виконання процессу із використанням динамічних бібліотек.Переваги і недоліки використання. Переваги: • Оскільки бібліотечні функції містяться в окремому файлі, розмір виконуваного файла стає меншим.• Якщо динамічну бібліотеку використовують кілька процесів, у пам'ять завантажують лише одну її копію, після чого сторінки коду бібліотеки відображаються в адресний простір кожного з цих процесів.• Оновлення застосування може бути зведене до встановлення нової версії динамічної бібліотеки без необхідності перекомпонування тих його частин, які не змінилися. • Динамічні бібліотеки дають змогу застосуванню реалізувати динамічне завантаження модулів на вимогу. • Динамічні бібліотеки дають можливість спільно використовувати ресурси застосування, дають змогу спростити локалізацію застосування.• Оскільки динамічні бібліотеки є двійковими файлами, можна організувати спільну роботу бібліотек недоліки: • Використання DLL сповільнює завантаження застосування. • У деяких ситуаціях використання спільних системних DLL неприйнятне через нестачу дискового простору для їхнього зберігання. • Найбільшою є зворотня сумісность динамічних бібліотек.
73 Завдання підсистеми введення-виведення
Основним завданням підсистеми введення-виведення є реалізація доступу до зовнішніх пристроїв із прикладних програм, яка повинна забезпечити: • ефективність (можливість використання ОС всіх засобів оптимізації, які надає апаратне забезпечення), спільне використання і захист зовнішніх пристроїв за умов багатозадачності; • універсальність для прикладних програм (ОС має приховувати від прикладних програм відмінності в інтерфейсі апаратного забезпечення, надаючи стандартний інтерфейс доступу до різних пристроїв), при цьому потрібно завжди залишати можливість прямого доступу до пристрою, оминаючи стандартний інтерфейс; • універсальність для розробників системного програмного забезпечення (драйверів пристроїв), щоб під час розробки драйвера для нового пристрою можна було скористатися наявними напрацюваннями і легко забезпечити інтеграцію цього драйвера у підсистему введення-виведення.
74 Способи виконання операцій введення-виведення
Зовнішній пристрій взаємодіє із комп'ютерною системою через точку зв'язку, яку називають портом (port). Якщо кілька пристроїв з'єднані між собою і можуть обмінюватися
повідомленнями відповідно до заздалегідь визначеного протоколу, то кажуть, що вони використовують шину (bus). Як відомо, пристрої зв'язуються із комп'ютером через контролери. Є два базові способи зв'язку із контролером: через порт введення-виведення (I/O port) і відображувану пам'ять (memory-mapped I/O). У першому випадку дані пересилають за допомогою спеціальних інструкцій, у другому - робота із певною ділянкою пам'яті спричиняє взаємодію із контролером. Деякі пристрої застосовують обидві технології відразу. Наприклад, графічний контролер використовує набір портів для організації керування і регіон відображуваної пам'яті для зберігання вмісту екрана. Спілкування із контролером через порт звичайно зводиться до використання чотирьох регістрів. Команди записують у керуючий регістр (control), дані - у регістр виведення (data-out), інформація про стан контролера може бути зчитана із регістра статусу (status), дані від контролера - із регістра введення (data-in). Ядро ОС має реєструвати всі порти введення-виведення і діапазони відображуваної пам'яті, а також інформацію про використання пристроєм порту і діапазону.