
- •Операційні системи
- •Функціонування комп'ютерної системи
- •Обработка переривань
- •Структура пам'яті
- •Лекція 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
- •Нові тенденції в розвитку ос
- •Графічні оболонки ос
- •Підтримка паралельних обчислень
- •Розвиток бездротових мереж
- •Перспективи розвитку ос
Мережні пристрої істотних відрізняються від блоків і символьних; мають свій власний інтерфейс і систему команд
Мережні пристрої і їхні драйвери в ОС підтримують традиційні або специфічні мережні протоколи й способи передачі інформації через мережу. Наприклад, ОС UNIX й Windows NT / 9x / 2000 підтримують сокетний інтерфейс. Мережний пристрій відокремлює мережний протокол від мережної операції. Команди мережних пристроїв включають функцію select - вибір мережного пакета. Мережні пристрої різні по підходах до реалізації (конвеєри, pipes, FIFO, потоки, черги, поштові скриньки). У типовій конфігурації настільного або портативного комп'ютера присутні наступні мережні пристрої:
мережний адаптер локальної мережі (Ethernet), що має рознімання типу RJ45 для підключення мережного кабелю twisted pair (кручена пари) або BNC (коаксіального);
пристрій для підключення до бездротової мережі типу IEEE.802.11x (Wi-Fi);
пристрій для підключення до локальної мережі IEEE 1394 (FireWire) для передачі цифрового відео;
уже трохи застарілий, але дотепер використовуваний у комп'ютерах спосіб приєднання до мережі Інтернет - убудований модем для передачі інформації з телефонної лінії (dial-up) зі швидкістю максимум порядку 5-6 кілобайт у секунду.
Устройства FireWire, очевидно, через особливу важливість передачі мультимедійний інформації, у сучасних комп'ютерах розташовуються на материнській платі. У специфікації комп'ютера це звичайно вказується абревіатурою типу FireWire on board (на борті).
Операційні системи підтримують для користувачів більше високорівневу концепцію мережного з'єднання (network connection), що включає інформацію про мережний пристрій, за допомогою якого дане з'єднання здійснюється.
Годинники й таймери
Дані хронометричні пристрої в комп'ютерній системі зберігають інформацію про поточний час, що пройшов відрізку часу, установках таймера.
Як правило, операційна система використає програмувальні інтервали часу для роботи з таймером. У такий спосіб у системі організуються періодичні переривання з метою опитування пристроїв і диспетчеризації процесів.
У системі UNIX роботу з годинниками й таймером підтримує системний виклик і команда ioctl. Крім того, у системі є процес-демон cron, за допомогою якого в системі організуються події, що відбуваються в призначений час, - наприклад, автоматичне резервне копіювання всіх найбільш важливих файлових систем на стрічку.
Блокуємий (синхронний) і не блокуємий (асинхронний) ввід-вивід
Для оптимізації вводу-виводу в системі підтримується, крім традиційного синхронного (блокуемого), також асинхронний ввід-вивід.
Блокуємий ввід-вивід заснований на простому, інтуїтивно зрозумілому парадигмі: процес затримується, поки ввід-вивід не закінчиться. Він більше простий для використання й розуміння, але. у силу своєї недостатньої ефективності, недостатній для деяких застосувань. Для оптимізації вводу-виводу повернення із системного виклику для вводу-виводу може траплятися у міру доступності інформації. Застосовується користувальницький інтерфейс для копіювання даних (буферизація). Ввід-вивід також реалізується за допомогою багато поточності (multi-threading): ввід-вивід виділяється в окремий потік. Із системних викликів для вводу-виводу передбачене швидке повернення з видачею як результату числа байтів, фактично прочитаних або записаних.
Асинхронний ввід-вивід заснований на іншій парадигмі: процес виконується одночасно з виконанням вводу-виводу. Внаслідок цього, він більше складний у використанні, тому що більшість програмістів дотепер звикли мислити й реалізовувати програми в послідовному стилі. Після завершення асинхронного вводу-виводу підсистема вводу-виводу генерує сигнал (виключення) у процесі, його що використовує. Програмування асинхронного вводу-виводу засновано на використанні пари операцій типу почати асинхронний ввід-вивід і закінчити асинхронний ввід-вивід (почекати його результатів).
Операційна система управляє пристроями вводу-виводу.
ОС здійснює планування, включаючи впорядкування запитів на ввід-вивід у чергах до кожного пристрою.
ОС забезпечує буферизацію – запис даних в пам'ять в процесі передачі між пристроями. Цілі буферизації:
балансування пристроїв з різними швидкостями;
згладжування невідповідності розміру даних для роботи із пристроєм;
підтримка "семантики копіювання".
Як неодноразово відзначалося, для оптимізації роботи із зовнішніми пристроями організується кэшування – використання швидкої пам'ять, у якій зберігається копія даних (фактично в ній зберігаються найбільше часто використовувані блоки). Треба, однак, мати на увазі, що вміст кеш-пам'яті - завжди тільки копія реальних даних, тому в деяких випадках доводиться синхронізувати вміст кэша із умістом диска, щоб не допустити неузгодженості інформації. Кэшування - ключ до підвищення продуктивності дискових пристроїв.
Досить важлива також така функція ОС, як буферизація виводу (spooling) – затримка виводу на пристрій, з метою підтримки цілісності інформації, виведеної тим самим процесом. Типовий приклад - печать на принтер.
ОС виконує обробку помилок вводу-виводу. Система підтримує відновлення інформації після читання з диска, недоступності пристрою, тимчасових збоїв при записі. У більшості випадків повертається номер (код) помилки, у випадку, якщо запит на ввід-вивід завершується невдало. У системні журнали записується інформація про виявлені проблеми.