Компьютеры – наши неотъемлемые спутники жизни вот уже второй десяток лет. С их помощью люди развлекаются и работают, общаются с друзьями по всему миру. К сожалению, далеко не все пользователи представляют себе принципы работы с компьютером.
В частности, они редко задумываются о важности СПО. Это системное программное обеспечение. Что подразумевается под этим понятием и в чем важность этих программ? Раскрытию этого вопроса и посвящена данная статья. Кроме того, нами будет рассмотрена существующая на сегодняшний день классификация системного программного обеспечения.Это необходимо знать даже рядовым пользователям, так как при прочтении каких-то информационных статей они частенько не могут понять сути там написанного. Происходит это как раз-таки из-за незнания общей терминологии. Нужно отметить, что ее искажением нередко грешат даже специализированные ресурсы.
Введение в тему
Исторически сложилось, что все используемые нами программы подразделяются на два класса:
- Системные приложения (СПО – это основа любой операционной системы).
- Прикладные программы.
Имеется еще класс глубоко специализированного прикладного ПО, но в повседневной жизни с ним встречаются только техники и разработчики.
К прикладным программам относятся офисные приложения, программы для создания и редактирования изображений, а также прочие средства, с которыми каждый из нас имеет дело ежедневно. Нетрудно догадаться, что этот класс является самым распространенным и многочисленным.
Что же входит в понятие СПО? Это программы, предназначенные для управления СУБД (базами данных), созданные для взаимодействия пользователя и компьютера (DE – графические оболочки), а также специализированные системы сбора и обработки информации. Последние используются (в том числе) на борту самолетов и боевых машин.Драйверы и прочее
Очень часто выделяют системные библиотеки и драйверы устройств, которые по своему назначению ни в чем не отличаются от самого СПО. Это означает, что отдельно их рассматривать не имеет смысла.
Таким образом, системным программным обеспечением (System Software) можно называть комплекс программ и интерфейсов, которые служат для управления и взаимодействия компьютера с человеком. Главное их назначение – перевод машинных средств отображения и анализа в более привычные всем нам текстовые или графические формы. Состав СПО (в отличие от прикладных утилит) практически никак не зависит от конкретных задач, решаемых пользователем на компьютере.
Он может проектировать на нем дома, а может целый день сидеть в социальных сетях. В каждом случае программное обеспечение компьютера различается кардинально, в то время как состав системных приложений никаких изменений не претерпевает.
Для чего нужно системное ПО
А сейчас подробнее разберемся с назначением программ такого типа. Итак, их основные функции:
- Они создают среду, в которой работают прикладные утилиты (ОС).
- Обеспечивают упрощение и автоматизацию разработки новых приложений.
- Максимизируют точность и результативность взаимодействия между компьютерами в локальных и глобальных сетях.
- Диагностируют (и ремонтируют) различные сбои программного характера.
- Ответственны за выполнение вспомогательных операций (копирование, архивирование, передачу данных).
Соответственно, ни один компьютер без СПО работать не может в принципе, так как даже самая примитивная операционная система – тоже комплекс специальных приложений. Обслуживанием этих программ могут заниматься только квалифицированные пользователи, а разработкой - только лучшие программисты, которые в ряде случаев должны знать язык машинного программирования (таких специалистов в мире вообще единицы). Словом, создать свою ОС в гордом одиночестве у вас точно не получится.
Базовые знания и навыки
Несмотря на сложность такого рода программ, даже рядовые пользователи должны представлять себе сущность их работы, так как от этого зависит результативность их взаимодействия с компьютером. К примеру, не зная о принципах работы программ, контролирующих запись и считывание информации с поверхности жесткого диска, вы не сможете форматировать винчестер, исходя из типа тех данных, которые намереваетесь там хранить.
Как мы уже и говорили, их применение носит системный характер, который не меняется практически никогда. А потому к разработке СПО предъявляются особенно жесткие требования.
Классификация системного программного обеспечения
Традиционно в этом классе выделяют следующие разновидности программ:
- Управляющие компоненты.
- Компоненты анализа, обработки и передачи информации.
Как несложно понять, управляющие программы синхронизируют основные процессы, позволяя корректно функционировать всем устройствам компьютера. Их основные функции следующие:
- Непосредственное управление всеми вычислительными мощностями системы.
- Работа с данными, необходимыми для ее функционирования.
Чаще всего эти утилиты постоянно находятся в оперативной памяти компьютера. Относятся к резидентным средствам, составляющим ядро всей ОС. Если управляющие программы, которые необходимы для выполнения какой-то важной операции, загружаются в память непосредственно перед проведением работы, то они называются транзитными (transitive). В любом случае сегодня подобные утилиты поставляются исключительно в составе как самой операционной системы, так и в виде библиотек драйверов.
В отличие от них программы для обработки информации запускаются отдельно. Чаще всего они поставляются в составе инсталляционных пакетов прикладных приложений. Кстати, программа-установщик (Windows installer, к примеру) также относится к системному программному обеспечению.Другой вариант классификации
Очень часто специалисты говорят, что программное обеспечение компьютера должно подразделяться на базовое и сервисное. К базовому относятся те программы, которые обеспечивают само функционирование компьютера. Соответственно, к системному программному обеспечению относятся:
- Сами операционные системы и драйвера в их составе.
- Графические оболочки (DE) и прочие среды для выполнения программ.
- Файловые менеджеры.
ОС как комплекс СПО
Продолжаем рассматривать системное программное обеспечение. Операционные системы являются его неотъемлемой частью.
Вообще, сама ОС может быть представлена как комплекс системных программ, которые отвечают за получение, обработку, использование информации и управление всеми системными устройствами. С одной стороны, ОС выступает в роли «прокладки» между пользователем и его компьютером, с другой стороны, отвечает за как можно более эффективное использование как программной, так и аппаратной начинки последнего.
В литературе ОС называется также базовое системное программное обеспечение. Почему принята такая терминология, мы рассмотрим ниже.
Управление файлами – важнейшая функция СПО
Файловые менеджеры предназначены для более удобного доступа к физическим данным на диске, для отображения их в графическом представлении. Таким образом, они позволяют использовать только логическое имя файла, а не его непосредственные координаты на жестком диске.
Важно! Файловые системы и файловые менеджеры сами по себе не существуют, так как их разрабатывали под конкретные операционные системы и для решения определенных задач. Таким образом, некоторое количество специалистов сходится во мнении, что к системному программному обеспечению относятся и эти приложения.Но есть несколько фактов, которые предопределяют отношение к такого рода программам с точки зрения самостоятельных средств управления информацией:
- Многие операционные системы (причем уже давно и практически все) могут одновременно (!) работать практически со всеми файловыми системами.
- Некоторые примитивные (но все же ОС) системы могут вообще обходиться без подобных приложений.
Что такое сервисное СПО
К этой категории относятся программы, которые значительно расширяют возможности программы СПО, делая ее более удобной для конечного пользователя. Их также можно классифицировать, причем пунктов получится немало:
- Драйверы устройств, которые не закладываются в состав ОС на этапе ее создания.
- Программы для самодиагностики компьютера, которые избавляют пользователя от необходимости самому находить причину ошибок и сбоев.
- Как ни странно, но антивирусное ПО также подходит под определение «сервисного». Отметим, что так было далеко не всегда.
- Приложения для обслуживания жестких дисков позволяют копировать и архивировать информацию, безвозвратно удалять или восстанавливать данные, оптимизировать процесс записи файлов на диск.
- Встроенные программы архивации, позволяющие значительно уменьшить занимаемое информацией пространство.
- Утилиты для управления сетевыми ресурсами и самой сетью.
Частенько этот класс программ называют системными утилитами. Сразу отметим, что антивирусные программы так не называют. Сегодня широко известны средства от Symantec, Touch Stone, а также других крупных компаний, которые поставляют программное обеспечение. Виды программного обеспечения для некоторых случаев мы рассмотрели, но остаются нераскрытыми некоторые вопросы.
СПО для работы с сетевыми протоколами
Как можно понять из названия, эти системные приложения ответственны за доступ к Сети. Отметим, что все нижеизложенное более относится к тем системам, которые предназначены для выполнения каких-то специфических действий (файл-сервер, почтовый сервер). Чтобы обновить программное обеспечение такого порядка, нередко приходится разрабатывать новые версии операционных систем.
Ключом к пониманию работы всего алгоритма является специальная программа-сервер, которая принимает запросы из сети и сама же отсылает ответы на них. Утилиты, которые предназначены для отправки запросов, называются клиентами. Отметим, что запрос посылается в виде стандартизированного формата, который чаще называют протоколом. Ответ также высылается в виде файла определенного формата, который содержит всю необходимую информацию (пакет).Кстати, IE и Firefox, Opera и Google Chrome – тоже клиенты, работа которых основана на изложенном только что принципе.
Среды программирования и выполнения программ
Эти программы относятся к специфическим средствам, но общее представление о них также необходимо, так как без этого невозможно понять принципы работы ОС и компьютера в целом. Они нужны не только для создания, но также для отладки и запуска приложений.
Специалисты говорят, что для данного случая в системное программное обеспечение входят:
- Средства для набора и редактирования текста.
- Транслятор или интерпретатор (для простейших языков).
- Редактор связей, также называемый компоновщиком.
- Отладчики.
- Полные прикладные библиотеки для выполнения программы.
Отметим, что создается приложение (за редчайшими исключениями) под какую-то определённую ОС. Но системные средства, которые предназначены для их разработки, могут работать в совершенно иной системе (для этого и нужны отдельные системные библиотеки). Это очень важно, так как не ограничивает самих разработчиков в выборе предпочитаемой системы для работы.
Что такое трансляторы
Так как это определение понятно далеко не всем, рассмотрим данный вопрос несколько подробнее.
Это важнейшее понятие обозначает программу, которая переводит язык программирования, который понятен людям, на машинный язык. Конечно, машинный язык может быть понят и человеком, но таких специалистов во всем мире единицы. Сама программа, написанная на каком-либо языке программирования, называется исходным модулем. Объектным модулем называется исходная информация, скомпилированная для дальнейшего ее использования машиной. В состав данного модуля входит текст программы, уже переведенный на машинный язык, а также прочая информация, необходимая для ее корректной работы и отладки.
Все приложения такого класса делятся на компиляторы и интерпретаторы. Первые сразу же переводят исходный модуль в машинный текст. Интерпретатор же не только выполняет переноску, но и тут же пробует протестировать программу. Исходя из этого, у него есть один громадный недостаток: медленное выполнение программы. Именно поэтому используются такие средства только в среде самых простых и примитивных языков, которые применяют для обучения основам программирования.
Компоновщик, или редактор связей, занимается обработкой объектных модулей в загрузочные элементы. Каждый из них уже может быть перемещен в оперативную память и выполнен.
Отладчик и прочие компоненты
Отладчик выполняет важнейшую функцию, так как позволяет контролировать процесс выполнения программы, попутно выискивая ошибки в ней. В его базовый набор функций входят:
- Возможность пошагового выполнения загруженного объектного модуля, с постоянным выведением результатов.
- Остановка в заданных разработчиком точках.
- Если есть такая необходимость, отладчик может полностью остановить программу в заранее заданной точке.
- Отображение всех используемых переменных.
Выводы
Итак, подведем итоги. Получается, что в системное программное обеспечение входят следующие компоненты:- Непосредственно ОС (операционные системы).
- Графические оболочки (DE) и среды выполнения программ.
- Файловые менеджеры и прочие средства управления файлами.
- Средства для разработчиков.
- Все сетевые утилиты.
- Некоторые прикладные программы.
Вот мы и рассмотрели состав системного программного обеспечения.