- •Тема 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
Продуктивність
Не так часто відбуваються збої, швидше виконуються процедури початкового завантаження, відновлення роботи і запуску прикладних програм, інтелектуальні засоби і само настройки переміщають програмні файли для досягнення оптимальної швидкодії.
Windows XP – ОС із функціями само настройки. Вона адаптується, як до кожного користувача та і до його програм і файлів. У періоди очікування ОС динамічно переміщає файли програм для їх оптимального розміщення на жорсткому диску і тим самим скорочує затримки при доступі до них. Такий підхід міг би зменшити час завантаження прикладних програм і відкриття файлів (теоретично).
Лекція 8. Ос unix
Початок розробки 1965 рік Multics. 1971 році UNIX на PDP-11 в 1973 році переписана на Ci. На початку 1984 року інстальована приблизно на 100 000 комп’ютерах. (BSD – Berkeley Software Distribution; SCO – Santa-Cruz Operation; Linux). Переваги та популярність пояснюються такими фактами:
1. Система написана на мові високого рівня Ci, завдяки цьому її легко читати, розуміти, модифікувати, переносити.
2. Наявність досить простого інтерфейсу користувача, який має можливість надавати користувачу всі необхідні послуги (зараз є інтерфейс аналогічний Windows 98, X-Windows та інше).
3. Є досить прості засоби, які дозволяють створювати складні програми з простіших.
4. Наявність ієрархічної файлової системи, яка легка у використанні та ефективна в роботі.
5. Забезпечується узгодження форматів у файлах, робота з послідовним потоком байтів, завдяки чому отримуємо більш легке читання прикладних програм.
6. Наявність простого інтерфейсу з периферійними пристроями.
7. Система є багатокористувацькою, багатозадачною, кожний користувач може одночасно виконувати декілька процесів. (Працює в одно-процесорному, багатопроцесорному та багатомашинному режимах).
8. Архітектура комп’ютера закрита від користувача який працює під UNIX, що полегшує процес написання програми, що працюють на різних конфігураціях апаратних засобів.
9. UNIX підтримує довільну мову програмування, для якої є транслятор та забезпечується системний інтерфейс, що встановлює відповідність між користувацькими запитами та набором запитів, що прийняті в UNIX.
Ядро ос unix
Ядро UNIX виконує функцію головного організатора її роботи. Воно виконує:
- керує послідовністю виконання процесів;
- резервує основну пам’ять та простір на дискетах;
- керує обміном даними між основною пам’яттю та периферійними пристроями;
- приймає від процесів запити на обслуговування.
Ядро – резидентна, в основній пам’яті, частина ОС. Ядро UNIX реалізує відносно обмежений набір функцій. Воно не реалізує жодної функції, яка безпосередньо служить користувачу. Для цього існують утиліти, які є посередниками між користувачем та ядром. Розробляти, експлуатувати та адаптувати програми – утиліти набагато простіше, ніж ядро системи. Ядро UNIX реалізовано приблизно на 10 000 операторах мови Ci та 1 000 операторах на мові Асемблеру (Основна ідея – мобільність). Ядро складається з двох секцій:
1) керування процесами;
2) керування ресурсами (пристроями).
Перші, резервують ресурси, визначають послідовність виконання процесів та приймаються і обслуговуються запити від них. Другі, контролюють передачу даних між основною пам’яттю та периферією.
Мобільність полягає в тому, що на різних типах комп’ютерів можуть використовуватись практично ідентичні секції керування процесами.
Секція керування пристроями, що призначена для роботи на конкретному комп’ютері, вміщує по одному модулю на кожний периферійний пристрій, підключений до комп’ютера (модуль – драйвер). При підключенні пристрою нового типу треба додавати новий драйвер.
