Программное обеспечение. Классификация программного обеспечения. Системное и прикладное программное обеспечение
Программное обеспечение - это часть компьютерной системы, которая состоит из данных как цифровых инструкций, в отличие от физического оборудования, из которого построена система. В информатике и разработке ПО это вся информация, обрабатываемая компьютерными системами, программами и данными. Оно включает в себя компьютерные программы, библиотеки и связанные с ними неисполняемые данные, такие как онлайн-документация или цифровые носители. Техника и программное обеспечение зависимы друг от друга, и они не могут быть реально использованы сами по себе. В свою очередь, классификация ПО может быть осуществлена по нескольким разным признакам.
Что это такое?
На самом низком уровне исполняемый код состоит из инструкций машинного языка, специфичных для отдельного процессора, обычно центрального (CPU). Машинный язык состоит из групп двоичных значений, обозначающих инструкции процессора, которые изменяют состояние компьютера из его предыдущего состояния. Например, инструкция может изменить значение, находящееся в определенном месте хранения в компьютере. Этот эффект непосредственно не наблюдаем для пользователя, но имеет большое значение. Инструкция может (косвенно) вызвать появление чего-либо на дисплее компьютерной системы - изменение состояния, которое должно быть видимым для пользователя. Процессор выполняет такие команды в том порядке, в котором они предоставляются, если только не будет дано указание перейти к другой инструкции или прервать процесс.
Большинство программ написано на языках программирования высокого уровня, которые работают проще и эффективнее для программистов. Они переводятся на машинный язык с использованием компилятора или интерпретатора, или их комбинации. Таким образом, средства программного обеспечения – это специальные коды.
История программного обеспечения
Схема (алгоритм) того, что было бы первой частью программного обеспечения, было написано Адой Лавлейс в 19-м веке для аналитического движка. Однако ни указанная разработка, ни какое-либо другое подобное ПО никогда не создавались на практике.
Первая теория о программном обеспечении - до создания компьютеров, известных сегодня, была предложена Аланом Тьюрингом в его очерке 1935 года «Вычислимые числа». Это в конечном итоге привело к созданию двух академических областей информатики, которые изучают ПО и его создание. Компьютерная наука является более теоретической, в то время как программная инженерия фокусируется на более практических задачах. Однако до 1946 года еще не существовало современное программное обеспечение.
Классификация программного обеспечения
Практически на всех компьютерных платформах ПО может быть сгруппировано в несколько широких категорий. Так, основываясь на цели, компьютерное программное обеспечение можно разделить:
1. На прикладное, которое представляет собой ПО, использующее систему для выполнения специальных функций или выполнения развлекательных задач, находящихся за пределами основной работы компьютера. К прикладному программному обеспечению относятся многочисленные разработки, поскольку диапазон задач, которые могут выполняться на современном устройстве, очень велик.
2. Системное - непосредственно управляет компьютерным оборудованием, обеспечивает базовые функциональные возможности, необходимые пользователям и другому ПО, и обеспечивает платформу для запуска прикладного.
К системному программному обеспечению относятся:
1. Операционные системы являются важными наборами ПО, управляющими ресурсами и предоставляющими общие службы для другого программного обеспечения, которое работает «поверх них». Контрольные программы, загрузчики, оболочки и оконные системы являются основными компонентами операционных систем. На практике ОС поставляется в комплекте с дополнительным программным обеспечением (включая прикладное), поэтому пользователь может потенциально выполнить некоторую работу с компьютером, имеющим только установленную ОС.
2. Драйверы устройств управляют определенным типом устройства, подключенного к компьютеру. Каждому девайсу необходим, по крайней мере, один соответствующий драйвер. Поскольку компьютер обычно имеет минимум по одному устройству ввода и вывода, ему обычно требуется более одного вида этого ПО.
3. Утилиты представляют собой компьютерные программы, предназначенные для оказания помощи пользователям в обслуживании и уходе за устройством.
4. К системному программному обеспечению относятся и вредоносные программы, которые разработаны для нанесения вреда компьютерам. Его появление и развитие тесно сопряжено с преступлениями, связанными с цифровыми технологиями, хотя некоторые его виды могут быть разработаны в качестве практических шуток. Зачастую пользователи не всегда понимают, когда на устройстве присутствует такое программное обеспечение.
Классификация программного обеспечения системного типа может быть продолжена различными узкоспециальными разработками.
Более специализированные сервисы
Как уже было отмечено, системное ПО – это программы, созданные для работы компьютерной системы. Помимо основных средств существуют его разновидности, которые применяются только в определенных сферах. Итак, какова же такая классификация программного обеспечения компьютера?
1. Настольные приложения, созданные для определенной области применения. Это самая многочисленная категория, в качестве примера можно привести веб-браузеры и Microsoft Office, а также различные сервисы для смартфонов и планшетов. Здесь стоит отметить, что в некоторой части индустрии программного обеспечения имеется тенденция объединять настольные приложения с мобильными. Так, при разработке Windows 8 и более поздних версий UbuntuTouch специалисты пытались разрешить использование одного и того же интерфейса программ на стационарных компьютерах, ноутбуках и мобильных телефонах.
2. Скрипты JavaScript - это специальное ПО, традиционно встроенное в веб-страницы, которые запускаются непосредственно в браузере, без использования плагинов. Программное обеспечение, написанное на других языках программирования, также может быть запущено в веб-обозревателе, если оно переведено на JavaScript либо установлено расширение, поддерживающее этот язык. Наиболее распространенным примером последнего является сценарий ActionScript, который поддерживается плагином AdobeFlash.
3. Программное обеспечение сервера обычно запускается на веб-сервере и выводит динамически сгенерированные веб-страницы в браузеры, используя PHP, Java, ASP.NET или даже JavaScript.
4. Плагины и расширения – это ПО, которое увеличивает или изменяет функциональные возможности других сервисов. При этом основная программа используется непосредственно для работы, а встроенная является прошивкой, предназначенной для выполнения одной или нескольких дополнительных целей.
Инструмент программирования как программное обеспечение
Классификация программного обеспечения включает в себя и инструменты программирования. Их можно представить в виде сервисов или приложений, которые разработчики (также известные как программисты, кодеры, хакеры или инженеры) используют для создания, отладки, обслуживания (т. е. улучшения или исправления) или поддержки ПО.
Глазами пользователя
Каково же программное обеспечение для массового потребителя? Пользователи часто видят созданные продукты иначе, чем программисты. Люди, которые используют современные компьютеры общего назначения, обычно применяют три уровня ПО, выполняющего множество задач: платформу, приложения и пользовательские сервисы.
Платформа включает в себя прошивку, драйверы устройств, операционную систему и обычно графический пользовательский интерфейс, который в целом позволяет пользователю взаимодействовать с компьютером и его периферийными девайсами (связанным оборудованием). ПО платформы часто поставляется в комплекте с компьютером. На большинстве ПК имеется возможность изменять это программное обеспечение.
Самые распространенные виды
Прикладное ПО - это наиболее распространенные и известные виды программ. Так, к прикладному программному обеспечению относятся офисные пакеты и видеоигры. Оно зачастую приобретается отдельно от компьютерного оборудования. Иногда оно поставляется и в комплекте с компьютером, но это не меняет того факта, что они запускаются как независимые приложения. Они обычно представляют собой независимые программы из операционной системы, хотя они часто адаптируются для конкретных платформ. Чаще всего это лицензионное программное обеспечение. Стоит также отметить, что большинство пользователей считают компиляторы, базы данных и другое системное ПО прикладными приложениями.
Непрофессиональные сервисы
Это написанное пользователями программное обеспечение. Классификация программного обеспечения включает в себя и разработки продвинутых пользователей. Они адаптируют системы к конкретным потребностям. Программное обеспечение пользователя включает в себя шаблоны таблиц и текстовых процессоров. Даже фильтры электронной почты являются своего рода ПО для пользователей. Потребители сами создают это программное обеспечение и часто забывают, насколько это важно.
Как это работает?
Компьютерное программное обеспечение должно быть загружено в хранилище компьютера (например, на жесткий диск или память). После его загрузки компьютер может выполнить ту или иную задачу. Это предполагает передачу инструкций из прикладного программного обеспечения через системное аппаратным средствам, которые в конечном итоге получают инструкцию как машинный код. Каждая команда заставляет компьютер выполнять операции, перемещающие данные, выполняющие вычисления или изменяющие поток команд управления. Движение данных обычно происходит из одного места в памяти в другое. Иногда это связано с перемещением данных между памятью и регистрами, которые обеспечивают высокоскоростной доступ к данным в CPU.
Перенос данных, особенно больших объемов, может быть слишком долгим и трудоемким. По этой причине зачастую используют указатели на данные. Вычисления включают в себя простые операции, например увеличение значения переменной элемента данных. Более сложные вычисления могут включать в себя множество операций и элементов одновременно.
Тестирование и лицензии
Качество программного обеспечения очень важно, особенно для коммерческого и системного его видов (в качестве классических примеров можно привести Microsoft Office, Microsoft Windows и Linux). Если оно неисправно (выдает ошибки), оно может удалить работу пользователя, вывести компьютер из строя и привести к другим неприятным последствиям. Сбои в работе ПО называются ошибками и «багами», которые часто обнаруживаются во время альфа- и бета-тестирования.
Что же такое лицензионное программное обеспечение? Лицензия дает пользователю право на неограниченное использование сервиса, а в случае разрешения на бесплатный доступ также предоставляет другие возможности (например, право на изготовление копий).
Классификация ПО может осуществляться также следующим образом:
1. Бесплатное, которое включает в себя категорию «бесплатная пробная версия», или freemium (в прошлом термин shareware часто использовался для бесплатной пробной версии). Как следует из названия, его можно использовать на безвозмездной основе, хотя в случае бесплатных проб или программного обеспечения freemium - это иногда верно только в течение ограниченного периода времени или с ограниченными функциональными возможностями.
2. Программное обеспечение, которое доступно за плату, часто неточно называемое «коммерческим». Оно может быть законно использовано только при покупке лицензии.
Похожие статьи
- Софт - что это такое? Виды и классификация софта
- Системное программное обеспечение и его разновидности
- Какие бывают виды программистов? Виды деятельности программиста
- Кроссплатформенное программное обеспечение. Ответы на вопросы
- Антивирус – это программное средство, предназначенное для борьбы с компьютерными вирусами. Антивирус: определение, классификация и отзывы
- Программа для автоматической установки драйверов
- Что такое компьютерная программа? Создание, использование, виды и назначение компьютерных программ