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

Обновлено: 02.07.2024

Ключевые слова:

— программное обеспечение (ПО),

— файловая система и структура,

— полное имя файла,

— маска имен файлов.

Учебник: Информатика. 10 класс: учебник / Л. Л. Босова, А. Ю. Босова. — М.: БИНОМ. Лаборатория знаний, 2016. — 288 с.

Изучая компьютер, у нас возникают вопросы: что самое важное в компьютере и что заставляет компьютер работать? Может процессор или Bios, а может оперативная память?

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

  1. Аппаратные средства (hardware) — это технические устройства.
  2. Программное обеспечение (software) — это программы (команды, записанные последовательно).

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

На уроке мы с вами узнаем:

— как классифицировать программное обеспечение;

— как определять основные характеристики операционной системы;

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

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

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

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

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

  1. Системное ПО
  2. Прикладное ПО
  3. Системы программирования

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

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

В настоящее время наиболее распространёнными ОС для персональных компьютеров являются Windows, Mac Os, Linux. Для смартфонов, планшетов и других мобильных устройств — Android, iOS, Windows Phone.

Рассмотрим основные функции, выполняемые ОС современного компьютера.

Управление устройствами

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

Управление процессами

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

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

Пользовательский интерфейс

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

Работа с файлами

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

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

— Обслуживание дисков и диагностика компьютера:

- сжатие программ и данных.

— Защита от вирусов:

Многие программы сжатия данных построены на основе алгоритма Хаффмана.

  1. Считать все входные данные и подсчитать частоты встречаемости всех символов.
  2. Частоты встречаемости символов выписать в ряд — это вершины будущего графа (дерева).
  3. Выбрать две вершины с наименьшими весами и объединить их — создать новую вершину, от которой провести рёбра к выбранным вершинам с наименьшими весами, а вес новой вершины задать равным сумме их весов. Расставить на рёбрах графа числа 0 и 1 (на верхнем ребре — 0, а на нижнем — 1). Чтобы выбранные вершины больше не просматривались, стереть их веса.
  4. Продолжить объединение вершин, каждый раз выбирая пару с наименьшими весами, до тех пор, пока не останется одна вершина — корень дерева. Вес этой вершины будет равен длине сжимаемого массива.
  5. Создать кодовую таблицу. Для определения двоичного кода каждой конкретной буквы необходимо пройти от корня до этой вершины, выписывая 0 и 1, встречающиеся на маршруте.
  6. Сгенерировать сжатый массив данных, для чего надо снова прочесть входные данные и каждый символ заменить соответствующим ему кодом.

Сжать с помощью алгоритма Хаффмана фразу:

VENI, VIDI, VICI

Частота встречаемости символов



VENI, VIDI, VICI

01111011111000100001101
101100010000110110010

Исходный текст состоит из 16 символов, т. е. его длина в несжатом виде будет равна 16 байт или 128 бит. Код сжатого текста будет занимать 44 бита. Получаем коэффициент сжатия, равный 128/44 ≈ 2,9.

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

Рассмотрим основные компоненты, входящие в состав большинства систем программирования.

Специализированный текстовый редактор — позволяет программисту набрать и отредактировать текст программы на языке программирования высокого уровня. Трансляторы — специальные программы для перевода программы, написанной на языке высокого уровня, в машинные коды; существует два типа трансляторов: интерпретаторы и компиляторы. Интерпретаторы — обрабатывают и исполняют команды программы последовательно, от оператора к оператору, при каждом запуске программы она заново переводится в машинные коды. Компиляторы — обрабатывают весь текст программы, преобразовывая его в машинный код и строя исполняемый файл, готовый к запуску; после этого ни текст программы, ни компилятор не нужны.

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

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

