09/02/94 02:26pm
vved_5.lek
М.Рафикузман "Микропрцессоры и
машинное проектирование
микропроцессорных систем" М
"Мир" 1988 2 тома.
Л.Н.Преснухин серия "Микро-ЭВМ"
книга 6 "Универсальные машины
семейства СМ 1800" М "Высшая
школа" 1988.
Введение в системное программирование.
СТРУКТУРА ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ (ПО) ЭВМ:
ИСПЫТАТЕЛЬНЫЕ СИСТЕМЫ предназначены для проверки правильности функционирования аппаратных и программных средств ЭВМ (контрольные задачи), а также локализации места неисправности оборудования ВС.
СИСТЕМЫ
ПРОГРАММИРОВАНИЯ
используются при разработке
прикладных программ.
Наибольший интерес для системного
программиста представляют
МАШИННЫЕ и ВСПОМОГАТЕЛЬНЫЕ
системы.
Ассемблер - программа предназначенная для преобразования программы, написанной на машинно-ориентированном языке в программу на машинном языке.
Типы Ассемблеров:
Однопроходный - наиболее простой. Работает очень быстро, но применяется редко, поскольку возможны ссылки только "назад". Исходная программа просматривается один раз. Во время обработки каждой встретившейся метке присваивается адрес, и она заносится в таблицу. При появлении ссылки метка отыскивается в таблице; естественно при передаче "вперед" значение метки не определено.
Двухпроходный - работа основывается на разделении этапов вычисления значений меток и трансляции текста программы. Применяются наиболее часто.
Макроассемблер
- представляет собой двух и
более проходный ассемблер,
позволяющий программисту
определять макрокоманды -
последовательности каманд
ассемблера имеющие имя. При
обнаружении макровызова он
заменяется на соответствующую
последовательность команд (не
путать с обращением к
подпрограмме!).
Развитые макроассемблеры
позволяют производить
условную генерацию
(модифицировать
макроопределения в
зависимости от параметров
вызова).
Кросс-ассемблеры - формирует объектные коды в терминах процессора, отличного от данного. Может быть реализован как ассемблер любого типа из вышеперечисленных. Применяется в составе инструментальнх систем.
Резидентный ассемблер - являетсяь частью резидентного монитора и обычно "понимает" макрокоманды специфичные для данной системы.
Метаассемблер - помимо программы программист указывает правила ассемблирования для конкретного языка, этим обеспечивается возможность трансляции в объектную программу для заданного микропроцессора.
Редакторы предназначены для ввода исходных тектов програм в память машины.
Типы редакторов:
Строчные - каждой строке текста присваивается номер. Для редактирования строки необходимо указать ее номер; строка переписывается в буфер редактирования и модифицируется. В памяти машины строки распологаются в произвольном порядке, истинный порядок восстанавливается при сохранении текста на внешнем устройстве.
Командные - редактируемый текст хранится в "нормальном" виде. Имеется абстрактный указатель на текущий символ. Пользователь видит часть содержимого буфера и осуществляет редактирование подавая команды перемещения указателя, раздвижки (вставки) и удаления.
Экранный - более удобный вариант командного редактора. Абстрактному указателю позиции в файле ставится в соответствие курсор на экране терминала. Все внесенные изменения мгновенно отображаются на экране.
Современные редакторы имеют возможность составления пользовательских макрокоманд редактирования текста и межпрограммные иртерфейсы с языками программирования.
Редакторы связей осуществляют создание исполняемого модуля из объектных в соответствии с правилами, действующими в конкретной ОС.
Загрузчики - загружают исполняемый файл в ОП на основе таблици загрузки.
Типы загрузчиков:
Начальный - обычно предназначен для загрузки содержимого определенного участка внешней памяти в фиксированную область ОП с последующей передачей управления.
Абсолютный - загружает программы НЕПЕРЕМЕЩАЕМЫХ форматов.
Перемещающий - при загрузке настраивает программу на заданную область памяти путем изменения объектного кода по таблице настройки.
Связывающий - гибрид перемещающего загрузчика и редактора связей. Применяется в мультипрограммных системах и системах виртуальной памяти.
Библиотекари - осуществляют компактное размещение файлов (объектных) на внешнем носителе с целью организации оперативного доступа к ним.
ОПЕРАЦИОННЫЕ СИСТЕМЫ - комплекс програм,загружаемый в ОП после включения питания и предназначенный: для ведения ФАЙЛОВОЙ СИСТЕМЫ; управления ПАМЯТЬЮ, ПРОЦЕССАМИ; ведения ДИАЛОГА С ПОЛЬЗОВАТЕЛЕМ; обслуживания СТАНДАРТНЫХ УСТРОЙСТВ.
Монитор - комплекс системных аппаратозависимых программ, необходимых для выполнения минимальных функций ЭВМ.
ОС ОБЩЕГО НАЗНАЧЕНИЯ - используются в непромышленной сфере для организации работы пакетов прикладных программ, а также как операционная среда для профессиональных персональных применений. Распространены наиболее широко.
ИНСТРУМЕНТАЛЬНЫЕ СИСТЕМЫ - предназначены для разработки сложных программных проектов. Имеют значительное количество сервисных программ (УТИЛИТ) сопровождения ПО.
ОС РЕАЛЬНОГО ВРЕМЕНИ - мультипрограммные многозадачные системы, предназначенные для реализации многопользовательского режима работы и управления технологоческими процессами. Являются самыми сложными системами с развитой системой управления ресурсами и датчиком реального времени.