
- •1. Основные понятия и определения. Операционные системы как средство распределения и управления ресурсами.
- •2. Архитектура unix. Основные стандарты.
- •3. Модель системы unix.
- •4. Ядро системы. Внутренняя структура ядра.
- •5. Файловая подсистема
- •6. Подсистема ввода/вывода
- •7. Подсистема управления процессами
- •8. Работа в операционной системе unix
- •9 Файлы и файловая подсистема. Типы файлов.
- •11 Владельцы файлов. Права доступа к файлу. Дополнительные атрибуты файла.
- •12 Командный интерпритатор Shell. Синтаксис языка Bourn Shell. Общий синтаксис скрипта.
- •13 Основные утилиты unix
- •14 Подсистема управления процессом. Структура данных процесса, состояния процесса.
- •15Типы процессов: системные процессы, демоны, прикладные процессы.
- •16.Жизненый путь процесса. Инфраструктура процесса ос unix.
- •21. Планирование и управление процессами. Основные принципы и механизмы, обработка прерываний таймера, алармы, создание процесса.
- •22. Сигналы. Управление сигналами: отправление сигнала, доставка и обработка сигнала.
- •23. Взаимодействие между процессами. Средства межпроцессного взаимодействия.
- •24. Настройка командного интерпретатора. Работа с командным интерпретатором. Способы установки командного интерпретатора.
- •26. Файловая подсистема. Базовая файловая система System V . Основные компоненты файловой системы s5fs, массив индексных дескрипторов. Достоинства, недостатки.
- •27. Файловая система ffs. Основные изменения.
- •28. Архитектура виртуальной файловой системы. Монтирование файловой системы. Трансляция имен. Системные вызовы, требующие трансляции имени.
- •33. Блочные устройства
- •35. Трансляторы. Основные понятия и определения
- •36. Общие особенности языков программирования и трансляторов
- •37. Обобщённая структура компилятора, интерпритатора.
- •38. Фазы процесса трансляции и компиляции.
- •Обобщенная схема синтаксического анализатора
- •41. Варианты взаимодействия блоков транслятора. Особенности.
- •42. Многопроходная организация взаимодействия блоков транслятора. Достоинства и недостатки.
- •43. Однопроходная организация взаимодействия блоков транслятора. Достоинства и недостатки.
- •Наиболее широкое применение при разработке трансляторов нашли кс-грамматики и порождаемые ими кс языки. Способы записи синтаксиса языка
- •Метаязык Хомского
- •46 Метаязык Хомского-Щутценберже
- •49. Распознаватели.
- •50. Организация лексического анализа. Назначение и необходимость фазы
- •55. Грамматики с ограничениями на правила.
- •56.Устройства управления с конечной памятью.
- •57. Методы лексического анализа
- •58. Организация прямого л/а
- •59. Общие принципы организации синтаксического разбора. Назначение, классификация методов синтаксического разбора.
- •60. Методы синтаксического разбора.
- •Последовательность разбора.
- •Использование просмотра вперед.
- •Разработка программы по таблице переходов амп
- •64 Организация автоматов с магазинной памятью.
- •65 Распознаватель скобочных выражений.
- •67 Основные команды Linux. Ввод и вывод данных.
58. Организация прямого л/а
Строится
на основе первого детерминированного
автомата, объединяя множество автоматов,
распознающих отдельные лексемы. Он
читает 1 входной символ и переходит в
следующее состояние, приближая его к
следующей лексеме. Для лексем имеющих
одинаковые подцепочки, автомат имеет
общие фрагменты, реализующие единое
множество состояний. Отличающиеся части
реализуются своими фрагментами. Структура
на рис. 4.10.
Прямой л/а содержит входную головку, кот. передает текущий символ в первое состояние одному из блоков, реализующих алгоритм. Разбиение на фрагменты проводится на основе выделений состояний, специализирующихся на распознавании общих или части цепочек отдельных лексем. В самом общем случае л/а может рассматриваться как единый неструктурированный блок. Поэтому его деление на отдельные части условное. Очередной символ читается каждым состоянием автомата. В каждом фрагменте условно можно выделить начальное состояние, с кот. начинается разбор по цепочке, закрепленной за данным фрагментом. Если символ не входит в группу начально распознаваемого фрагмента, то отказ и передача управления начальному состоянию др. входного фрагмента, кот. анализирует др. входную цепочку. Результат разбора – лексема или ошибка.
Достоинства:
Высокая производительность за счет отсутствия возврата входной головки.
Меньше общее число состояний, что получается за счет слияния отдельных фрагментов, отдельных автоматов и минимизация.
Недостатки:
На разработку требуется больше времени
Невозможно реализовать для некоторых языков программирования.
59. Общие принципы организации синтаксического разбора. Назначение, классификация методов синтаксического разбора.
Синтаксический разбор (с/р) явл. первым этапом с/а. Именно при его выполнении осуществляется подтверждение того, что входная цепочка символов явл. программой, а отдельные подцепочки составляют синтаксически правильные программные объекты. Вслед за распознаванием отдельных подцепочек осуществляется анализ их семантической корректности на основе накопленной информации. Затем проводится добавление новых объектов в объектную модель или в промежуточное представление. Разбор предназначен для доказательства того, что анализируемая входная цепочка, записанная на входной ленте принадлежит или не принадлежит множеству цепочек порождаемой грамматикой данного языка. При выполнении с/р осуществляемое распознавание- автомат. Поэтому данный процесс называют распознавание входной цепочки. Цель доказательства в том, чтобы ответить на вопрос: принадлежит ли данная цепочка множеству правильных цепочек заданного языка? Чтобы получить ответ да относительно каждой цепочки и след для каждого правила след осуществить разбор каждой цепочки. Т.к. множество правил образует иерархическую структуру, то процесс получения общего положительного ответа можно интерпретировать как сбор по определенному типу ответов для листьев лежащих в основе дерева разбора. Далее анализируются узлы. Полученный ответ складывается в конечный ответ для нового узла.
Классификация методов с/р
Методы разбора: нисходящий., восходящий, комбинированный (сочетает особенности 2-ух предыдущих).
Последовательность разбора: слева направо, справа налево, произвольный.
Просмотр вперед: на 1 символ, ... , на n символов.
Использование возвратов: есть, нет.