
- •Тема 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
Лекція 6. Керування даними Файлова система
Файл – сукупність даних, що має своє ім’я. Звичайно розміщується на пристрої зовнішньої пам’яті, наприклад на магнітному диску чи стрічці. З файлом можна виконувати маніпуляції як з одним цілим компонентом за допомогою таких операторів:
відкрити (open) – підготовляє файл до звертання;
закрити (close) – забороняє подальше звертання до файлу, доки він не буде знову відкритий;
створити (create) – забезпечує формування нового файлу;
знищити (destroy, kill) – руйнує файл;
копіювати (copy) – створює ще один екземпляр існуючого файлу з новим іменем;
перейменувати (rename) – змінити ім’я файла;
вивести (list) – забезпечує друк лістингу або відтворення вмісту файла на екрані.
Маніпуляції з індивідуальними елементами даних в рамках файлу можна виконувати за допомогою таких операторів:
прочитати (read) – забезпечує ввід елемента даних з файла в процес;
записати (write) – забезпечує вивід елементу даних з процесу в файл;
обновити (update) – забезпечує модифікацію існуючого елементу даних;
вставити (insert) – забезпечує додавання нового елемента даних;
виключити (delete) – виключає елемент даних з файла.
Файлова система – це частина загальної системи керування пам’яттю, що відповідає переважно за керування файлами, які зберігаються на зовнішній пам’яті. Вона відповідає також за забезпечення можливості зберігати особисту (приватну) інформацію та за контрольоване розділення інформації між багатьма користувачами.
Функції файлової системи
Розглянемо деякі функції, які, як звичайно вважається, повинні реалізувати файлові системи.
1. Користувачу повинна надаватись можливість створювати, модифікувати та знищувати файли.
2. Користувачам повинна надаватись можливість розділяти, тобто колективно користуватись, файли один від одного під ретельним контролем, з тим, щоб вони могли ефективно взаємодіяти при виконанні спільної роботи.
3. Механізм для розділення (колективного користування) файлів повинен передбачати різні варіанти контрольованого доступу: доступ для читання; доступ для запису; доступ для виконання; або різних комбінацій зазначених видів доступу.
4. Користувачам надається можливість створювати зручні для прикладних програм структури файлів.
5. Надається можливість керування передачами інформації між файлами.
6. В системі повинні бути передбачені засоби збереження та відновлення, які виключають або випадкову втрату, або навмисне руйнування інформації.
7. Користувач може звертатись до своїх файлів за допомогою символічних імен, а не через імена фізичних пристроїв (тобто файли повинні бути незалежними від пристроїв).
8. У системах, пов’язаних з обробкою персональної, конфіденційної та таємної інформації, яку необхідно захищати від несанкціонованого доступу (системи передачі грошових засобів; системах міліції; медичних системах, де зберігаються історії хвороб і т.п.) файлова система може також передбачати шифрування та дешифрування даних. Для доступу потрібно мати ключі дешифрування.
9. І найважливіше. Файлова система повинна мати „дружній” інтерфейс з користувачем. Вона повинна дозволяти користувачам працювати тільки з логічним представленням своїх даних і тих операцій, які повинні з ними виконуватись, а не з фізичним представленням.
Необхідно, щоб користувачу не треба було думати про конкретні фізичні пристрої, на яких зберігаються його дані, про формати даних чи про фізичні засоби обміну даними з цими пристроями.