Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
готовые (нету 52 ,54,28,27,25,24,23,32.).doc
Скачиваний:
7
Добавлен:
20.04.2019
Размер:
199.68 Кб
Скачать

1)Опишите состав и назначение системного программного обеспечения?

Системное программирование – это процесс создания и применения программ, связанных с управлением использования и распределения ресурсов вычислительной системы, а также с задачами организации ее функционирования.Основные задачи изучения дисциплины:1)приобретение знаний о внутренней организации операционной системы, моделях работы ее отдельных подсистем, способов организации взаимодействия процессов как в пределах одной вычислительной системы, так и в распределенных системах;

2)ознакомление с технологией разработки системного программного обеспечения (ПО) и прикладных программ с использованием обращений к системным компонентам операционных систем;3)приобретение практических навыков работы над решением системных задач, включая аналитические исследования;.Программа — это данные, предназначенные для управления конкретными компонентами системы обработки информации в целях реализации определенного алгоритма.ПО— совокупность программ системы обработки информации и программных документов, необходимых для их эксплуатации.Системная программа— программа, предназначенная для поддержания работоспособности систем обработки информации или повышения эффективности ее использования. Прикл. Прога.—программа, предназначенная для решения задачи или класса задач в определенной области применения систем обработки информации. В соответствии с терминологией,Сист. программирование — это процесс разработки системных программ (в том числе, управляющих и обслуживающих). Система—единое целое, состоящее из множества компонентов и множества связей между ними. Тогда системное программирование—это разработка программ сложной структуры. Сегодняшнее деление предусматривает по меньшей мере три градации ПО: 1)Системное 2)Промежуточное 3)Прикладное.Сист прогр. — система, образуемая языком программирования, компилятором или интерпретатором программ, представленных на этом языке, соответствующей документацией, а также вспомогательными средствами для подготовки программ к форме, пригодной для выполнения.

2) Опишите принципы функционирования систем программирования.

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

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

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

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

Трансляторы — общее название для программ, осуществляющих трансляцию. Они подразделяются на Ассемблеры и Компиляторы — в зависимости от исходного языка программы, которую они обрабатывают. Ассемблеры работают с Автокодами или языками Ассемблера, Компиляторы — с языками высокого уровня.

Автокод — символьный язык программирования, предложения которого по своей структуре в основном подобны командам и обрабатываемым данным конкретного машинного языка.

Язык Ассемблера — язык программирования, который представляет собой символьную форму машинного языка с рядом возможностей, характерных для языка высокого уровня (обычно включает в себя макросредства). Язык высокого уровня — язык программирования, понятия и структура которого удобны для восприятия человеком. Объектный модуль — программный модуль, получаемый в результате трансляции исходного модуля.Загрузочный модуль — программный модуль, представленный в форме, пригодной для загрузки в оперативную память для выполнения. Интерпретация — реализация смысла некоторого синтаксически законченного текста, представленного на конкретном языке.

3)Опишите этапы трансляции. Приведите общую схему транслятора.

На этапе анализа выполняется распознавание текста исходной программы, соз­дание и заполнение таблиц идентификаторов.На этапе синтеза на основании внутреннего представления программы и инфор­мации, содержащейся в таблице (таблицах) идентификаторов, порождается текст результирующей программы. Результатом этого этапа является объектный код. Эти этапы, в свою очередь, состоят из более мелких этапов, называемых фазами компиляции. Компилятор в целом с точки зрения теории формальных языков выступает в «двух ипостасях», выполняет две основные функции.Лексический анализ (сканер) — это часть компилятора, которая читает литеры программы на исходном языке и строит из них слова (лексемы) исходного язы­ка. Синтаксический разбор — это основная часть компилятора на этапе анализа. Она выполняет выделение синтаксических конструкций в тексте исходной програм­мы, обработанном лексическим анализатором. Семантический анализ — это часть компилятора, проверяющая правильность текста исходной программы с точки зрения семантики входного языка. Подготовка к генерации кода — это фаза, на которой компилятором выполняют­ся предварительные действия, непосредственно связанные с синтезом текста ре­зультирующей программы, но еще не ведущие к порождению текста на выход­ном языке.

Генерация кода — это фаза, непосредственно связанная с порождением команд, составляющих предложения выходного языка и в целом текст результирующей программы. Это основная фаза на этапе синтеза результирующей программы. Таблицы идентификаторов (иногда - «таблицы символов») — это специальным образом организованные наборы данных, служащие для хранения информации об элементах исходной программы, которые затем используются для порожде­ния текста результирующей программы.

4)Дайте определение транслятора. Приведите характеристики однопроходных и много проходных трансляторов.

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

Проход это процесс последовательного чтения компилятором данных из внеш­ней памяти, их обработки и помещения результата работы во внешнюю память. Чаще всего один проход включает в себя выполнение одной или нескольких фаз компиляции. Результатом промежуточных проходов является внутреннее пред­ставление исходной программы, результатом последнего прохода — результи­рующая объектная программа.Однопроходные компиляторы — редкость, они возможны только для очень про­стых языков. Реальные компиляторы выполняют, как правило, от двух до пяти проходов. Таким образом, реальные компиляторы являются многопроходными. Наиболее распространены двух- и трехпроходные компиляторы, например: пер­вый проход — лексический анализ, второй — синтаксический разбор и семанти­ческий анализ, третий — генерация и оптимизация кода (варианты исполнения, конечно, зависят от разработчика). В современных системах программирования нередко первый проход компилятора (лексический анализ кода) выполняется параллельно с редактированием кода исходной программы (такой вариант по­строения компиляторов рассмотрен далее в этой главе).