Билеты

Билеты


Билет 1. Компиляторы и интерпретаторы. Структура компиляторов и интерпретаторов. Лексический, синтаксический и семантический анализаторы


Транслятор - это программа, преобразующая исходный код программы в эквивалентный результатирующий код на другом языке.

В работе транслятора участвуют три программы:

  1. Сам транслятор - набор машинных команд, входит в состав системного программного обеспечения вычислительной системы.
  2. Исходный код - транслируемая программа на каком-либо языке программирования.
  3. Результатирующий код - эквивалентная исходному коду последовательность инструкций на другом языке.


Компилятор - транслятор, осуществляющий перевод программы на языке высокого уровня в эквивалентный объектный файл на языке машинных команд.

Интерпретатор - это программа, которая пооператорно считывает программу на исходном языке и сразу выполняет ее. Не порождает объектный файл программы, в отличие от компилятора.


Структура компилятора: (5 этапов)

  1. Лексический анализатор
  2. Синтаксический анализатор
  3. Семантический анализатор
  4. Оптимизация
  5. Генерация кода


1 Лексический анализатор.

Функции:

  1. читает входную цепочку символов
  2. формирует из них лексемы. Лексемы включают в себя элементарные единицы языка. Примеры лексем - идентификаторы, константы, ключевые слова, знаки операций.
  3. передает лексемы синтаксическому анализатору


2 Синтаксический анализатор

Функции:

  1. Принимает от лексического анализатора лексемы
  2. Разбирает лексемы, строит из них синтаксическое дерево (дерево разбора). Пример дерева разбора: 1 + 2 * 3 -> (2 3 *) (1 +)
  3. Проверяет синтаксическую правильность программы


3 Семантический анализатор

Функции:

  1. Проверяет семантическую правильность дерева разбора с точки зрения входного языка. Примеры: проверка существования объявленных идентификаторов, наличие области памяти, с которой связана ссылка, согласование типов данных и т. д.





Билет 3. Сообщения и сигналы. Кодирование. Типы сигналов - цифровой и аналоговый

Сообщение - форма представления информации, имеющая признаки начала и конца, предназначенная для передачи по каналам связи.

Сигнал - носитель информации, используемый для передачи сообщений в каналах связи.

Кодирование - это процесс преобразования сигнала из одной формы в другую.

Типы сигналов:

  1. Цифровой сигнал - описывается за счет дискретной функции. Более помехоустойчив, чем аналоговый. Представляет собой двоичный поток.
  2. Аналоговый сигнал - представляют собой бесконечное множество значений некоторой величины в пределах ограниченного диапазона. Непрерывный во времени поток данных. Недостаток - отсутствие помехоустойчивости.

Дискретизация - процесс преобразования аналогового сигнала в цифровой. Суть заключается в замене непрерывной функции отдельными значениями.


Билет 4. Организация параллельной работы устройств I/O и процессора

Задачи, которые решает подсистема ввода-вывода (I/O System) при обмене данными с внешними устройствами:

  1. Организация параллельной работы устройств ввода-вывода и процессора
  2. Согласование скоростей обмена и кеширования данных
  3. Разделение устройств и данных между процессами
  4. Обеспечение логического интерфейса между устройствами и остальной частью системы


Примеры устройств ввода-вывода: монитор, принтер, терминал.

Организация параллельной работы устройств ввода-вывода

Каждое устройство ввода-вывода снабжено специальным блоком управления - контроллером ввода-вывода.

Функция контроллера:

Контроллер принимает от драйвера выводимую на устройство информацию, а также команды управления, сообщающие о том, что с этой информацией нужно сделать. Под управлением контроллера устройство некоторое время работает автономно, без участия процессора.

Скорость работы любого устройства ввода-вывода существенно ниже скорости работы процессора. От подсистемы ввода-вывода требуется минимизировать загрузку процессора задачами ввода-вывода, оставив как можно больше процессорного времени для выполнения пользовательских потоков.

Для решения этой задачи все драйверы распределяются на несколько приоритетных уровней в зависимости от требований ко времени реакции и времени использования процессора.


Билет 5. АТД стек. Реализация с помощью указателей

