Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
БСРД-1_Инф-ка.doc
Скачиваний:
20
Добавлен:
22.08.2019
Размер:
147.97 Кб
Скачать

Программное обеспечение средств вычислительной техники (бсрд1)

Программное обеспечение (ПО) АРМ будем рассматривать по реализации их на ПК. ПО ПК – это совокупность программ, языков, правил и документации, необходимые для использования и эксплуатации программных продуктов. Общее ПО ПК подразделяется на системное (внутримашинное или базовое) и прикладное. Прикладным программным обеспечением (ППО) называется такой вид программного обеспечения, который предназначен для решения определенной целевой задачи или класса некоторых задач. Примерами таких программ являются программы для автоматизированного проектирования (AutoCad), программы экспертных систем (Dendral, Prospector) и т.д.

1. Системное программное обеспечение

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

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

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

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

Операционные системы (ОС) предназначены для автоматизации выполнения стандартных операций и составляет базовое ПО ПК. Они представляются комплектом базовых ОС (MS DOS; OS\2 и UNIX), а также ОС с графическим пользовательским интерфейсом (Windows). В отличии от ОС, сервисные системы предназначены для обеспечения наиболее эффективного взаимодействия пользователя и ПК. Они выполняют посреднические функции между пользователем и ОС в условной основе составных элементов: интерфейсной системы, оболочек и утилит.

Интерфейсные системы способствуют совершенствованию не только пользовательского, но и программного интерфейса. Примерами таких систем, помимо указанной Windows, являются программы Deskviev, Ensemble и т.д. Операционные оболочки реализуют дружественный интерфейс пользователя с помощью системы меню. К наиболее популярным оболочкам относятся Norton Commander, PS Tools, PS Shell, Norton Navigator и т.д.

Утилиты - это программы, автоматизирующие выполнение типовых процедур выполнения вспомогательных операций. К наиболее популярным относятся Norton Utilities, Checkit ProDeliux, утилиты антивирусных программ и т.д.

Инструментальные системы предназначены для разработки, корректировки или расширения других программ, представляются системами программирования и интегрированным модулем редакторов. Для целей оказания сервисных услуг пользователю в комплект поставки ОС Windows применяется интегрированный модуль редакторов, включающий минимальные программные средства: текстовые (WordPad, NotePad), графический редактор (Paint), а также коммуникационный модуль для связи с другими пользователями.

Системы технического обслуживания ПК состоят из диагностических, тестовых и наладочных средств. Примерами программ для определения неисправностей вычислительной аппаратуры или неправильного конфигурирования системных файлов являются: утилиты MS Diagnostics (MSD.EXE); Norton Diagnostics в пакете Norton Utilities, а также Checkit.

Для тестирования рейтинговых параметров ПК используется утилита SYSINFO.EXE из каталога Norton Utilities. С позиций пользователя к наладочным средствам ПК следует отнести системную дискету, подпрограмму лечения антивирусных программ, а также выполнение служебной программы ScanDisk, входящую в комплект поставки ОС Windows.

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

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

Диспетчеризация, осуществляемая переключением микропроцессоров (МП) с одного задание на другое.

Размещение программ, включающий компоновку отдельных частей в единый модуль, загрузку и вытеснение в ОЗУ.

Управление файлами осуществляется в способности организации данных на внешних носителях в виде файлов. Для этого предоставляются функции записи, модификации и выборки информации внутри файлов.

Управление заданиями – это установление последовательностей выполнения поступающих заданий.

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

Управление ресурсами сводится к процедурам упрощения доступа и динамического распределения ресурсов между конкурирующими процессами. При этом ресурсом может быть любой аппаратно-программный объект (ОЗУ, МП, ПУ, данные и т.д.).

Реализация расширенных (виртуальных) машин, когда в рамках основного ПК выделяется отдельная машина меньшей производительности (возможно со своей ОС). В этом случае ОС представляется иерархией абстрактных машин Mi (где i=1,…n), когда Mi реализуется с помощью лежащего под ней программного слоя Рi. При этом степень абстракции увеличивается с ростом индекса. Самые быстровыполняемые функции реализуются в самой нижней машине M1. Причем, реальный процессор в основе целевых аппаратных средств находится на уровне M0.

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

Многозадачные (многопрограммные) системы кроме вышеперечисленных функций управляют разделением совместно используемых ресурсов (например, в OS/2, UNIX и Windows 2000х, к таким ресурсам относятся МП, ЗУ, файлы, внешние устройства).

ОС Windows 2000х обеспечивает дружественный пользовательский интерфейс для предоставления сервисных услуг при выполнении на ПК прикладных программ и широкими возможностями в манипулировании данными. Применимо к ПК наибольшее распространение получили следующие типы базовых ОС: MS DOS, OS/2 и UNIX. Данные ОС функционируют в командном режиме. Значительное облегчение работы пользователя получается при работе с графическим пользовательским интерфейсом (GUI) в ОС Windows 9х/NT. К базовым ОС относятся:

