
- •Операційні системи
- •Функціонування комп'ютерної системи
- •Обработка переривань
- •Структура пам'яті
- •Лекція 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
- •Нові тенденції в розвитку ос
- •Графічні оболонки ос
- •Підтримка паралельних обчислень
- •Розвиток бездротових мереж
- •Перспективи розвитку ос
Лекція 21. Огляд архітектури й можливостей системи Linux: керування пам'яттю, ресурсами, файлові системи, драйвери пристроїв, мережі, безпека План
Управління фізичною пам'яттю в Linux
Віртуальна память в Linux
Виконання і загрузка користувальницьких программ в Linux
Системи файлів Linux
Ввод и вивід в Linux
Взаємодія процесів в Linux
Структура мережі в Linux
Безпека в Linux
Розвиток и використання Linux
Керування фізичною пам'яттю в Linux
Система розподілу фізичної пам'яті в Linux займається розміщенням і звільненням сторінок, груп сторінок і невеликих блоків пам'яті. Вона має додаткові механізми для віртуальної пам'яті, відображуваної в адресний простір процесів, що виконують.
Розподільник сторінок розміщає й звільняє фізичні сторінки; він може також по запиті розміщати групи суміжних сторінок.
Розподільник сторінок Linux використає алгоритм buddy-heap (партнерської купи) для спостереження за доступними фізичними сторінками, принципи якого в наступному:
Кожна область пам'яті, що підлягає розподілу, утворить пари з її суміжним "партнером".
Коли обидві області-партнери звільняються, вони зливаються й утворять суміжну область удвічі більшого розміру [15].
Якщо не існує малої області пам'яті, щоб задовольнити невеликий запит на пам'ять, то область пам'яті більшого розміру розщеплюється на два області-партнерів для задоволення даного запиту.
Розподіл пам'яті для ядра Linux можливо як статичне (драйвер резервує статичну область пам'яті під час завантаження системи) або динамічне (за допомогою розподільника сторінок).
Розщеплений
ие пам'яті в купі зображене на рис.
26.1.
Рис. 26.1. Розщеплення пам'яті в купі в системі Linux.
Віртуальна пам'ять в Linux
Система віртуальної пам'яті в Linux підтримує адресний простір, видимий кожному процесу: вона створює сторінки віртуальної пам'яті на вимогу й управляє завантаженням цих сторінок з диска або відкачкою їх назад на диск, якщо потрібно.
Менеджер віртуальної пам'яті підтримує дві точки зору на адресний простір кожного процесу:
Логічну – підтримка команд керування адресним простором. Адресний простір розглядається як сукупність непересічних суміжних областей.
Фізичну – за допомогою таблиці сторінок для кожного процесу.
Для керування віртуальною пам'яттю використаються:
Файл відкачки (backing store), щоописує, звідки беруться сторінки для заданого регіону; регіони звичайно підтримуються або файлом, або не підтримуються взагалі (пам'ять, обнуляемая на вимогу)
Реакція регіону на запис (спільне використання сторінок або копіювання при записі - COW).
Ядро створює новий віртуальний адресний простір:
Коли процес запускає нову програму системним викликом exec;
При створенні нового процесу системним викликом fork.
При виконанні нової програми процесу надається новий, порожній адресний простір; процедури завантаження програм наповнюють цей адресний простір регіонами віртуальної пам'яті.
Створення нового процесу за допомогою fork включає створення повної копії адресного простору існуючого процесу.
Ядро копіює дескриптори доступу до віртуальної пам'яті батьківського процесу, потім створює новий набір таблиць сторінок для дочірнього процесу.
Таблиці сторінок процесу-батька копіюються безпосередньо в таблиці сторінок дочірнього, причому лічильник посилань на кожну сторінку збільшується.
Після виконання fork батьківський і дочірній процес використають ті самі фізичні сторінки у своїх віртуальних адресних просторах.
Система керування сторінками откачивает сторінки фізичної пам'яті на диск, якщо вони потрібні для якої-небудь іншої мети.
Система керування сторінками ділиться на дві частини:
Алгоритм відкачки, що визначає, які сторінки й коли відкачати на диск;
Механізм підкачування фактично виконує передачу й підкачує дані назад у фізичну пам'ять, якщо потрібно.
Ядро Linux резервує постійний, залежний від архітектури регіон віртуального адресного простору кожного процесу для його власного внутрішнього використання.
Ця область віртуальної пам'яті ядра містить два регіони:
Статичну область, що містить посилання з таблиці сторінок на кожну доступну фізичну сторінку пам'яті в системі, так що використається проста трансляція фізичної адреси у віртуальний при виконанні коду ядра.
Залишок зарезервованої частини не використається ні для якої іншої мети; його елементи таблиці сторінок можуть бути модифіковані й указувати на будь-які сторінки в пам'яті.