Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Алгоритмы вокруг нас.doc
Скачиваний:
3
Добавлен:
01.05.2025
Размер:
13 Мб
Скачать
☆

§ 2. Что такое математическое обеспечение эвм

Читатель заметил, конечно, что наличие операционной системы связано с применением нового языка программ. Обычно этот новый язык называют языком загрузки, в от­личие от первого, который называют языком машины. Составление программ непосредственно в языке загрузки (в его письменной форме) ненамного легче, а иногда и труднее, чем составление программ на языке ЭВМ.

Мы уже упоминали раньше о том, что существуют языки программирования, более удобные для программиста, чем языки машины или загрузки. Применение таких языков связано с применением трансляторов. Читатель видит, что использование ЭВМ требует наличия ряда вспомогатель­ных программ, которые не имеют отношения к конкретным задачам, но необходимы для того, чтобы можно было эф­фективно их решать. Совокупность таких программ назы­вают математическим или программным обеспечением ЭВМ. Такое объяснение термина «математическое обеспе­чение», конечно, слишком туманно. Кроме программ, вхо­дящих в математическое обеспечение, есть и другие програм­мы, содержательные, предусматривающие решение задач. Ведь именно для решения задач и нужны ЭВМ. Чем же отли­чаются одни программы от других? Прежде всего следует все программы разделить на два класса: программы сос­тавленные на языке машины, и программы, составленные на языке загрузки. Первые называются служебными, а вторые — рабочими.

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

Способ объединения программ в систему математическо­го обеспечения ЭВМ избирают в соответствии с целью, для которой создается математическое обеспечение. Этот способ частично относится к компетенции теории алгоритмов, час­тично выходит за ее рамки. Последнее неизбежно, так как математическое обеспечение предназначено для удовлетво­рения реальных потребностей, а не для выполнения каких-то абстрактных условий. Способ объединения программ можно коротко охарактеризовать.

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

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

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

4. Системные программы должны быть выполнимы на ЭВМ либо непосредственно, либо благодаря наличию дру­гих программ в составе математического обеспечения.

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

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

Из описания математического обеспечения ЭВМ видно, что между программами пользователей и системными про­граммами пропасти нет, но есть довольно глубокий ров, наполненный довольно мутной водой. Стоит только доку­ментально оформить программу пользователя так, как это принято в данной системе математического обеспечения, и включить эту программу в библиотеку — и все! Пользо­вательская программа стала системной.

Но читатель должен иметь в виду, что «бессистемное» размножение системных программ может переполнить системную библиотеку, если она рассчитана на малое коли­чество программ.

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

Автор упоминает о «плохих» системах математического обеспечения потому, что ожидает, что среди читателей ока­жутся и такие «трепещущие», которые могут заявить, что никаким условиям, подобным вышеприведенным четырем, прекрасное математическое обеспечение эксплуатируемой ими машины не удовлетворяет. А отсюда один шаг до того, чтобы посчитать эти четыре условия не обязательными. Ав­тор решительно утверждает, что чем менее понятной и более сложной кажется система математического обеспечения, тем она хуже.