
- •Тема 1: Основні поняття обчислювальних систем Призначення та склад системного програмного забезпечення
- •Основні концепції операційних систем
- •Типи операційних систем
- •Основні етапи розвитку операційних систем
- •Функціональні компоненти операційних систем
- •Керування процесами й потоками
- •Керування ресурсами
- •Керування введенням-виведенням
- •Керування файлами та файлові системи
- •Мережна підтримка
- •Тема 2: Архітектура операційних систем Основні принципи побудови операційних систем
- •Принцип модульності
- •Принцип функціональної вибірковості
- •Принцип здатності до генерування
- •Принцип функціональної надмірності
- •Принцип віртуальності
- •Принцип незалежності програм від зовнішніх пристроїв
- •Принцип сумісності
- •Принцип відкритої і нарощуваної ос
- •Принцип мобільності (переносимості)
- •Принцип забезпечення безпеки обчислень
- •Базові поняття архітектури операційних систем
- •Ядро операційної системи
- •Монолітні системи
- •Багаторівневі системи
- •Системи з мікроядром
- •Концепція віртуальних машин
- •Засоби апаратної підтримки операційних систем
- •Інтерфейс прикладного програмування
- •Варіанти реалізації api
- •Особливості архітектури unix і Linux
- •Особливості побудови ос Linux
- •Особливості архітектури Windows xp
- •Компоненти режиму ядра
- •Компоненти режиму користувача
- •Об’єктна архітектура Windows xp
- •Тема 3: Процеси та потоки
- •Базові поняття процесів та потоків
- •Блок керування процесом
- •Операції над процесами
- •Обробка переривань
- •Алгоритми планування процесів
- •Витісняючі та невитісняючі алгоритми планування
- •Нитки, потоки (Thread)
- •Керування процесорами
- •Планування з переключення та без переключення
- •Лекція 4: Ядро операційної системи
- •Основні функції ядра
- •Асинхронні паралельні процеси
- •Взаємо-виключення
- •Семафори
- •Кільцевий буфер
- •Конвеєр (програмний канал)
- •Черги повідомлень (Queue)
- •Лекція 5. Керування ресурсами
- •Керування пам’яттю
- •Ієрархія пам’яті
- •Розподіл пам’яті
- •Зв’язний розподіл пам’яті для одного користувача
- •Мультипрограмування з фіксованими розділами
- •Мультипрограмування із змінними розділами
- •Боротьба з фрагментацією
- •Стратегії розміщення інформації в пам’яті
- •Системи з розподілом часу. Сторінкова організація пам’яті. Концепція віртуальної (уявної) пам’яті.
- •Принцип кешування даних
- •Лекція 6. Керування даними Файлова система
- •Функції файлової системи
- •Ієрархія даних
- •Об’єднання в блоки та буферизація
- •Організація файлів
- •Методи доступу
- •Характеристики файлів
- •Файлова система
- •Виділення та звільнення місця в пам’яті
- •Зв’язаний розподіл пам’яті
- •Незв’язаний розподіл пам’яті
- •1) Розподіл за допомогою списків секторів
- •2) Поблочний розподіл
- •Дескриптор файлу (file descriptor)
- •Матриця керування доступом
- •Керування доступом в залежності від класів користувачів
- •Копіювання та відновлення інформації
- •Планування роботи з дисковою пам’яттю
- •Призначення планування
- •Цільові характеристики принципів планування
- •Оптимізація пошуку циліндру
- •Оптимізація за часом очікування записів
- •Архітектура сучасних файлових систем
- •Лекція 8. Основи організації ms-dos
- •Будова та функції основних складових дос
- •Керування пам’яттю
- •Відображена пам’ять
- •Розширена пам’ять
- •Висока пам’ять
- •Верхня пам’ять
- •Драйвери верхньої та розширеної пам’яті
- •Завантажувані модулі com та exe – файли
- •Логічна структура диску в ms-dos
- •Формат елементів таблиці розділів
- •Запис завантаження (boot)
- •Використання boot-сектору
- •Визначення формату fat
- •Формат fat
- •Файли та каталоги
- •Недоліки ms-dos
- •Переваги які надає користувачам Windows
- •Windows як операційна оболонка
- •Обмін даними в Windows
- •Зв’язування чи вбудовування
- •Первинність повідомлень: механізм повідомлень
- •Незалежна (preemptive) багатозадачність
- •Взаємодія 32– та 16–розрядних кодів
- •Робота з 16–розрядними продуктами
- •Робота з dos–продуктами
- •Робота 32–розрядних Windows–продуктів
- •Вдосконалення розподілу системних ресурсів
- •Vcache – 32–розрядний дисковий кеш
- •Варіанти модифікацій ос Windows xp
- •Нові характеристики реалізовані в Windows xp
- •Продуктивність
- •Лекція 8. Ос unix
- •Ядро ос unix
- •Генерування ос
- •Процеси
- •Початкове завантаження. Процеси 0 та 1
- •Файлова система unix
- •Будова файлової системи unix
- •Каталоги
- •Тема 1: Основні поняття обчислювальних систем 1
- •Тема 2: Архітектура операційних систем 9
- •Тема 3: Процеси та потоки 25
Верхня пам’ять
Верхня пам’ять (Upper Memory Area) займає адресний простір, що міститься безпосередньо над стандартною пам’яттю, вище 640 Кбайтів. На цей адресний простір відображено відео-пам’ять та BIOS. Частина адресного простору, що залишилася, може бути розподілена між іншими програмами. Вона розбивається на фрагменти розміром 64 Кбайти, що отримили назву “вікна” відображуваної пам’яті. Їх можна заповнити розширеною пам’яттю, якщо забезпечити відображення їх адрес на фізичні адреса, більші 1 Мбайту. Це можна робити на МП 80386, оскільки ці процесори реалізують перетворення одних адрес (логічних) в інші адреси (фізичні). Ця можливість використовується аналогічно тому, як емулюється відображення пам’яті з використанням розширеної, але:
1. Неможливо використати пам’ять, яка перевищує розміри “вікна” (не підтримується механізм перемикання сторінок).
2. У заповнені пам’яттю “вікна” можна завантажувати не тільки дані, але й драйвери та резидентні програми (що вивільнює стандартну пам’ять).
Пам’ять, що заповнює “вікна” в UMA, або UMB-пам’ять (Upper Memory Blocks – блоки верхньої пам’яті), складається з декількох фрагментів – регіонів. Деякі функції керування зафіксовані в XMS і реалізуються в HIMEM.SYS, але повна підтримка забезпечується тільки драйвером ЕММ386.ЕХЕ.
Пам’ять такого типу – це програмна пам’ять, оскільки вона формується програмними засобами при наявності відповідної апаратної підтримки.
Деякі моделі ПК різних класів мають апаратну верхню пам’ять, тобто оперативну пам’ять розміром 384 Кбайти в UMA. В такому випадку ці регіони доступні з самого початку.
Завантаженням в верхню пам’ять повністю керує DOS.
Для підтримки повної структури пам’яті мікропроцесорами типу 386, 486 та Pentium необхідно в командному файлі CONFIG.SYS:
1) підключити драйвер HIMEM.SYS (перед усіма іншими підключеннями);
2) підключити драйвер EMM386.EXE з параметром RAM;
3) встановити команду DOS = HIGH, UMB – для завантаження резидентних модулів DOS у високу пам’ять;
4) встановити команду DEVICEHIGH – для завантаження зовнішніх драйверів в верхню пам’ять;
У командному файлі AUTOEXEC.BAT за допомогою команди LOADHIGH завантажити резидентні програми у верхню пам’ять.
Драйвери верхньої та розширеної пам’яті
Драйвер HIMEM.SYS – призначений для керування розширеною і високою пам’яттю за специфікацією XMS3.0.
Завантажується у систему командою DEVICE=C:\DOS\HIMEM.SYS. Це менеджер розширеної пам’яті (ХММ) – що забезпечує безконфліктне сумісне використання розширеної пам’яті декількома програмами і драйверами так, щоб вони не могли одночасно використати один і той самий блок.
Драйвер ЕММ386.ЕХЕ – призначений для емуляції відображеної за специфікацією EMS4.0) та керування верхньою пам’яттю.
Може виділити одну частину XMS-пам’яті для доступу по EMS, а другу частину – під верхню пам’ять. Сам може виконувати сканування UMA для пошуку “вікон”.
Виконує дві функції. Це одночасно як ЕММ, так і адміністратор верхньої пам’яті. Це так, тому що технічна реалізація підтримки відображеної пам’яті аналогічна підтримці верхньої пам’яті.
Додатково виконує ще три функції:
1) Підтримує співпроцесор з плаваючою комою Weitek.
2) Реалізується стандарт VCPI – (Virtual Control Program Interface) – віртуальний керуючий програмний інтерфейс (розширення специфікації EMS для виключення програмних конфліктів).
3) Забезпечує формування тіньової пам’яті.