- •Тема 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. Об’єднуючи окремі біти в групи отримуємо можливість задавати бітові комбінації (n бітів – 2n комбінацій) і з їх допомогою представляти практично довільні елементи даних, що обробляються в комп’ютерах.
Наступний рівень – байти –– це символи, що мають фіксовану довжину в бітах. Зараз найбільш розповсюджений варіант байту – 8 бітів. 28 – 256 символів.
Наприклад:
- цифрові символи: ‘0’…’9’;
- алфавітні символи: ‘A’…’Z’, ‘a’…’z’;
- спеціальні символи: ‘.’, ‘,’, ‘/’, ‘*’, ‘$’, …
Розподіл бітових комбінацій за символами, що ними представляються, називаються – символьними наборами.
ASCII – американський стандартний код для обміну інформацією, застосовується в системах передачі даних.
EBCDIC – розширений двійково–кодований десятковий код для обміну інформацією, застосовується для внутрішнього представлення.
В багатьох системах є механізми, що забезпечують використання обох кодів та взаємне представлення одного коду в інший.
Група взаємозв’язаних символів називається – полем. Поля бувають – числові, алфавітні, алфавітно–цифрові. Спеціальні символи – символьне поле.
Група взаємозв’язаних полів – це запис.
Ключ запису – це керуюче поле, яке однозначно ідентифікує даний запис.
Група взаємозв’язаних записів – це файл.
Найвищий рівень ієрархії даних часто називають – базою даних. База даних складається з групи взаємозв’язаних файлів.
Об’єднання в блоки та буферизація
Фізичний запис або блок – це одиниця інформації, яка реально читається з пристрою, або записується на нього.
Логічний запис – це сукупність даних, яка розглядається як одне ціле.
Якщо кожний фізичний запис вміщує тільки один логічний запис, то такий файл складається із не зблокованих записів.
Якщо кожний фізичний запис може вміщувати декілька логічних, то такий файл складається з записів, об’єднаних в блоки, або зблокованих записів.
У файлі з записами фіксованої довжини, всі записи мають однакову довжину, а розмір блоку звичайно є цілим кратним розміру запису.
У файлі з записами змінної довжини записи можуть мінятися за розміром до розміру блоку.
Формати записів
BL – довжина блоку; RL – довжина запису; Поля лічильників вміщають різноманітну керуючу інформацію: номер циліндра; номер головки; номер запису; довжина поля даних; контрольні байти.
Буферування – дозволяє виконувати обчислення одночасно з операціями вводу–виводу.
В основній пам’яті виділяються певні ділянки, де можна розташувати декілька фізичних блоків файлу одразу. Кожна з таких ділянок називається буфером.
Найбільш поширена схема буферизації – називається подвійною буферизацією і працює таким чином.
Розглянемо на прикладі виводу даних.
Існує два буфери.
- Спочатку записи, що формуються працюючим процесом, розміщуються в першому буфері, доки він не заповниться.
- Після цього ініціюється передача блоку даних з першого буферу в зовнішню пам’ять.
- Під час виконання цієї передачі процес продовжує формувати записи, які тепер розміщуються в другому буфері.
- Коли другий буфер заповниться та закінчиться передача даних з першого буферу, ініціюється передача даних з другого буферу.
- Процес продовжує роботу та формує записи, які тепер знову розміщуються в перший буфер.
Таке перемикання з буферу на буфер дозволяє виконувати операції вводу–виводу паралельно з обчисленнями.
