Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Мой проект.docx
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
53 Кб
Скачать
☆

1.2 Классификация по

В настоящее время в литературе, в том числе и учебной, су­ществует как несколько классификаций программного обеспе­чения (ПО), так и разные определения различных видов ПО, выделяемых в соответствии с предлагаемой классификацией. Различают три вида ПО: системное, прикладное и ин­струментальное (Рис.1).

В основание классификации и соответственно определения этих видов ПО положена инвариантность (независимость) ПО по отношению к специфике той или иной проблемной области, в которой предполагается его использование. Другими словами, определяется степень влияния специфики проблем­ной области на специфику разработки и использования той или иной программы (приложения). Так, например, специфика ис­пользования текстового процессора Microsoft Word практически не зависит от специфики той или иной проблемной области. Та­ким образом, возможно выделение таких программ (приложе­ний), которые поддерживают те функции (задачи) профессио­нальной деятельности пользователя, которые являются общими для различных проблемных областей.

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

Определяющим фактором при определении инвариантности ПО по отношению к той или иной проблемной области высту­пают типы объектов, для манипулирования которыми разрабо­тана та или иная программа (приложение). В данном случае под объектом понимается любой элемент (графический, тексто­вый: значок, кнопку, слово и т. п.) на экране монитора, который является представителем реального объекта некоторой про­блемной области.

Можно различать три типа объектов, которыми манипули­рует пользователь, применяя ту или иную программу (приложе­ние):

− объекты, относящиеся к сфере профессиональной дея­тельности пользователя, специфичные для нее;

− объекты, общие для всех (абсолютного большинства) про­блемных областей;

− объекты, относящиеся к проблемной области информа­ционных технологий.

Примеры первого типа объектов − отдел или какое-либо другое подразделение организации, являющиеся объектом в системе уп­равления кадрами; пример второго − символы, числа, графические элементы; объекты третьего типа − это диски, папки и файлы, с которыми работает (манипулирует) пользователь, а также различ­ные элементы интерфейса пользователя − окна, кнопки и т. д.

Если основное назначение программы −манипулирование с объектами первого и второго типа, то она относится к приклад­ному ПО, если она предназначена для манипулирования с объектами третьего типа − к системному ПО.

Рис.1

1.2.1 Системное по

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

К группе системных программ относятся операционные системы, операцион­ные оболочки, утилиты, драйверы, архиваторы, антивирусные и некоторые дру­гие программы.

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

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

Для выполнения операций по обмену данными между программой и различ­ными внешними устройствами в состав операционной системы включается ряд специализированных программ, которые принято называть драйверами. У контроллера каждого устройства есть набор регистров, исполь­зуемых для того, чтобы давать управляемому устройству команды и считывать состояние устройства. Число таких регистров и выдавае­мые команды зависят от конкретного устройства. Например, про­грамма управления мышью должна получать от мыши информацию о том, насколько далеко она продвинулась по горизонтали и верти­кали, а также о нажатых кнопках мыши. Программа управления дис­ком должна знать о секторах, дорожках, цилиндрах, головках, их перемещении и времени установки, двигателях и тому подобных ве­щах, необходимых для правильной работы диска. Очевидно, что эти программы управления будут сильно различаться. Такая программа управления каждым устройством ввода-вывода, подключенным к компьютеру, называется драйвером устройства. Она обычно пишется производителем и распространяется вместе с устройством. Посколь­ку для каждой ОС требуются специальные драйверы, производители устройств обычно поставляют драйверы для нескольких наиболее популярных операционных систем.

Каждый драйвер устройства поддерживает один тип устройства или, максимум, класс близких устройств. Например, драйвер дисков может поддерживать различные диски, отличающиеся размерами и скоростями. Однако мышь и джойстик отличаются настолько силь­но, что обычно требуют использования различных драйверов.

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

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

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

Программы-архиваторы служат для создания архивных копий важных про­грамм и наборов данных. Архиваторы также минимизируют объем, который нужен для размещения архива на внешнем носителе.

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

Можно выделить три основные задачи (функции), решаемые системной программой:

1. Обеспечение выполнения множества необходимых мани­пуляций с объектами (целевая функция программы).

2. Обеспечение максимальной эффективности использова­ния аппаратных ресурсов ЭВМ.

3. Обеспечение максимального удобства работы пользовате­ля с ЭВМ («дружественность» интерфейса пользователя).

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

Указанные функции системного ПО особенно важны, если учесть, что часть системного ПО − операционные системы − выпол­няет роль промежуточной абстрактной машины между аппаратурой и прикладным ПО. Это означает, что обращение прикладной про­граммы к аппаратным компонентам компьютера осуществляется не непосредственно, а только через системные программ.