Главная -> Книги

(0) (1) (2) (3) (4) (5) (6) (7) (8) (9) (10) (11) (12) (13) (14) (15) (16) (17) (18) (19) (20) (21) (22) (23) (24) (25) (26) (27) (28) (29) (30) (31) (32) (33) (34) (35) (36) (37) (38) (39) (40) (41) (42) (43) (44) (45) (46) (47) (48) (49) (50) (51) (52) (53) (54) (55) (56) (57) (58) (59) (60) (61) (62) (63) (64) (65) (66) (67) (68) (69) (70) (71) (72) (73) (74) (75) (76) (77) (78) (79) (80) (81) (82) ( 83 ) (84) (85) (86) (87) (88) (89) (90) (91) (92) (93) (94) (95) (96) (97) (98) (99) (100) (101) (102) (103) (104) (105) (106) (107) (108) (109) (110) (111) (112) (113) (114) (115) (116) (117) (118) (119) (120) (121) (122) (123) (124) (83)

10. Чем определяется информационная емкость символьного дисплея?

11. Определить емкость диска диаметром 130 мм, имеющего 40 дорожек и 10 секторов по 256 байт.

12. Построить диаграммы тока в магнитной головке для всех способов записи на гибкий диск и магнитную леиту, если информационный байт содержит 10000000, 10101010, 11111111. Подсчитать число переходов потока.

ГЛАВА СЕДЬМАЯ

ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ МИКРО- И МИНИ-ЭВМ

7-1. НАЗНАЧЕНИЕ И КЛАССИФИКАЦИЯ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ

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

Промежуточная категория, называемая аппаратно-программными средствами, включает в себя «материализованные» программы, т. е. ПЗУ, в которых хранятся программы и управляющие микропрограммы.

В настоящей главе рассматривается программное обеспечение мини- и микро-ЭВМ, включая системные программы, языки программирования и организацию подпрограмм.

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



разработано множество разнообразных внешних языков, на которых ведется программирование и общение с ЭВМ. Соответствующие исходные программы приходится переводить (транслировать) на машинный язык. Как бы ни варьировались и ни усложнялись внешние языки, действиями аппаратных средств управляют только машинные команды.

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

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

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

Ниже рассматриваются следующие три класса программных средств.



Базовое программное обеспечение. Базовое ПО состоит из набора автономных программ и подпрограмм, предназначенных главным образом для интерфейса с пользователем как средства автоматизации разработки прикладных программ. Автономность означает, что в каждой программе операции ввода-вывода реализованы на машинном языке и для работы им не требуется взаимодействовать с другими программами. Ниже дается краткая характеристика программ базового ПО, а некоторые из них подробнее изложены в § 7-3.

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

Язык ассемблера (язык символического кодирования"), по существу, эквивалентен машинному языку и явно отражает архитектуру ЭВМ, но все элементы программ представляются в символической форме. Ассемблерные программы оказываются наиболее эффективными, и пользователь может непосредственно управлять вводом-выводом.

В зависимости от конфигурации могут быть реализованы три разновидности ассемблеров: базовый ассемблер, рассчитанный на минимальную конфигурацию, расширен-

Таблица 7-1

Характеристики ассемблеров

Характеристика

Ассемблер

базовый

расширенный

макроассемблер

Основная память

байт (слов)

Периферийные

Пишущая

Пишущая

Пишущая

устройства

машинка

машннка,

машинка.

НМД (НМЛ)

НМД (НМЛ)

Число определяемых

имен

Скорость ассемблиро-

1000

3000

3000-4000

вания, операций/мин

Число директив

8-12

10-25

25-40

Макрокоманды

Есть

Сообщения об ошиб-

Закодирова-

Подробные

Подробные



(0) (1) (2) (3) (4) (5) (6) (7) (8) (9) (10) (11) (12) (13) (14) (15) (16) (17) (18) (19) (20) (21) (22) (23) (24) (25) (26) (27) (28) (29) (30) (31) (32) (33) (34) (35) (36) (37) (38) (39) (40) (41) (42) (43) (44) (45) (46) (47) (48) (49) (50) (51) (52) (53) (54) (55) (56) (57) (58) (59) (60) (61) (62) (63) (64) (65) (66) (67) (68) (69) (70) (71) (72) (73) (74) (75) (76) (77) (78) (79) (80) (81) (82) ( 83 ) (84) (85) (86) (87) (88) (89) (90) (91) (92) (93) (94) (95) (96) (97) (98) (99) (100) (101) (102) (103) (104) (105) (106) (107) (108) (109) (110) (111) (112) (113) (114) (115) (116) (117) (118) (119) (120) (121) (122) (123) (124)