- •Тема 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,01 сек., що досить багато в порівняні з роботою ЦП.
