Какие программные продукты относятся к системному программному обеспечению

Какие программные продукты относятся к системному программному обеспечению thumbnail

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

Системное программирование — создание системного программного обеспечения.

Системный программист — программист, специализирующийся на системном программировании.

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

Место системного программного обеспечения (выделено зелёным) в многоуровневой схеме вычислительной системы

Операционные системы[править | править код]

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

Функции операционных систем[править | править код]

Основные функции (простейшие операционные системы):

  • Загрузка приложений в оперативную память и их выполнение.
  • Стандартизованный доступ к периферийным устройствам (устройства ввода-вывода).
  • Управление оперативной памятью (распределение между процессами, виртуальная память).
  • Управление доступом к данным на энергонезависимых носителях (таких как жёсткий диск, компакт-диск и т. д.), организованным в той или иной файловой системе.
  • Пользовательский интерфейс.
  • Сетевые операции, поддержка стека протоколов.

Понятие операционной системы[править | править код]

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

Есть приложения вычислительной техники, для которых операционные системы излишни. Например, встроенные микрокомпьютеры содержатся сегодня во многих бытовых приборах, автомобилях (иногда по десятку в каждом), сотовых телефонах и т. п. Зачастую такой компьютер постоянно исполняет лишь одну программу, запускающуюся по включении. И простые игровые приставки — также представляющие собой специализированные микрокомпьютеры — могут обходиться без операционной системы, запуская при включении программу, записанную на вставленном в устройство «картридже» или компакт-диске. Тем не менее некоторые микрокомпьютеры и игровые приставки всё же работают под управлением особых собственных операционных систем. В большинстве случаев, это UNIX-подобные системы (последнее особенно верно в отношении программируемого коммутационного оборудования: файрволов, маршрутизаторов).

Основные идеи операционных систем[править | править код]

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

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

Встроенные программы[править | править код]

Встроенные программы или firmware — это программы, «зашитые» в цифровые электронные устройства. В ряде случаев (например, BIOS IBM-PC совместимых компьютеров) являются по сути частью операционной системы, хранящейся в постоянной памяти. В достаточно простых устройствах вся операционная система может быть встроенной. Многие устройства современных компьютеров имеют собственные «прошивки», осуществляющие управление этими устройствами и упрощающие взаимодействие с ними.

Утилиты[править | править код]

Утилиты (англ. utility или tool) — программы, предназначенные для решения узкого круга вспомогательных задач. Иногда утилиты относят к классу сервисного программного обеспечения.

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

Типы утилит[править | править код]

  • Дисковые утилиты
    • Дефрагментаторы
    • Проверка диска — поиск неправильно записанных либо повреждённых различным путём файлов и участков диска и их последующее удаление для эффективного использования дискового пространства.
    • Очистка диска — удаление временных файлов, ненужных файлов, чистка «корзины».
    • Разметка диска — деление диска на логические диски, которые могут иметь различные файловые системы и восприниматься операционной системой как несколько различных дисков.
    • Резервное копирование — создание резервных копий целых дисков и отдельных файлов, а также восстановление из этих копий.
    • Сжатие дисков — сжатие информации на дисках для увеличения вместимости жёстких дисков.
  • Утилиты работы с реестром
  • Утилиты мониторинга оборудования
  • Тесты оборудования

Системы программирования[править | править код]

К этой категории относятся системные программы, предназначенные для разработки программного обеспечения:

  • ассемблеры — компьютерные программы, осуществляющие преобразование программы в форме исходного текста на языке ассемблера в машинные команды в виде объектного кода;
  • трансляторы — программы или технические средства, выполняющее трансляцию программы;
    • компиляторы — Программы, переводящие текст программы на языке высокого уровня, в эквивалентную программу на машинном языке.
    • интерпретаторы — Программы (иногда аппаратные средства), анализирующие команды или операторы программы и тут же выполняющие их;
  • компоновщики (редакторы связей) — программы, которые производят компоновку — принимают на вход один или несколько объектных модулей и собирают по ним исполнимый модуль;
  • препроцессоры исходных текстов — это компьютерные программы, принимающие данные на входе, и выдающие данные, предназначенные для входа другой программы, например, такой, как компилятор;
  • отла́дчики (англ. debugger) — модули среды разработки или отдельные программы, предназначенные для поиска ошибок в программах;
  • текстовые редакторы — компьютерные программы, предназначенные для создания и изменения текстовых файлов, а также их просмотра на экране, вывода на печать, поиска фрагментов текста и т. п.;
    • специализированные редакторы исходных текстов — текстовые редакторы для создания и редактирования исходного кода программ. Специализированный редактор исходных текстов может быть отдельным приложением, или быть встроен в интегрированную среду разработки;
  • библиотеки подпрограмм — сборники подпрограмм или объектов, используемых для разработки программного обеспечения;
  • редакторы графического интерфейса.
