- •Змістовий модуль 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. Ос однопроцесорних кс. Класифікація ос.
- •Режими організації обчислювального процесу. (Немає) Основні принципи побудови операційних систем.
- •Принцип модульності.
- •Принцип функціональної вибірковості.
- •Принцип генерування ос.
- •Принцип відкритої і нарощуваний ос.
- •Принцип мобільності.
- •Принцип забезпечення безпеки обчислень.
Критерії ефективності обчислювального процесу. (Немає) Методи підвищення продуктивності системи для багатопроцесорних систем.
Багатопроцесорні тарозподіленісистеми • Кількість промахів кеша при цьому теж збільшується внаслідок того,що всистемі збільшено кількість потоків, які потрібно планувати.
• Що більше процесорів, то більше зусиль потрібно докладати для забезпечення когерентності кеша.
4- Кількість блокуваньу системі зростає із ростом кількості процесорів.
Найбільший рівень масштабування навантаження досягають для потоків, обмежених можливостями процесора, найменший— для потоків, обмежених можливостями пристроїв введення-виведення.
Продуктивність окремих застосувань Розглянемо, яким чином впливає наявність кількох процесорів на час виконання програмного коду.
Багатопроцесорність дає змогу поліпшити характеристики програми тільки тоді, колив ній наявний паралелізм (як було зазначенов розділі3.2, за умов багатопроцесорності може бути реалізовано справжній паралелізм, коли окремічастини програми виконуються одночасно кількома процесорами). При цьому для того щоб ОС мала можливість організувати такий паралелізм, код програми має бути багатопотоковим. Якщо програма не використовує багатопотоковість, її виконання у багатопроцесорній системі може спричинити зниження продуктивності через очікування на додаткових блокуваннях і міграцію між процесорами.
Крім того, навіть якщо програмає багатопотоковою, максимальне поліпшення її продуктивності обмежене відповідно до закону Амдала
Де 5— виграшу швидкості виконання; Т— загальний обсяг коду,Гпосл- обсяг коду, що не може бути виконаний паралельно, п - кількість процесорів.
Механізм динамічних пріоритетів в ос unix.
Система Unix — багатокористувальницька. Кожному користувачу після реєстрації (входу в систему)
дається віртуальний комп'ютер, у якому є всі необхідні ресурси: процесор (процесорний час виділяється на
основі «карусельної» диспетчеризації (RR — round robin) і з використанням динамічних пріоритетів для того,
щоб забезпечити рівність в обслуговуванні), пам'ять, пристрої, файли. Поточний стан такого віртуального
комп'ютера, наданого користувачу, називається образом. Можна сказати, що процес — це виконання образа.
Образ складається з:
образа пам'яті;
значень загальних регістрів процесора;
стану відкритих файлів;
поточного директорія (каталогу файлів) і іншої інформації.
Образ процесу під час його виконання розміщується в основній пам'яті. У старих версіях системи
Unix образ міг бути вивантажений (откачан) на диск, якщо якому-небудь більш пріоритетному процесу
потрібно місце в основній пам'яті.
У сучасних реалізаціях, що підтримують, як правило, сторінковий механізм віртуальної пам'яті,
насамперед вивантажуються невикористовувані сторінки.
Образ пам'яті поділяється на три логічних сегменти:
сегмент реєнтерабельних процедур (починається з нульової адреси у віртуальному адресному просторі
процесу);
сегмент даних (розташовується за сегментом процедур і може рости убік великих адрес);
сегмент стека (починається зі старшої адреси і росте убік молодших адрес у міру занесення в нього
інформації при викликах підпрограм і при перериваннях).
У своїх останніх варіантах ОС UNIX підтримує концепцію м'якого реального часу. Це робиться способом, що не виходять за межі основоположного принципу поділу часу. Як ми зазначали вище, є певний діапазон значень статичних пріоритетів процесів. Деякий піддіапазон цього діапазону включає значення статичних пріоритетів процесів реального часу. Процеси, що володіють динамічними пріоритетами, заснованими на статичних пріоритети процесів реального часу, володіють наступними особливостями:
Кожному з таких процесів надається необмежений зверху квант часу на процесорі. Іншими словами, що зайняв процесор процес реального часу не буде з нього знятий до тих пір, поки сам не заявить про неможливість продовження виконання (наприклад, задавши обмін із зовнішнім пристроєм).Процес реального часу не може бути переміщений з основної пам'яті в зовнішню, якщо він готовий до виконання, і в оперативній пам'яті присутній хоча б один процес, який не належить до категорії процесів реального часу (тобто процеси реального часу переміщаються в зовнішню пам'ять останніми, причому в порядку убування своїх динамічних пріоритетів). Будь-який процес реального часу, переміщений в зовнішню пам'ять, але готовий до виконання, переноситься назад в основну пам'ять як тільки в ній утворюється вільна область відповідного розміру. (Вибір процесу реального часу для повернення в основну пам'ять виробляється на підставі значень динамічних пріоритетів.)