
- •1. Эволюция операционных систем Операционные системы
- •Эволюция ос
- •2. Операционные системы (ос). Классификация ос по особенностям алгоритмов управления.
- •4. Поддержка многонитевости систем
- •3. Операционная система. Классификация спо по особенности аппаратных платформ.
- •1. Ос больших машин
- •Особенности методов построения.
- •5. Процесс, состояния процесса, свойства процессов.
- •Свойства процессов.
- •Процесс. Классификация процессов.
- •7. Ресурс, свойства ревурсов.
- •Свойства ресурсов
- •Ресурсы. Классификация ресурсов
- •6.По функциональной избыточности (изменчивости):
- •8.По восстанавливаемости:
- •9.По характеру использования:
- •Реализация понятия последовательного процесса в операционной системе
- •Потоки (нити, треды)
- •Дисциплины диспетчеризации
- •Планирование и диспетчеризация процессов и задач
- •10. Прерывания
- •Виды прерываний:
- •Дисциплины диспетчеризации
- •12. Архитектура ос.
- •Вспомогательные модули
- •Средства аппаратной поддержки ос
- •Микроядерная архитектура
- •2.Расширяемость
- •15. Файловая система. Структура магнитного диска.
- •16. Физическая организация fat
- •Загрузочная запись dos
- •17. Файловая система hpfs
- •Структура раздела hpfs.
- •18. Ntfs
- •19.Проектирование взаимодействующих вычислительных процессов (взаимное исключение). Синхронизация посредством операции ‘проверка - устаовка’.Семафоры.
- •1.Проектирование взаимодействующих вычислительных процессов (взаимное исключение).
- •2.Синхронизация посредством операции«проверка и установка»
- •3.Семафоры
- •20. Мониторы хоара. Почтовые ящики, конвейеры, тупики. Мониторы хоара.
- •Почтовые ящики
- •Конвейеры
- •Тупики:
- •21. Структура современных систем программирования.
- •22. Основные принципы построения транслятора.
- •4. Построение на основе хэш – функции.
- •23. Лексический анализатор, синтаксический разбор основные принципы построения транслятора.
- •24. Семантический анализ, подготовка к генерации кода, генерация кода основные принципы построения транслятора.
- •25. Регистры общего назначения. Команда mov.
- •Команда mov.
- •26. Назначение сегментов. Реализация арифметических операций на ассемблере. Назначение сегментов
- •Операция умножения
- •Операция деления
- •Определение данных. Организация условного и безусловного перехода на ассемблере
- •28. Логика и организация циклических вычислений с помощью команды loop
- •Команды логических операций
- •29. Регистрфлагов
- •30. Команды обработки строковых данных в ассемблере.
- •Команды обработки строк
- •31. Понятие объектно-ориентированной модели программных компонент delphi
- •31. Структура интерфейса визуальной среды delphi
- •35. Объект: понятие, свойства.
- •Понятие Свойства и События
- •34.Основные события
- •32.Описание и назначение основных компонент выбора вариантов стандартной панели
- •Отладка модулей проекта
- •Отладка синтаксических ошибок
- •Отладка логических ошибок
- •37. Графические компоненты
22. Основные принципы построения транслятора.
Транслятор – программа, которая переводит входную программу на исходном языке на эквивалентную ей выходную программу на результирующем языке.
ПРИМЕР: трансляция программы с языка Паскаль на язык Ассемблер.
Компилятор – транслятор, который осуществляет перевод исходной программы и эквивалентную ей объектную программу на языке машинных команд. (язык Ассемблер)
Интерпретатор – программа, которая воспринимает входную программу на исходном языке и выполняет ее; но, в отличие от транслятора, интерпретаторы не порождают результирующую программу.
На этапе АНАЛИЗА выполняется распознавание исходной программы, создание и заполнение таблиц идентификатора.
На этапе СИНТЕЗА на основании внутреннего представления программ, а также информации, находящейся в таблице идентификатора, порождается результирующая программа.
ПОСТРОЕНИЕ ТАБЛИЦ ИДЕНТИФИКАТОРОВ.
Таблицы Идентификаторов состоят из набора полей, количество которых равно числу различных идентификаторов, найденных в исходной программе.
Эти таблицы могут хранить следующую информацию:
Для переменных – имя переменной, тип данных, область памяти;
Для констант – имя, значение;
Для функций – имя, количество и тип формальных аргументов, тип результата, адрес кода;
МЕТОДЫ ПОСТРОЕНИЯ ТАБЛИЦ ИДЕНТИФИКАТОРОВ.
Построение в виде непрерывного массива данных.
т.е. путем добавления в ее конец нового элемента (время заполнения TЗ), но время для поиска TП элемента будет велико, и будет зависеть только от количества элементов N таблицы: TП=O(N).
Заполнение таблицы в алфавитном порядке.
Время заполнения зависит от количества элементов, т.к. необходимо будет упорядочивать каждый раз элементы таблицы.
Поиск элемента в таблице может быть логарифмическим: ТП=O(log2N), (т.к. на каждом шаге число элементов, которые могут содержать искомый элемент сокращается наполовину, то максимальное число сравнений равно 1+ log2N).
Бинарный поиск: проверяется средний элемент таблицы,
если
искомый элемент больше, то проверяется
от
доn,
если
меньше, то от 1 до
.
Построение по методу бинарного дерева.
НАПРИМЕР:
GA, D1, M22, E, A12, DC, F – идентификаторы.
GA
– корневая вершина.
Время заполнения: ТЗ=N·O(log2N).
Время поиска: ТП=O(log2N).
4. Построение на основе хэш – функции.
ХЭШ – функция отображает имена идентификаторов на множество целых неотрицательных чисел.
В этом случае каждый элемент таблицы размещается в ячейке, адрес которой возвращает ХЭШ – функция, вычисляемая для этого элемента. Для поиска элемента в таблице необходимо вычислить ХЭШ – функцию для искомого элемента и проверить, не является ли заданная его ячейка пустой (не пустая – элемент найден; пустая – не найден).