Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Osnov avt Modul22.doc
Скачиваний:
2
Добавлен:
01.05.2025
Размер:
4.7 Mб
Скачать

11.3. Операционная система

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

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

Операционная система, с одной стороны, управляет микросхемами, контроллерами и т.д., с другой — обеспечивает выполнение задач и является промежуточным звеном между программным обеспечением (ПО) и непосредственным исполнителем — техническими средствами. На рис. 61 приведена структура типичной ОС.

Основой ОС является ядро, обеспечивающее:

  1. распределение ОЗУ под одну или несколько задач;

  2. распределение времени ЦП между этими задачами;

  3. обеспечение обмена сообщениями между задачами;

  4. выполнение системных вызовов от задач на обмен с ВУ;

Ядро содержит файловую систему — единый механизм обмена

данными со всеми внешними устройствами, когда любое устрой-

Рис. 61. Типовая структура операционной системы (ОС)

ство рассматривается как хранилище одного или нескольких файлов (файл — это совокупность байтов, имеющая свое имя).

Для обеспечения связи универсального ядра с конкретными ВУ ядро дополняется драйверами, выполняющими функцию посредников между ядром файловой систем и ВУ. Драйверы — это стандартные программы ввода-вывода, которые учитывают детали конструкции контроллера и ВУ и позволяют сделать само ядро компактным и независимым от конструкции ВУ.

В состав ОС входит интерпретатор команд — задача, принимающая с дисплея команды управления О С на удобном человеку языке, переводящая их в форму, понятную ядру, и передающая их ядру.

Кроме того, в состав ОС, как правило, входят инструменты для создания, компиляции или интерпретаций прикладных программ на языках высокого уровня и средства о бслуживания самой ОС и аппаратной части ЭВМ.

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

11.4. Программирование

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

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

Программа для интерпретатора с языка BASIC, составленная по рассмотренному выше алгоритму, имеет следующий вид:

10 PRINT "Введите число замеров";

20 INPUT N%

30 I%=1

40 S=0

50 PRINT "Введите замер", 1%;

60 INPUT X

70 S=S+X

80 I%=I%+1

90 IF I%<=N% THEN GOTO 50

100 S=S/N%

110 PRINT "Среднее арифметическое"; S

120 END

Для повышения наглядности текста программы применяют ком­ментарии, сопровождающие операторы языка программирования, а сами операторы располагают структурированно, с отступами:

    1. REM Программа вычисления среднего арифметического AVERAGE. BAS

    2. REM При работе требуется ввести с клавиатуры:

    3. REM а) число замеров N%,

    4. REM б) по очереди значения замеров X.

    5. REM Среднее арифметическое вычисляется по формуле

    6. REM Х'= (X1+Х2+...+XN)/N

    7. REM Результат выдается на экран.

10 PRINT "Введите число замеров";

20 INPUT N%

      1. REM Подготовка цикла ввода и накопления значений замеров

      2. REM 1% — счетчик цикла,

      3. REM S — сумматор

30 1%=1

40 S=0

45 REM Цикл ввода и накопления значений замеров

50 PRINT "Введите замер", 1%;

60 INPUT X

70 S=S+X

80 I%=I%+1

90 IF I%<=N% THEN GOTO 50 :REM Проверка

правила завершения цикла

100 S=S/N% :REM Вычисление

среднего арифметического

110 PRINT "Среднее арифметическое"; S :REM Вывод результата на экран 120 END

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

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

Интерпретаторы широко используются ввиду простоты их со­здания и малой требовательности к ресурсам ЭВМ. Так, первые микроЭВМ вместо громоздкой ОС имели только встроенный в ПЗУ интерпретатор с языка BASIC, вполне удовлетворявший нуж­ды обычного пользователя. Работа УЧПУ также базируется на по­следовательной интерпретации команд управляющей программы.

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

Для решения сложных задач обработки данных, требующих много времени работы ЦП, интерпретация неприемлема. Програм­му на языке высокого уровня типа FORTRAN или С подвергают предварительной переработке — трансляции или компиляции, во время которой выполняется анализ программы как единого цело­го, производится ее эквивалентное преобразование с целью со­кращения повторов, оптимизации последовательности выполне­ния операций и т.д., после чего программа переводится в коды команд процессора. Результатом трансляции является задача, об­щающаяся с ОС без посредников, например расчетная задача, или интерпретатор BASIC, или интерпретатор команд ОС.

После перевода алгоритма в операторы языка программирова­ния начинается наиболее трудоемкий этап создания программы — ее отладка. Ошибки, допущенные в операторах, могут быть гру­быми, нарушающими правила написания операторов (такие ошибки находит интерпретатор или транслятор и указывает на них программисту). Значительно сложнее найти и исправить ошиб­ки, связанные с логикой работы программы, так как здесь тре­буется творческое участие самого программиста. Кроме того, сами трансляторы и интерпретаторы, являющиеся также программа­ми, содержат недоработки, документация к ним, как правило, неполная.

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

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]