Архив рубрики «О программном обеспечении»

О программном обеспечении

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

системное обеспечение — операционная система; специальное ПО — набор программ из заданного класса, необходимых для решения задач пользователя;

прикладное обеспечение — набор задач пользователя.

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

Рассмотрим кратко особенности ПО самой машины:

  • в ПЗУ микроЭВМ заложена программа, обеспечивающая возможность занесения данных в CMOS, обеспечивающая загрузку ОС и содержащая некоторый набор тестов ЭВМ и стандартных ВУ;
  • широко используются различные дисковые операционные системы: MS-DOS, различные клоны UNIX (XENIX (устарела), LINYX, FreeBSD, BSDi и т.д.), Windows, DR-DOS, PC-DOS, OS/2, FreeDOS и т.п. Они построены по модульному принципу, имеют монитор и набор системных программ, драйверов и утилит; различаются своими возможностями, организацией работы, требуемой памятью в ОЗУ и на дисках;
  • в состав ОС входят трансляторы и интерпретаторы различных языков программирования. В настоящее время самыми распространенными языками являются Бейсик (BASIC), Паскаль (Pascal), Си (C) и ряд VISUAL-версий.

Программирование может производиться в машинных кодах, на машинно-ориентированных или алгоритмических языках низкого или высокого уровня.

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

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

Получили распространение два направления языков данного уровня, практически близких к единому стандарту: Turbo ASseMbler (фирмы Borland International), Macro ASseMbler (фирмы Microsoft) and NASM.

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

К языкам высокого уровня относятся Фортран, PL/M, Паскаль, Бейсик, Forth, C, Ада. Это процедурно-ориентированные языки, каждый из которых предназначен для решения определенного класса задач.

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

Язык программирования PL/1. Обладает широкими возможностями и применяется в основном для решения экономических задач обработки деловой информации; имеет в своем распоряжении широкий набор типов данных, а также возможности работы со сложными структурами.

Язык Паскаль появился сравнительно недавно. В нем сконцентрированы лучшие черты языков-предшественников. Текст на языке Паскаль выражает математическую сущность алгоритма в очевидной и легко воспринимаемой форме. Кроме того, он полностью удовлетворяет требованиям структурного программирования. Классическая версия неудобна для использования, однако более поздний вариант — Turbo Pascal — гораздо более гибкий и весьма удобный язык. Особое удобство в работе с ним дает мощный встроенный редактор программных текстов и интегрированный отладчик. Помимо того, может использоваться внешний отладчик, позволяющий в процессе уменьшить шаг отладки с одного шага Паскаля до одной команды процессора. Также есть возможность использовать «чистый» компилятор — без экранного редактора и отладчика, что увеличивает скорость компиляции и экономит память.

Бейсик предназначен для решения математических и инженерных задач, достаточно прост для изучения и понимания, обладает возможностями, позволяющими программировать большой круг задач. Язык Бейсик — язык безалаберных программистов, он крайне неприхотлив к синтаксису и позволяет быстро создать любую несложную программу.

GWBASIC — единственный транслятор BASIC`а, ведущий диалог с пользователем посредством командной строки. Быстродействие программ, исполняющихся под GWBASIC`ом, приблизительно в 1,3 раза превышает скорость программ, транслированных TurboBasic`ом. Формат команд и редактор командной строки сильно напоминают MSX Basic (Ямаха). Размер GWBASIC около 60-70 Кб.

TurboBasic — компилятор BASIC`a. Имеет встроенный экранный редактор, по скорости уступает интерпретатору GWBASIC, позволяет создавать модули. Объем: 250 Кб, из них 50 Кб — HELP. Пустой цикл на 40000 итераций исполняет за 2 с при 16 МГц тактовой частоты процессора (AT-80286). Имеет приличный набор ошибок, периодически ведущих к «зависанию» программ.

PowerBasic — компилятор BASIC`а. Вероятно, является продолжением TurboBasic. Внешне сильно напоминает TurboPascal 5.0. Имеет более сильный (по сравнению с TurboBasic`ом) отладчик. Создает несколько более компактный исполняемый код. Пустой цикл в 40 000 итераций исполняет за 2 c при 16 МГц  (AT-80286) тактовой частоты процессора. Имеет контекстный HELP по ключевым словам BASIC. Размер — 300 Кб, из них HELP — 100 Кб.

QuickBasic. Интерпретатор. Пустой цикл в 40000 итераций исполняет за 11 c при 16 МГц тактовой частоты процессора. При редактировании текста программы каждой процедуре и функции отводится собственное окно редактирования, и она может иметь локальные параметры. Имеется контекстный HELP, включающий описание операторов. Размер — 400 Кб, из них HELP — 150. Существует так же версия компилятора этого диалекта. Синтаксис ряда операторов уже очень отличается от предыдущих трансляторов, что отражено в HELP`е. Есть возможность вести диалог с командной строки (за исключение ввода программы).

Все BASIC`ки, имеющие встроенный редактор, не требуют указания номеров строк и имеют три типа циклов — ДО (until), ПОКА (while) и ДЛЯ (for), а так же много других возможностей