vchilka.in.ua 1

Системне програмування

Питання до теоретичного екзамену

Формальні мови та граматики

  1. Мови та ланцюжки символів. Способи задавання мов.


  2. Визначення граматики. Форма Бекуса-Наура.

  3. Класифікація мов і граматик.

  4. Ланцюжки виводу. Сентеціальна форма.

  5. Проблеми однозначності і еквівалентності граматик.

  6. Розпізнавач. Задача розбору.

Регулярні мови


  1. Регулярні мови та граматики.

  2. Скінченні автомати.

  3. Регулярні множини та регулярні вирази.

  4. Способи задання регулярних мов.

  5. Властивості регулярних мов.

Контекстно-вільні мови


  1. Розпізнавачі КВ-мов. Автомати з магазинною пам’яттю.

  2. Властивості КВ-мов.

  3. Перетворення КВ-граматик. Приведені граматики.

  4. КВ-граматики в нормальній формі.

  5. Розпізнавачі КВ-мов з поверненням.

  6. Табличні розпізнавачі для КВ-мов.

Класи КВ-мов і граматик


  1. Нисхідні розпізнавачі КВ-мов без повернення.

  2. Висхідні розпізнавачі КВ-мов.

  3. Співвідношення класів КВ-мов та КВ-граматик.

Загальні принципи побудови трансляторів


  1. Транслятори, компілятори та інтерпретатори – загальна схема роботи.

  2. Таблиці ідентифікаторів. Організація таблиць ідентифікаторів.

  3. Лексичні аналізатори (сканери). Принципи побудови сканерів.

  4. Синтаксичні аналізатори. Синтаксично-керований переклад.

Генерація та оптимізація коду


  1. Семантичний аналіз та підготовка до генерації коду.

  2. Генерація коду. Методи генерації коду.

  3. Оптимізація коду. Загальні методи оптимізації.

Сучасні системи програмування


  1. Визначення та структура системи програмування.

  2. Принципи функціонування систем програмування.
  3. Додаткові можливості систем програмування. Приклади сучасних систем програмування.

Загальні принципи побудови операційних систем


  1. Загальні визначення. Визначення обчислювального процесу та ресурсу.

  2. Основні види ресурсів.

  3. Переривання.

  4. Класифікація операційних систем.

Управління процесами, потоками та пам’яттю


  1. Планування та диспетчеризація процесів і потоків.

  2. Пам’ять та відображення. Віртуальний адресний простір.

  3. Простий неперервний розподіл і розподіл з перекриттям (оверлейні структури).

  4. Розподіл статичними та динамічними розділами.

  5. Сегментна, сторінкова та сегментно-сторінкова організація пам’яті.

  6. Розподіл оперативної пам’яті в сучасних операційних системах.

Особливості архітектури процесорів i80x86


  1. Реальний та захищений режими роботи процесору.

  2. Нові системні регістри мікропроцесорів і80х86.

  3. Адресація в 32-розрядних мікропроцесорах і80х86 при роботі в захищеному режимі.

  4. Захист адресного простору задач.

  5. Система переривань 32-розрядних мікропроцесорів і80х86.

Управління вводом/виводом та файлові системи


  1. Загальні визначення та концепції організації вводу/виводу в операційних системах. Режими управління вводом/виводом.

  2. Синхронний та асинхронний ввід/вивід.

  3. Функції файлової системи ОС та ієрархія даних.

  4. Файлові системи FAT, HPFS, NTFS.

Архітектура операційних систем і інтерфейси прикладного програмування


  1. Загальні принципи побудови операційних систем.

  2. Мікроядерні операційні системи.

  3. Монолітні операційні системи.

  4. Вимоги до операційних систем реального часу.

  5. Принципи побудови інтерфейсів операційних систем.

  6. Інтерфейс прикладного програмування.
  7. Незалежний від платформи інтерфейс POSIX.


  8. Приклади програмування для різних API операційних систем.

Проектування паралельних взаємодіючих обчислювальних процесів


  1. Незалежні та взаємодіючі обчислювальні процеси. Засоби синхронізації та зв’язку при проектуванні взаємодіючих обчислювальних процесів.

  2. Монітори Хоара. Почтові чарунки. Конвеєри та черги повідомлень.

  3. Приклади створення паралельних взаємодіючих обчислювальних процесів.

Проблема застоїв та засоби боротьби з ними


  1. Визначення застійної ситуації при виконанні паралельних обчислювальних процесів. Приклади застійних ситуацій та причини їх виникнення.

  2. Формальні моделі для вивчення проблеми застійних ситуацій. Методи боротьби з застоями.