- •Раздел 1. Общая характеристика и классификация програмного обеспечения
- •Раздел 2. Пакет прикладных программ (ппп)……………………….
- •Раздел 3. Практическая реализация темы
- •Введение
- •Раздел 1. Общая характеристика и классификация програмного обеспечения
- •1.2 Классификация по
- •1.2.1 Системное по
- •1.2.2 Прикладное по
- •1.2.3 Инструментальное по
1.2 Классификация по
В настоящее время в литературе, в том числе и учебной, существует как несколько классификаций программного обеспечения (ПО), так и разные определения различных видов ПО, выделяемых в соответствии с предлагаемой классификацией. Различают три вида ПО: системное, прикладное и инструментальное (Рис.1).
В основание классификации и соответственно определения этих видов ПО положена инвариантность (независимость) ПО по отношению к специфике той или иной проблемной области, в которой предполагается его использование. Другими словами, определяется степень влияния специфики проблемной области на специфику разработки и использования той или иной программы (приложения). Так, например, специфика использования текстового процессора Microsoft Word практически не зависит от специфики той или иной проблемной области. Таким образом, возможно выделение таких программ (приложений), которые поддерживают те функции (задачи) профессиональной деятельности пользователя, которые являются общими для различных проблемных областей.
С другой стороны, если специфика проблемной области является определяющей при разработке некоторой программы (приложения) и ее использовании, то речь идет уже о другом типе ПО, нежели в предыдущем случае. Примером такого вида ПО являются бухгалтерские программы (приложения).
Определяющим фактором при определении инвариантности ПО по отношению к той или иной проблемной области выступают типы объектов, для манипулирования которыми разработана та или иная программа (приложение). В данном случае под объектом понимается любой элемент (графический, текстовый: значок, кнопку, слово и т. п.) на экране монитора, который является представителем реального объекта некоторой проблемной области.
Можно различать три типа объектов, которыми манипулирует пользователь, применяя ту или иную программу (приложение):
− объекты, относящиеся к сфере профессиональной деятельности пользователя, специфичные для нее;
− объекты, общие для всех (абсолютного большинства) проблемных областей;
− объекты, относящиеся к проблемной области информационных технологий.
Примеры первого типа объектов − отдел или какое-либо другое подразделение организации, являющиеся объектом в системе управления кадрами; пример второго − символы, числа, графические элементы; объекты третьего типа − это диски, папки и файлы, с которыми работает (манипулирует) пользователь, а также различные элементы интерфейса пользователя − окна, кнопки и т. д.
Если основное назначение программы −манипулирование с объектами первого и второго типа, то она относится к прикладному ПО, если она предназначена для манипулирования с объектами третьего типа − к системному ПО.
Рис.1
1.2.1 Системное по
Базовое (системное) ПО организует процесс обработки информации в компьютере и обеспечивает нормальную рабочую среду для прикладных программ. Базовое ПО настолько тесно связано с аппаратными средствами, что его иногда считают частью компьютера Системное программное обеспечение служит для обеспечения эффективной работы аппаратуры компьютера.
К группе системных программ относятся операционные системы, операционные оболочки, утилиты, драйверы, архиваторы, антивирусные и некоторые другие программы.
Операционные системы представляют собой пакеты программ, которые обеспечивают эффективную работу всех аппаратных средств компьютера, а также возможность управления всеми его ресурсами.
Утилиты представляют собой небольшие, но очень полезные программы, которые выполняют разнообразные вспомогательные функции по управлению работой аппаратных средств, по повышению эффективности их работы, проверки работоспособности, обслуживания и настройки.
Для выполнения операций по обмену данными между программой и различными внешними устройствами в состав операционной системы включается ряд специализированных программ, которые принято называть драйверами. У контроллера каждого устройства есть набор регистров, используемых для того, чтобы давать управляемому устройству команды и считывать состояние устройства. Число таких регистров и выдаваемые команды зависят от конкретного устройства. Например, программа управления мышью должна получать от мыши информацию о том, насколько далеко она продвинулась по горизонтали и вертикали, а также о нажатых кнопках мыши. Программа управления диском должна знать о секторах, дорожках, цилиндрах, головках, их перемещении и времени установки, двигателях и тому подобных вещах, необходимых для правильной работы диска. Очевидно, что эти программы управления будут сильно различаться. Такая программа управления каждым устройством ввода-вывода, подключенным к компьютеру, называется драйвером устройства. Она обычно пишется производителем и распространяется вместе с устройством. Поскольку для каждой ОС требуются специальные драйверы, производители устройств обычно поставляют драйверы для нескольких наиболее популярных операционных систем.
Каждый драйвер устройства поддерживает один тип устройства или, максимум, класс близких устройств. Например, драйвер дисков может поддерживать различные диски, отличающиеся размерами и скоростями. Однако мышь и джойстик отличаются настолько сильно, что обычно требуют использования различных драйверов.
Чтобы получить доступ к аппаратной части устройства, т.е. к регистрам контроллера, драйвер устройства должен быть частью ядра операционной системы. Но возможно создать и драйвер, работающий в пространстве пользователя. Это позволило бы изолировать ядро от драйверов, а драйверы друг от друга. При этом была бы устранена основная причина крушения операционных систем: драйверы, содержащие ошибки, сталкивающиеся с ядром тем или иным образом.
Операционная система обычно классифицирует драйверы по нескольким категориям в соответствии с типами обслуживаемых ими устройств. К наиболее общим категориям относятся блочные устройства, например, диски, содержащие блоки данных, к которым возможна независимая адресация, и символьные устройства, такие как клавиатуры и принтеры, формирующие или принимающие поток символов.
В большинстве операционных систем определены два стандартных интерфейса, один из которых должны поддерживать все блочные драйверы, а второй — все символьные драйверы. Эти интерфейсы включают наборы процедур, которые могут вызываться остальной операционной системой для обращения к драйверу. К этим процедурам относятся, например, процедуры чтения блока или записи символьной строки.
Программы-архиваторы служат для создания архивных копий важных программ и наборов данных. Архиваторы также минимизируют объем, который нужен для размещения архива на внешнем носителе.
Антивирусные программы обеспечивают пользователя необходимыми средствами борьбы с компьютерными вирусами. Разрабатываются, настраиваются и поддерживаются в рабочем состоянии системные программы специалистами, которых принято называть системными программистами. Они должны обладать высокой квалификацией, в деталях знать аппаратное обеспечение компьютера и способы работы с данными на машинном уровне. Рядовому пользователю приходится постоянно сталкиваться с системными программами, но уже с точки зрения их эксплуатации, использования их возможностей для решения своих задач. С некоторыми программами этой группы мы познакомимся в следующих главах пособия.
Можно выделить три основные задачи (функции), решаемые системной программой:
1. Обеспечение выполнения множества необходимых манипуляций с объектами (целевая функция программы).
2. Обеспечение максимальной эффективности использования аппаратных ресурсов ЭВМ.
3. Обеспечение максимального удобства работы пользователя с ЭВМ («дружественность» интерфейса пользователя).
В общем случае та или иная системная программа должна выполнять все указанные задачи, однако в каждом конкретном случае в зависимости от назначения программы одна из этих задач может быть преобладающей. Так, для операционной системы задача эффективного использования аппаратных ресурсов важнее, чем для операционной оболочки, где больше внимания уделяется интерфейсу пользователя.
Указанные функции системного ПО особенно важны, если учесть, что часть системного ПО − операционные системы − выполняет роль промежуточной абстрактной машины между аппаратурой и прикладным ПО. Это означает, что обращение прикладной программы к аппаратным компонентам компьютера осуществляется не непосредственно, а только через системные программ.
