
- •Операційні системи
- •Функціонування комп'ютерної системи
- •Обработка переривань
- •Структура пам'яті
- •Лекція 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
- •Нові тенденції в розвитку ос
- •Графічні оболонки ос
- •Підтримка паралельних обчислень
- •Розвиток бездротових мереж
- •Перспективи розвитку ос
Функціонування комп'ютерної системи
Перевага описаного модульного підходу до апаратур у тім, що центральний процесор, пам'ять і зовнішні пристрої можуть функціонувати паралельно. Роботою кожного пристрою управляє спеціальний контролер. При необхідності виконання вводу-виводу центральний процесор генерує переривання, у результаті якого викликається операційна система, у свою чергу, як реакція на переривання запускає драйвер пристрою, який відповідно активізує його контролер. Кожен контролер пристрою має локальний буфер – спеціалізовану пам'ять для обміну інформацією між комп'ютером і пристроєм. Для того, щоб контролер міг почати вивід на пристрій, попередньо центральний процесор (точніше, драйвер пристрою, запущений на ньому) повинен переслати інформацію із заданої області оперативної пам'яті в буфер пристрою. Далі контролер пристрою вже виконує вивід інформації з буфера на сам пристрій (наприклад, записує її в задану область жорсткого диска). По закінченні обміну інформацією, контролер генерує сигнал про переривання ( interrupt ) по системній шині, цим інформуючи процесор про закінчення операції. Для того, щоб уникнути повторних пересилань більших обсягів інформації, у сучасних комп'ютерах застосовують DMA ( Direct Memory Access ) – контролери – контролери із прямим доступом до оперативної пам'яті. Такі контролери використають при обміні із пристроєм не свою спеціалізовану пам'ять, а прямо область оперативної пам'яті, у якій і розміщається буфер обміну.
Обработка переривань
Операційну систему можна розглядати як програму, керовану перериваннями ( interrupt - driven program ). Переривання центрального процесора передає керування підпрограмі обробки даного виду переривань, що є частиною ОС. У більшості комп'ютерів цей механізм реалізований через вектор переривань ( interrupt vector ) – резидентний масив в оперативній пам'яті, у якому зберігаються доступні по номерах переривань адреси підпрограм-оброблювачів переривань (модулів ОС). При обробці переривання апаратури й ОС зберігають адресу перерваної команди При поновленні обчислень буде знову повторене виконання перерваної команди.
Є два різновиди режиму вводу-виводу – синхронний й асинхронний.
Синхронний – це ввід-вивід, виконання якого приводить до переходу програми в стан очікування, доти, поки операція вводу-виводу не буде повністю завершена. На апаратному рівні – команда вводу-виводу переводить процесор у стан очікування (idle) до наступного переривання. При даному режимі в кожен момент виконується не більше одного запиту на ввід-вивід.
Асинхронний – ввід-вивід, виконуваний паралельно з виконанням основної програми. Після того, як починається асинхронний ввід-вивід, керування повертається користувальницькій програмі, без очікування завершення вводу-виводу (останнє може бути виконано спеціальною явною операцією). Таким чином, операція асинхронного обміну як би розбивається на дві: почати ввід-вивід і закінчити ввід-вивід. Остання виконується для того, щоб у цьому місці програма все-таки очікувала завершення обміну, коли його результат необхідний для подальших обчислень.
Таблиця стану пристроїв
На системному рівні, при обміні відбувається наступне. Виконується системний виклик ( system call ) – запит до ОС шляхом виклику системної підпрограми, у цьому випадку – щоб дозволити користувачеві очікувати завершення вводу-виводу. Операційна система зберігає таблицю стану пристроїв, у якій кожному пристрою відповідає елемент, що містить тип пристрою, його адреса й стан. ОС індексує таблицю пристроїв, з метою визначення стану пристрою й модифікації елемента таблиці для включення в неї інформацію про переривання.
Архітектура синхронного (a) і асинхронного (b) вводу-виводу ілюструється на рис. 4.3.
Рис. 4.3. Архітектура синхронного й асинхронного вводу-виводу
На схемі видно, що відмітною рисою синхронного обміну є перехід процесора в стан очікування до закінчення операції вводу-виводу.
На рис. 4.4 показано приклад стану таблиці пристроїв вводу-виводу, збереженою операційною системою. Для кожного пристрою зберігається інформація про його ім'я, стан, а для зайнятих пристроїв – адреса початку й довжина порції інформації, що підлягає обміну. Якщо для деякого пристрою (у прикладі – диск3 ) є кілька запитів на ввод-вивід, всі вони організуються в чергу й обслуговуються по черзі, у міру звільнення пристрою.
Рис. 4.4. Приклад стану таблиці зовнішніх пристроїв ОС
Прямий доступ до пам'яті (Direct Memory Access - DMA) - більше ефективний метод роботи контролерів пристроїв вводу-виводу, використовуваний для роботи високошвидкісних пристроїв, здатних передавати інформацію зі швидкістю, близької до швидкості роботи пам'яті
DMA-контролер передає блок даних з буферної пам'яті безпосередньо в основну пам'ять, без участі процесора. Перевага подібного широко застосовуваного підходу - не тільки в тім, щоб уникнути зайвого пересилання даних з однієї області пам'яті в іншу, але також у тім, що переривання в цьому випадку генерується на кожен блок пересила даних ( що зберігається в буфері), але не на кожний пересилати байт, як при більше традиційному способі обміну.