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

Классификация программного обеспечения. Виды программного обеспечения. Направления развития программных средств

Классификация программного обеспечения компьютера. Взаимосвязь аппаратного и программного обеспечения компьютера

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

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

Системное программное обеспечение. Сюда относятся программы, обеспечивающие выполнение общих для всех программ технических задач, взаимодействие с аппаратурой.

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

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

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

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

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

а) Офисные пакеты. Комплексы программ, решающих основные задачи делопроизводства: подготовку документов, выполнение подсчетов, презентации, ведение переписки и организацию работы и др.

б) Системы управления базами данных (СУБД), справочные системы и оболочки автоматизированных информационных систем. Эти программы позволяют организовать ввод, хранение и работу с большими объемами специализированных данных. СУБД часто являются общими компонентами, обеспечивающими работу большого количества специализированных комплексов.

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

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

 

 

ПО ЭВМ

СИСТЕМНОЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ
ПАКЕТЫ ПРИКЛАДНЫХ ПРОГРАММ
СИСТЕМА ПРОГРАММИРОВАНИЯ
Управлять ПК, осуществлять доступ пользователя
Решение частных задач
Получение самих программ
Базовое
Сервисное
ОС Оболочки ОС
Антивирусные Архивирование Обслуживание дисков Диагностика  
Текстовые редакторы ЭТ СУБД Граф. редакторы
Pascal Delphe Basic

 


В системном программном обеспечении выделяют пять групп системных программ:

- операционные системы;

- интерфейсные оболочки для взаимодействия пользователя с операционной системой и программные среды;

- системы управления файлами;

- системы программирования;

- утилиты;

- средства сетевого доступа

Системой программирования называют комплекс программных средств, предназначенных для кодирования, тестирования и отладки программного обеспечения. Такие комплексы включают следующие программные модули:

- текстовые редакторы, служащие для создания тестов исходных программ;

- компиляторы, предназначенные для перевода исходного текста на входном языке в язык машинных кодов;

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

- библиотеки прикладных программ, содержащие в себе наиболее часто используемые подпрограммы в виде готовых объектных модулей;

- загрузчики, обеспечивающие подготовку готовой программы к выполнению;

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

Редактор текста - это программа для ввода и модификации текста.

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

Большинство компиляторов переводит программу с высокоуровневого языка программирования в машинный код, который может быть выполнен непосредственно процессором.

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

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

Транслятор. Трансляция программы – преобразование программы, представленной на одном языке программирования, в программу на другом языке. Язык, на котором представлена входная программа, называется исходным языком, а сама программа – исходным кодом. Выходной язык называется целевым кодом.

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

Трансляция и интерпретация – разные процессы. Трансляция занимается переводом программ с одного языка на другой, а интерпретация отвечает за исполнение программ.

Трансляторы делятся на два класса: компиляторы и интерпретаторы. Компиляторы переводят весь исходный модуль на машинный язык. Интерпретатор последовательно переводит на машинный язык и выполняет операторы исходного модуля.

 

Редактор связей. Редактор связей или компоновщик связей – системная обрабатывающая программа, редактирующая и объединяющая объектные модули в единые загрузочные, готовые к выполнению программные модули. Загрузочный модуль может быть помещен ОС в основную память и выполнен.

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

 

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

- пошаговое выполнение программы (режим трассировки) с отображением результатов;

- остановка в заранее определенных точках;

- возможность остановки в некотором месте программы при выполнении некоторого условия;

- изображение и изменение значений переменных

 

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

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

На рис. 6.1. представлена структура системы программирования

Текстовый редактор
Исходная программа
Компилятор
Объектная программа
Редактор связей
Библиотеки

 

 

Исполняемый файл
Загрузчик
Ресурсы интерфейса
Компилятор ресурсов
Исходный код ресурсов
Редактор ресурсов
Выполнение программы

 

 


Рис. 6.1. Структура системы программирования