Читайте также:  Какие продукты рекомендуют при повышенном холестерине

Системы управления базами данных[править | править код]

Основная статья: СУБД

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

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

Основные функции СУБД[править | править код]

  • управление данными во внешней памяти (на дисках);
  • управление данными в оперативной памяти с использованием дискового кэша;
  • журнализация изменений, резервное копирование и восстановление базы данных после сбоев;
  • поддержка языков баз данных (язык определения данных, язык манипулирования данными).

Классификация СУБД по способу доступа к базе данных[править | править код]

  • Файл-серверные, в которых файлы данных располагаются централизованно на файл-сервере, а программная реализация СУБД располагается на каждом клиентском компьютере целиком. Доступ к данным осуществляется через локальную сеть. Синхронизация чтений и обновлений осуществляется посредством файловых блокировок. Всплеск популярности файл-серверных систем управления базами данных относится к концу 1980-х — началу 1990-х годов.
  • Клиент-серверные СУБД состоят из клиентской части (которая входит в состав прикладной программы) и сервера (см. Клиент-сервер).
  • Встраиваемые — программные библиотеки, которые позволяют унифицированным образом хранить большие объёмы данных на локальной машине.

См. также[править | править код]

  • Низкоуровневый язык программирования
  • Машинный код

Литература[править | править код]

  • Васильев В. Г. Системное программное обеспечение

Источник

Обзорная лекция № 32

для студентов специальности

«Программное обеспечение информационных
технологий»

доцента кафедры ИВТ, к.т.н. Ливак Е.Н.

СИСТЕМНОЕ
ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ

Основные
понятия, факты

Назначение и классификация СПО. Требования к
СПО. Базовое и сервисное СПО. Операционные системы. Системы управления файлами.
Системные утилиты. Системы программирования.

Навыки и
умения

Разработка системного программного обеспечения в
соответствии с требованиями к СПО на языках Assembler, С++.

Установка
и использование системных утилит.

Классификация программного обеспечения

Традиционно все программное обеспечение подразделяют
на два класса:

1)     
системное
программное обеспечение (СПО) и

2)     
прикладное
(пользовательское)программное обеспечение (ППО)

Выделим еще один класс (скорее группу) программ – специальное программное обеспечение
информационных и управляющих систем.

Прикладные
программы

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

Это самый многочисленный класс программных
продуктов.

К специальному
программному обеспечению информационных и управляющих систем
относятся

·     
программы
(системы) управления базами данных;

·     
программы
управления языком интерфейса информационных систем;

·     
программы
сбора и предварительной обработки информации (в информационно-измерительных
системах, например, бортовые системы).

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

Поэтому часто такие ПО относят к системному
программному обеспечению.

Мы будем считать ПО такого типа отдельным классом и
рассматривать не будем.

Системное
программное обеспечение
(System Software) – совокупность программ и программных комплексов для
обеспечения работы компьютера и сетей ЭВМ.

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

Назначение
системного программного обеспечения

Системное программное обеспечение предназначено
для:

·     
создания
операционной среды функционирования других программ (другими словами, для
организации выполнения программ);

·     
автоматизации
разработки (создания) новых программ;

·     
обеспечения
надежной и эффективной работы самого компьютера и вычислительной сети;

·     
проведения
диагностики и профилактики аппаратуры компьютера и вычислительных сетей;

·     
выполнения
вспомогательных технологических процессов (копирование, архивирование,
восстановление файлов программ и баз данных и т.д.).

Данный класс программных продуктов тесно связан с
типом компьютера и является его неотъемлемой частью.

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

Читайте также:  Какие продукты можно и нельзя есть при гипертонии

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

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

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

Классификация
системного программного обеспечения

В СПО традиционно включают

·     
системные
управляющие и

·     
системные
обрабатывающие программы.

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

Основные системные функции управляющих программ –

·     
управление
вычислительными процессами и вычислительными комплексами и

·     
работа
с внутренними данными ОС.

Как правило, они находятся в основной памяти. Это резидентные
программы, составляющие ядро ОС. Управляющие программы, которые загружаются
в память непосредственно перед выполнением, называю транзитными (transitive).

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

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

