
- •Міністерство освіти і науки, молоді та спорту України
- •___Операційні системи____
- •(Назва навчальної дисципліни)
- •Питання та вправи на практичні заняття
- •Черкаси 2012 Модуль1
- •Тема 1. Поняття ос, мета її роботи. Класифікація комп’ютерних систем
- •Тема 2. Історія ос. Діалекти unix. Режими пакетної обробки, мультипрограмування, розділу часу
- •Тема 3. Особливості ос для різних класів комп’ютерних систем. Ос реального часу. Ос для хмарних обчислень
- •Тема 1. Архітектура комп’ютерної системи
- •Тема 2. Архітектура ос. Управління процесами: Основні поняття. Семафори і монітори.
- •Тема 1. Огляд функцій ос: управління пам’яттю, файлами, процесами, мережами, командними інтерпретаторами, сервіси ос, системні виклики. Рівні абстракції ос. Архітектура unix и ms-dos
- •Тема 1. Рівні абстракції ос. Ос с архітектурою мікроядра. Віртуальні машини. Мета проектування і розробки ос. Генерація ос
- •Тема 2. Управління процесами. Планування і диспетчеризація процесів
- •Тема 3. Потоки (threads) и багатопоточне виконання програм (multi-threading)
- •Тема 4. Методи синхронізації процесів
- •Тема 1. Управління пам’яттю
- •Тема 2. Сторінковая організація пам’яті
- •Тема 3. Сегментна організація пам’яті.
- •Модуль 2
- •Тема 1. Системи файлів
- •Тема 2. Віртуальні файлові системи (vfs). Реалізація файлових систем.
- •Тема 3. Мережева файлова система nfs
- •Тема 1. Системи вводу-виводу
- •Тема 1. Мережі і мережеві структури.
- •Тема 2. Безпека операційних систем і мереж
- •Тема 1. Архітектура, ядро, розповсюдження і ліцензування, принципи проектування, управління процессами
- •Тема 2. Огляд архітектури і можливостей системи Linux: Управління пам’яттю, ресурсами, файлові системи, драйвери пристроїв, мережі, безпека
- •Тема 1. Огляд архітектури і можливостей систем Windows 2000/xp/2003/Vista/2008/7
- •Тема 2. Системні механізми Windows
- •Тема 1. Ос для мобільних пристроїв. Windows Mobile Питання
- •Тема 2. Перспективи операційних систем I мереж
Тема 3. Потоки (threads) и багатопоточне виконання програм (multi-threading)
Що таке потік, чим відрізняються однопотокові й багатопоточные процеси, у чому переваги багатопоточности?
У якій системі вперше було реалізоване поняття процесу, близьке сучасному поняттю потоку?
У який ОС багатопоточность уперше з'явилася "офіційно"?
На якій платформі розробки програм багатопоточность уперше була реалізована на рівні мови й базових бібліотек?
Що таке користувальницькі потоки, що таке системні потоки й чим вони відрізняються від користувальницьких?
Які існують моделі багатопоточности?
Які проблеми багатопоточності?
Що таке група потоків?
Якими типами даних описується потік в POSIX?
Які засоби синхронізації потоків використаються в POSIX?
У чому відмінність потоків в Solaris від потоків в інших системах?
Що таке полегшений процес?
У чому відмінність потоків в Windows 2000?
У чому відмінність потоків в Linux?
Вправи
Проаналізуйте й опишіть переваги, недоліки й проблеми багатопоточності.
Реалізуйте модель багатопоточності один/один.
Реалізуйте модель багатопоточності багато/один.
Реалізуйте модель багатопоточності багато/багато.
Тема 4. Методи синхронізації процесів
Чому необхідна синхронізація паралельних процесів?
Чому необхідні атомарность і взаємне виключення операцій над лічильником числа елементів у буфері?
Що таке конкуренція за загальні дані (race condition)?
Які атомарні операції, підтримані апаратно, використаються для синхронізації і яким образом?
Що таке загальний семафор й які операції над ним визначені?
Як реалізуються семафори й операції над ними?
Як використаються семафори для рішення проблеми критичних секцій?
Що таке двійковий семафор?
Як реалізуються загальні семафори й операції над ними з використанням двійкових семафорів?
Які Ви знаєте класичні завдання (схеми) синхронізації?
Що таке критичні області?
Як реалізується рішення завдання обмежений буфер з використанням критичних областей?
Що таке монітори (як засіб синхронізації)?
Які засоби синхронізації використаються в системі Solaris?
Які засоби синхронізації використаються в системі Windows 2000?
Вправи
Реалізуйте алгоритм рішення завдання обмежений буфер із взаємним виключенням критичних секцій.
Реалізуйте алгоритм булочної.
Реалізуйте алгоритми синхронізації процесів з використанням операцій TestAndSet й Swap (у припущенні, що вони атомарны).
Реалізуйте загальні семафори й операції над ними.
Реалізуйте двійкові семафори й операції над ними.
Реалізуйте алгоритм синхронізації критичних секцій з використанням семафорів.
Реалізуйте загальні семафори з використанням двійкових семафорів.
Реалізуйте алгоритм рішення завдання обмежений буфер з використанням семафорів.
Реалізуйте алгоритм рішення завдання читачі-письменники з використанням моніторів.
Реалізуйте монітори й умовні змінні з використанням семафорів.
Змістовий модуль 5. Управління пам’яттю