Системне програмування в OC Linux [Текст] : навчальний посібник для студентів галузі знань 12 "Інформаційні технології" спеціальності 123 "Комп'ютерна інженерія" / Бочкарьов О. Ю. ; Міністерство освіти і науки України, Національний університет "Львівська політехніка"
Вихідні дані: Львів : Видавець ФОП Марченко Т. В., 2024Опис: 228 сторінок : ілюстрації, схеми, таблиці ; 24 смМова: українська.Країна: Україна.Форматний номер: 3 формат (висота > 23-31 см)ISBN: 978-617-8194-42-0.Вид літератури за цільовим призначенням: НавчальніВид/характер текстових документів: навчальні виданняУДК: 004.4(075.8)Навчальний посібник призначений для студентів спеціальності 123 “Комп’ютерна інженерія” галузі знань 12 “Інформаційні технології”.
Книга
Списки з цим бібзаписом:
Наука на сторінках подарованих книг
| Тип одиниці зберігання | Поточна бібліотека | Шифр зберігання | Стан | Очікується на дату | Штрих-код | |
|---|---|---|---|---|---|---|
Книга
|
Книгосховище відділу книгозберігання (KSHVKZ) Фонд відділу книгозберігання | IST16080 (Огляд полиці(Відкривається нижче)) | Доступно | IST16080 | ||
Книга
|
Читальний зал наукової літератури (CHZNAUK) Фонд відділу книгозберігання | 004/Б86 (Огляд полиці(Відкривається нижче)) | Доступно | 01356318 |
Містить термінологічний словник
IST16080 Дар автора
01356318 Дар автора
Бібліографія: сторінки 227-228 (29 назв)
Вступ.....7
1. Операційна система.....9
1.1. Архітектура на напрямки розвитку ОС.....9
1.1.1. Структура та функції ОС.....9
1.1.2. Архітектурні принципи побудови ОС.....11
1.1.3. Основні типи ОС та області їх застосування.....19
1.1.4. Напрямки розвитку ОС.....21
1.2. Операційна система Linux.....23
1.2.1. Структура ОС Linux.....23
1.2.2. Ядро ОС Linux.....25
1.2.3. Системні служби ОС Linux.....28
1.2.4. Інтерфейс користувача в ОС Linux.....30
1.2.5. Дистрибутиви ОС Linux.....32
Контрольні питання.....34
2. Управління обчисленнями.....36
2.1. Паралельні обчислювальні процеси в ОС Linux.....36
2.1.1. Організація обчислювальних процесів в ОС Linux.....36
2.1.2. Запуск та породження нових процесів в ОС Linux.....38
2.1.3. Запит та встановлення атрибутів процесу в ОС Linux.....41
2.1.4. Завершення виконання процесів в ОС Linux.....42
2.2. Планування паралельного виконання обчислювальних процесів.....46
2.2.1. Організація планування паралельного виконання ОП.....46
2.2.2. Ефективність планування паралельного виконання ОП.....49
2.2.3. Алгоритм планування FCFS.....51
2.2.4. Алгоритм планування SJF.....52
2.2.5. Планування на основі пріоритетів.....54
2.2.6. Алгоритм планування RR.....55
2.2.7. Планування з використанням багаторівневої черги.....56
2.2.8. Багаторівнева черга зі зворотним зв’язком.....57
2.3. Планування паралельного виконання ОП в ОС Linux.....59
2.3.1. Диспетчери ОП в різних версіях ядра ОС Linux.....59
2.3.2. Режими диспетчеризації в ОС Linux.....61
2.3.3. Диспетчер CFS.....62
2.3.4. Період диспетчеризації в CFS.....65
2.3.5. Розрахунок кванту часу та віртуального часу задачі в CFS.....66
2.3.6. Алгоритм роботи CFS.....68
2.4. Диспетчеризація періодичних задач в системах реального часу.....69
2.4.1. Диспетчеризація періодичних задач з крайнім терміном виконання.....69
2.4.2. Алгоритм планування RM.....73
2.4.3. Алгоритм планування EDF.....75
2.4.4. Диспетчер SCHED_DEADLINE в ОС Linux.....77
2.4.5. Використання диспетчера SCHED_DEADLINE.....79
2.4.6. Управління параметрами диспетчеризації за допомогою команди chrt.....82
2.5. Синхронізація паралельних задач в ОС Linux за допомогою семафорів.....85
2.5.1. Використання семафорів в ОС Linux.....85
2.5.2. Створення множини семафорів.....88
2.5.3. Здійснення операцій над семафорами.....89
2.5.4. Управління множиною семафорів....93
2.5.5. Способи використання семафорів.....96
2.5.6. Програмний інтерфейс для роботи з семафорами стандарту POSIX.....98
2.5.7. Реалізація механізму семафорів за допомогою системного виклику eventfd().....99
2.6. Сигнали в ОС Linux.....100
2.6.1. Використання сигналів в ОС Linux.....100
2.6.2. Надсилання сигналу обчислювальному процесу.....103
2.6.3. Встановлення диспозиції сигналу.....105
2.6.4. Маскування сигналів......107
2.6.5. Створення обробника сигналу.....108
2.6.6. Отримання сигналу обчислювальним процесом.....110
Контрольні питання......113
3. Управління пам’яттю.....119
3.1. Віртуальна пам’ять та управління сторінками пам’яті.....119
3.1.1. Віртуальна пам’ять процесу.....119
3.1.2. Управління кількістю сторінок пам’яті виділених процесу.....122
3.1.3. Управління заміщенням сторінок пам’яті процеса.....126
3.2. Управління пам’яттю обчислювального процесу в ОС Linux.....130
3.2.1. Виділення, звільнення та контроль використання пам’яті 130
3.2.2. Спільна пам’ять (shared memory).....134
3.2.3. Створення сегменту спільної пам’яті.....136
3.2.4. Підключення та відключення сегменту спільної пам’яті.....137
3.2.5. Управління сегментом спільної пам’яті.....137
3.2.6. Відображення файлів у пам’ять.....139
3.2.7. Взаємодія процесів за допомогою файлів відображених у пам’ять.....141
Контрольні питання.....143
4. Управління вводом/виводом.....146
4.1. Управління вводом/виводом в ОС Linux.....146
4.1.1. Організація вводу/виводу в ОС Linux.....146
4.1.2. Блочні пристрої.....147
4.1.3. Диспетчеризація запитів на виконання операцій вводу/виводу.....147
4.1.4. Алгоритми диспетчеризації запитів до блочних пристроїв.....149
4.1.5. Порівняння алгоритмів диспетчеризації запитів до блочних пристроїв.....153
4.1.6. Визначення та встановлення алгоритму диспетчеризації запитів 154
4.1.7. Символьні пристрої.....154
4.1.8. Програмний інтерфейс вводу/виводу.....155
4.1.9. Використання системного виклику ioctl().....159
4.2. Мультиплексування вводу/виводу в ОС Linux.....162
4.2.1. Мультиплексований ввід/вивід.....162
4.2.2. Очікування готовності до I/O з використанням select().....165
4.2.3. Опитування стану файлових дескрипторів: роll().....168
4.2.4. Моніторинг файлових дескрипторів за допомогою epoll.....170
Контрольні питання.....174
5. Управління зберіганням даних.....176
5.1. Управління файловою системою в ОС Linux.....176
5.1.1. Компоненти файлової системи.....176
5.1.2. Віртуальна файлова система.....178
5.1.3. Оперування компонентами файлової системи.....182
5.1.4. Системні виклики для роботи з файлом.....183
5.1.5. Системні виклики для роботи з файловою системою.....187
Контрольні питання.....188
6. Мережна підсистема ОС.....190
6.1. Структура та організація роботи мережної підсистеми ОС Linux.....190
6.1.1. Призначення та структура мережної підсистеми ОС.....190
6.1.2. Організація роботи мережної підсистеми ОС Linux.....192
6.1.3. Відправка та отримання даних мережною підсистемою ОС Linux.....195
6.1.4. Диспетчеризація пакетів даних в мережній підсистемі ОС Linux.....198
6.1.5. Мережні інтерфейси в ОС Linux.....199
6.2. Сокети Берклі (Berkeley sockets).....202
6.2.1. Взаємодія процесів за допомогою сокетів Берклі.....202
6.2.2. Структура адреси сокету.....203
6.2.3. Створення сокету.....208
6.2.4.Встановлення з’єднання.....210
6.2.5. Відправлення та отримання повідомлень.....211
6.2.6. Розрив з’єднання та знищення сокету.....212
Контрольні питання.....214
Термінологічний словник.....217
Література.....227
В навчальному посібнику розглянуто основи системного програмування в ОС Linux на рівні ядра операційної системи та на рівні системних утиліт. Основна увага приділена способам управління системними ресурсами в ОС Linux та відповідним технологіям системного програмування.
Навчальний посібник призначений для студентів спеціальності 123 “Комп’ютерна інженерія” галузі знань 12 “Інформаційні технології”.