Операционная система MS DOS является дисковой операционной системой Microsoft, появившейся одновременно с ПК IBM PC в 1981 г. на основе ранее разработанной ОС СР/М (фирмы Digital Research). Она содержит интерфейс в виде командной строки и как правило, при работе с ней дополнительно используются программы-оболочки (например, Norton Commander). При работе пользователя в режиме командной строки требуется запоминание большого количества команд, их аргументов и синтаксиса, но с этим можно достичь высокого уровня контроля над всеми возможностями ОС Современные версии MS DOS относятся к однозадачной ОС с элементами многозадачности.

ОС OS/2 является однопользовательской многозадачной ОС, односторонне программно-совместимой с MS DOS. Важными особенностями для OS/2 является наличие: а)многооконного интерфейса пользователя; б)программных интерфейсов для работы с базами данных и в локальных сетях. В минимальной конфигурации предусматривается: объем ОЗУ – 2…6 Мбайт, НЖМД – 20 Мбайт. Объем ОП до 16 Мбайт и виртуальной памяти – до 512 Мбайт с сегментацией и подкачкой по требованию. Обладает защищенным режимом работы на уровне ОС. К недостаткам относится большая ресурсоемкость.

ОС UNIX является многопользовательской и многозадачной, включающая совершенные средства защиты программ и файлов разных пользователей. Большая часть программ ОС UNIX написаны на языке Си (а не на ассемблере, как MS DOS и OS/2) и являются машинонезависимыми с обеспечением высокой мобильности и переносимости ППП на различные типы ЭВМ. Модульность и большой набор сервисных программ больше подводят ее среду для пользователей – программистов и программистов-разработчиков. UNIX поддерживает иерархическую файловую структуру, виртуальную страничную организацию памяти, многопроцессорные системы, многопользовательские СУБД и неоднородные компьютерные сети. Минимальная конфигурация ОС UNIX: МП 80386(АТ) и выше. ОЗУ – 2…8 Мбайт, НЖМД – 40…80 Мбайт. Максимальный объем ОЗУ – 2 Гбайт на процесс. Данная система использует также пароли пользователя. К сетевым средствам относятся протоколы TCP/IP, NFS, RFS. Недостаток – большая ресурсоемкость.

ОС Windows является хорошо защищенной многозадачной ОС при обеспечении работы со сложными приложениями мультимедиа и компьютерных сетей. Ее работа обеспечивается следующей минимальной конфигурацией: МП 80386 и выше, ОЗУ – от 4 Мбайт и выше, минимальный объем НЖМЛ – от 30 Мбайт и выше.

К хорошо зарекомендовавшим современным версиям относятся ОС Windows ХР/Millenium, начиная с версии 2000х, а также промышленная ОС Windows NT.

Системы программирования. Под системой программирования подразумевается совокупность языка программирования и виртуальной машины, обеспечивающей выполнение на реальной машине программ, составленных на этом языке. Язык программирования – это система обозначений, служащая в целях точного описания алгоритмов для ПК или, по крайней мере, достаточную для автоматического нахождения такого алгоритма. Эти языки являются искусственными языками со строго определенным синтаксисом и семантикой, что не позволяет свободно истолковывать конструкции, характерные для естественного языка.

Основным классифицирующим признаком систем программирования является условие принадлежности языков к одному из стилей программирования: процедурному, функциональному, логическому и объектно-ориентированному.

Процедурное программирование. Основное предназначение процедурных языков – производство числовых и символьных вычисление. Числовые вычисления предполагают обработку данных статистической структуры. Процедуры символьных вычислений предполагают преобразования динамических структур данных, т.е. структурированных объектов, конфигурация которых меняется во времени.

На низшей ступени иерархии к таким типам языков относятся двоичный и шестнадцатеричный языки машинных кодов, а также языки Ассемблера и Макроассемблера, позволяющие пользоваться мнемоническими кодами операций и произвольно присваивать символические имена регистрам и ячейкам памяти ПК с последующим заданием удобной схемы адресации. Исторически пройденным этапом считается создание языка детализированных схем программ, представляющего собой не язык программирования, а язык представления алгоритмов при разработке программ. На более верхнем уровне иерархии, в качестве многоцелевого языка символьных инструкций используется Бейсик. Применимо к научно-исследовательским задачам большой популярностью пользовался язык Фортран, а также язык Паскаль в решениях прикладных задач. К малоиспользуемым относятся языки Модула и Ада. Более представитель-ный язык программирования С сочетает достоинства высокоуровневых языков и возможность доступа к аппаратным средствам на уровне Ассемблера. Его синтаксис обеспечивает краткость программ, а компиляторы способны генерировать эффективный объектный код.

