
- •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.7. Ос, що використовуються в подальшому викладі
У наступних розділах курсу будуть розглядатися основні функції ОС і способи їх реалізації. Виклад загальних підходів буде доповнюватися прикладами, що відносяться головним чином до трьох широко відомим ОС:
· MS-DOS - приклад простої однозадачной системи;
· Windows - складна сучасна система, яка виросла на базі MS-DOS;
· UNIX - система, за можливостями порівнянна з Windows, проте разюче відрізняє по набору основних концепцій і методів реалізації.
1.7.1. MS-DOS
Система MS-DOS була розроблена в 1981 р. спеціально для тільки що з'явився перший 16-розрядної ПЕОМ IBM PC на базі процесора i86. Перша версія системи була жахлива, але працездатна. У наступні роки фірмі Microsoft вдалося значно поліпшити свою систему, хоча деякі пережитки першої версії виявилися незламні. Альянс з фірмою IBM дозволив Microsoft домогтися фантастичного фінансового успіху.
MS-DOS являє собою однозадачной, однокористувальницька, діалогову ОС. Вона веде діалог з користувачем в текстовому режимі і більшою мірою розрахована на обслуговування прикладних програм текстового режиму, хоча допускає і графіку. Робота з мишею повинна забезпечуватися самими прикладними програмами за мінімальної підтримки з боку ОС. Для розміщення програми користувача і для своїх власних потреб MS-DOS дозволяє використовувати 640 Кбайт пам'яті, що здавалося величезною величиною в ті незапам'ятні часи акуратного програмування і повної відсутності файлів AVI і MP3. Пізніше були додані засоби, що дозволяють з деяким зусиллям використовувати до 4 Мб пам'яті.
Інтерфейс MS-DOS з прикладними програмами заснований на викликах програмних переривань, оброблюваних системою. Більшу частину цих переривань прийнято називати функціями DOS.
Система MS-DOS з'явилася стартовим майданчиком для створення Windows. В даний час MS-DOS тихо відмирає, хоча всі версії Windows намагаються забезпечити виконання більшої частини програм, розроблених для їх попередниці.
В даному курсі MS-DOS розглядається як найбільш життєвий приклад простий і добре вивченою однозадачной системи для порівняння з більш потужними багатозадачними системами.
1.7.2. Windows
Система Windows була спочатку розроблена фірмою Microsoft як графічна оболонка, завантажувана поверх MS-DOS. Ідеї GUI (Graphic User Interface - графічний інтерфейс користувача) були вперше розроблені для експериментальної машини Xerox PARC ще в 70-х рр.., Потім підхоплені в MacOS - операційній системі комп'ютера Macintosh, звідки і були з деякими погіршеннями запозичені в Windows. Версію Windows 1.0, що вийшла в 1985 р. і працювала на 1 Мб пам'яті з неперекривающіеся вікнами, прийнято розглядати як цікаву іграшку. Версія 2.0 (1987 р.) була більш серйозна, а версії 3.0 і 3.1 (1990-1992 рр..), Призначені для процесорів i386 і використовують до 16 Мб пам'яті, вже мали великий успіх.
Всі перераховані версії продовжували залишатися надбудовами над MS-DOS, що використовують наявну файлову систему, але додають своє власне управління процесами, пам'яттю і пристроями. За рахунок цього комбінацію DOS + Windows можна було назвати багатозадачного однокористувальницької ОС з графічним інтерфейсом користувача.
У 1993 р. Microsoft випустила Windows NT - повноцінну многозадачную і багатокористувацьку ОС, вже не засновану на MS-DOS. Однак, оскільки NT пред'являла підвищені вимоги до потужності процесора і обсягом пам'яті, в 1995 р. була випущена компромісна система Windows 95, що призначалася для заміни Windows 3.x у масового користувача. Підвищення швидкості роботи в порівнянні з версією NT було досягнуто ціною відмови від багатокористувацької захисту і ослаблення надійності системи. У Windows 95 неакуратно написана прикладна програма може привести до краху системи, а в Windows NT система краще ізольована від програм користувача. У той же час, практично всі коректно написані програми можуть переноситися з Windows 95 в Windows NT і навпаки.
Деякий час дві лінії Windows розвивалися паралельно. Чергові версії Windows NT отримали назву Windows 2000, Windows XP, Windows 2003. Лінія Windows 95 була продовжена непринципово відрізняються від неї версіями Windows 98 і Windows ME, але далі, мабуть, розвиватися не буде. Microsoft вважає, що сучасний рівень продуктивності ПЕОМ знімає необхідність в полегшеній версії системи.
Windows надає в розпорядження прикладних програм кілька тисяч документованих API-функцій на всі випадки життя.
Сучасна Windows - вельми потужна і надто складна система, що має безліч переваг і недоліків, які неможливо обговорити коротко. Відзначимо, що широкому поширенню Windows, крім особливого становища фірми Microsoft на ринку, сприяє простота установки системи, що дозволяє пересічному користувачеві обійтися без допомоги фахівців.
У подальшому викладі опис можливостей Windows буде в основному орієнтовано на лінію Windows NT/2000/XP.