- •Лекція 1. Вступ до операційних систем.
- •1.Поняття про операційні системи та їх місце в загальній структурі комп’ютера.
- •2. Основні функції операційної системи : розширення можливостей комп’ютера та керування його ресурсами.
- •3. Історія операційних систем.
- •Лекція 2. Структура операційної системи.
- •Таблиця 2.1
- •Екзоядро
- •Модель клієнт-сервер
- •Лекція 3. Концепція процесу
- •Лекція 4. Потоки в операційних системах.
- •3. Міжпроцесна взаємодія.
- •4.Примітиви міжпроцесної взаємодії.
- •5.Семафори та їх використання.
- •6.Поняття м’ютекса.
- •7.Поняття моніторів.
- •8.Поняття про бар’єри.
- •9.Поняття про системи передачі повідомлень.
- •Лекція 5. Взаємоблокування.
- •2.Умови та моделювання взаємоблокувань.
- •3.Виявлення та усунення взаємоблокувань.
- •4.Уникнення взаємоблокувань при наявності декількох ресурсів кожного типу.
- •6. Уникнення взаємоблокувань.
- •7. Алгоритм банкіра для одного та декількох видів ресурсів.
- •8. Уникнення взаємоблокувань шляхом порушення умов їх здійснення
- •Лекція 6. Основні поняття керування пам’яттю.
- •1.Однозадачна система без підкачки на диск.
- •2.Багатозадачність з фіксованими розділами
- •3.Поняття про підкачку даних.
- •5.Віртуальна пам’ять. Основні поняття.
- •6.Віртуальна пам’ять. Сторінкова організація пам’яті.
- •7.Характеристика основних алгоритмів заміщення сторінок.
- •Лекція 7. Принципи роботи апаратури введення-виведення.
- •1.Пристрої введення-виведення.
- •2.Переривання персональної кс.
- •Лекція 8.
- •Лекція 9.
- •Лекція 10. Файли та їх властивості.
- •1.Поняття файлової системи.
- •2.Іменування файлів.
- •3.Структура файлу.
- •4.Типи файлів.
- •5.Доступ до файлів. Атрибути файла.
- •6.Файли, відображувані на адресній простір памяті.
- •7.Каталоги.
- •Лекція 11. Реалізація файлової системи.
- •1.Структура файлової системи.
- •2.Реалізація файлів.
- •3.Реалізація каталогів.
- •Лекція 12 Планування в системах з одним процесором.
- •1.Поняття про планування.
- •2.Типи планування процесора.
- •3.Планування вводу-виводу.
- •Лекція 13. Критерії планування.
- •1.Критерії короткотривалого планування.
- •2.Використання пріоритетів.
- •3.Альтернтитвні стратегії планування
- •Лекція 14. Стратегії планування.
- •1.Стратегія планування „першим прийшов – першим обслуговується”.
- •2.Стратегія”кругове планування” .
- •4.Вибір самого короткого процесу.
- •5.Стртегія найменшого часу, що залишився.
- •7.Зниження пріорітету.
- •Лекція 15. Багатопроцесорне планування і планування реального часу.
- •1. Класифікація багатопроцесорних систем.
- •3.Задачі планування в багатопроцесорній системі.
- •4. Планування процесів.
- •5.Планування потоків.
- •Лекція 16. Основні підходи до планування потоків.
- •1.Розділення навантаження.
- •2.Бригадне планування.
- •3.Призначення процесорів.
- •4.Динамічне планування.
- •Лекція 17. Планування реального часу.
- •Лекція 18.
- •4. Парадигми.
- •5. Реалізація операційної системи
- •Лекція 19. Операційні системи типу unix.
- •1.Історичні відомості про операційні системи типу unix.
- •2.Загальна архітектура системи unix.
- •3.Сучасні системи unix.
- •4.Історія виникнення операційної системи Linux.
- •5.Модульна структура операційної системи Linux.
- •6.Традиційне планування unix.
- •Лекція 20. Характеристики операційної системи Windows 2000.
- •1. Історія виникнення Windows.
- •Лекція 21. Особливості архітектури Windows xp.
- •1. Основні компоненти Windows xp.
9.Поняття про системи передачі повідомлень.
З системами передачі повідомлень пов’язана велика кількість складних проблем і конструктивних питань, яких не виникає у випадку семафорів і моніторів. Особливо багато складнощів з’являється у випадку взаємодії процесів, що відбуваються на різних комп’ютерах в мережі. Так, повідомлення може втратитись в мережі. Для цього необхідно вводити механізм підтверджень. Також виникає питання аутентифікації: яким чином клієнт може визначити, що він взаємодіє з справжнім файловим сервером. Крім того, існують конструктивні проблеми, суттєві при розміщенні відправника і отримувача на одному комп’ютері.
Передача повідомлень часто використовується в системах з паралельним програмуванням.
Лекція 5. Взаємоблокування.
Основні поняття взаємоблокування.
В комп’ютерних системах існує велика кількість ресурсів, кожен з яких в конкретний момент часу може використовуватись лише одним процесом. Всі операційні системи мають здатність надавати процесу тимчасовий одноосібний доступ до певних ресурсів.
Взаємоблокування з’являється при роботі як з апаратними, так із програмними засобами.
Ресурси бувають двох типів: вивантажуванні і невивантажуванні. Вивантажуванний ресурс можна забирати у володіючого ним процесу без ускладнень (наприклад, пам’ять). Не вивантажуванний ресурс не можна забирати від поточного власника, не знищивши результати обчислень.
Послідовність подій, необхідних для використання ресурсу: запит ресурсу, його використання і повернення.
Якщо ресурс є недоступним, коли він потрібен, то запитуючий його процес повинен чекати.
2.Умови та моделювання взаємоблокувань.
Група процесів знаходиться у тупіковій ситуації, якщо кожен процес з групи очікує події, яка може викликати тільки другий процес з тієї ж групи.
Для того, щоб виникло взаємоблокування, повинні виконуватись всі 4 умови. Розглянемо як можна змоделювати чотитри умови виникнення тупіків, використовуючи направлені графи. Графи мають два види вузлів: процеси, які позначено кругами, і ресурси позначені квадратами. Ребро, напрямлене від вузла ресурса до вузла процесу, означає, що ресурс раніше вимагався процесом, отриманий і в даний момент використовується цим процесом.
Ребро направлене від процесу до ресурсу означає, що процес в даний момент блокований і знаходиться в стані очікування доступу до ресурсу. На рис.5.1(в) видно взаємоблокування: процес С очікує ресурс Т, утримуваний в даний момент процесом D. Процес D не планує звільняти ресурс Т, тому що він чекає ресурс U, який використовується процесом С. Обидва процеси будуть чекати до безмежності. Цикл в графі означає наявність взаємоблокування, що циклічно включає процеси і ресурси.
При виникнені взаємоблокувань використовують 4 стратегії:
ігнорування проблемою в цілому;
виявлення і відновлення. Дозволити взаємоблокуванню відбутись, виявити його і прийняти певні дії;
уникнення за допомогою структурного відкидання однієї з 4 умов, необхідних для взаємоблокування.
Більша частина операційних систем, включаючи Unix та Windows, ігнорують проблеми взаємоблокування. Це пов’язано з тим, що більшість користувачів швидше погодяться на випадкове, час від часу взаємоблокування, ніж на правило, за яким всім користувачам дозволяється тільки один процес, один відкритий файл і т.д.