Дисципліна: Операційні системи
Кількість годин (кредитів ЄКТС): 150 (5)
Мета навчальної дисципліни: навчити студентів працювати в середовищах сучасних операційних систем, виробити вміння ефективно використовувати новітні засоби та технології сучасних операційних систем.
Вивчення курсу базується на закріпленні навичок використання сучасних операційних систем.
Результати навчання за навчальною дисципліною: прищепити вміння застосовувати теоретичні знання на практиці, самостійно розширювати свої знання про основні операційні системи та принципи їх побудови, розвивати логічне мислення та вміння самостійно працювати зі спеціальною літературою з метою поглиблення знань про сучасний стан та тенденції розвитку операційних систем.
Зміст дисципліни (тематика):
Основні концепції операційних систем
Поняття операційної системи, її призначення та функції. Функціональні компоненти операційних систем. Керування процесами й потоками. Керування пам'яттю. Керування введенням-виведенням. Керування файлами та файлові системи. Мережна підтримка. Безпека даних. Інтерфейс користувача.
Архітектура операційних систем
Базові поняття архітектури операційних систем. Механізми і політика. Ядро системи. Привілейований режим і режим користувача. Системне програмне забезпечення. Реалізація архітектури операційних систем.
Операційна система та її оточення. Взаємодія ОС і апаратного забезпечення. Взаємодія ОС і виконуваного програмного коду.
Особливості архітектури ОС Windows 10, Linux та Android.
Керування процесами і потоками
Базові поняття процесів і потоків. Процеси і потоки в сучасних ОС. Моделі процесів і потоків. Складові елементи процесів і потоків. Багатопотоковість та її реалізація.
Планування процесів і потоків. Загальні принципи планування. Види планування. Алгоритми планування.
Взаємодія потоків. Основні принципи взаємодії потоків. Основні проблеми взаємодії потоків. Базові механізми синхронізації потоків.
Міжпроцесова взаємодія. Види міжпроцесової взаємодії.
Керування процесами і потоками в Windows 10, Linux та Android.
Керування оперативною пам'яттю
Основи технології віртуальної пам'яті. Поняття віртуальної пам'яті. Проблеми реалізації віртуальної пам'яті. Фрагментація пам'яті. Логічна і фізична адресація пам'яті.
Реалізація керування основною пам'яттю у Windows 10, Linux та Android.
Логічна та фізична організація файлових систем
Поняття файла і файлової системи. Типи файлів. Імена файлів. Організація інформації у файловій системі. Розділи. Каталоги. Атрибути файлів. Операції над файлами і каталогами.
Базові відомості про дискові пристрої. Принцип дії жорсткого диска. Ефективність операцій доступу до диска. Розміщення інформації у файлових системах. Фізична організація розділів на диску. Основні вимоги до фізичної організації файлових систем.
Реалізація файлових систем. Структура виконуваних файлів. Виконувані файли у Windows 10, Linux, та Android.
Керування пристроями введення-виведення
Завдання підсистеми введення-виведення. Забезпечення ефективності доступу до пристроїв. Забезпечення спільного використання зовнішніх пристроїв. Універсальність інтерфейсу прикладного програмування. Універсальність інтерфейсу драйверів пристроїв. Організація підсистеми введення-виведення.
Підсистема введення-виведення ядра. Планування операцій введення-виведення.
Керування введенням-виведенням у Windows 10, Linux та Android.
Мережні засоби операційних систем
Загальні принципи мережної підтримки. Рівні мережної архітектури і мережні сервіси. Мережні протоколи. Реалізація стека протоколів Інтернету. Рівні мережної архітектури TCP/IP. Канальний рівень. Мережний рівень. Транспортний рівень. Передавання даних стеком протоколів Інтернету. Система імен DNS. Загальна характеристика DNS. Простір імен DNS. Архітектура мережної підтримки у Windows 10, Linux та Android.
Взаємодія з користувачем в операційних системах
Термінальне введення-виведення. Організація термінального введення-виведення. Графічний інтерфейс користувача. Інтерфейс віконної та графічної підсистеми Windows 10, Linux та Android.
Захист інформації в операційних системах
Основні завдання забезпечення безпеки. Базові поняття криптографії. Поняття криптографічного алгоритму і протоколу.
Принципи аутентифікації і керування доступом. Основи аутентифікації. Основи керування доступом. Облікові записи користувачів. Аутентифікація. Керування доступом. Локальна безпека даних. Мережна безпека даних.
Аутентифікація та керування доступом у Windows 10 та Linux.
Завантаження операційних систем
Загальні принципи завантаження ОС. Апаратна ініціалізація комп'ютера. Завантажувач ОС. Двоетапне завантаження. Завантаження та ініціалізація ядра. Завантаження компонентів системи. Завантаження у Windows 10 та Linux.
Багатопроцесорні та розподілені системи
Багатопроцесорні системи. Типи багатопроцесорних систем. Підтримка багатопроцесорності в операційних системах.
Підтримка багатопроцесорності у Windows 10 та Linux.
Принципи розробки розподілених систем. Сучасні архітектури розподілених систем. Кластерні системи. Grid-системи.
Види робіт: лекційні заняття, практичні заняття, модульні контрольні роботи, самостійна робота студентів.