Программы, с помощью которых пользователь может работать с разными видами информации, не прибегая к программированию, принято называть прикладными программами или приложениями. Можно выделить приложения общего и специального назначения. Приложения общего назначения требуются практически каждому пользователю для работы с разными видами информации. К ним относятся: текстовые редакторы и процессоры; графические редакторы и пакеты компьютерной графики; табличные процессоры; редакторы презентаций, аудио и видеоредакторы; системы управления базами данных; браузеры; почтовые программы и др. Как правило, пользователь, приобретая компьютер, устанавливает на нём так называемый офисный пакет программ, включающий основные приложения общего назначения. Наибольшее распространение получили такие офисные пакеты, как Microsoft Office и Open Office. С любого компьютера, имеющего выход в Интернет, может быть доступен онлайн-офис, независимо от того, какую операционную систему этот компьютер использует. Онлайн-офис — это набор веб-сервисов, включающий в себя все основные компоненты традиционных офисных пакетов: текстовый редактор, электронные таблицы, редактор презентаций и др. Самый известный онлайн-офис — Google Docs.

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

— настольные издательские системы,

— системы автоматизированного проектирования (САПР),

— программы компьютерного моделирования,

— геоинформационные системы (ГИС), системы автоматического перевода и другие программы.

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

Из курса основной школы вам известно, что файл — это поименованная совокупность данных определённого размера, размещаемая на внешних устройствах (носителях информации) и рассматриваемая в процессе обработки как единое целое. Файл характеризуется набором параметров (имя, размер, дата создания, дата последней модификации) и атрибутами, используемыми операционной системой для его обработки (архивный, системный, скрытый, только для чтения). Размер файла выражается в байтах. На каждом компьютерном носителе информации может храниться большое количество файлов. Для удобства поиска информации файлы по определённым признакам объединяют в группы, называемые каталогами или папками.

Каталог (папка) — это поименованная совокупность файлов и подкаталогов (вложенных каталогов).

Правила построения имён файлов и папок (каталогов) зависит от ОС. В операционной системе Windows:

  1. Допускается использование имён, длиной до 255 символов.
  2. Можно использовать прописные и строчные буквы латинского и национальных алфавитов, цифры, пробелы и некоторые символы.
  3. Нельзя использовать символы: \ / : * ? “ |.
  4. Неразличаются прописные и строчные буквы в имени.

ОС Linux отличается тем, что различаются прописные и строчные буквы в имени, нельзя использовать символ \, а символы / : * ? “ | следует использовать с осторожностью, так как некоторые из них могут иметь специальный смысл, а также из соображений совместимости с другими ОС. Имя файла состоит из собственного имени (даем его мы) и расширения. Расширения файлам, как правило, даются автоматически программами, в которых они создаются; существует ряд стандартных расширений, по которым можно узнать тип файла и программу, в которой их можно открыть. Файловая система — часть операционной системы, определяющая способ организации, хранения и именования данных на носителе информации.

Файловые системы решают следующие задачи:

— определяют правила построения имён файлов и каталогов,

— поддерживают программный интерфейс работы с файлами для приложений,

— определяют порядок размещения файлов на диске,

— обеспечивают защиту данных в случае сбоев и ошибок,

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

— обеспечивают совместную работу с файлами.

В операционных системах Windows распространены две файловые системы: FAT32 и NTFS. В ОС Linux применяются ext2fs и ext3fs.

Защита данных во время сбоев, ошибок

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

  1. Перед началом выполнения операций с файлами ОС записывает (сохраняет) список действий, которые она будет проводить с файловой системой; эти записи хранятся в отдельной части файловой системы, называемой журналом.
  2. Как только изменения файловой системы внесены в журнал, она применяет эти изменения к файлам, после чего удаляет эти записи из журнала.
  3. Если во время выполнения операций с файлами произошёл сбой, то по записям в журнале можно определить пострадавшие файлы и восстановить их.

Используют два символа:

Давайте рассмотрим пример: Какие файлы будут найдены по маске?

. doc — файлы имеют пять символов в собственном имени и с расширением .doc;

*.jpg — любое собственное имя с расширением jpg;

doc*.* — имя обязательно начинается на doc, но дальше могут стоять любое количество символов и расширение любое.

Давайте рассмотрим задачу

В каталоге находятся 6 файлов:

motors.dat
torsten.docx

victoria.docx

x_torero.doc

Определите, по какой из перечисленных масок из этих 6 файлов будет отобрана указанная группа файлов:

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


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

Тренировочный модуль.