АТД - абстрактный тип данных.

Стек - это структура данных, в которой все элементы придерживаются принципа LIFO (last in - first out) - первый зашел, последний вышел.

Функции стека:

  1. Позволяет хранить данные
  2. Поддерживает минимум две операции: push (кладет элемент на вершину стека) и pop (извлекает элемент из вершины стека и возвращает его)

Возможны две самые распространенные ошибки в реализации стека:

  1. stack underflow - попытка снять элемент с пустого стека
  2. stack owerflow - попытка поместить элемент в переполненный стек

Указатель - это переменная, значением которой является адрес ячейки памяти.


Билет 6. Формат протокола стандарта Ethernet и порядок доступа к среде передачи

На практике используется формат кадра Ethernet DIX, называемый также Ethernet II.

Формат кадра:

Преамбула (8 байт) - предназначена для синхронизации.

Адрес получателя (6 байт) - MAC-адрес узла назначения.

Адрес отправителя (6 байт) - MAC-адрес узла отправителя.

Тип протокола (2) - содержит информацию о типе протокола верхнего (сетевого) уровня, данные которого находятся в поле "данные" кадра.

Данные (46-1500) - поле данных, содержащее в себе данные протокола верхнего уровня.

CRC (контрольная сумма пакета) - поле контрольной суммы. Требуется для обнаружения и исправления ошибок. Если контрольная сумма не совпадает, пакет пересылается заново.

Порядок доступа к среде передачи

Метод доступа к среде передачи данных - CSMA/CD - прослушивание несущей частоты с множественным доступом и распознаванием коллизий.

Все компьютеры в сети на разделяемой среде имеют возможность немедленно получить данные, которые любой из компьютеров начал передавать в разделяемую среду.

Чтобы передавать данные, отправитель должен убедиться, что среда свободна. Это достигается прослушиванием несущей частоты. Признаком незанятости является отсутствие несущей частоты. Если среда свободна, отправитель начинает передачу кадра. Все подключенные станции записывают в свой буфер кадр и сравнивают поле "адрес получателя" со своим MAC-адресом. Если он не совпадает, то отбрасывается. После окончания передачи все узлы должны выдержать паузу - межпакетный интервал. Эта пауза нужна для приведения всех узлов в исходное состояние и для предотвращения монопольного захвата среды передачи одним узлом. После окончания паузы узлы могут начать передачу по-новой.


Билет 7. Основные понятия обеспечения безопасности информации: конфиденциальность, целостность, доступность

Конфиденциальность - гарантия, что информация будет прочитана только теми людьми или процессами, которые авторизованы это делать.

Пример конфиденциальности: установление защищенного соединения с веб-сайтом.

Целостность - гарантия того, что информация останется неизменной и корректной. Обеспечение целостности предполагает предотвращение неавторизованной модификации или удаления информации.

Пример целостности - контрольная сумма пересылаемого пакета данных.

Доступность - гарантия того, что авторизованные пользователи будут иметь доступ к информации. Обеспечение доступности включает меры для поддержания доступности, несмотря на помехи, включая отказ информационной системы и преднамеренные попытки нарушения доступности.

Пример доступности - обеспечение доступности с помощью гарантии пропускной способности или распределение нагрузки на веб-узел.


Билет 8. Матричные вычислительные системы

Вычислительная система - совокупность вычислительных элементов, предназначенная для сбора, хранения, обработки информации.

Матричная вычислительная система предназначена для решения задач параллельных вычислений.

Матричные ВС состоят из множества процессорных элементов, работающих параллельно и обрабатывающих свой поток данных.

Назначение МВС - обработка больших массивов данных.

В основе МВС лежит матричный процессор (МП), состоящий из массива процессорных элементов (ПЭ). Такие системы имеют общее управляющее устройство, генерирующее общий поток команд, и большое число ПЭ, работающих параллельно и обрабатывающих каждый свой поток данных.

Параллельную обработку данных обеспечивает массив процессорных элементов (МПЭ). Единый поток команд, управляющий обработкой данных в МПЭ, генерируется контроллером массива процессорных элементов (КМПЭ). КМПЭ транслирует в МПЭ команды и данные.






Report Page