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

2.Керування задачами у багатозадачних операційних системах.

Підсистема управління задачами (процесами) забезпечує створення задачі (процесу), завантаження програмного коду і його виконання та завершення задачі (процесу).

В багатозадачних системах підсистема управління задачами (процесами) також забезпечує механізми залежностей між задачами, в тому числі: синхронізацію задач та успадкування властивостей.

Планува́ння викона́ння завда́нь (англ. Scheduling) є однією з ключових концепцій в багатозадачності і багатопроцесорних систем, як в операційних системах загального призначення, так і в операційних системах реального часу. Планування полягає в призначенні пріоритетів процесам в черзі з пріоритетами. Утиліта, що виконує це завдання, називається планувальником.

3. Компоновка програм. Статичні та динамічні бібліотеки.

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

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

Бібліотека (від англ. library) — збірка об'єктів чи підпрограм для вирішення близьких за тематикою задач. Бібліотеки містять первинний код та дані, допоміжні для задіяння та інтеграції нових можливостей в програмні рішення.

Бібліотека може означати те саме, що модуль, або декілька модулів.

З точки зору комп'ютерних наук бібліотеки діляться на статичні та динамічні.

Статичні бібліотеки.

Можуть бути у вигляді початкового тексту, що підключається програмістом до своєї програми на етапі написання (наприклад, для мови Fortran існує величезна кількість бібліотек для вирішення різних завдань саме в початкових текстах), або у вигляді об'єктних файлів, що приєднуються (лінкуються) до виконуваної програми на етапі компіляції. В результаті програма включає всі необхідні функції, що робить її автономною, але збільшує розмір.

Динамічні бібліотеки

Також називаються розподілюваними бібліотеками (англ. shared library), або бібліотеками, що динамічно підключаються (англ. Dynamic Link Library, DLL). Це окремі файли, що надають програмі набір використовуваних функцій для завантажування на етапі виконання при зверненні програми до ОС із заявкою на виконання функції з бібліотеки. Якщо необхідна бібліотека вже завантажена в оперативну пам'ять, програма використуватиме завантажену копію бібліотеки. Такий підхід дозволяє зекономити час і пам'ять, оскільки декілька програм використовують одну копію бібліотеки, вже завантажену в пам'ять.

Білет 24