Соедините стрелками. Укажите, в какой программе создан файл.




  1. Программы, с помощью которых пользователь может работать с разными видами информации, не прибегая к программированию.
  2. Специальная программа для подключения внешних устройств.
  3. Важный этап в разработке новой программы.
  4. Файл с расширением bmp — это …
  5. Прикладное ПО для просмотра веб-страниц.
  6. Поименованная совокупность данных определённого размера, размещаемая на внешних устройствах.
  7. Человек, создающий новые программы.
  8. ПО, которое обеспечивает согласованную работу всех узлов компьютера.
  9. Какая файловая структура применяется в современных компьютерах?
  10. Программа, которая преобразует исходные тексты программ в машинный код.
  11. Минимальный элемент информации на жестком диске.


Определите, какое из указанных имен файлов удовлетворяет маске:

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

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

Программное обеспечение компьютера - Софт: Что это такое

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

Что такое программное обеспечение — Софт

Программное обеспечение (ПО, software, софт) — это программа/ы, которые выполняют какие-либо функции, заложенные в них разработчиком. Это может быть, как просто единичная программа, например, тот же блокнот, так и целая система — та же ОС Windows. Т.е. по сути — это определенный набор правил, написанный в виде кода хранящемся в файле/ах, который обеспечивает работу, как всего аппаратного средства (операционная система), так и работу конкретных функций на нем (программы, утилиты, драйвера и т.д.).


Важно! Программное обеспечение может быть у любого устройства, не только у компьютера или ноутбука. Например, на телевизорах тоже стоит ПО.

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

Зачем нужно программное обеспечение

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

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


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

Виды программного обеспечения

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

Прикладное ПО

Это тот софт, которым вы часто пользуетесь, к примеру, тот же браузер с которого вы и читаете данный текст. Антивирусы, видео-редакторы, браузеры и т.д. — все это прикладное ПО. Не относится напрямую к операционной системе и не выполняет системные функции.


Прикладное ПО выполняет определенные задачи: набор текста, рисование, редактирование чего-либо и т.д. Если какой-либо софт выполняет задачи, не связанные напрямую с ОС — это прикладное ПО.

Системное ПО

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

К такому ПО можно отнести:

  1. Драйверы — они как раз и обеспечивают взаимодействие между устройством и операционной системой. Подробнее об этом написано в материале — что такое драйвер.
  2. Операционная система.
  3. Тот же биос, различное встроенное в оборудование ПО.


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

Инструментальное ПО

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


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

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

Классифицировать его можно по нескольким совершенно разным признакам, будь то функционал, характеристики или модель распространения. Рассмотрим основные классы ПО.

По операционной системе и устройству

Конечно же, каждое ПО создается под определенную систему и для определенного устройства. Так, как архитектура совершенно разная — даже один и тот же софт работающий на разных устройствах — совершенно разные программы на уровне кода. Итак, разделим на:

  • По ОС: Windows, Mac OS, Linux, IOS, Android и т.д.
  • По устройству: Компьютер, смартфон, телевизор, планшет, роутер и т.д.

По режиму использования

Надо понимать, где и кто будет пользоваться софтом. Ведь ПК может использовать, как один человек, так и целая семья.

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

По функционалу

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

  • Малое. Мелкие утилиты, которые узкоспециализированы на выполнение определенных функций, те же проигрыватели видео и музыки.
  • Среднее. Программы, которые уже предлагают определенный функционал в работе с определенными задачами, фоторедакторы, офис и т.д.
  • Большое. Комбайны, которые кроме поставленных задач предлагает множество и других возможностей, например, кроме записи диском включает в себя проигрыватель, конвертер и т.д. Также сюда можно отнести и большой софт типа того же Microsoft Office, который предлагает несколько решений в одном пакете.


По степени готовности и стабильности работы

По модели распространения

Free / Бесплатное — Софт, который распространяется абсолютно бесплатно, не надо платить ни копейки. Можно устанавливать на любые поддерживаемые устройства, делиться им с друзьями и т.д.

Adware / Почти бесплатное — В данном случае с вас также не попросят ни копейки, но в данное ПО может быть встроена реклама или за определенный дополнительный функционал могут попросить внести деньги, хотя и без них софт будет рабочим.

