
- •Основні концепції операційних систем. Поняття операційної системи, її призначення та функції.
- •Керування процесами і потоками. Базові поняття процесів і потоків. Процеси і потоки в сучасних ос. Моделі процесів і потоків. Складові елементи процесів і потоків.
- •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.
- •Планування процесів і потоків. Види планування. Довготермінове планування. Середньотермінове планування. Короткотермінове планування. Стратегії планування.
- •Короткотермінове планування
- •Міжпроцесова взаємодія на основі інтерфейсу файлової системи. Файли, що відображаються у пам'ять.
- •Взаємодія потоків.Базові механізми синхронізації потоків.
Керування процесами і потоками. Керування процесами у Windows. Складові елементи процесу. Структури даних процесу.
Розглянемо базові складові елементи процесу.
Адресний простір процесу складається з набору адрес віртуальної пам'яті, які він може використати. Ці адреси можуть бути пов'язані з оперативною па м'яттю, а можуть — з відображеними у пам'ять ресурсами. Адресний простір процесу недоступний іншим процесам.
Процес володіє системними ресурсами, такими як файли, мережні з'єднання, пристрої введення-виведення, об'єкти синхронізації тощо.
Процес містить деяку стартову інформацію для потоків, які в ньому створю ватимуться. Наприклад, це інформація про базовий пріоритет і прив'язання до процесора.
Процес має містити хоча б один потік, який система скеровує на виконання. Без потоків у Windows ХР наявність процесів неможлива.
Структури даних процесу Розглянемо структури даних, пов'язані із процесом у Windows ХР. Зазначимо, що у роботі з цими структурами система використовує об'єктну модель. Для ви конавчої системи Windows ХР кожний процес зображається об'єктом-процесом виконавчої системи (executive process object); його також називають керуючим блоком процесу (executive process block, EPROCESS). Для ядра системи процес зображається об'єктом-процесом ядра (kernel process object), його також назива ють блоком процесу ядра (process kernel block, KPROCESS). У режимі користувача доступним є блок оточення процесу (process environ ment block, РЕВ), що перебуває в адресному просторі цього процесу. Розглянемо структури даних процесу докладніше. Зазначимо, що EPROCESS і KPROCESS, на відміну від РЕВ, доступні тільки із привілейованого режиму. Керуючий блок процесу містить такі основні елементи:
блок процесу ядра (KPROCESS); • ідентифікаційну інформацію; • інформацію про адресний простір процесу • інформацію про ресурси, доступні процесу, та обмеження на використання цих ресурсів; • блок оточення процесу (РЕВ); • інформацію для підсистеми безпеки. До ідентифікаційної інформації належать: • ідентифікатор процесу (pid);• ідентифікатор процесу, що створив цей процес (незважаючи на те, що Win dows ХР не підтримує відносини «предок-нащадок» автоматично, вони мо жуть бути задані програмним шляхом, тобто нащадок може сам призначити собі предка, задавши цей ідентифікатор); • ім'я завантаженого програмного файла. Блок процесу ядра містить усю інформацію, що належить до потоків цього процесу: • покажчик на ланцюжок блоків потоків ядра, де кожний блок відповідає потоку;• базову інформацію, необхідну ядру системи для планування потоків (ця ін формація буде успадкована потоками, пов'язаними із цим процесом; її буде розглянуто в розділі 4). Блок оточення процесу містить інформацію про процес, яка призначена для доступу з режиму користувача: • початкову адресу ділянки пам'яті, куди завантажився програмний файл; • покажчик на динамічну ділянку пам'яті, доступну процесу. Цю інформацію може використати завантажувач програм або процес підсисте ми Win32.
Реалізація файлових систем. Інтерфейс віртуальної файлової системи vfs.
Основною метою VFS є забезпечення можливості роботи ОС із максимально ши¬роким набором файлових систем. Цей рівень програмного забезпечення перетво¬рює стандартні системні виклики UNIX для керування файлами у виклики функ¬цій низького рівня, реалізованих розробником конкретної файлової системи. Рівень VFS забезпечує доступ через стандартні файлові системні виклики до будь-якого рівня програмного забезпечення, що реалізує інтерфейс файлової системи. Це програмне забезпечення може взагалі не працювати із дисковою файловою системою, а, наприклад, генерувати всю інформацію «на льоту». Програмні модулі, що реалізують інтерфейс файлової системи, називаються модулями під¬тримки файлових систем.
Файлові системи, підтримувані VFS, можуть бути розділені на три основні категорії.
Дискові є файловими системами в їхньому традиційному розумінні (розташова¬ні на диску). Вони можуть мати будь-яку внутрішню структуру, важливо тіль¬ки, щоб відповідне програмне забезпечення реалізовувано інтерфейс файлової системи. Серед дискових файлових систем, які підтримує VFS, можна виділити розроблені спеціально для Linux (ext2fs, ext3fs, ReiserFS); Windows ХР (лінія FAT, NTFS); інших версій UNIX (FFS, XFS); CD-ROM (IS09660).
Мережні реалізують прозорий доступ до файлів на інших комп’ютерах через мережу. До них належать NFS (забезпечує доступ до інших UNIX-серверів) і SMB (виконує аналогічні функції для серверів мережі Microsoft).
Спеціальні або віртуальні відображають у вигляді файлової системи те, що на-справді файловою системою не є. Вони не керують дисковим простором ні ло-кально, ні віддалено. Прикладом віртуальної файлової системи є файлова сис¬тема /ргос, про яку йтиметься у розділі 13.3.
. Базова архітектура VFS визначає три основних об’єктних типи.
Об'єкт індексного дескриптора (об’єкт inode, inode object) описує набір атри¬бутів і методів, за допомогою яких відображують файл на рівні файлової сис¬теми. Його назва свідчить про те, що більшість файлових систем в UNIX використовує індексоване розміщення даних; насправді цей об’єкт може ін- капсулювати будь-яку структуру фізичного розміщення файла на диску.
Об’єкт відкритого файла (об’єкт file, file object) відображає відкритий файл на рівні процесу.
об’єкт файлової системи (filesystem object) відображає всю файлову систему; у Linux його називають об’єктом суперблока (superblock object).
ЕКЗАМЕНАЦІЙНИЙ БІЛЕТ № 9