Структура программного обеспечения. 2
Оглавление
1. Сущность программного обеспечения 3
2. Системное программное обеспечение 5
3. Прикладное программное обеспечение 9
4. Инструментальное ПО 11
5. Программы-оболочки 14
Список использованных источников 16
1. Сущность программного обеспечения
Под программным обеспечением (Software) понимается совокупность программ, выполняемых вычислительной системой.
К программному обеспечению (ПО) относится также вся область деятельности по проектированию и разработке ПО:
технология проектирования
программ (например, нисходящее проектирование,
структурное и объектно-
методы тестирования программ [ссылка, ссылка];
методы доказательства правильности программ;
анализ качества работы программ;
документирование программ;
разработка и использование программных средств, облегчающих процесс проектирования программного обеспечения, и многое другое.
Программное обеспечение — неотъемлемая часть компьютерной системы. Оно является логическим продолжением технических средств. Сфера применения конкректного компьютера определяется созданным для него ПО.
Сам по себе компьютер не обладает знаниями ни в одной области применения. Все эти знания сосредоточены в выполняемых на компьютерах программах.
Программное обеспечение
современных компьютеров
Структура программного обеспечения
В первом приближении все программы, работающие на компьютере, можно условно разделить на три категории (рисунок 1):
- прикладные программы, непосредственно обеспечивающие выполнение необходимых пользователям работ;
- системные программы, выполняющие различные вспомогательные функции, например:
- управление ресурсами компьютера;
- создание копий используемой информации;
- проверка работоспособности устройств компьютера;
- выдача справочной информации о компьютере и др.;
- инструментальные программные системы, облегчающие процесс создания новых программ для компьютера.
Рисунок 1. Категории программного обеспечения
При построении классификации ПО нужно учитывать тот факт, что стремительное развитие вычислительной техники и расширение сферы приложения компьютеров резко ускорили процесс эволюции программного обеспечения.
Если раньше можно было по пальцам перечислить основные категории ПО — операционные системы, трансляторы, пакеты прикладных программ, то сейчас ситуация коренным образом изменилась.
Развитие ПО пошло как вглубь (появились новые подходы к построению операционных систем, языков программирования и т.д.), так и вширь (прикладные программы перестали быть прикладными и приобрели самостоятельную ценность).
Соотношение между требующимися программными продуктами и имеющимися на рынке меняется очень быстро. Даже классические программные продукты, такие, как операционные системы, непрерывно развиваются и наделяются интеллектуальными функциями, многие из которых ранее относились только к интеллектуальным возможностям человека.
Кроме того, появились нетрадиционные программы, классифицировать которые по устоявшимся критериям очень трудно, а то и просто невозможно, как, например, программа — электронный собеседник.
На сегодняшний день можно
сказать, что более или менее
определённо сложились
- операционные системы и оболочки;
- системы программирования (трансляторы, библиотеки подпрограмм, отладчики и т.д.);
- инструментальные системы;
- интегрированные пакеты программ;
- динамические электронные таблицы;
- системы машинной графики;
- системы управления базами данных (СУБД);
- прикладное программное обеспечение.
2. Системное программное обеспечение
Системное программное обеспечение координирует работу различных компонентов компьютера и играет роль посредника между прикладными программами и аппаратным обеспечением.
Это программы общего пользования,
которые предназначены для всех
пользователей компьютера. Системное
программное обеспечение
Cреди десятков тысяч
системных программ особое
Важными классами системных программ являются также программы вспомогательного назначения — утилиты (лат. utilitas — польза). Они либо расширяют и дополняют соответствующие возможности операционной системы, либо решают самостоятельные важные задачи. Кратко опишем некоторые разновидности утилит:
- программы контроля, тестирования и диагностики, которые используются для проверки правильности функционирования устройств компьютера и для обнаружения неисправностей в процессе эксплуатации; указывают причину и место неисправности;
- программы-драйверы, которые расширяют возможности операционной системы по управлению устройствами ввода-вывода, оперативной памятью и т.д.; с помощью драйверов возможно подключение к компьютеру новых устройств или нестандартное использование имеющихся;
- программы-упаковщики (архиваторы), которые позволяют записывать информацию на дисках более плотно, а также объединять копии нескольких файлов в один архивный файл;
- антивирусные программы, предназначенные для предотвращения заражения компьютерными вирусами и ликвидации последствий заражения вирусами;
Компьютерный вирус — это специально написанная небольшая по размерам программа, которая может "приписывать" себя к другим программам для выполнения каких-либо вредных действий — портит файлы, "засоряет" оперативную память и т.д.
- программы оптимизации и контроля качества дискового пространства;
- программы восстановления информации, форматирования, защиты данных;
- коммуникационные программы, организующие обмен информацией между компьютерами;
- программы для управления памятью, обеспечивающие более гибкое использование оперативной памяти;
- программы для записи CD-ROM, CD-R и многие другие.
Часть утилит входит в состав операционной системы, а другая часть функционирует независимо от нее, т.е. автономно.
Функции операционной системы
Операционная система — это комплекс взаимосвязанных системных программ, назначение которого — организовать взаимодействие пользователя с компьютером и выполнение всех других программ.
Операционная система выполняет роль связующего звена между аппаратурой компьютера, с одной стороны, и выполняемыми программами, а также пользователем, с другой стороны.
Операционная система обычно хранится во внешней памяти компьютера — на диске. При включении компьютера она считывается с дисковой памяти и размещается в ОЗУ.
Этот процесс называется загрузкой операционной системы.
В функции операционной системы входит:
- осуществление диалога с пользователем;
- ввод-вывод и управление данными;
- планирование и организация процесса обработки программ;
- распределение ресурсов (оперативной памяти и кэша, процессора, внешних устройств);
- запуск программ на выполнение;
- всевозможные вспомогательные операции обслуживания;
- передача информации между различными внутренними устройствами;
- программная поддержка работы периферийных устройств (дисплея, клавиатуры, дисковых накопителей, принтера и др.).
Операционную систему
можно назвать программным
В зависимости от количества одновременно обрабатываемых задач и числа пользователей, которых могут обслуживать ОС, различают четыре основных класса операционных систем:
- однопользовательские однозадачные, которые поддерживают одну клавиатуру и могут работать только с одной (в данный момент) задачей;
- однопользовательские однозадачные с фоновой печатью, которые позволяют помимо основной задачи запускать одну дополнительную задачу, ориентированную, как правило, на вывод информации на печать. Это ускоряет работу при выдаче больших объёмов информации на печать;
- однопользовательские многозадачные, которые обеспечивают одному пользователю параллельную обработку нескольких задач. Например, к одному компьютеру можно подключить несколько принтеров, каждый из которых будет работать на "свою" задачу;
- многопользовательские многозадачные, позволяющие на одном компьютере запускать несколько задач нескольким пользователям. Эти ОС очень сложны и требуют значительных машинных ресурсов.
В различных моделях компьютеров используют операционные системы с разной архитектурой и возможностями. Для их работы требуются разные ресурсы. Они предоставляют разную степень сервиса для программирования и работы с готовыми программами.
Операционная система для персонального компьютера, ориентированного на профессиональное применение, должна содержать следующие основные компоненты:
- программы управления вводом/выводом;
- программы, управляющие файловой системой и планирующие задания для компьютера;
- процессор командного языка, который принимает, анализирует и выполняет команды, адресованные операционной системе.
- Каждая операционная система имеет свой командный язык, который позволяет пользователю выполнять те или иные действия:
- обращаться к каталогу;
- выполнять разметку внешних носителей;
- запускать программы;
Анализ и исполнение команд пользователя, включая загрузку готовых программ из файлов в оперативную память и их запуск, осуществляет командный процессор операционной системы.
Для управления внешними устройствами
компьютера используются специальные
системные программы —
Операционная система решает, какие ресурсы компьютера будут использованы, какие программы будут запущены и в каком порядке будут следовать эти и другие операции для выполнения поставленной пользователем задачи.
Операционная система выполняет три основные функции:
- распределяет (allocates) и назначает (assigns) использование ресурсов компьютера,
- планирует (schedules) использование ресурсов компьютера и время исполнения задач,
- осуществляет текущий контроль (monitoring) работы компьютера.
Операционная система распределяет ресурсы компьютера между приложениями, находящимися в очереди на исполнение. Например, в число задач операционной системы входит выделение отдельной области памяти каждому запущенному приложению и необходимым ему данным, а также управление устройствами ввода-вывода (клавиатурой, принтером, монитором, сетевой картой и т.п.).
Компьютер выполняет несколько программ одновременно. Каждая задача разбивается на множество "кусочков" или "порций", которые компьютер обрабатывает, переключаясь между задачами. Тысячи таких порций должны выполняться различными устройствами компьютера – одной программе необходимо произвести расчет электронной таблицы, второй – распечатать документ на принтере, третья обращается к серверу организации, на котором хранится база данных и т.д. Задача ОС – скоординировать работу всех компонентов компьютера так, чтобы все приложения выполнялись как можно быстрее и эффективнее. Для этого операционной системе необходимо осуществлять планирование использования различных ресурсов компьютера (прежде всего, ЦП, ОЗУ и жесткого диска). Как правило, каждой задаче присваивается приоритет выполнения, в соответствии с которым и осуществляется планирование. Скажем, в нашем примере расчет таблицы может иметь более высокий приоритет, чем задание на печать.
ОС контролирует работу компьютера. Она отслеживает стадии выполнения каждой задачи, а также может вести журнал учета – кто использует компьютер, какие программы были запущены, наблюдались ли случаи несанкционированного использования программ или данных. В любом случае, ОС любого компьютера – и мэйнфрейма и ПК – сама по себе очень большая программа. Поэтому в оперативной памяти всегда хранится лишь часть ОС, называемая ядром (kernel). Большая же часть ОС хранится на жестком диске. Когда какая-либо часть операционной системы необходима для выполнения данного приложения, эта часть подгружается с жесткого диска в ОЗУ. Диск, на котором хранится операционная система, называется системным (system disk).
3. Прикладное программное обеспечение
Прикладная программа — это любая конкретная программа, способствующая решению какой-либо задачи в пределах данной проблемной области.
Прикладные программы
предназначены для того, чтобы
обеспечить применение вычислительной
техники в различных сферах деятельности
человека. Помимо создания новых программных
продуктов разработчики прикладных
программ большие усилия тратят на
совершенствование и
Один из возможных вариантов
классификации программных
Рисунок 2. Классификация прикладного программного обеспечения
Например, там, где на компьютер возложена задача контроля за финансовой деятельностью какой-либо фирмы, прикладной будет программа подготовки платежных ведомостей.
Прикладные программы могут носить и общий характер, например, обеспечивать составление и печатание документов и т.п.
В противоположность этому, операционная система или инструментальное ПО не вносят прямого вклада в удовлетворение конечных потребностей пользователя.
Прикладные программы могут использоваться либо автономно, то есть решать поставленную задачу без помощи других программ, либо в составе программных комплексов или пакетов.
Классификация программного обеспечения:
- По типу
- программные средства общего назначения (текстовые редакторы, системы компьютерной вёрстки, графические редакторы, СУБД);
- программные средства специального назначения (экспертные системы, мультимедийные приложения – Медиаплееры, программы для создания/редактирования видео, звука, Text-To-Speech, гипертекстовые системы – электронные словари, энциклопедии, справочные системы, системы управления содержимым);
- программные средства профессионального уровня (САПР, АРМ, АСУ, АСУ ТП, АСНИ, Геоинформационные системы, Биллинговые системы, CRM).
- По сфере применения
- Прикладное программное обеспечение предприятий и организаций. Например, финансовое управление, система отношений с потребителями, сеть поставок. К этому типу относится также ведомственное ПО предприятий малого бизнеса, а также ПО отдельных подразделений внутри большого предприятия. (Примеры: Управление транспортными расходами, Служба IT поддержки)
- Программное обеспечение обеспечивает доступ пользователя к устройствам компьютера.
- Программное обеспечение инфраструктуры предприятия. Обеспечивает общие возможности для поддержки ПО предприятий. Это системы управления базами данных, серверы электронной почты, управление сетью и безопасностью.
- Программное обеспечение информационного работника. Обслуживает потребности индивидуальных пользователей в создании и управлении информацией. Это, как правило, управление временем, ресурсами, документацией, например, текстовые редакторы, электронные таблицы, программы-клиенты для электронной почты и блогов, персональные информационные системы и медиа редакторы.
- Программное обеспечение для доступа к контенту. Используется для доступа к тем или иным программам или ресурсам без их редактирования (однако может и включать функцию редактирования). Предназначено для групп или индивидуальных пользователей цифрового контента. Это, например, медиа-плееры, веб-браузеры, вспомогательные браузеры и др.
- Образовательное программное обеспечение по содержанию близко к ПО для медиа и развлечений, однако в отличие от него имеет четкие требования по тестированию знаний пользователя и отслеживанию прогресса в изучении того или иного материала. Многие образовательные программы включают функции совместного пользования и многостороннего сотрудничества.
- Имитационное программное обеспечение. Используется для симуляции физических или абстрактных систем в целях научных исследований, обучения или развлечения.
- Инструментальные программные средства в области медиа. Обеспечивают потребности пользователей, которые производят печатные или электронные медиа ресурсы для других потребителей, на коммерческой или образовательной основе. Это программы полиграфической обработки, верстки, обработки мультимедиа, редакторы HTML, редакторы цифровой анимации, цифрового звука и т. п.
- Прикладные программы для проектирования и конструирования. Используются при разработке аппаратного («Железо») и программного обеспечения. Охватывают автоматизированный дизайн (computer aided design — CAD), автоматизированное проектирование (computer aided engineering — CAE), редактирование и компилирование языков программирования, программы интегрированной среды разработки (Integrated Development Environments), интерфейсы для прикладного программирования (Application Programmer Interfaces).
4. Инструментальное ПО
Инструментальное программное обеспечение предназначено для создания программных продуктов общего назначения, не зависящих от предметной прикладной области. Программный продукт - это некоторый файл, содержащий информацию, полученную с помощью программы.
Программный продукт может содержать как элементы информационного обеспечения, например, массив чисел и формул, список фамилий, текст документа, базы данных, так и элементы программного обеспечения, к которой относят прикладные программы, призванные сами создавать программные продукты.
Различают следующие виды инструментальных программ:
- Текстовые редакторы;
- Интегрированные среды разработки;
- SDK;
- Компиляторы;
- Интерпретаторы;
- Линковщики;
- Парсеры и генераторы парсеров (см. Javacc);
- Ассемблеры;
- Отладчики;
- Профилировщики;
- Генераторы документации;
- Средства анализа покрытия кода;
- Средства непрерывной интеграции;
- Средства автоматизированного тестирования;
- Системы управления версиями
Следует отметить, что оболочки
для создания прикладных программ создаются
также инструментальными
Текстовые редакторы предназначены для создания и редактирования текстовых документов. Наиболее распространенными являются MS WORD, Лексикон.
Основными функциями текстовых редакторов являются:
- работа с фрагментами документа,
- вставка объектов созданных в других программах
- разбивка текста документа на страницы
- ввод и редактирование таблиц
- ввод и редактирование формул
- форматирование абзаца
- автоматическое создание списков
- автоматическое создание оглавления.
Известны десятки текстовых редакторов. Наиболее доступными являются NOTEPAD (блокнот), WORDPAD, WORD. Работа конкретного редактора текста определяется обычно функциями, назначение которых отражено в пунктах меню и в справочной системе.
Графические редакторы используют для создания и обработки изображений. Специальный раздел информатики посвящен компьютерной графике, которая основана на передовых достижениях фундаментальных и прикладных наук: математики, физики, химии, статистики и др. В зависимости от принципа вывода изображения на экран монитора различают растровую, векторную и фрактальную графику и соответствующие графические редакторы. Отдельным видом компьютерной графики является трехмерная графика, сочетающая векторный и растровый способ построения изображения.
Редакторы растровых изображений
используют для вывода минимальной
единицы изображения точку. Точка
имеет параметры: цвет, признак мигания,
координаты по Х и У. Поэтому для
растровых изображений
Редакторы векторной графики используют в качестве элементарного графического примитива линию (контур). Контур может иметь любую форму - прямой, кривой, ломаной, фигуры. Каждый контур может иметь две или более опорных точек, именуемых узлами. Элемент контура, заключенный между двумя смежными опорными точками называют сегментом контура. Контур может быть открытым и закрытым и на его основе могут быть созданы новые объекты путем применения к контурам операций группировки, комбинирования и объединения. К векторным редакторам относят CorelDraw, Adobe Illustrator и др.
Программы создания электронных презентаций получают все большее распространение в виду возможности быстрого создания визуального представления различных документов и режимов функционирования информационных и вычислительных систем. Наиболее популярным инструментальным средством создания электронных презентаций является POWER POINT.
Ассемблеры — компьютерные программы, осуществляющие преобразование программы в форме исходного текста на языке ассемблера в машинные команды в виде объектного кода.
Трансляторы – программы или технические средства, выполняющее трансляцию программы.
Компиляторы — Программы, переводящие текст программы на языке высокого уровня, в эквивалентную программу на машинном языке.
Интерпретаторы — Программы (иногда аппаратные средства), анализирующие команды или операторы программы и тут же выполняющие их.
Компоновщики (редакторы связей) — программы, которые производят компоновку — принимают на вход один или несколько объектных модулей и собирают по ним исполнимый модуль.
Препроцессоры исходных текстов — это компьютерные программы, принимающие данные на входе и выдающие данные, предназначенные для входа другой программы, например, такой, как компилятор.
Отла́дчики (debugger) – является модулем среды разработки или отдельным приложением, предназначенным для поиска ошибок в программе.
5. Программы-оболочки
Оболочки — это программы,
созданные для упрощения работы
со сложными программными системами, такими,
например, как DOS. Они преобразуют
неудобный командный
Программа-оболочка выполняет тройную функцию, обеспечивая:
- наглядное отображение файловой системы на экране и удобные средства для перемещений по этой системе;
- простой и гибкий механизм диалога с MS DOS;
- всевозможные служебные функции (манипуляции с файлами и др.).
Виды программ-оболочек (файловых менеджеров):
- Текстовые (Norton Commander, Volkov Commander, FAR, Windows Commander и др.). каждая команда операционной системы выполняется нажатием одной определенной функциональной клавишей: Type – F3, Copy – F5 и т.д., а файлы, над которыми производятся действия, предварительно помечаются в списке на экране. Помечать можно файлы и каталоги, поэтому пользователю дана возможность работать с разными объектами одиниковым образом.
- Графические:
Проводник – стандартный файловый менеджер Windows, реализующий оконный интерфейс и технологию с помощью мыши;
Tonal Commander – программа-оболочка, осуществляющая сравнение содержимого двух папок, копирование, просмотр иерархической файловой системы, архивирование файлов.
Самая популярная у пользователей IBM-совместимого ПК оболочка — пакет программ Norton Commander.
Он обеспечивает:
- создание, копирование, пересылку, переименование, удаление, поиск файлов, а также изменение их атрибутов;
- отображение дерева каталогов и характеристик входящих в них файлов в форме, удобной для восприятия человека;
- создание, обновление и распаковку архивов (групп сжатых файлов);
- просмотр текстовых файлов;
- редактирование текстовых файлов;
- выполнение из её среды практически всех команд DOS;
- запуск программ;
- выдачу информации о ресурсах компьютера;
- создание и удаление каталогов;
- поддержку межкомпьютерной связи;
- поддержку электронной почты через модем.

- Структура программного обеспечения
- Структура программного обеспечения САПР
- Структура программы маркетинговой стратегии
- Структура «Программы ранней комплексной диагностики уровня развития ребенка от рождения до трех лет»
- Структура производных слов и методы ее анализа
- Структура производства
- Структура производства и направление ее совершенствования
- Структура предприятия
- Структура предприятия
- Структура предприятия
- Структура предприятия
- Структура пресс-службы
- Структура приговора
- Структура природы человека