
- •Затверджую
- •Пояснювальна записка
- •Операційні системи
- •Програмування
- •Прикладна теорія цифрових автоматів
- •Системне програмування
- •Системне програмне забезпечення
- •Комп’ютерні мережі
- •Вимоги до рівня підготовки вступників Учасник іспиту повинен:
- •Література
- •Критерії оцінювання
- •Порядок проведення фахового вступного випробування
Системне програмне забезпечення
Введення в системне програмне забезпечення (СПЗ). Структура СПЗ. Класифікація СПЗ. Управляючі системні програми. Обробляючі системні програми. Групи системних програм. Призначення груп системних програм. Вимоги до системних програм.
Структура та основні компоненти обчислювальної системи. Функціональна структура обчислювальної системи. Центральний процесор. Режими роботи мікропроцесора. Шина даних. Організація пам'яті.
Введення в ОС. Поняття ОС. Еволюція ОС. Призначення та функції ОС. Управління локальними ресурсами. Вимоги до сучасних ОС. Класифікація сучасних ОС.
Архітектура ОС. Ядро ОС. Адро та допоміжні модулі ОС. Режими роботи ядра. Багатошарова структура ОС. Типові засоби апаратної підтримки ОС. Мікроядерна архітектура. Функції мікроядра. Переваги та недоліки мікроядерного підходу.
Архітектура ядра Windows NT. Режим ядра. Виконавча частина. Абстрагування від обладнання. Користувальні процеси. Підсистеми середи та бібліотеки DLL.
Процеси та потоки. Мультипрограмування та багатопроцесорна обробка. Процес та поток. Операції над процесами. Стан потоку. Планування та диспетчеризація потоків. Типи багатозадачності. Алгоритми планування виконанням потоків.
Синхронізація процесів та потоків. Паралельна обробка. Проблеми критичних ділянок. Взаємовиключення. Синхронізація паралельних процесів на низькому і високому рівні.
Управління пам’яттю. Типи адресів. Віртуальна пам'ять. Алгоритми розподілення пам'яті. Алгоритми розподілення, що не використовують віртуальну пам'ять. Алгоритми розподілення, що використовують віртуальну пам'ять. Типи сегментної адресації.
Реалізація файлової системи. Загальна структура файлової системи. Управління зовнішньої пам’яттю. Управління вільним та зайнятим дисковим простором. Структура файлової системи на диску.
Файлові системи ОС Windows, Unix і Linux. Принципи розміщення файлів. Принципи зберігання інформації про розташування файлів. Структура файлової системи. Основні особливості. Структура і розміщення каталогів. Надійність зберігання даних. Монтовані файлові системи. Файлова система FAT. Файлові системи VFAT FAT32. Основні особливості NTFS. Структура тома з NTFS.
Основи компіляторів. Основні поняття компіляції. Компілятори та інтерпретатори. Поняття вхідного мови, цільової мови та мови реалізації. Т-діаграми. Пряма компіляція, крос-компіляція, розкручування. Віртуальні машини. Компіляція "на льоту".
Теорія мов. Різні способи завдання мов в компіляції. Граматики. Кінцеві та магазинні автомати. Співвідношення між різними способами завдання мов. Додатки до цієї теорії в компіляції.
Таблиця ідентифікаторів. Короткий зміст. Призначення та особливості побудови таблиці ідентифікаторів. Методи побудови. Хеш-функції та хеш-адресація.
Лексичний аналіз. Основні завдання лексичного аналізу. Регулярні вирази. Використання кінцевих автоматів для лексичного аналізу. Використання кінцевих автоматів для лексичного аналізу. Алгоритми побудови кінцевих автоматів. Мінімізація. Утиліта Lex.
Синтаксичні аналізатори. Спадні аналізатори. Синтаксичний аналіз. Контекстно-вільні граматики. Спадні. Метод рекурсивного узвозу. Передбачаючий аналіз. LL-граматики. Приведення граматики к LL-виду. LL-аналізатори.
Висхідні аналізатори. Висхідні аналізатори. LR (K)-аналізатори. Побудова LR (0)-аналізатора. LR (1)-аналізатор. LALR-аналізатори. Неоднозначні граматики. Різні типи конфліктів. Розв'язання конфліктів. Використання генератор аналізаторів Yacc.
Семантичний аналіз. Призначення семантичного аналізу. Етапи аналізу. Фаза контролю типів. Ідентифікація. Робота з таблицями. Ідентифікація. Робота з типами.
Управління пам'яттю та збирання сміття. Управління пам'яттю з погляду розробника компілятора. Проблеми управління пам'яттю. Статичне і динамічне розміщення пам'яті. Стековий механізм керування пам'яттю. Управління купою. Підрахунок посилань і розмітка пам'яті.
Генерація коду. Принципи генерації коду. Синтаксично-керуємий переклад. Причини та засоби використання проміжних мов у компіляторах. Різні форми представлення проміжних мов (ПМ) в компіляторах. Атрибутивні дерева розбору. Прямий та зворотній польські запису. Тріади та тетроди.
Оптимізація. Задачі оптимізації. Види оптимізуючих перетворень. Представлення програми, що використовуються в оптимізаційних перетвореннях. Приклади оптимізуючих перетворень.