- •Змістовий модуль 1
- •Не 1.1. Структура системного програмного забезпечення Структура спз.
- •Місце ос в спз.
- •Поняття операційного середовища.
- •Операційні системи.
- •Системи керування файлами.
- •Інтерфейсні оболонки для взаємодії користувача з ос і програмні середовища.
- •Системи програмування.
- •Утиліти.
- •Основні функції ос.
- •Не 1.1. Базові поняття сучасних операційних систем Базові поняття операційної системи Linux. Файли, каталоги, робота з файлами. Права доступу до файлів і каталогів.Інструментарій.
- •Програми-фільтри. (немає) Командний інтерпретатор.
- •Змістовий модуль 2
- •Не 2.1. Загальна схема роботи компіляторів Визначення транслятора, компілятора, інтерпретатора.
- •Компілятор.
- •Різниця між інтерпретаторами і трансляторами.
- •Етапи трансляції.
- •Поняття проходу. Багатопрохідні і однопрохідні компілятори.
- •Не 2.2. Таблиці ідентифікаторів. Призначення та особливості побудови таблиць ідентифікаторів.
- •Найпростіші методики побудови таблиць ідентифікаторів.
- •Побудова таблиць ідентифікаторів методом бінарного дерева.
- •Не 2.3 Хеш-функції та хеш–адресація. Принципи роботи хеш-функцій.
- •Побудова таблиць ідентифікаторів на основі хеш-функцій.
- •Побудова таблиць ідентифікаторів методом ланцюжка.
- •Комбіновані способи побудови таблиць ідентифікаторів.
- •Змістовий модуль 3. Не 3.1.Кінцеві автомати. Визначення.
- •Детерміновані і недетерміновані кінцеві автомати.
- •Модель ка.
- •Розпізнавачі і перетворювачі. Визначення. Загальні поняття.
- •Класифікація розпізнавачів.
- •Не 3.2.Формальні мови та граматики. Способи завдання мов.
- •Операції над ланцюжками символів.(немає) Поняття мови.
- •Визначення формальної мови.
- •Визначення грамматики.
- •Класифікація граматик.
- •Способи задання схем грамтик Символічна, форма Наура-Бекуса, ітераційна форма й синтаксичні діаграми.
- •Чотири типи граматик по Хомському.
- •Правила побудови граматики із ланцюжка символів. (немає)
- •Змістовий модуль 4.
- •Не 4.1 Лексичні аналізатори (сканери).
- •Принципи побудови сканерів.
- •Призначення лексичного аналізатору.
- •Принципи побудови лексичних аналізаторів.
- •Граф кінцевого детермінованого автомата, що розпізнає граматику цілих чисел мови Сі(Немає) не 4.2.Синтаксичний та семантичний аналіз. Синтаксично-керований переклад.
- •Основні принципи роботи синтаксичних аналізаторів.
- •Дерево розбору. Перетворення дерева розбору в дерево операцій.
- •Призначення семантичного аналізу.
- •Етапи семантичного аналізу.
- •Ідентифікація лексичних одиниць мов програмування.
- •Розподіл пам’яті.
- •Не 4.3. Способи внутрішнього представлення програм Зв'язані облікові структури, що представляють синтаксичні дерева.
- •Багатоадресний код з явно іменованим результатом (тетради).
- •Багатоадресний код з неявно іменованим результатом (тріади).
- •Обернений (постфиксна) польський запис операцій.
- •Алгоритм Дейкстри.
- •Асемблерний код або машинні команди.
- •Розбір арифметичного виразу. Алгоритм Рутисхаузера.
- •Не 4.4 Генерація коду. Методи генерації коду.
- •Загальні принципи генерації коду.
- •Синтаксично керований переклад.
- •Змістовий модуль 5
- •Не 5.1. Керування процесами та ресурсами. Поняття обчислювального процесу та ресурсу.
- •Класифікація ресурсів.
- •Загальна схема виділення ресурсу.
- •Однопрограмний і мультипрограмний режими.
- •Основні риси мультипрограмного режиму.
- •Обчислювальні процеси.
- •Діаграма станів процесу.
- •Реалізація поняття послідовного процессу в ос.
- •Процеси і треди. (немає) Блок керування процесом.
- •Процеси в ос unix.
- •Події (переривання) - рушійна сила, що змінює стан процесів.
- •Механізм обробки переривань.
- •Функції механізму переривань.
- •Групи переривань.
- •Розподіл переривань по рівнях пріоритету.
- •Дисципліни обслуговування переривань.
- •Обробка переривань за участю супервізорів ос.
- •Не 5.2. Планування процесів та диспетчеризація задач. Функції ос, пов’язані з керуванням задач.
- •Організація черг процесів та ресурсів.
- •Priority queuing - (pq)
- •Стратегії планування.
- •Якість диспетчеризації та гарантії обслуговування.(Немає)
- •Безпріоритетні до: лінійні та циклічні.
- •Пріоритетні до: до з фіксованим пріоритетом та до з абсолютним пріоритетом.
- •Адаптивні до. (Немає) Визначення середнього часу знаходження заявки в системі. (Немає) Недоліки до з фіксованим пріоритетом.
- •Динамічне планування (диспетчеризація). (Немає) Диспетчеризація задач з використанням динамічних пріоритетів. Переваги і недоліки.
- •Критерії ефективності обчислювального процесу. (Немає) Методи підвищення продуктивності системи для багатопроцесорних систем.
- •Механізм динамічних пріоритетів в ос unix.
- •Змістовий модуль 6
- •Не 6.4. Керування пам’яттю. Пам'ять і відображення, віртуальний адресний простір.
- •Простий безперервний розподіл і розподіл з перекриттям (оверлейні структури).
- •Розподіл статичними і динамічними розділами.
- •Розділи з фіксованими границями. Розділи з рухливими границями.
- •Виділення пам'яті під новий розділ: перша придатна ділянка; сама придатна ділянка; сама невідповідна ділянка.
- •Сегментна, сторінкова і сегментно-сторінкова організація пам'яті. Сегментний спосіб організації віртуальної пам'яті.
- •Дисципліни заміщення: fifo; lru (1еаst recently used,); lfu (1еаst frequently used); random.
- •Сторінковий спосіб організації віртуальної пам'яті.
- •Сегментно-сторінковий спосіб організації віртуальної пам'яті.
- •Змістовий модуль 7
- •Не 7.1. Ос однопроцесорних кс. Класифікація ос.
- •Режими організації обчислювального процесу. (Немає) Основні принципи побудови операційних систем.
- •Принцип модульності.
- •Принцип функціональної вибірковості.
- •Принцип генерування ос.
- •Принцип відкритої і нарощуваний ос.
- •Принцип мобільності.
- •Принцип забезпечення безпеки обчислень.
Змістовий модуль 7
Операційні системи. Організація обчислювальних процесів в КС
Не 7.1. Ос однопроцесорних кс. Класифікація ос.
Операційні системи можна класифікувати за багатьма ознаками. Найпоширеніші способи класифікації операційних систем
За цільовим пристроєм
До другої половини 1990-х років операційні системи створювали лише для комп'ютерів, причому системи для персональних комп'ютерів і для мейнфреймів (надпотужних серверів фірми IBM) суттєво відрізнялися за призначенням і принципами роботи. Наприкінці XX століття значно зросли можливості мобільних телефонів, з'явилися кишенькові ПК, комунікатори (кишенькові ПК із засобами мобільного зв'язку) тощо. Для них також було створено операційні системи. Так виник термін «смартфон» — мобільний телефон з операційною системою.
За кількістю програм, що виконуються одночасно
В однозадачних ОС у кожен момент часу може виконуватися лише одна програма, у багатозадачних — кілька. В однозадачній ОС, перш ніж запустити одну програму, користувач має завершити виконання іншої. Звичайно, це незручно, і тому майже всі сучасні ОС багатозадачні.
За типом інтерфейсу
У багатозадачних ОС поширений графічний інтерфейс, який дає користувачу змогу керувати комп'ютером переважно за допомогою миші та в якому об'єкти системи подано у вигляді зображень на екрані
Цей інтерфейс для багатьох із нас звичний, оскільки його реалізовано в ОС Windows. Графічний інтерфейс набув поширення в 1990-х роках, а до того майже всі користувачі комп'ютерів працювали з текстовим інтерфейсом. У ньому команди вводяться переважно за допомогою клавіатури, а об'єкти ОС подаються в текстовому вигляді, тобто їхніми назвами. У деяких випадках текстовий інтерфейс має переваги над графічним, і тому вважати його лише «історичною спадщиною» не варто.
Класичний різновид текстового інтерфейсу — командний рядок, тобто поле, в яке користувач вводить команди.
Оскільки командний рядок є єдиною «точкою входу», через яку керують системою, цей тип інтерфейсу найбільше підходить для однозадачних ОС. У такій багатозадачній системі з графічним інтерфейсом, як Windows ХР, роботу з командним рядком забезпечує спеціальна утиліта.
За кількістю розрядів даних, що обробляються одночасно
Протягом останніх 15 років розрядність процесора типового комп'ютера збільшилася з 16 до 64. Проте потужності сучасних процесорів не можуть бути використані програмами автоматично, адже розроблена для 16-роз- рядного процесора програма одночасно обробляє лише 16 розрядів даних, навіть якщо вона виконується на 32- або 64-розрядному процесорі. Тому для повного використання можливостей потужних процесорів програм¬не забезпечення, зокрема й ОС, має розроблятися з урахуванням їхніх особливостей.
Отже, розрядність операційної системи — це розрядність процесорів, на роботу з якими розраховане її ядро.
Режими організації обчислювального процесу. (Немає) Основні принципи побудови операційних систем.
Дивись далі.
Принцип модульності.
Засоби виокремлення складових частин ОС до окремих модулів зреалізовуються найчастіше за функціональною ознакою. Модулем називається функціонально закінчений елемент системи, узгоджений з прийнятими міжмодульними інтерфейсами. За наявності необхідних інтерфейсів один модуль може бути легко замінений на інший при збереженні цілісності системи.
Модулям властиві такі особливості:
Привілейований модуль працює за вимкненої системи переривань. Цей модуль виконується до кінця, після чого його можна знову викликати для виконання іншого завдання. На рис. 1.3 показано структуру привілейованого модуля, який діє як поперемінно розподілюваний ресурс. Як приклад можна назвати модулі ядра ОС.
Рисунок 1.3 – Структура привілейованого модуля
Непривілейований модуль може бути перервано під час роботи, причому проміжні результати, отримані перед перериванням, можуть загубитись.
Модуль може бути одноразово використовувано, після чого він потребує відновлення.
Реентерабельні модулі дозволяють багаторазове переривання і повторний запуск з інших процесів. Вони забезпечують зберегання проміжних результатів, отриманих до переривання, і повернення до них, коли обчислювальний процес відновлюється з перерваної точки. Це зреалізовується за допомогою статичних або динамічних методів виділення пам’яті під проміжні дані.
Повторно входимі модулі припускають власне багаторазове паралельне використовування, але їх не можна переривати.
Найбільший ефект від використання принципу модульності досягається при поширенні його на ОС, додатки та апаратну платформу одночасно.