Введение в системное программирование

09/02/94 02:26pm vved_5.lek
М.Рафикузман "Микропрцессоры и машинное проектирование микропроцессорных систем" М "Мир" 1988 2 тома.
Л.Н.Преснухин серия "Микро-ЭВМ" книга 6 "Универсальные машины семейства СМ 1800" М "Высшая школа" 1988.

Введение в системное программирование.

СТРУКТУРА ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ (ПО) ЭВМ:

ИСПЫТАТЕЛЬНЫЕ СИСТЕМЫ предназначены для проверки правильности функционирования аппаратных и программных средств ЭВМ (контрольные задачи), а также локализации места неисправности оборудования ВС.

СИСТЕМЫ ПРОГРАММИРОВАНИЯ используются при разработке прикладных программ.
Наибольший интерес для системного программиста представляют МАШИННЫЕ и ВСПОМОГАТЕЛЬНЫЕ системы.

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

Типы Ассемблеров:

  1. Однопроходный - наиболее простой. Работает очень быстро, но применяется редко, поскольку возможны ссылки только "назад". Исходная программа просматривается один раз. Во время обработки каждой встретившейся метке присваивается адрес, и она заносится в таблицу. При появлении ссылки метка отыскивается в таблице; естественно при передаче "вперед" значение метки не определено.

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

  3. Макроассемблер - представляет собой двух и более проходный ассемблер, позволяющий программисту определять макрокоманды - последовательности каманд ассемблера имеющие имя. При обнаружении макровызова он заменяется на соответствующую последовательность команд (не путать с обращением к подпрограмме!).
    Развитые макроассемблеры позволяют производить условную генерацию (модифицировать макроопределения в зависимости от параметров вызова).

  4. Кросс-ассемблеры - формирует объектные коды в терминах процессора, отличного от данного. Может быть реализован как ассемблер любого типа из вышеперечисленных. Применяется в составе инструментальнх систем.

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

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

Редакторы предназначены для ввода исходных тектов програм в память машины.

Типы редакторов:

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

  2. Командные - редактируемый текст хранится в "нормальном" виде. Имеется абстрактный указатель на текущий символ. Пользователь видит часть содержимого буфера и осуществляет редактирование подавая команды перемещения указателя, раздвижки (вставки) и удаления.

  3. Экранный - более удобный вариант командного редактора. Абстрактному указателю позиции в файле ставится в соответствие курсор на экране терминала. Все внесенные изменения мгновенно отображаются на экране.

Современные редакторы имеют возможность составления пользовательских макрокоманд редактирования текста и межпрограммные иртерфейсы с языками программирования.

Редакторы связей осуществляют создание исполняемого модуля из объектных в соответствии с правилами, действующими в конкретной ОС.

Загрузчики - загружают исполняемый файл в ОП на основе таблици загрузки.

Типы загрузчиков:

  1. Начальный - обычно предназначен для загрузки содержимого определенного участка внешней памяти в фиксированную область ОП с последующей передачей управления.

  2. Абсолютный - загружает программы НЕПЕРЕМЕЩАЕМЫХ форматов.

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

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

Библиотекари - осуществляют компактное размещение файлов (объектных) на внешнем носителе с целью организации оперативного доступа к ним.

ОПЕРАЦИОННЫЕ СИСТЕМЫ - комплекс програм,загружаемый в ОП после включения питания и предназначенный: для ведения ФАЙЛОВОЙ СИСТЕМЫ; управления ПАМЯТЬЮ, ПРОЦЕССАМИ; ведения ДИАЛОГА С ПОЛЬЗОВАТЕЛЕМ; обслуживания СТАНДАРТНЫХ УСТРОЙСТВ.

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

ОС ОБЩЕГО НАЗНАЧЕНИЯ - используются в непромышленной сфере для организации работы пакетов прикладных программ, а также как операционная среда для профессиональных персональных применений. Распространены наиболее широко.

ИНСТРУМЕНТАЛЬНЫЕ СИСТЕМЫ - предназначены для разработки сложных программных проектов. Имеют значительное количество сервисных программ (УТИЛИТ) сопровождения ПО.

ОС РЕАЛЬНОГО ВРЕМЕНИ - мультипрограммные многозадачные системы, предназначенные для реализации многопользовательского режима работы и управления технологоческими процессами. Являются самыми сложными системами с развитой системой управления ресурсами и датчиком реального времени.


Stay-at-home