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

3) Динамічний розподіл пам'яті. Алгоритм першого підходящого.

Алгоритм першого підходящого полягає в тому, що вибирають перший блок, що

підходить за розміром (рис. 10.3). Структури даних для цього алгоритму можуть

бути різними: стек (LIFO), черга (FIFO), список, відсортований за адресою. Ал-

горитм зводиться до сканування списку і вибору першого підхожого блоку. Якщо

блок значно більший за розміром, ніж потрібно, він може бути розділений на

кілька блоків.

Різні модифікації цього алгоритму на практиці виявляють себе по-різному.

Так, алгоритм першого підходящого, який використовує стек, зводиться до

того, що вивільнений блок поміщають на початок списку (вершину стека). Такий

підхід простий у реалізації, але може спричинити значну фрагментацію. Прикла-

дом такої фрагментації є ситуація, коли одночасно виділяють більші блоки пам'я-

ті на короткий час і малі блоки - на довгий. У цьому разі вивільнений великий

блок буде, швидше за все, відразу використаний для виділення пам'яті відповідно

до запиту на малий обсяг (і після цього не вивільниться найближчим часом).

ЕКЗАМЕНАЦІЙНИЙ БІЛЕТ № 14

Архітектура операційних систем. Особливості архітектури unix.

UNIX – приклад досить простої архітектури. Більша частина функціональності – в ядрі що спілкується з прикладними програмами за допомогою системних викликів.Система складається:підсистема керування процесами, файлова підсистема і підсистема введення – виведення. Підсистема керування процесами – створення та вилучення процесів, розподілення ресурсів між ними та їх взаємодія. Файлова підсистема – забезпечує єдиний інтерфейс доступу до даних(це важлива особливість UNIX). Ті самі системні виклики використовують для обміну даними з диском так і для виведення інфи на термінал(просто переадресовуються запити відповідним модулям). Підсистема введення – виведення – виконує запит файлової підсистеми взаємодіючи драйверами пристроїв. В UNIX є символьні і блокові пристрої.Блоковий пристрій допускає прямий доступ. В сучасних системах UNIXпідтримується багатопотоковість, стандартом для реалізації інтерфейсу є віртуальна файлова система і є окремий менеджер пам’яті для віртуальної пам’яті.

2.Взаємодія потоків. Основні принципи взаємодії потоків. Основні проблеми взаємодії потоків. Проблема змагання. Критичні секції та блокування. Базові механізми синхронізації потоків.

Потоки, які виконуються в рамках процесу паралельно, можуть бути незалежни­ми або взаємодіяти між собою.Потік є незалежним, якщо він не впливає на виконання інших потоків проце­су, не зазнає впливу з їхнього боку, та не має з ними жодних спільних даних. Його виконання однозначно залежить від вхідних даних і називається детермінованим.Усі інші потоки є такими, що взаємодіють. Ці потоки мають дані, спільні з ін­шими потоками. їх ви­конання залежить не тільки від вхідних даних, але й від виконання інших пото­ків, тобто вони є.Результати виконання незалежного потоку завжди можна повторити, чого не можна сказати про потоки, що взаємодіють.Дані, які є загальними для кількох потоків, називають спільно використову­ваними даними. Це - найважливіша концепція багатопотокового програмування. Усякий потік може в будь-який момент часу змінити такі дані. Механізми забезпечення коректною доступу до спільно використовуваних даних називають механізмами синхронізації потоків.Механізмами синхронізації є засоби операційної системи, які допомагають роз­в’язувати основне завдання синхронізації — забезпечувати координацію потоків, котрі працюють зі спільно використовуваними даними. Якщо такі засоби — це мі­німальні блоки для побудови багатопотокових програм, їх називають синхроніза­ційними примітивами.

Синхронізаційні механізми поділяють на такі основні категорії:

універсальні, низького рівня, які можна використовувати різними способами (ісемафори);

прості, низького рівня, кожен з яких пристосований до розв’язання тільки од­нієї задачі (м’ютекси та умовні змінні);

універсальні високого рівня, виражені через прості; до цієї групи належить концепція монітора, яка може бути виражена через м’ютекси та умовні змінні;

високого рівня, пристосовані до розв’язання конкретної синхронізаційної за­дачі (блокування читання-записування і бар’єри).

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