
- •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. Ввод и вывод данных.
37. Обобщённая структура компилятора, интерпритатора.
38. Фазы процесса трансляции и компиляции.
При компиляции анализ сост. из 3 фаз:
Линейный анализ: поток символов исходной программы считываются с лева на право и группируются в токены(последовательность символов с определённым значением).
иерархический анализ, при котором символы или токены иерархически группируются во вложенные конструкции с совокупным значением.
семантический анализ, позволяющий проверить насколько корректно совместное размещение компонентов программы-фаза генерации кода.
При трансляции не знаю(допиши сам , если знаешь).
39. Система обработки языка. Анализ и синтез. Синтаксическое дерево инструкции присвоения. Структура предварительной стадии компиляции. Рекурсивные правила.
Общие свойства и закономерности присущи как различным языкам программирования, так и трансляторам этих языков.
Выделяют функции, которые приводят к одинаковым результатам, несмотря на различия в организации процессов в преобразовании исходного текста. Учитывая схожесть компилятора и интерпретатора, рассматривают фазы, существующие в компиляторе. Эти функции называются фазами трансляции.
Компилятор=анализ+синтез.
Анализ-разбиение исходной программы на составные части и создание её промежуточного представления.
Синтез- конструирование требуемой целевой программы из промежуточного представления.
В
процессе анализа определяется и
записывается иерархическая древовидная
структура операции заданной исходной
программы: Ins:
=rate+60
Билет №40
Синтаксический аналазиатор- сложный блок и разбивается на след. Состовляющие:
Распознаватель
Семантический анализатор
Обьектная модель или промежуток
Синт. Структура
Тб. Имен
Семантические связи
Обобщенная схема синтаксического анализатора
Тб. Имен: стр-ра данных, содержащая записи о каждом идентификаторе с поля для его атрибутов
Распознаватель получает цепочку лексем и на её основе осущ. Разбор лексем в соотв. С используемыми правилами.
Лексемы при успешном разборе передаются семантическому анализатору, который строит Тб. Имен и фрагменты синтаксической стр-ры.
Тб. Имен и синт. Стр-ра фиксируются доп. Семантическими связями. На основе этого формируется обьектная модель, освобожденная от привязки к синтаксису языка программирования.
Достаточно часто вместо синт. Стр-ры полностью копирующей иерархию обьектов языка, создается более простой аналог, который называется промежуточным представлением.
41. Варианты взаимодействия блоков транслятора. Особенности.
Организационно процессы трансляции можно осуществить различными способами. Это определяется различными вариантами блоков транслятора. Можно выделить 2 основных варианта взаимодействия блоков транслятора:
- многопроходная организация,
- однопроходная организация.
Многопроходная организация – организация, при которой каждая из фаз является независимым процессом, передающим управление следующей фазе только после окончания полной обработки своих данных.
Однопроходная – организация, при которой все фазы это единый процесс и они передают данные между собой небольшими фрагментами.
Комбинированные варианты – процесс трансляции разбивается на 2 прохода: 1 - порождается полное представление (промежуточное) программы; 2 – осуществляется генерация кода.
Использование такой схемы позволяет легко переносить транслятор с одной вычислительной машины на другую путем переписывания генератора кода. Вместо Г.К. можно подключить эмулятор промежуточного представления, что просто позволяет разработать систему программирования на некотором языке, ориентированную на различные среды использования.
Совместное использование Г.К. и эмулятора – процесс трансляции, включая и генерацию кода, может быть выполнен за любое число проходов.