- •Скінчені детерміновані автомати. Математична модель, форми представлення. Оптимізація.
- •Формальне визначення
- •Приклад
- •Переваги і недоліки
- •Стекові автомати. Представлення, операції, принцип роботи. Магазинний автомат (ма)
- •Стековий автомат (са)
- •Організація автомата з магазинною пам'яттю
- •Операції автомата
- •Регулярні вирази та граматики. Синтаксичні діаграми.
- •Синтаксис регулярних висловів
- •Модель мовного транслятора. Фази мовного аналізу.
- •Представлення синтаксичної структури формальної мови. Форма Бекуса-Наура.
- •Представлення проміжного коду. Елементарні операції, польський запис.
- •Формування проміжного коду
- •Поняття оптимізації проміжного коду. Оптимізаційні операції.
- •Графічне представлення лінійних ділянок проміжного коду. Перетворення на графах.
- •Загальна модель операційної системи. Загальна та машинно-залежна складові.
- •Забезпечення функцій ос. Управління пам’яттю та зовнішніми пристроями.
- •Підсистема управління оперативною пам'яттю
-
Графічне представлення лінійних ділянок проміжного коду. Перетворення на графах.
Для запису проміжного коду елементарної операції записується у вигляді Ө,α1,α2,αn
Ө - операція
α1,α2,αn – дії над операціями.
В більшості сучаних компютерах реалізується модель Ө α1[α2]. Будь – яку лінійну ділянку можна представити у вигляді деревовидного графа. Якщо лінійна ділянка має довжену вхідних символів І={ α1…αn } вихідних символів U={β1…βn} деяка множена операцій P=(p1…pk). З яких кожна операція задається у вигляді pi βi= Өi, αi1…αi2 котра будується за наступним принципом: виписуються зміні, а потім послідовно створюються нові вузли, які відповідають цим назвам і означають відповідну операцію. Граф будується знизу верх і накожному наступному рівні залежності від операції використовують або вихід з вхідною зміною або вихід з проміжною зміною.
-
Загальна модель операційної системи. Загальна та машинно-залежна складові.
Операційна система (ОС) - це програма, яка забезпечує можливість раціонального використання устаткування комп'ютера зручним для користувача чином. ОС складається з того, що в англомовних країнах прийнято називати словом hardware, або технічне забезпечення: процесор, пам'ять, монітор, дискові пристрої і так далі, об'єднані магістральним з'єднанням, яке називається шиною. Обчислювальна система складається з програмного забезпечення. Все програмне забезпечення прийнято ділити на дві частини: прикладне і системне. До прикладного програмного забезпечення, як правило, відносяться різноманітні банківські та інші бізнес-програми, ігри, текстові процесори і тому подібне Під системним програмним забезпеченням зазвичай розуміють програми, сприяючі функціонуванню і розробці прикладних програм.
Сучасна тенденція в розробці операційних систем полягає в перенесенні значної частини системної коди на рівень користувача і одночасної мінімізації ядра. Мова йде про підході до побудови ядра, званому мікроядерною архітектурою (microkernel architecture) операційної системи, коли більшість її складових є самостійними програмами. В цьому випадку взаємодія між ними забезпечує спеціальний модуль ядра, званий мікроядром. Мікроядро працює в привілейованому режимі і забезпечує взаємодію між програмами, планування використання процесора, первинну обробку переривань, операції введення-виводу і базове управління пам'яттю.
Решта компонентів системи взаємодіє один з|із| одним шляхом передачі повідомлень через мікроядро.
Основна гідність мікроядерної архітектури - високий ступінь модульності ядра операційної системи. Це істотно спрощує додавання в нього нових компонентів. У мікроядерній операційній системі можна, не перериваючи її роботи, завантажувати і вивантажувати нові драйвери, файлові системи і так далі Істотно спрощується процес відладки компонентів ядра, оскільки нова версія драйвера може завантажуватися без перезапуску всієї операційної системи. Компоненти ядра операційної системи нічим принципово не відрізняються від призначених для користувача програм, тому для їх відладки можна застосовувати звичайні засоби. Мікроядерна архітектура підвищує надійність системи, оскільки помилка на рівні непривілейованої програми менш небезпечна, чим відмова на рівні режиму ядра.
В той же час мікроядерна архітектура операційної системи вносить додаткові накладні витрати, пов'язані з передачею повідомлень, що істотно впливає на продуктивність. Для того, щоб мікроядерна операційна система за швидкістю не поступалася операційним системам на базі монолітного ядра, потрібний дуже акуратно проектувати розбиття системи на компоненти, прагнучи мінімізувати взаємодію між ними. Таким чином, основна складність при створенні мікроядерних операційних систем -необходимость дуже акуратного проектування.