Shareware / Условно бесплатное — Такое ПО можно использовать только в не коммерческих целях. Обычно ограничен по функционалу, и чтобы отрыть новые возможности необходимо приобрести лицензию.

Trial / Триальное — Такой софт обычно функционирует определенный промежуток времени, например, пятнадцать дней, после чего без покупки просто не запустится.

Demo / Демо — Такой софт обычно раздают на время и часто в урезанном виде, чтобы можно было ознакомится с его возможностями. По окончанию времени необходимо будет приобрести.

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

Интересно! ПО можно разделить и на другие классы, например, по требованию защиты и надежности, по классификации пользователей и т.д. Но это скорее уже подклассы.

В заключение

Вот вы и узнали значение, что такое программное обеспечение в информатике простыми словами. Теперь у вас не возникнет вопросов, когда вы вновь увидите или услышите это словосочетание. Добавляйте сайт в закладки и заходите почаще — будет еще много полезных материалов.

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

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

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

Опр2. ПО – программы, предназначенные для многократного использования и применения разными пользователями. Свойства ПО:

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

2) Эффективность. Программное обеспечение рассчитано на многократное использование, поэтому оно пишется и отлаживается 1 раз, а выполняется многократно.

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

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

Системная программа – программа, предназначенная для поддержания работоспособности системы обработки информации или повышения эффективности ее использования.

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

Системное программирование – процесс разработки системных программ. Системное программирование – разработка программ сложной структуры.

Классификация ПО:

3) Промежуточное (middleware) – совокупность программ, осуществляющих управление вторичными, т.е. конструируемыми самим ПО, ресурсами, ориентированными на решение широкого класса задач. К промежуточному ПО относятся: серверы БД, СУБД, серверы коммуникации, менеджеры транзакций и другие программные серверы.

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

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




Системное ПО подразделяется на системные управляющие программы, и системные обслуживающие программы.

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

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

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

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

Этапы подготовки программ:

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

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

Свойства программного модуля:

Функциональность – модуль должен выполнять законченную функцию.

Несвязность – модуль должен иметь минимум связей с другими модулями, связь через глобальные переменные и глобальные области памяти нежелательна.

Специфицируемость- входные и выходные параметры модуля должны четко формулироваться.


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

Первым этапом подготовки программы является ее обработка макропроцессором или препроцессором. Макропроцессор обрабатывает текст программы и на выходе его получается новая редакция текста. Макропроцессор выполняет обработку текста и это означает с одной стороны, что он не воспринимает операторов языка программирования и не знает переменных программы, с другой – что все операторы и переменные макроязыка, т.е. те выражения программе, которые на прямую адресованы макропроцессору, в промежуточном ИМ’ уже отсутствуют и для дальнейших этапов обработки не требуются. Если макропроцессор заменил некоторый текст А на текст В, то транслятор видит только текст В и не знает, был этот текст написан или подставлен микропроцессором.

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

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

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

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

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

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

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

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

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

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

Загрузочный модуль –программный модуль, представленный в форме, пригодной для загрузки в оперативную память для выполнения. ЗМ сохраняется в виде файла во внешней памяти. Для выполнения программа должна быть перенесена в оперативную память. При этом требуется дополнительная обработка. Например, настройка адресов в программе на ту область оперативной памяти, в которую программа загрузилась. Эта функция и выполняется загрузчиком.

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

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

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

Вариант интерпретации подразумевает прямое исполнение исходного модуля.

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

Примеры интерпретаторов: языки процедуру shell и rexx, JVM.

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

1) Макрообработка и трансляция

2) Редактирование связей

3) Загрузка и отладка

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

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

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

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

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

Взаимодействие между пользователем, прикладным программным обеспечением, операционной системой и аппаратным обеспечением (оборудованием).

Програ́ммное обеспе́чение [1] [2] (допустимо также произношение обеспече́ние [3] [4] [5] ) (ПО) — все или часть программ, процедур, правил и соответствующей документации системы обработки информации (ISO/IEC 2382-1: 1993. Information technology — Vocabulary — Part 1: Fundamental terms) [6] [7] .

