Б81 |
Бондаренко, М. Ф. Операційні системи [Текст] : навч. посіб. / М. Ф. Бондаренко, О. Г. Качко. – Х. : СМІТ, 2008. – 432 с. – 427.
Викладено основні принципи побудови та використання сучасних операційних систем. Розглянуто методи керування пам'яттю, процесами, потоками, зовнішніми пристроями та їх використання під час практичного програмування.
Для студентів вищих навчальних закладів, які навчаються за напрямом "Комп'ютерні науки".
ЗМІСТ
Вступ 6
1. ОГЛЯД ОПЕРАЦІЙНИХ СИСТЕМ 9
1.1. Роль і задачі операційних систем 9
1.2. Історія розвитку операційних систем 10
1.3. Функції типових операційних систем 20
1.4. Вплив програмного забезпечення з відкритим
кодом і Internet на проектування ОС 23
1.5. Механізми підтримки моделі "клієнт - сервер", мобільних пристроїв 23
1.6. Властивості операційних систем 25
1.7. Класифікація операційних систем 26
Запитання та задачі 27
2. ОСНОВНІ ПРИНЦИПИ РОЗРОБЛЕННЯ
ОПЕРАЦІЙНИХ СИСТЕМ 29
2.1. Структуризація за ієрархічним методом 29
2.2. Методологія ядра 32
2.3. Абстракції, процеси та ресурси 41
2.4. Необхідність АРІ та проміжного програмного забезпечення (middleware) 42
2.5. Потреби додатків та еволюція програмного
й апаратного забезпечення 44
2.6. Поняття режимів ядра і користувача.
Перемикання між режимами ядра і користувача 46
2.7. Організація пристроїв 60
2.8. Переривання. Методи й реалізації 63
2.9. Інтерфейси введення/виведення.
Прямий доступ до пам'яті 67
2.10. Списки пристроїв і черги драйверів 69
2.11. Стратегії буферизації для драйверів пристроїв 73
Запитання та задачі 74
3. ПАРАЛЕЛІЗМ 76
3.1. Поняття паралельного виконання 76
3.2. Апаратна підтримка багатозадачного режиму 79
3.3. Стан і діаграми станів для процесів.. 91
3.4. Структури, використовувані для задания процесів 95
3.5. Переключення контекстів 99
3.6. Оброблення переривань в умовах паралельного виконання 100
3.7. Проблеми керування процесами, що виконуються одночасно 101
3.8. Моделі та механізми синхронізації 110
3.9. Комунікація між процесами 120
3.10. Особливості мультипроцесорних систем
(спін-блокування, реентерабельність) 123
Запитання та задачі 125
4. ПЛАНУВАННЯ ТА ДИСПЕТЧЕРИЗАЦІЯ 126
4.1. Операції планування та диспетчеризації 126
4.2. Алгоритми планування 128
4.3. Політика планування 131
4.4. Процеси, потоки та завдання 134
Запитання та задачі 159
5. ЗАСОБИ СИНХРОНІЗАЦІЇ ПОТОКІВ І ПРОЦЕСІВ
ОПЕРАЦІЙНОЇ СИСТЕМИ WINDOWS 160
5.1. Синхронізація потоків. Атомарний доступ 161
5.2. Синхронізація потоків. Критична секція 165
5.3. Використання об'єктів ядра для синхронізації 170
5.4. Функції очікування й об'єкти синхронізації 185
Запитання та задачі 186
6. КЕРУВАННЯ ПАМ'ЯТТЮ 187
6.1. Віртуальна пам'ять 188
6.2. Апаратні засоби керування пам'яттю 190
6.3. Алгоритми й засоби керування пам'яттю 209
6.4. Огляд функцій для керування пам'яттю 214
Запитання та задачі 248
7. КЕРУВАННЯ ПРИСТРОЯМИ: 250
7.1. Класифікація зовнішніх пристроїв 250
7.2. Керування операціями введення/виведення для
символьних пристроїв 251
7.3. Керування операціями введення/виведення
для блокових пристроїв 253
7.4. Режими керування введенням/виведенням 262
7.5. Віртуальні зовнішні пристрої 263
7.6. Стратегії буферизації та кешування 264
7.7. Прямий доступ до пам'яті 265
Запитання та задачі 266
8. ФАЙЛОВІ СИСТЕМИ 267
8.1. Основні поняття 267
8.2. Компоненти файлової системи 271
8.3. Уміст і структура каталогів, методи їх організації 272
8.4. Методи роботи файлової системи.
Віртуальні файлові системи 274
8.5. Монтування та демонтування файлової системи 282
8.6. Стандартні методи реалізації файлової системи 286
8.7. Приклади файлових систем 287
8.8. Робота з пристроями 322
8.9. Робота з файлами .329
Запитання та задачі 348
9. ДРАЙВЕРИ 350
9.1. Загальні положення 350
9.2. Історія створення драйверів 351
9.3. Вимоги й особливості драйверів для WINDOWS 2000
і новіших версій 353
9.4. Застосування встановлених драйверів
у користувальницьких додатках 359
9.5. Розроблення драйверів 365
9.6. Приклад драйвера та програми для використання драйвера 379
Запитання та задачі 395
10. МОВИ СЦЕНАРІЇВ 396
10.1. Мови сценаріїв та їх призначення 396
10.2. Основні системні команди операційної системи WINDOWS 397
10.3. Написання сценаріїв. Передавання параметрів 400
10.4. Виконання сценаріїв 405
10.5. Вплив мов сценаріїв на програмування 407
Запитання та задачі 408
11. СТРУКТУРНЕ ОБРОБЛЕННЯ ВИКЛЮЧЕНЬ 409
11.1. Оброблення завершення 410
11.2. Оброблення виключень 414
Запитання та задачі 418
Додаток 1. ПЕРЕКЛЮЧЕННЯ РЕЖИМІВ РОБОТИ
ПРОЦЕСОРА 419
Додаток 2. ПЕРЕКЛЮЧЕННЯ ЗАДАЧ. ПОЛЯ І ПРАПОРЦІ 422
Додаток 3. ВИКЛЮЧЕННЯ ІА-32 423
Додаток 4. СТРУКТУРИ ДЛЯ VFS 424
ЛІТЕРАТУРА 427
ПРЕДМЕТНИЙ ПОКАЖЧИК 428
|