
- •Операційні системи
- •Функціонування комп'ютерної системи
- •Обработка переривань
- •Структура пам'яті
- •Лекція 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
- •Нові тенденції в розвитку ос
- •Графічні оболонки ос
- •Підтримка паралельних обчислень
- •Розвиток бездротових мереж
- •Перспективи розвитку ос
Оптимальний алгоритм заміщення сторінок
Одна з можливих стратегій заміщення сторінок наступна: Заміщається та сторінка, що не використалася протягом найбільшого періоду часу. Це цілком виправдано з погляду здорового глузду: чим раніше сторінка останній раз використалася, тим, очевидно, менше вона необхідна в основній пам'яті.
В операційних системах використаються дві основних схеми виділення фреймів - фіксоване виділення й виділення по пріоритетах.
Фіксоване виділення фреймів.Найбільш простий варіант - рівномірний розподіл фреймів процесам. Наприклад, якщо є 100 фреймів й 5 процесів, кожному виділяється по 20 сторінок. Використається також пропорційний розподіл – виділяти фрейми у відповідності з наступним принципом: якщо загальне число фреймів m, розмір процесу – s, а загальний розмір всіх процесів – S, те загальне число фреймів, виділених процесу, дорівнює:
a = m * (s / S).
Виділення по пріоритетах.Принцип даного розподілу фреймів наступний: застосовувати схему пропорційного розподілу, але використовуючи пріоритети, а не розмір. Якщо процес генерує відмову сторінки, то для заміщення виділяється фрейм із процесу з більше низьким пріоритетом.
Глобальний і локальний розподіл. Глобальне заміщення фреймів означає, що процес вибирає фрейм для заміщення серед всіх існуючих фреймів всіх процесів, тобто один процес може взяти фрейм в іншого. Локальне заміщення фреймів, навпаки, гарантує, що кожен процес вибирає фрейм для заміщення тільки із числа виділених йому фреймів.
Thrashing
Даний термін буквально означає метання, тряска.Якщо процесу не виділене достатнє число сторінок, коефіцієнт відмов сторінок дуже високий. Це приводить до того, що процес зайнятий в основному відкачкою й підкачуванням сторінок. При цьому ОС може зробити невірний висновок про низьку продуктивність використання процесора й, отже ... прийняти рішення про збільшення ступеня мультипрограмування, тобто про додавання нового процесу до системи.
Неформально, thrashing означає катастрофічну недостачу фреймів в основній пам'яті. На практиці для користувача це виглядає в такий спосіб: жорсткий диск буквально "надривається" від безперервних обігів, а процес виконується вкрай повільно.
Інший реальний приклад - використання ОС Windows XP (Service Pack 3) на комп'ютері з 512 мегабайтами пам'яті. При цьому виникає майже таке ж відчуття - спочатку здається, що несправний жорсткий диск, але потім відразу усвідомлюєш, що вся справа в недостачі пам'яті: найпростіші програми, такі як Internet Explorer, Windows Explorer й ін., будучи викликаними одночасно (що є звичайною практикою) переповняють основну пам'ять і змушують операційну систему при будь-якій додатковій дії користувача (навіть при простому пересуванні смуги прокручування по іменах файлів в Windows Explorer) безперервно займатись відкачкою і підкачуванням.
На рис. 18.15 наведено графік залежності використання процесора від коефіцієнта мультипрограмування. При дуже великій кількості оброблюваних процесів корисність використання процесора різко падає через постійні відкачки й підкачування. Це і є thrashing.