
- •1.3. Короткий нарис історії ос
- •1.3.1. Передісторія ос
- •1.3.2. Пакетні ос
- •1.3.3. Ос з поділом часу
- •1.3.4. Однозадачние ос для пеом
- •1.3.5. Багатозадачні ос для пк з графічним інтерфейсом
- •1.4. Класифікація ос
- •1.5. Критерії оцінки ос
- •1.5.2. Ефективність
- •1.5.3. Зручність
- •1.5.4. Масштабованість
- •1.5.5. Здатність до розвитку
- •1.6. Основні функції і структура ос
- •1.7. Ос, що використовуються в подальшому викладі
- •1.7.2. Windows
- •1.7.3. Unix
- •2. Управління пристроями
- •2.1. Основні завдання управління пристроями
- •2.2. Класифікація периферійних пристроїв і їх архітектура
- •2.3. Переривання
- •2.4. Архітектура підсистеми вводу / виводу
- •2.5. Способи організації введення / виводу
- •2.5.1. Введення / висновок з опитування і по перериваннях
- •2.5.2. Активне і пасивне очікування
- •2.5.3. Синхронний і асинхронний ввід / вивід
- •2.6. Буферизація і кешування
- •2.6.1. Поняття буферизації
- •2.6.2. Згладжування нерівномірності швидкостей процесів
- •2.6.3. Розпаралелювання введення та обробки
- •2.6.4. Узгодження розмірів логічної та фізичної записи
- •2.6.5. Редагування при інтерактивному введенні
- •2.6.6. Кешування дисків
- •2.6.7. Випереджаюче читання.
- •2.7. Драйвери пристроїв
- •2.8. Управління пристроями в ms-dos
- •2.8.1. Рівні доступу до пристроїв
- •2.8.2. Драйвери пристроїв в ms-dos
- •2.8.3. Управління символьними пристроями
- •2.8.4. Управління блоковими пристроями
- •2.8.4.2. Розділи і логічні томи
- •2.8.4.3. Засоби доступу до дисків
- •2.9. Управління пристроями в Windows
- •2.9.1.1. Драйвери пристроїв в Windows
- •2.9.1.2. Доступ до пристроїв
- •2.10. Управління пристроями в unix
- •2.10.1. Драйвери пристроїв в unix
- •2.10.2. Пристрій як спеціальний файл
- •3. Управління даними
- •3.1. Основні завдання управління даними
- •3.2. Характеристики файлів та архітектура файлових систем
- •3.3. Розміщення файлів
- •3.4. Захист даних
- •3.6. Файлова система fat і управління даними в ms-dos
- •3.6.1. Загальна характеристика системи fat
- •3.6.2. Структури даних на диску
- •Структура записи каталога файловой системы fat
- •3.6.4. Робота з файлами в ms-dos
- •3.6.4.1. Системні функції
- •3.6.4.2. Доступ до даних
- •3.6.4.3. Структури даних у пам'яті
- •3.6.5. Нові версії системи fat
- •3.7. Файлові системи і управління даними в unix
- •3.7.1. Архітектура файлової системи unix
- •3.7.1.1. Жорсткі і символічні зв'язку
- •3.7.1.2. Монтовані томи
- •3.7.1.3. Типи і атрибути файлів
- •3.7.1.4. Управління доступом
- •3.7.2. Структури даних файлової системи unix
- •3.7.3. Доступ до даних в unix
- •3.7.4. Розвиток файлових систем unix
- •3.8. Файлова система ntfs і управління даними в Windows
- •3.8.1. Особливості файлової системи ntfs
- •3.8.2. Структури дискових даних
- •3.8.2.1. Головна таблиця файлів
- •3.8.2.2. Атрибути файлу
- •3.8.3. Доступ до даних
- •3.8.4. Захист даних
- •3.8.4.1. Аутентифікація користувача
- •3.8.4.2. Дескриптор захисту
- •4. Управління процесами
- •4.1. Основні завдання управління процесами
- •4.2. Реалізація багатозадачного режиму
- •4.2.1. Поняття процесу і ресурсу
- •4.2.2. Квазіпараллельний виконання процесів
- •4.2.3. Стану процесу
- •4.2.4. Невитісняючаі витісняюча багатозадачність
- •4.2.5. Дескриптор і контекст процесу
- •4.2.6. Реєнтерабельним системних функцій
- •4.2.7. Дисципліни диспетчеризації та пріоритети процесів
- •4.3. Проблеми взаємодії процесів
- •4.3.1. Ізоляція процесів та їх взаємодія
- •4.3.2. Проблема взаємного виключення процесів
- •4.3.3. Двійкові семафори Дейкстри
- •4.3.4. Засоби взаємодії процесів
- •4.3.4.1. Цілочисельні семафори
- •4.3.4.2. Семафори з множинним очікуванням
- •4.3.4.3. Сигнали
- •4.3.4.4. Повідомлення
- •4.3.4.5. Спільна пам'ять
- •4.3.4.6. Програмні канали
- •4.3.5. Проблема тупиків
- •4.4. Управління процесами в ms-dos
- •4.4.1. Процеси в ms-dos
- •4.4.2. Середа програми
- •4.4.3. Запуск програми
- •4.4.4. Завершення роботи програми
- •4.4.5. Перехоплення переривань і резидентні програми
- •4.5. Управління процесами в Windows
- •4.5.1. Поняття об'єкта у Windows
- •4.5.2. Процеси і нитки
- •4.5.3. Планувальник Windows
- •4.5.4. Процес і нитка як об'єкти
- •4.5.5.2. Об'єкти синхронізації та функції очікування
- •4.5.5.3. Типи об'єктів синхронізації
- •4.5.5.4. Критичні секції
- •4.5.6. Повідомлення
- •4.6. Управління процесами в unix
- •4.6.1. Життєвий цикл процесу
- •4.6.2. Групи процесів
- •4.6.3. Програмні канали
- •4.6.4. Сигнали
- •4.6.5. Засоби взаємодії процесів в стандарті posix
- •4.6.6. Планування процесів
- •4.6.6.1. Стану процесів в unix
- •4.6.6.2. Пріоритети процесів
- •4.6.7. Інтерпретатор команд shell
- •5. Управління пам'яттю
- •5.1. Основні завдання управління пам'яттю
- •5.2. Віртуальні й фізичні адреси
- •5.3.2. Розподіл з фіксованими розділами
- •5.3.3. Розподіл з динамічними розділами
- •5.4. Сегментна організація пам'яті
- •5.5. Сторінкова організація пам'яті
- •5.6. Порівняння сегментної і сторінкової організації
- •5.7. Управління пам'яттю в ms-dos
- •5.8. Управління пам'яттю в Windows
- •5.8.1. Структура адресного простору
- •5.8.3. Відображення виконуваних файлів
- •5.8.4. Файли, відображувані на пам'ять
- •5.8.5. Стеки і купи
- •5.9. Управління пам'яттю в unix
- •Література
1.3.4. Однозадачние ос для пеом
У середині 70-х років був винайдений мікропроцесор, а до початку 80-х мікропроцесори стали наздоганяти по функціональних характеристиках раніше використалися «великі» процесори. Ця ситуація зробила майже марним режим поділу часу: навіщо ділити один процесор між багатьма завданнями та багатьма користувачами, якщо простіше і дешевше дати окремий мікропроцесор кожному користувачеві? Поділ часу залишилося доцільним хіба що відносно суперкомп'ютерів.
Поява і бурхливий поширення персональних комп'ютерів (ПК) викликало до життя нове покоління ОС, які опинилися у багато разів простіше своїх попередниць. Непотрібної виявилася багатокористувальницька захист. На перших порах здалася непотрібною і багатозадачність. Все це можна було розцінити як явний регрес у розвитку ОС.
Найбільш популярною ОС для ранніх восьмирозрядних ПК була система CP / M відомої тоді фірми Digital Research, однак з появою на початку 80-х знаменитої машини IBM PC лідерство було міцно перехоплено системою MS-DOS фірми Microsoft.
1.3.5. Багатозадачні ос для пк з графічним інтерфейсом
Швидкий розвиток технології призвело до того, що до кінця 80-х років ПК виявилися в змозі вирішувати значно більш складні і трудомісткі задачі, ніж раніше. При цьому багато з досягнень колишніх етапів розвитку ОС виявилися знову затребуваними, але тепер уже в нових умовах, серед яких треба назвати різке підвищення потужності процесорів і обсягу пам'яті, поява високоякісних графічних моніторів і розвиток мережевих технологій.
Стала реальною така річ, як багатозадачна ОС для ПК. Треба сказати, що спочатку ідея системи, в якій один користувач запускає одночасно кілька додатків, більшості фахівців здавалася порожнім піжонством і викликала глузування: «Чому б не виконати кілька програм по черзі?». Зараз з таким поглядом смішно навіть сперечатися.
А все ж, як би ви обгрунтували користь багатозадачності для сучасних ОС типу Windows?
На зміну ОС, які виконували текстові команди, що вводяться користувачем з клавіатури, прийшли системи, в яких взаємодія з користувачем засноване на використанні GUI (Graphical User Interface, графічний інтерфейс користувача).
Значна частина ПК працює у складі локальних обчислювальних мереж. Це призвело до того, що питання захисту даних користувача знов набули першорядне значення.
1.4. Класифікація ос
Існують різні види класифікації ОС по тим чи іншим ознакам, що відображають різні істотні характеристики систем.
· За призначенням.
- Системи загального призначення. Це досить розпливчасте назва означає ОС, призначені для вирішення широкого кола завдань, включаючи запуск різних додатків, розробку і налагодження програм, роботу з мережею і з мультимедіа.
- Системи реального часу. Цей важливий клас систем призначений для роботи в контурі управління об'єктами (такими, як літальні апарати, технологічні установки, автомобілі, складна побутова техніка і т.п.). З подібного призначення випливають жорсткі вимоги до надійності та ефективності системи. Повинно бути забезпечено точне планування дій системи в часі (керуючі сигнали повинні видаватися в задані моменти часу, а не просто «по можливості швидко»). Особливий підклас становлять системи, вбудовані в устаткування. Такі системи роками можуть виконувати фіксований набір програм, не вимагаючи втручання людини-оператора на більш глибокому рівні, ніж натискання кнопки «Вкл.».
Іноді виділяють також такий клас ОС, як системи з «нежорстких» реальним часом. Це такі системи, які не можуть гарантувати точне дотримання часових співвідношень, але «дуже стараються», тобто містять засоби для пріоритетного виконання завдань, критичних за часом. Такій системі не можна довірити управління ракетою, але вона цілком впорається з демонстрацією відеофільму. Виділення подібних систем в окремий клас має скоріше рекламне значення, дозволяючи таким системам, як Windows NT і деякі версії UNIX, теж називати себе «системами реального часу».
- Інші спеціалізовані системи. Це різні ОС, орієнтовані насамперед на ефективне вирішення завдань певного класу, з більшим чи меншим збитком для інших завдань. Можна виділити, наприклад, мережеві системи (такі, як Novell Netware), що забезпечують надійне і високоефективне функціонування локальних мереж.
· За характером взаємодії з користувачем.
- Пакетні ОС, обробні заздалегідь підготовлені завдання.
- Діалогові ОС, що виконують команди користувача в інтерактивному режимі. Гарне слово «інтерактивний» означає постійну взаємодію системи з користувачем.
- ОС з графічним інтерфейсом. В принципі, їх також можна віднести до діалоговим системам, однак використання миші і все, що з нею пов'язано (меню, кнопки і т.п.) вносить свою специфіку.
- Вбудовані ОС, що не взаємодіють з користувачем.
· По числу одночасно виконуваних завдань.
- Однозадачние ОС. У таких системах в кожний момент часу може існувати не більше ніж один активний користувальницький процес. Слід зауважити, що одночасно з ним можуть працювати системні процеси (наприклад, виконують запити на уведення / висновок).
- Багатозадачні ОС. Вони забезпечують паралельне виконання декількох користувальницьких процесів. Реалізація багатозадачності вимагає значного ускладнення алгоритмів і структур даних, використовуваних в системі.
· За кількістю користувачів.
- Однокористувальницька ОС. Для них характерний повний доступ користувача до ресурсів системи. Подібні системи прийнятні в основному для ізольованих комп'ютерів, що не допускають доступу до ресурсів даного комп'ютера по мережі або з віддалених терміналів.
- Мультиплеєрні ОС. Їх важливою компонентою є засоби захисту даних і процесів кожного користувача, засновані на понятті власника ресурсу і на точному зазначенні прав доступу, наданих кожному користувачеві системи.
· По апаратурною основі.
- Однопроцесорні ОС. В даному курсі будуть розглядатися тільки вони.
- Багатопроцесорні ОС. У завдання такої системи входить, крім іншого, ефективний розподіл виконуваних завдань по процесорах і організація узгодженої роботи всіх процесорів.
- Мережеві ОС. Вони включають можливість доступу до інших комп'ютерів локальної мережі, роботи з файловими та іншими серверами.
- Розподілені ОС. Їхня відмінність від мережевих полягає в тому, що розподілена система, використовуючи ресурси локальної мережі, представляє їх користувачеві як єдину систему, не розділену на окремі машини.