
- •Операційні системи
- •Функціонування комп'ютерної системи
- •Обработка переривань
- •Структура пам'яті
- •Лекція 5: Архітектура ос. Управління процессами: Основні поняття. Семафори і монітори План
- •2. Керування процесами
- •Віртуальні машини - інший розповсюджений підхід до розробки операційних систем й їхніх користувальницьких інтерфейсів
- •Механізми й політики
- •Реалізація операційних систем
- •Генерація операційної системи
- •Перемикання з одного процесу на інший
- •Планувальники, що виконують диспетчеризацію процесів
- •Лекція 10. Методи синхронізації процесів План
- •Алгоритм рішення проблеми критичної секції
- •Алгоритм «в пиріжковій» (bakery algorithm)
- •Синхронізація на основі загальних семафорів
- •Реалізація семафорів
- •Рішення за допомогою семафорів завдання
- •Рішення за допомогою семафорів завдання "читачі - письменники"
- •Рішення за допомогою семафорів завдання " філософи, що обідають,"
- •Монітори
- •Лекція № 11. Управління памяттю План
- •Динамічне завантаження й динамічна лінковка
- •Оверлейна структура програми
- •Відкачка й підкачування
- •Лекція 13. Сегментна організація пам’яті. Віртуальна пам’ять
- •Оптимальний алгоритм заміщення сторінок
- •Сторінкова організація на вимогу в Windows nt
- •Лекція № 14. Системи файлів План
- •Типова організація файлової системи зображена на мал. 19.3.
- •Логічна організація директорій
- •Монтування файлових систем
- •Структура файлової системи
- •Лекція № 15. Віртуальні файлові системи План
- •Лекція 17. Системи вводу-виводу План
- •Опитування пристроїв
- •Переривання
- •Ввід-вивід із прямим доступом до пам'яті (dma)
- •Блокові й символьні пристрої
- •Мережні пристрої істотних відрізняються від блоків і символьних; мають свій власний інтерфейс і систему команд
- •Годинники й таймери
- •Блокуємий (синхронний) і не блокуємий (асинхронний) ввід-вивід
- •Структури даних для вводу-виводу в ядрі ос
- •Життєвий цикл запиту на ввід-вивід
- •Продуктивність вводу-виводу
- •Лекція 18. Мережі й мережеві структури. Класичні и сучасні мережеві комунікаційні протоколи План
- •Мережі Ethernet
- •Протокол tcp/ip
- •Функционирование Ethernet-мереж
- •Лекція 19: Безпека операційних систем і мереж. План
- •Лекція 20. Огляд архітектури й можливостей системи Linux: архітектура, ядро, поширення й ліцензування, принципи проектування, керування процесами План
- •Історія Linux
- •Ядро Linux
- •Сучасний стан Linux, дистрибутиви й ліцензування
- •Принципи проектування й компоненти системи Linux
- •Модулі ядра, що завантажують, Linux
- •Керування процесами в Linux
- •Планування завдань ядра й синхронізація в ядрі
- •Лекція 21. Огляд архітектури й можливостей системи Linux: керування пам'яттю, ресурсами, файлові системи, драйвери пристроїв, мережі, безпека План
- •Керування фізичною пам'яттю в Linux
- •Віртуальна пам'ять в Linux
- •Виконання й завантаження користувальницьких програм в Linux
- •Системи файлів Linux
- •Ввод й вивід в Linux
- •Взаємодія процесів в Linux
- •Структура мережі в Linux
- •Безпека в Linux
- •Розвиток і використання Linux
- •Лекція 22. Огляд архітектури й можливостей систем Windows 2000/xp/2003/Vista/2008/7 План
- •Система Windows 2000
- •Історія Windows
- •Принципи проектування Windows 2000 - розширюваність, переносимость, надійність, безпека, сумісність, продуктивність, підтримка інтернаціоналізації й локалізації.
- •Архітектура Windows 2000
- •Ядро Windows 2000
- •Обработка переривань у ядрі
- •Виконавча підсистема (executive) ос Windows 2000
- •Підсистеми оточення в Windows 2000
- •Лекція 23. Системні механізми Windows План
- •Система файлів Windows
- •Рограммный інтерфейс Windows
- •Програмний інтерфейс Windows: Керування процесами
- •Керування віртуальною й фізичною пам'яттю й робочими наборами в Windows
- •Лекція 24. Ос для мобільних пристроїв. Windows Mobile План
- •Особливості ос для мобільних пристроїв
- •Ринок ос для мобільних пристроїв
- •Перспективи ос для мобільних пристроїв
- •Лекція 25. Перспективи операційних систем і мереж План
- •Операційні системи інших великих фірм
- •Solaris - операційна система розробки фірми Oracle / Sun
- •Сучасні тенденції в розвитку ос
- •Нові ос сімейства Windows
- •Нові тенденції в розвитку ос
- •Графічні оболонки ос
- •Підтримка паралельних обчислень
- •Розвиток бездротових мереж
- •Перспективи розвитку ос
Ввод й вивід в Linux
Система файлів Linux, орієнтована на пристрої, здійснює доступ до дискової пам'яті з помошью двох кэшей:
Дані зберігаються в кэше сторінок, що об'єднаний із системою віртуальної пам'яті;
Метаданные зберігаються в буферному кэше, причому кожен кэш індексується блоком диска.
Linux розбиває пристрою на три класи:
Блокові пристрої допускають довільний доступ до повністю незалежних блоків даних фіксованого розміру.
Символьні пристрої включають більшу частину всіх інших пристроїв; вони не мають потреби в підтримці функціональності звичайних файлів.
Мережні пристрої взаємодіють із мережною системою ядра.
Модульна структура драйверів пристроїв в Linux зображена на рис. 26.5.
Рис. 26.5. Модульна структура драйверів пристроїв.
Блокові пристрої забезпечують основний інтерфейс до всіх дискових пристроїв у системі. Блоковий буферний кэш служить для двох основних цілей:
Як буферний пул для активного вводу-виводу
Як кэш для завершеного вводу-виводу.
Менеджер запитів управляє читанням і записом умісту буферів за допомогою драйвера блокового пристрою.
Символьні пристрої. Драйвер символьного пристрою не підтримує довільний доступ до фіксованих блоків даних.
Драйвер символьного пристрою реєструє набір функцій, що реалізують різноманітні необхідні операції вводу-виводу.
Ядро не виконує майже ніякої попередньої обробки запиту на читання або запис у файл символьного пристрою, але просто передає даний запит драйверу пристрою.
Основне виключення із цього правила – це особливий набір драйверів символьних пристроїв, які реалізують доступ до термінальних пристроїв ( TTY ); для них ядро підтримує стандартний інтерфейс.
Взаємодія процесів в Linux
Як й UNIX, Linux інформує процеси про настання подій за допомогою сигналів.
Існує обмежений набір сигналів, і вони не можуть нести яку-небудь інформацію: тільки факт, що сигнал має місце, доступний процесу.
Ядро Linux не використає сигнали для комунікації процесів, що виконують у режимі ядра. Комунікація усередині ядра здійснюється за допомогою структур планувальника – states ( стану ) і wait.queue (черга очікування).
Механізм конвеєра (pipe) дозволяє дочірньому процесу успадковувати комунікаційний канал від процесу-батька. Дані, записувані з одного кінця конвеєра, можуть бути прочитані на іншому кінці.
Загальна пам'ять забезпечує дуже швидкий спосіб комунікації; будь-які дані, записаним одним процесом у регіон загальної пам'яті, можуть бути негайно прочитані будь-яким іншим процесом, що відобразив цей регіон у свій адресний простір.
Однак з метою синхронізації загальна пам'ять повинна використатися в сполученні з яким-небудь іншої комуникационным механізмом.
Об'єкт у загальній пам'яті використається як файл відкачки для регіонів загальної пам'яті, так само як файл може бути використаний для відкачки інформації з регіону, відображуваного на згадку.
Відображення в загальну пам'ять перенаправляють відмови сторінок у регіон пам'яті, зайнятий поділюваним об'єктом.
Поділювані об'єкти пам'ятають свій уміст, навіть якщо в цей момент ніякі процеси не відображають їх у свої віртуальні простори пам'яті.