Эти программы поставляются чаще в виде
дистрибутивных пакетов, включающих ПО

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

Другая
классификация

Часто Системное ПО компьютера подразделяют на
БАЗОВОЕ и СЕРВИСНОЕ программное обеспечение.

БАЗОВОЕ программное обеспечение
(base software) – минимальный набор программных средств, обеспечивающих работу
компьютера.

К базовому программному обеспечению компьютера
относятся

·     
операционные
системы и драйверы в составе ОС;

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

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

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

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

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

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

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

Любая система управления файлами не существует сама
по себе – она разработана для работы в конкретной ОС и с конкретной файловой
системой. То есть можно было бы систему управления файлами отнести к ОС.

Но в связи с тем, что

1) ряд ОС позволяет работать с
несколькими файловыми системами (либо с
одной из нескольких, либо сразу с несколькими одновременно); а дополнительную
файловую систему можно установить (т.е. они самостоятельны)

2) простейшие ОС могут работать
и без файловых систем;

системы
управления файлами выделяются в отдельную группу системных программ.

Заметим, что часто в специальной литературе системы
управления файлами относят все-таки к операционным системам.

СЕРВИСНОЕ программное обеспечение –
программы и программные комплексы, которые расширяют возможности базового
программного обеспечения и организуют более удобную среду работы пользователя.

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

·     
драйверы
специфических и специальных устройств (те, которые не поставляются в составе
ОС).

·     
программы
диагностики работоспособности компьютера;

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

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

·     
программы
архивирования данных, которые обеспечивают процесс сжатия информации в файлах с
целью уменьшения объема памяти для ее хранения;

·     
программы
обслуживания сети.

Эти программы часто называются системными утилитами. (Заметим, что к антивирусным средствам этот
термин обычно не применяется)

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

Наибольшее распространение сегодня имеют комплекты
утилит: Norton Utilities – фирма Symantec; Checkit PRO Deliuxe 2.0 – фирма
Touch Stone; PC Tools for Windows 2.0; программа резервного копирования HP
Colorado Backup for Windows 95.

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

Отдельно рассмотрим такую группу системного ПО как системы программирования.

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

Система программирования включает следующие
программные компоненты:

·     
редактор
текста;

·     
транслятор
с соответствующего языка;

·     
компоновщик
(редактор связей);

·     
отладчик;

·     
библиотеки
подпрограмм.

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

Читайте также:  Какие продукты помогают при боли в мышцах

Например, одна
из популярных систем программирования на языке С/С++ от фирмы Watcom для OS/2 позволяет получать программы и для
самой OS/2, и для DOS, и для Windows.

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

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

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


интерпретаторов два основных недостатка. Первый – низкая скорость работы
интерпретируемых программ.)

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

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

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

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

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

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

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

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

Средства сетевого доступа обеспечивают обработку,
передачу и хранение данных в сети.

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

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

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

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

Пример.
Приложения Netscape Navigator , Internet Explorer – программы- клиенты.

Таким образом, в системном ПО мы выделили пять групп системных программ:

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

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

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

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

·     
утилиты;

·     
средства
сетевого доступа.

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

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

Требования к
системному программному обеспечению

Системные программы должны удовлетворять следующим
требованиям:

·     
прозрачность
работы;

·     
гарантированная
надежность выполнения в соответствии со спецификациями (спецификациями
называются функциональные требования);

·     
максимальная
скорость выполнения;

·     
минимальные
затраты на хранение машинных кодов;

·     
поддержка
стандартных средств связи с прикладными программами.

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

Требование эффективности системных программ вызывает
необходимость использования специальных языков

·     
машинно-ориентированных
типа языка Assembler и

·     
высокого
уровня типа C или C++.

К типам данных этих языков отнесены указатели на
данные различных типов или адреса данных и программных объектов.

Работа с большинством пакетов для разработки
системного программного обеспечения предполагает знание и использование
ассемблера для создания модулей и ассемблерных вставок.

1.    Гордеев
А.В., Молчанов А.Ю. Системное программное обеспечение. – СПб.: Питер, 2001. –
с. 17-21

2.    Пустоваров
В.И. Ассемблер: программирование и анализ корректности машинных программ: – К.:
Издательская группа BHV,
2000. – с. 5-25

3.   
Internet-источник // iit.khsu.ru/isitc/informatika/6_2.htm

4.   Internet-источник // www.stu.ru/inform/glaves2/glava8/gl_8_2.htm

Источник