Другие определения из международных и отечественных стандартов:

  • Компьютерные программы, процедуры и, возможно, соответствующая документация и данные, относящиеся к функционированию компьютерной системы (FCD ISO/IEC 24765. Systems and Software Engineering Vocabulary) [6] .
  • Совокупность программ системы обработки информации и программных документов [8] , необходимых для эксплуатации этих программ (ГОСТ 19781-90[9] ).

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

Академические области, изучающие программное обеспечение, — это информатика, программирование, программная инженерия.

В компьютерном сленге часто используется слово софт от английского слова software, которое в этом смысле впервые применил в статье в American Mathematical Monthly математик из Принстонского университета Джон Тьюки (англ. John W. Tukey ) в 1958 году [11] .

Содержание

История

Классификация ПО

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

Документация

Документация — печатные руководства пользователя, диалоговая (оперативная) документация и справочный текст, описывающие как пользоваться программным продуктом [13] .

Документ — элемент документации: целевая информация, предназначенная для конкретной аудитории, размещенная на конкретном носителе (например, в книге, на диске, в краткой справочной карте) в заданном формате [13] .

Программный документ — документ, содержащий в зависимости от назначения данные, необходимые для разработки, производства, эксплуатации, сопровождения программы или программного средства [14] .

См. также

Примечания

Литература

Кент Бек • Гради Буч • Фред Брукс • Barry Boehm • Уорд Каннингем • Оле-Йохан Даль • Том Демарко • Эдсгер Вибе Дейкстра • Дональд Кнут • Мартин Фаулер • Чарльз Энтони Ричард Хоар • Watts Humphrey • Майкл Джексон • Ивар Якобсон • Craig Larman • James Martin • Мейер Бертран • Дэвид Парнас • Winston W. Royce • James Rumbaugh • Никлаус Вирт • Эдвард Йордан • Стив Макконнелл

Моделирование данных • Архитектура ПО • Функциональная спецификация • Язык моделирования • Парадигма • Методология • Процесс разработки • Качество • Обеспечение качества • Структурный анализ)

CMM • CMMI • Данных • Function model • IDEF • Информационная • Metamodeling • Object model • View model • UML

Wikimedia Foundation . 2010 .

Полезное

Смотреть что такое "Программное обеспечение" в других словарях:

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

ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ — (математическое обеспечение электронной вычислительной машины), совокупность программ системы обработки данных и программных документов, необходимых для реализации программ на электронной вычислительной машине. Различают программное обеспечение… … Современная энциклопедия

программное обеспечение — Совокупность программ системы обработки информации и программных документов, необходимых для эксплуатации этих программ. [ГОСТ 19781 90] программное обеспечение Продукт интеллектуальной деятельности, включающий программы, процедуры, данные,… … Справочник технического переводчика

ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ — ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ, комплекс КОМПЬЮТЕРНЫХ ПРОГРАММ и прила гаемых к ним файлов с данными, без которых компьютер не может функционировать. Материальная часть компьютера процессор, монитор и т. д. называется, соответственно, АППАРАТНЫМ… … Научно-технический энциклопедический словарь

ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ — (software) Программы, используемые в компьютере вместе с их описанием. Перечни программ, библиотеки программ, а также пособия для пользователей и программистов – все это относится к программному обеспечению, так как они более изменчивы и… … Словарь бизнес-терминов

программное обеспечение (ПО) — программа программное средство программный — [Е.С.Алексеев, А.А.Мячев. Англо русский толковый словарь по системотехнике ЭВМ. Москва 1993] Тематики информационные технологии в целом Синонимы программапрограммное средствопрограммный EN… … Справочник технического переводчика

ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ — то же, что математическое обеспечение ЭВМ … Большой Энциклопедический словарь

программное обеспечение — (средство) продукт интеллектуальной деятельности, включающий в себя информацию, выраженную через средства поддержки. (Смотри: ИСО 9000 1 94. Общее руководство качеством и стандарты по обеспечению качества. Часть 1. Руководящие указания по выбору… … Строительный словарь

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

программное обеспечение — 01.01.80 программное обеспечение (в области электросвязи) [software ]: Программы ЭВМ, процедуры, правила и любая сопутствующая документация, имеющие отношение к работе аппаратуры, сети электросвязи или другого… … Словарь-справочник терминов нормативно-технической документации

Читайте также: