- •Тема 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
Формат елементів таблиці розділів
Зміщення |
Розмір |
Вміст |
(+0) |
1 |
Ознаки активного розділу: 0 – розділ не активний, 80h – розділ активний. |
(+1) |
1 |
Номер головки для початкового сектору розділу. |
(+2) |
2 |
Номер сектору та циліндру для початкового сектору розділу у форматі функції читання сектору INT13h. |
(+4) |
1 |
Код системи: 0 – невідома система, 1,4 – DOS, 5 – розширений розділ DOS. |
(+5) |
1 |
Номер головки для останнього сектору-розділу. |
(+6) |
2 |
Номер сектору та циліндра для останнього сектору розділу в форматі функції читання сектору INT13h. |
(+8) |
4 |
Відносний номер сектору початку розділу. |
+12 |
4 |
Розмір розділу в секторах. |
Розглянемо докладніше деякі поля елементу таблиці розділу диску.
Байт із зміщенням 0 – це прапорець активного розділу і може приймати одне із двох значень: 0h або 80h відповідно для неактивного і активного розділів диску.
Двобайтове слово, що розташоване із зміщенням 8 містить відносний номер першого сектору розділу. Він вираховується наступним чином. Значення 0 відповідає доріжці 0, головці 0, сектору 1. Першим збільшується відносний номер сектору на доріжці, потім номер головки і, нарешті, номер доріжки. Для обчислення відносного номера сектору можна використати таку формулу
RelSect = (Cyl Sect Head) + (Head Sect) + (Sect - 1)
де Cyl – номер доріжки, Sect – номер сектора на доріжці, Head – номер головки.
Звичайно розділи починаються з парних номерів доріжок, за виключенням самого першого розділу. Цей розділ може починатись з сектору 2 нульової доріжки (головка 0), тому що самий перший сектор диска зайнятий головним завантажувальним записом.
Байт із зміщенням 4 – це код системи, що використовує розділ диска. Для DOS зарезервовані 0, 1, 4, 5.
0 – невикористаний розділ диску;
1 або 4 – розділ використовується DOS як первинний (Primary Partition). Цей первинний розділ використовується DOS як логічний диск. Він зазвичай активний і з нього виконується завантаження ОС. В залежності від того, який код використовується (1 або 4) міняється одна з характеристик логічного диска – розмір елемента таблиці розміщення файлів (FAT) – File Allocation Table. 1 – 12-бітний FAT. 4 – 16-бітний FAT.
5 – позначає розширений розділ DOS (Extended DOS Partition).
Неважко зауважити, що навіть використовуючи всі елементи таблиці розділів для створення логічних дисків неможливо створити більше чотири логічних диски.
Використання розширеного розділу DOS дозволяє створювати довільну кількість логічних дисків. Всі ці диски будуть розташовані в межах одного розширеного розділу.
Якщо код системи 5 в елементі таблиці розділів, то на початку розділу, вказаному в цьому елементі, розташовується сектор, що вміщує таблицю логічних дисків. Якщо код елемента 5, то він знову вказує на наступну таблицю логічних дисків. Таким чином, таблиці логічних дисків зв’язані у список, на початок цього списку вказує елемент таблиці розділів диску з кодом системи, рівним 5.
Для таблиці логічних дисків маємо відмінність в використанні полів (границь) меж логічних дисків: якщо код системи рівний 1 або 4, ці межі обчислюються відносно початку розширеного розділу; для елемента з кодом 5 використовується абсолютна адресація (відносно фізичного початку диска).
На малюнку приклад:
На диску два розділи – первинний та розширений. Первинний використовується для завантаження MS-DOS (диск С:). Розширений вміщує логічні диски D:,E:,F:.
