- •Початкові відомості про комп’ютер Як був винайдений комп’ютер
- •Мал.1.1. Зв’язки між пристроями комп’ютера. Поняття про пеом
- •Мікропроцесор
- •Оперативна пам'ять
- •Контролери і шина
- •Дисководи.
- •Пристрої cd-rom
- •Пристрої резервного копіювання
- •Структура запису ³нформац³¿ на магн³тн³ диски
- •Контрольні питання
- •Програмне забезпечення ïåîì Операційна система
- •Класифікація операційних систем
- •Особливості алгоритмів керування ресурсами
- •Підтримка багатозадачності
- •Підтримка багатокористувальницького режиму
- •Багатопроцесорна обробка
- •Особливості апаратних платформ
- •Особливості областей використання
- •Особливості методів побудови
- •Мережні операційні системи Структура мережної операційної системи
- •Однорангові мережні ос і ос з виділеними серверами
- •Ос для робочих груп і ос для мереж масштабу підприємства
- •Контрольні питання
- •В чому полягає підтримка багатокористувальницького режиму.
- •Основи роботи з програмою Norton Commander Що таке Norton Commander
- •Головне меню програми Norton Commander
- •Мал.8.3. Головне меню програми Norton Commander
- •Перегляд файлів в програмі Norton Commander
- •Редагування файлів у програмі Norton Commander
- •Обробка помилок на дисках у програмі Norton Commander
- •Робота з архівними файлами
- •Меню команд користувача Norton Commander
- •Контрольні питання
- •Робота з програмою Windows Історія створення Windows
- •Елементи в³кна Windows
- •Мал.10.2. Вигляд в³кна у Windows
- •Мал.10.3. Заголовок в³кна папки
- •Мал.10.4. Вигляд стандартного меню в³кна
- •Мал.10.5. Розкриття пункту меню
- •Мал.10.6. Вм³ст рядка стану Робота з вікнами в програмі Windows
- •Мал.10.7. Плавна зм³на розм³ру в³кна за допомогою курсора мишки
- •Мал.10.8. Елементи д³алогового в³кна Робочий стіл Windows
- •Мал.10.9. Компоненти робочого стола Windows
- •Панель задач Windows
- •Мал.10.10. Панель задач з кнопками в³дкритих в³кон
- •Системне меню
- •Мал.12.1. Вигляд системного меню
- •Мал.12.2. Системне меню з розкритими підменю різних рівнів
- •Папка “Мой компьютер”
- •Мал.12.3. Вигляд вікна папки “Мій комп’ютер” Налагодження системи
- •Мал.12.6 Вигляд папки “Корзина” на робочому столі”
- •Мал.12.8. Виклик провідника
- •Мал.12.9. Вигляд вікна провідника Структура дерева папок на диску
- •Мал.12.10. Вигляд дерева папок
- •Вимкнення комп’ютера
- •Мал.12.11. Завершення роботи з Windows
- •Захист ³нформац³¿
- •Парольний захист ³нформац³¿
- •Криптографування ³нформац³¿
- •Мал.18.3. Класиф³кац³я систем криптограф³чного захисту ³нформац³¿ Руйн³вн³ програми
- •Мал.19.1. Класиф³кац³я руйн³вних програм
- •Загальн³ в³домост³ про комп'ютерн³ в³руси
- •Мал.19.2. Основн³ стад³¿ роботи комп’ютерного в³русу
- •Мал.19.3. Ознаки, за якими класиф³куються комп’ютерн³ в³руси
- •Мал.19.4. Класиф³кац³я в³рус³в за середовищем ¿х ³снування
- •Мал.19.5. Класиф³кац³я в³рус³в
- •Мал.19.6. Класиф³кац³я комп’ютерних в³рус³в, за руйн³вними зд³бностями
- •Правила захисту програм в³д зараження
- •Мал.19.7. Шляхи проникання в³рус³в у комп’ютер
- •Загальн³ заходи захисту ³нформац³¿
- •Антив³русна проф³лактика
- •Програми захисту в³д в³рус³в
- •Мал.19.8. Класиф³кац³я програм для захисту в³д комп'ютерних в³рус³в
- •Контрольні питання
- •Керування процесами Керування локальними ресурсами
- •Керування процесами
- •Стан процесів
- •Контекст I дескриптор процесу
- •Алгоритми планування процесів
- •Критична секція
- •Керування пам'яттю
- •Методи розподілу пам'яті без використання дискового простору
- •Розподіл пам'яті розділами змінної величини.
- •Переміщувані розділи
- •Методи розподілу пам'яті з використанням дискового простору. Поняття віртуальної пам'яті.
- •Сторінковий розподіл
- •Сегментний розподіл
- •Сторінково - сегментний розподіл
- •Засоби апаратної підтримки керування пам’яттю
- •Засоби підтримки сегментації пам'яті.
- •Сегментно-сторінковий механізм
- •Засоби виклику підпрограм і задач
- •Керування введенням - виведенням
- •Фізична організація пристроїв введення-виведення
- •Організація програмного забезпечення введення-виведення
- •Обробка переривань
- •Драйвери пристроїв
- •Незалежна від пристроїв частина операційної системи
- •Користувальницький пласт програмного забезпечення
- •Файлова система
- •Імена файлів
- •Загальна модель файлової системи
- •Типи файлів
- •Логічна організація файлу
- •Фізична організація й адреса файлу
- •Права доступу до файлу
- •Кеширування диску
- •Загальна модель файлової системи
- •Сучасні архітектури файлових систем
- •Контрольні питання
- •Перелік використаних джерел
Організація програмного забезпечення введення-виведення
Основна ідея організації програмного забезпечення введення-виведення становить в його розбивці кілька рівнів, причому нижні рівні забезпечують екранування особливостей апаратури від верхніх, а ті, у свою чергу, забезпечують зручний інтерфейс для користувачів.
Ключовим принципом є незалежність від пристроїв. Вид програми не повинен залежати від того чи читає вона дані з гнучкого диска, чи з твердого.
Дуже близькою до ідеї незалежності від пристроїв є ідея однакового іменування, тобто з метою іменування пристроїв потрібні прийняти єдині правила.
Іншим важливим питанням програмного забезпечення введення-виведення є обробка помилок. Взагалі, помилки варто обробляти як найближче до апаратури. Якщо контролер виявляє помилку читання, він повинен спробувати її скорегувати. Якщо ж це йому не вдається, то виправленням помилок повинен зайнятися драйвер пристрою. Багато помилок можуть зникати при повторних спробах виконання операцій введення-виведення. Наприклад, помилки, викликані наявністю порошин на голівках читання диску. Якщо ж нижній рівень не може справитися з помилкою, він повідомляє про неї верхньому рівню.
Ще одне ключове питання - це використання,синхронних (що блокують) і асинхронних (не блокують) передач. Більшість операцій фізичного введення-виведення виконується асинхронно - процесор починає передачу і переходить на виконання іншої роботи, поки не наступає переривання. Користувальницькі програми набагато легше писати, якщо операції введення-виведення, що блокують, - після команди READ автоматично припиняють програму доти, поки дані не потрапляють у буфер програми. ОС виконує операції введення-виведення асинхронно, але представляє їх для користувальницьких програм у синхронній формі.
Остання проблема полягає в тому, що одні пристрої є поділюваними, а інші - виділеними. Диски – це поділювані пристрої, оскільки одночасний доступ декількох користувачів до диска не є проблемою.
Принтери - це виділені пристрої, оскільки не можна зміщувати рядки, що друкуються різними користувачами.
Наявність виділених пристроїв створює для операційної системи деякі проблеми. Для вирішення поставлених проблем, доцільно розділити програмне забезпечення введення-виведення на чотири пласти (малюнок 2.30):
Обробка переривань.
Драйвери пристроїв.
Незалежний від пристроїв шар операційної системи.
Користувальницький пласт програмного забезпечення.
Мал. 2.30. Багаторівнева організація підсистеми введення-виведення.
Обробка переривань
Переривання повинні бути сховані якнайглибше в надрах операційної системи, щоб, як можна, менша частина ОС мала з ними справу. Найкращий спосіб полягає в дозволі процесу, що ініціює операцію введення-виведення, блокування себе до завершення операції і переривання. Процес може блокувати себе, використовуючи, наприклад, виклик DOWN для семафора, чи виклик WAIT для перемінної умови, або ж виклик RESEIV для чекання повідомлення. Коли наступає переривання процесу, процедура обробки переривання здійснює розблокування процесу, що ініціював операцію введення-виведення, використовуючи виклики UP, Signal- чи посилаючись на процес повідомлення V, в будь-якому випадку ефект від переривання полягає в тому, що раніше заблокований процес тепер продовжує своє виконання.