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

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

Алгоритм найкращого підходящого зводиться до виділення пам'яті із вільного

блоку, розмір якого найближчий до необхідного обсягу пам'яті. Після такого ви-

ділення у пам'яті залишатимуться найменші вільні фрагменти. Структури даних

вільних блоків у цьому випадку можуть об'єднуватися у список, кожний елемент

якого містить розмір блоку і покажчик на наступний блок. Під час вивільнення

пам'яті має сенс поєднувати суміжні вільні блоки.

Білет 13

1)Архітектура операційних систем. Взаємодія ос і виконуваного програмного коду.

Деколи є дії виконувані в ядрі і для цього необхідна взаємодія коду та ОС. Системний виклик – засіб доступу до функції ядра ОС і прикладних програм. Послідовність виконання системного виклику:

Потрібна ф-ція реалізована в ядрі системи

Виконується програмне перетворення(інструкція сист. виклику) і перехід в привілейований режим.

Ядро зчитує параметри і вирішує шо робити

Виконує дії, зберігає значення що треба повернути і передає керування програмі що його викликала(вертається в режим користувача)

Програма зчитує значенні і продовжує роботу.

Набір функцій прикладних програм – інтерфейс програмування застосувань(API). Зв’язок між системними ф-ціями та API різний у різних ОС. Пакувальник системного виклику – бібліотечна функція яка є відповідником системної. Основа UNIX – системні ф-ції які реалізовані у прикладних програмах. Універсальний набір функцій у WindowsWin 32 API.

Програмна сумісність – коли в ОС потрібно виконати програму написану для іншої ОС. Є сумісність на рівні вихідних текстів та бінарна сумісність.

На рівні вихідних текстів:

Наявність стандарту на мови програмування і стандартних компіляторів

Наявність стандарту на інтерфейс ОС(API)

Стандаризація інтерфейсу в ОС реалізується в рамках проекту POSIX.

Бінарна сумісність виникає тоді коли треба запустити на виконання код прикладної програми в середовищі іншої ОС. Вирішення – емуляція середовища виконання.

2).Керування процесами і потоками. Керування потоками у Windows.Особливості програмного інтерфейсу потоків

Для того щоб виконувати код, у рамках процесу обов'язково необхідно створитипотік. У системі Windows ХР реалізована модель потоків ≪у чистому вигляді≫.Процеси і потоки є різними сутностями в системі, що перебувають у чітко визначеномувзаємозв'язку один з одним; для роботи з ними використовують різнісистемні виклики. У Windows ХР ніколи не використовували модель процесів,подібну до традиційної моделі UNIX.Багатопотоковість Windows ХР базується на схемі 1:1. Кожному потоку користувачавідповідає сутність у ядрі, при цьому ядро відповідає за планування потоків.Процеси не плануються.Такий інтерфейс ще називають інтерфейсом потоків Win32. Для створення потоку призначена функціяCreateThreadO, а для його завершення - EndThreadO.На практиці, однак, пару CreateThread( )/EndThread() є сенс використати лишетоді, коли з коду, що виконує потік, не викликаються функції стандартної бібліотекимови С (такі, як printf()або strcm()).

Річ у тому, що функції стандартної бібліотеки С у Win32 АРІ не пристосованідо використання за умов багатопотоковості, і для того щоб підготувати потік дороботи за таких умов, необхідно під час його створення і завершення виконуватидеякі додаткові дії. Ці дії враховані у спеціальних бібліотечних функціях роботиз потоками, описаних у заголовному файлі process. h. Це функція _begi nthreadex()для створення потоку й _endthreadex() - для завершення потоку.Розглянемо синтаксис функції _beginthreadex(). Відразу ж наголосимо, що тойсамий набір параметрів (відмінний лише за типами) передають і у функціюCreateThrea().

Завершення потоків у Win32 API

Функцію потоку можна завершити двома способами.

Виконати у ній звичайний оператор return (цей спосіб є найнадійнішим)

Викликати функцію endthreadex() з параметром, що дорівнює коду повернення.

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