Среди С-систем наиболее мощной является С++, содержащий объектно-ориентированные средства. Для обработки многомерных массивов используется язык APL. Для записи встроенных операторов здесь используются одиночные символы из набора специальных знаков. Хотя такие программы и компактны, но отличаются малопонятностью. К малоприменяемым языкам относятся Cobol для обработки коммерческой информации, а также Snobol –текстовой информации. Язык RPG служит для генерации отчетов. Вход в эту систему состоит из описания структуры файла, спецификации нужной информации и расположения ее на странице. На основе этой информации язык RPG строит программу для считывания файла, извлечения из него нужной информации и переформатирования требуемым образом. Система GPSS ориентирована на моделирование систем массового обслуживания. Параллельный язык ОССАМ используется для программирования транспьютеров и выполнения роли акселераторов для ПК.

Функциональное программирование. Функциональным (аппликативным) програм-мированием является способ составления программ, в которых единственным действием является вызов функций, единственным способом расчленения программы на части является введение имени для функции, а единственным правилом композиции – введение оператора суперпозиции. В этой системе программирования отсутствуют манипуляции операторов присваивания, ячеек памяти, циклов, схем, передач управления. Для него исторически первой алгоритмической системой программирования явилось комбинаторное исчисление. Языки этого стиля состоят из следующих компонентов: 1) классы констант, которые могут манипулировать функциями; 2) набор базовых функций, используемые без предварительного определения; 3) правила построения новых функций из базовых; 4) правила формирования выражений на основе вызовов функций. Данный стиль программирования отличается простотой реализации, компактностью представления алгоритмов, автоматическим распределением памяти и выполнении символьных вычислений. Здесь основными структурированными объектами являются списки, удобные для символьной обработки. Стройная математическая основа этого стиля использует алгоритмические методы композиции, преобразования, исследования и верификации программ.

Функциональные языки используются как средства описания семантики других языков и средства проектирования программных комплексов. Представительным семейством функционального программирования является совокупность различных версий языка Lisp (InterLisp, CommonLisp, AutoLisp и т.д.). На основе этого языка были разработаны Planner и Conniver для реализации процедурных моделей знаний. К перечисленным языкам следует дополнить такие, как ML, Valid, Val, Id, Lucid и т.д.

Логическое программирование. Основным понятием логического (реляционного) программирования является отношение, когда программа представляется совокупностью отношений между объектами (в терминах условий или ограничений) и цели (запроса). Процедура программирования выражается формулой: “алгоритм = логика + управление”. Ход выполнения программы представляется как процесс установления общезначимости логической формулы, построенной из программы по правилам семантики языка.

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

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

Языки логического программирования характеризуются: а)сверхвысоким уровнем; б)жесткой ориентацией на символьные вычисления, т.к. числовая обработка затруднена; в)возможность инверсных вычислений, когда переменные в вызовах процедур не делятся на входные и выходные; г) зачастую логической неполнотой в двух аспектах – невозможностью выразить в программе определенные логические конструкции, а также невозможностью получить из программы все правильные выводы. Организация параллельных вычислений затруднена из-за требований больших ресурсов.

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

По сравнению с исчислением предикатов объектно-ориентированные логические программы характеризуются сложным синтаксисом и правилами вывода при выводе следующих особенностей: 1) наличие активных акторов (объектов); 2) формирование объектов путем наследования свойств; 3) посылка сообщений от объекта к объекту, как механизм организации вычислительного процесса. Суть этого стиля выражается формулой “объект = данные+ процедуры”. Ему присущи пять основных компонент: объект, сообщение, класс, наследование и метод.

Языки этого стиля обладают свойствами абстракции, инкапсуляции, наследования и полиморфизма. Кроме этого, языки должны иметь возможности расширения, повторного использования программных компонент, параметризации, а также некоторые формы коллекции (автоматические или настраиваемые). Язык SmallTalk – наиболее непротиворечивый объектно-ориентированный язык, предоставляющий высокоуровневый графический интерфейс для разработки программ. Другие объектно-ориентированные языки представляют собой расширения С (объектный С и С++), расширения Lisp (Clos), объектный Паскаль (Turbo Pascal 6.0 и выше), система Actor и т.д.

Визуальное программирование. Этот стиль программирования основан на трех разных версиях языковых средств:

  • Visual Basic в составе пользовательского пакета программ MS Office (называемый Visual Basic для приложений - VBА);

  • Visual Pascal в составе пакета программ для разработки технических систем в пакете программ Delphy;

  • Visual C++ в составе пакета программ Borland C++ для разработки системных элементов компьютерных систем и сетей.

Эти пакеты программ дополнительно содержат текстовые и табличные редакторы, средства работы с базами данных и др.

Измерительное программирование. Измерительное программирование является самостоятельным стилем программирования, входит в состав ППО АРМ, используется для обработки сигналов датчиков и организации баз данных на системном уровне. Данный стиль программирования отличается модульностью реализации. Разработка программ этого типа предусматривает создание отдельных модулей сбора информации датчиков, обработку ее (ликвидация избыточной информации, линеаризация градуировочных характеристик датчиков и др.) и накопления в форме баз данных. Основой данного класса программных систем составляют языки высокого уровня (Паскаль, СИ). К настоящему времени в этом классе систем широкое применение находят языки визуального программирования.

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