- •Основні концепції операційних систем. Поняття операційної системи, її призначення та функції.
- •Керування процесами і потоками. Базові поняття процесів і потоків. Процеси і потоки в сучасних ос. Моделі процесів і потоків. Складові елементи процесів і потоків.
- •3.Системний реєстр Windows xp. Логічна структура реєстру. Фізична організація реєстру. Програмний інтерфейс доступу до реєстру.
- •Основні концепції операційних систем. Операційна система як розширена машина. Операційна система як розподілювач ресурсів.
- •Логічна організація файлових систем. Загальні відомості про файлові операції. Файлові операції posix.
- •Основні концепції операційних систем. Історія розвитку операційних систем. Класифікація сучасних операційних систем.
- •Керування процесами і потоками. Створення процесів. Ієрархія процесів. Керування адресним простором під час створення процесів. Створення процесів
- •Логічна організація файлових систем. Загальні відомості про файлові операції. Файлові операції WinApi.
- •Основні концепції операційних систем. Функціональні компоненти операційних систем.
- •Керування процесами і потоками. Синхронне й асинхронне виконання процесів.
- •Логічна організація файлових систем. Організація інформації у файловій системі. Розділи. Каталоги. Зв'язок розділів і структури каталогів.
- •Архітектура операційних систем. Механізми і політика.
- •Керування процесами і потоками. Створення і завершення потоків. Особливості створення потоків
- •Міжпроцесова взаємодія на основі інтерфейсу файлової системи. Файлові блокування.
- •Архітектура операційних систем. Ядро системи. Привілейований режим і режим користувача.
- •Керування процесами і потоками. Керування процесами в unix і Linux.
- •Міжпроцесова взаємодія на основі інтерфейсу файлової системи. Файли, що відображаються у пам'ять.
- •Архітектура операційних систем. Реалізація архітектури операційних систем. Монолітні системи.
- •Керування процесами і потоками. Програмний інтерфейс керування потоками posix.
- •Міжпроцесова взаємодія на основі інтерфейсу файлової системи. Поіменовані канали
- •Архітектура операційних систем. Реалізація архітектури операційних систем. Багаторівневі системи.
- •Керування процесами і потоками. Керування процесами у Windows. Складові елементи процесу. Структури даних процесу.
- •Реалізація файлових систем. Інтерфейс віртуальної файлової системи vfs.
- •Архітектура операційних систем. Реалізація архітектури операційних систем. Системи з мікроядром.
- •Керування процесами і потоками. Керування процесами у Windows. Створення процесів. Завершення процесів.
- •Реалізація файлових систем. Файлові системи ext2fs і ext3fs.
- •Архітектура операційних систем. Реалізація архітектури операційних систем. Концепція віртуальних машин
- •Керування процесами і потоками. Програмний інтерфейс керування процесами WinАрі.
- •Реалізація файлових систем. Файлова система /ргос.
- •Архітектура операційних систем. Операційна система та її оточення. Взаємодія ос і апаратного забезпечення
- •Керування процесами і потоками. Керування потоками у Windows. Складові елементи потоку.
- •Динамічний розподіл пам'яті. Послідовний пошук підходящого блоку. Порівняння алгоритмів послідовного пошуку підходящого блоку.
- •Архітектура операційних систем. Взаємодія ос і апаратного забезпечення. Взаємодія ос і апаратного забезпечення
- •Керування процесами і потоками. Керування потоками у Windows. Створення потоків.
- •Динамічний розподіл пам'яті. Алгоритм найкращого підходящого. Алгоритм найкращого підходящого.
- •1)Архітектура операційних систем. Взаємодія ос і виконуваного програмного коду.
- •2).Керування процесами і потоками. Керування потоками у Windows.Особливості програмного інтерфейсу потоків
- •3) Динамічний розподіл пам'яті. Алгоритм першого підходящого.
- •Архітектура операційних систем. Особливості архітектури unix.
- •2.Взаємодія потоків. Основні принципи взаємодії потоків. Основні проблеми взаємодії потоків. Проблема змагання. Критичні секції та блокування. Базові механізми синхронізації потоків.
- •3.Динамічний розподіл пам'яті. Ізольовані списки вільних блоків. Проста ізольована пам'ять.
- •2.Взаємодія потоків. Семафори.
- •3.Основи технології віртуальної пам'яті
- •Взаємодія потоків. М'ютекси.
- •Основи технології віртуальної пам'яті. Фрагментація пам'яті. Логічна і фізична адресація пам'яті. Підхід базового і межового регістрів.
- •Міжпроцесова взаємодія. Види міжпроцесової взаємодії.
- •Взаємодія потоків. Умовні змінні.
- •Основи технології віртуальної пам'яті. Сегментація пам'яті. Особливості сегментації пам'яті. Реалізація сегментації в архітектурі іа-32.
- •Міжпроцесова взаємодія. Методи розподілюваної пам'яті. Методи передавання повідомлень.
- •Взаємодія потоків. Концепція монітора.
- •Основи технології віртуальної пам'яті. Сторінкова організація пам'яті. Базові принципи сторінкової організації пам'яті. Порівняльний аналіз сторінкової організації пам'яті та сегментації.
- •Міжпроцесова взаємодія. Технологія відображуваної пам'яті
- •Взаємодія потоків. Блокування читання-записування. Синхронізація за принципом бар'єра.
- •Основи технології віртуальної пам'яті. Багаторівневі таблиці сторінок. Реалізація таблиць сторінок в архітектурі іа-32
- •Взаємодія з диском підчас керування пам'яттю. Поняття підкачування. Проблеми реалізації підкачування сторінок.
- •Взаємодія з диском підчас керування пам'яттю. Заміщення сторінок. Оцінка алгоритмів заміщення сторінок.
- •Взаємодія потоків. Синхронізація процесів користувача у Linux. Ф'ютекси.
- •Керування процесами і потоками. Програмний інтерфейс керування потоками posix
- •Взаємодія з диском підчас керування пам'яттю. Алгоритм fifo. Оптимальний алгоритм.
- •Взаємодія потоків.Програмний інтерфейс взаємодії WinАрі.
- •Взаємодія з диском підчас керування пам'яттю. Годинниковий алгоритм.
- •Взаємодія потоків.Взаємодія потоків у Linux.
- •1.Взаємодія з диском підчас керування пам'яттю. Блокування сторінок у пам'яті. Фонове заміщення сторінок. Блокування сторінок у пам'яті
- •Взаємодія потоків.Взаємодія потоків у Linux.
- •Планування процесів і потоків. Види планування. Довготермінове планування. Середньотермінове планування. Короткотермінове планування. Стратегії планування.
- •Короткотермінове планування
- •Міжпроцесова взаємодія на основі інтерфейсу файлової системи. Файли, що відображаються у пам'ять.
- •Взаємодія потоків.Базові механізми синхронізації потоків.
Динамічний розподіл пам'яті. Алгоритм найкращого підходящого. Алгоритм найкращого підходящого.
Алгоритм найкращого підходящого зводиться до виділення пам'яті із вільного
блоку, розмір якого найближчий до необхідного обсягу пам'яті. Після такого ви-
ділення у пам'яті залишатимуться найменші вільні фрагменти. Структури даних
вільних блоків у цьому випадку можуть об'єднуватися у список, кожний елемент
якого містить розмір блоку і покажчик на наступний блок. Під час вивільнення
пам'яті має сенс поєднувати суміжні вільні блоки.
Білет 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() з параметром, що дорівнює коду повернення.
