Скачиваний:
406
Добавлен:
22.01.2014
Размер:
3.77 Mб
Скачать

31.3. Структура программного обеспечения.

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

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

Рис. 31.2.

Различные классы и типы ЭВМ используют различных архитектуры, структуры и возможностей ОС, которые требуют для своего функционирования различные ресурсы и которые предоставляют пользователю различного уровня сервис для разработки, отладки, выполнения и сопровождения ПО организации процесса обработки, а также интерфейса с вычислительными ресурсами ЭВМ. В качестве примеров ОС можно привести MS-DOS, CP/M, Unix, OS/2, Novell, Linux, Finder, A/UX (для ПК);Unix, Xenix, Primus, RSX-11M, AIX, VAX/VMS (для мини-ЭВM);DOS/VE, OS/360, MVS, VM, Multics, ConvexOS, ОС/ЕС (ЭВМ общего назначения);Cray, VPP, Unix, Borrough, Эльбрус (супер-ЭВМ). При этом, если длямикро-ЭВМ (кромеспециализированных), ПК, мини-ЭВМ и в значительной степени ЭВМ общего назначения четко прослеживается тенденция к унификации ОС (платформыMS-DOS, Unix), то супер-ЭВМ в значительной мере исповедуюторигинальные ОС. Я значительной степени это обусловлено использованием достаточно широкого спектра архитектур и принципов функционирования ВС, сильно различающихся между собой. К тому жеунификации не способствуют и не до конца разработанные общие концепции организации ОС для ВСнетрадиционных архитектур. Между тем использование на ряде моделейсупер-ЭВМ ОСUnix скорее дань моде, чем целесообразность в условиях новых архитектурных решений.

Средства расширения функций ОС достаточно многочисленны, их набор и функциональные возможности определяются конкретным типом ОС (оптимизация использования ВП, подготовка и тестирование магнитных носителей, поддержка расширенных функций с файлами и др.). Средства данной группы могут быть реализованы как на уровне отдельных программ-утилит, так и в виде специальных пакетов. Для IBМ-совместимых ЦК примерами такихутилит могут служитьWinstone-32, Speed, MIPS для оценки производительности ПК; антивирусные пакетыF-PROT, Norton Antivirus; пакеты для сжатия/восстановления файловPkWare, ARJ; пакет администрирования ПКPC-Vault и др. Утилиты могут быть реализованы натрех основных уровнях:резидентном, системном иавтономном. Впервом случае утилита загружается и становитсярезидентной, обеспечивая в оперативном режиме выполнение заложенных в ней функций (например вывод информации о текущих резидентных программах); вовтором случае утилита работает под управлением ОС как прикладная Программа, а втретьем — работа утилиты производится вне операционной среды (такой уровень присущ ряду ПС тестирования и диагностики ЭВМ и отдельных ее узлов, включая ВУ).Утилиты во многих случаях помогают существенно повыситьэффективность использования ЭВМ и удобство работы с ними; ПС данной группы наиболее многочисленны на всех классах и типах ЭВМ. В специальной литературе описано свыше 200 популярных утилит различного назначения (антивирусные, расширяющие возможности ВУ, обслуживания файловой архитектуры, управления работой на ПК и др.) дляIBM-совместимых ПК.Утилиты необходимая компонентаинструментария пользователя любого уровня и, в первую очередь,проблемного. Поэтому хороший подборутилит во многих случаях существеннооблегчает использование ПК для многих приложений, расширяястандартные возможности ОС. В качестве хорошего примера организации набора утилит для массового пользователя IBM-совместимых ПК можно привести пакетNorton Utilities, каждая из утилит которого u1084 может использоваться и автономно. Набор утилит постоянно расширяется, и информацию по ним можно отслеживать в периодических изданиях по ПК и в справочной литературе по ПС для ЭВМ различных типов и классов.

Средства тестирования идиагностики в целом составляют средства технического обслуживания ЭВМ и предназначены для проверки работоспособности, наладки и технической эксплуатации; эти средства используются инженерно-техническим персоналом, обслуживающим ВТ. ПС данной группы можно подразделять насредства: (1) диагностики, (2) программно-логического контроля, (3) тестовые и (4) программно-аппаратного контроля. Средства 1-й группы обеспечивают автоматический поиск ошибки и выявление неисправностей с определенной локализацией их в ЭВМ и ее узлах.Программно-логический контроль основан на использованииизбыточности исходных и промежуточных данных, позволяющей находить различные проверочные соотношения.Тестовый контроль осуществляется посредствомтестов проверки работы ЭВМ или ее узлов;программно-логический контроль итестовая проверка выполнения предусмотренных зависимостей или достижения состояний образуют так называемыйпрограммный контроль.Аппаратный контроль производится автоматически посредством встроенных в ЭВМ схем;программно-аппаратный контроль включаетпрограммный иаппаратный способы контроля. Персональный характер использования и высокая надежность основных узлов ПК не предполагают для него специальной службы обслуживания, исключая возникновение неисправностей технического характера. Поэтому после включения ПКаппаратными средствами тестируется ОП идополнительная память, и только потом производится загрузкаядра ОС. Для тестирования и диагностики узлов ПК и ВУ предназначен ряд ПС, из которых для IBM-совместимых и ряда других типов ПК можно отметить такие пакеты, какCheckIt. Crash-Chex и др. Результаты выполнения пакетов выводятся в наглядном виде, предоставляя информацию осостоянии узлов ПК и ВУ, которая доступна и может быть полезна пользователю не ниже средней компьютерной квалификации либо техническому персоналу.

Операционные оболочки (ОО) на первых этапах своего развития служили как для расширения функций ОС, так и для повышения уровня интерфейса с ЭВМ путем упрощения доступа к средствам ОС. Для ОС, интерфейс с которыми обеспечивают языки управления заданиями (ЯУЗ: JCL) ОО, в основном, базируются на повышении уровня ЯВУ, как это было сделано, например, при созданииспециализированных ОО. В случае ПК развитие ОО шло несколько в иных направлениях с акцентом в основном на непрофессионального пользователя. Среди простых ОО для IBM-совместимых ПК можно отметить:Q-DOS, Dos-shell, PC-Tools, SideKick, PopUp Windows и др., и в первую очередьNorton Commander, совместно сNorton Utilities образующие до появленияWiridows-оболочки наиболее эффективное средство подобного типа. Так, с системой MS DOS (начиная с версии 4) поставляется оболочкаMS Dosshell (правда, используемая отечественными пользователями крайне редко), обеспечивающаяменю-интерфейс (содержащий 5 групп команд), позволяющий в многооконном режиме обслуживать файловую систему, изменять характеристики экрана, выполнять команды MS-DOS и т.д.

Средства оболочки облегчают использование возможностей MS-DOS. Но вомногом уступают вышеупомянутой оболочкеNorton Commander. Из-за широкого распространения данного ПС подробнее на нем не имеет смысла останавливаться.Графическая средаWindows фирмыMicrosoft, появившаяся в начале 1990 г., оказала революционизирующее влияние на развитие интерфейса с ЭВМ, определив новое поколение ОО для ПК и в значительной мере определив на ближайшее десятилетие тенденции развитияоперационной среды ЭВМ, ориентированных в основном на персональный режим использования. При этом следует отметить использование графического интерфейса (правда, менее интеллектуального) уже на ранних моделях известного ПКMacintosh фирмыApple, получившего дальнейшее развитие в последующих моделяхOpen Mac, Mac Plus иAladdin; последние модели благодаря развитым графическим ПС иинтерфейсу с пользователем представляют великолепную среду для решения различного типа графических задач и создания настольных издательских систем, работающих как с текстовой, так и с графической информацией.

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

Рис.31.3.

В ряде случаев функции редактора связей и загрузчика может выполнять одна программа — редактирующий загрузчик; такой подход использован в ряде систем программирования, например вTurbo-Pascal фирмыBorland и в др. Для некоторыхязыков программирования высокого уровня (ЯВУ)компиляторы могут включать средства редактирования и загрузки. Разбиение в общем случае процесса подготовкиисходного модуля к выполнению по крайней мере на два этапа:компиляция =>{редактирование =>загрузка}, позволяет весьма эффективно организовывать решение задач различных классов и типов, давая возможность на стадии редактирования использовать дляосновной программы подпрограммы из богатыхбиблиотек стандартных программ (БСП), реализующих различные функции какобщего, так испециального назначения. Более того, подобная организация позволяет в ряде случаев обходиться практически без программирования, создавая нужное ПС из набора средств БСП путем редактирования связей. Дляотладки программ используются различные средства: отладчики, трассировщики, тестирующие и др. как в составесистем программирования, так иавтономные.

В отличие от компилятора интерпретатор выполняетисходный модуль программы в режиме"оператор за оператором ", по ходу работы превращая каждый оператор ЯВУ в машинные команды. В действительности большинствоинтерпретаторов проводят некоторуюпредварительную работу над всем текстомисходного модуля (упрощение представления ключевых слов, присвоение адресов идентификаторам переменных и т.д.). Вместе с тем оба типатранслирующих программ —компиляторы и интерпретаторы имеют существенные различия: присутствие в ОПпервых после полученияобъектного модуля изисходного необязательно, тогда как присутствиевторых обязательно в период выполненияисходной программы. В принципе, реализация любого ЯВУ может быть каккомпилирующего, так иинтерпретирующего типа. Однако в силу сложившихся традиций каждый ЯВУ отдает предпочтение одному из указанных типов реализации. Так,Fortran, Algol, Cobol, Pascal, PL/I, С являются, как правило, языкамикомпилирующего типа;Forth, LOGO, APL — интерпретирующего типа, тогда какBasic иLisp одинаково используют оба указанных типа. Основным преимуществом ЯВУкомпилирующего типа является скорость выполнениязагрузочного модуля скомпилированнойисходной программы, тогда какинтерпретатор должен генерировать соответствующую последовательность машинных команд в момент выполнения оператора ЯВУ, что замедляет время ее выполнения. Однако в целом ряде случаев ЯВУинтерпретирующего типа более предпочтительны; они хорошо отвечают программамдиалогового типа, отладка программ производится без выхода изинтерпретатора, чтосущественно упрощает эту процедуру исокращает временные издержки на нее, ибо каждый раз не требуется перетрансляции скорректированногоисходного модуля.

Наконец, системы программирования (СП) представляют собойинтегрированные инструментальные средства, обеспечивающие все основные функции по разработке программ: создание и редактированиеисходных модулей, компиляция или интерпретация, созданиезагрузочных модулей и их выполнение, отладка, тестирование, БСП, сохранение и документирование и т.д. Многие СП оформляются в видепакетов с сопутствующим им обеспечением и сопровождением; типичными примерами СП являются известные пакетыTurbo-Pascal, Turbo-С, Turbo-Prolog фирмыBorland для IBM-совместимых ПК. Другие интересные аспекты, включая прикладные,инструментального ПО будут рассмотрены в следующей главе книги.

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

ППП общего назначения ориентированы на широкий круг пользователей в различных проблемных областях, позволяя автоматизировать наиболее часто используемые функции и работы. К пакетам такого типа относятся обработки текстовой информации(текстовые процессоры), деловой графики, электронных таблиц, СУБД и др. Среди пакетов этой группы для ПК можно отметить такие известные, как:Ms Word. WordStar. WordPerfect, Sprint, ChiWriter, Лексикон (текстовые процессоры); Multiplan, Ms Excel, Quattro Pro, VP-Planner. SuperCalc (электронные таблицы}; dBase, Reflex, FoxBase, Paradox, Clipper (СУБД); Ms Chart. Chart Master, GRAF Lotus (деловая графика); ProComm. Telix, SmartCorn. CrossTalk, QL2Fax, Telemate (телекоммуникационные) и др. При этом следует иметь в виду, что функции пакета одного типа могут перекрывать функции пакета другого типа; например, функциямиделовой графики наделены пакеты электронных таблиц и т.д.