Виды программного обеспечения компьютеров. Программное обеспечение: примеры. Разработка программного обеспечения

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

Различают системное и прикладное ПО. Схематически программное обеспечение можно представить так:

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

Базовое ПО включает в себя:

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

    оболочки;

    сетевые операционные системы.

Сервисное ПО включает в себя программы (утилиты):

    диагностики;

    антивирусные;

    обслуживания носителей;

    архивирования;

    обслуживания сети.

Прикладное ПО – это комплекс программ для решения задач определённого класса конкретной предметной области. Прикладное ПО работает только при наличии системного ПО.

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

    текстовые процессоры;

    табличные процессоры;

    базы данных;

    интегрированные пакеты;

    системы иллюстративной и деловой графики (графические процессоры);

    экспертные системы;

    обучающие программы;

    программы математических расчетов, моделирования и анализа;

    коммуникационные программы.

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

    трансляторы;

    среду разработки программ;

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

    отладчики;

    редакторы связей и др.

2.Основные составляющие сист.прог.обеспеч. Операц.системы.Утилиты. системы програм.СУБД. основные функции,классификация СУБД по способу доступа.

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

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

Операционная система решает задачи, которые можно условно разделить на две категории:

    во-первых, управление всеми ресурсами компьютера;

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

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

Ещё не так давно работы по настройке приходилось выполнять пользователю вручную, а сегодня производители компонентов компьютерной техники разработали протокол plug-and-play (включил - заработало). Этот протокол позволяет операционной системе в момент подключения нового компонента получить информацию о новом устройстве, достаточную для настройки ОС на работу с ним.

Операционные системы для ПК различаются по нескольким параметрам. В частности, ОС бывают:

    однозадачные и многозадачные ;

    однопользовательские и многопользовательские ;

    сетевые и несетевые .

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

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

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

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

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

В настоящее время, с появлением мощных компьютеров, широкое распространение получили два типа ОС. К первому типу относятся достаточно похожие ОС семейства Windows компании Microsoft. Они многозадачные и имеют многооконный графический интерфейс. На рынке персональных компьютеров с Windows конкурируют ОС типа UNIX . Это многозадачная многопользовательская ОС с командным интерфейсом. В настоящее время разработаны расширения UNIX, обеспечивающие многооконный графический интерфейс. UNIX развивалась в течение многих лет разными компаниями, но до недавнего времени она не использовалась на персональных компьютерах, т.к. требует очень мощного процессора, весьма дорога и сложна, её установка и эксплуатация требуют высокой квалификации. В последние годы ситуация изменилась. Компьютеры стали достаточно мощными, появилась некоммерческая, бесплатная версия системы UNIX для персональных компьютеров - система Linux . По мере роста популярности этой системы в ней появились дополнительные компоненты, облегчающие её установку и эксплуатацию. Немалую роль в росте популярности Linux сыграла мировая компьютерная сеть Internet. Хотя освоение Linux гораздо сложнее освоения систем типа Windows, Linux - более гибкая и в то же время бесплатная система, что и привлекает к ней многих пользователей.

Существуют и другие ОС. Известная компания Apple производит компьютеры Macintosh с современной ОС MacOS . Эти компьютеры используются преимущественно издателями и художниками. Фирма IBM производит ОС OS/2 . Операционная система OS/2 такого же класса надёжности и защиты, как и Windows NT.

На смену операционной системе MS DOS с ее графическими оболочками Windows 3.1 и Windows 3.11 пришли полноценные операционные системы семейства Windows (сначала Windows 95, затем Windows 98, Windows Millennium, Windows 2000, Windows XP, Windows Vista и Windows 7). На рисунке показаны этапы развития персональных компьютеров класса РС и операционной системы Windows:

Операционные системы семейства Windows представляет собой 32-разрядные операционные системы, обеспечивающую многозадачную и многопоточную обработку приложений. Они поддерживает удобный графический пользовательский интерфейс, возможность работы в защищенном режиме, совместимость с программами реального режима и сетевые возможности. В Windows реализована технология поддержки самонастраивающейся аппаратуры Plug and Play, допускаются длинные имена файлов и обеспечиваются повышенные характеристики устойчивости.

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

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

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

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

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

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

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

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

В Windows активно используется и правая кнопка мыши. Поместив указатель над интересующем объекте и сделав щелчок правой кнопкой мыши, можно раскрыть контекстное меню , содержащее наиболее употребительные команды, применимые к данному объекту.

При завершении работы нельзя просто выключить компьютер, не завершив работу системы по всем правилам - это может привести к потере некоторых несохраненных данных. Для правильного завершения работы необходимо сохранить данные во всех приложениях, с которыми работал пользователь, завершить работу всех ранее запущенных DOS-приложений, открыть меню кнопки “Пуск” и выбрать команду “Завершение работы”.

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

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

    управление данными во внешней памяти(на дисках);

    управление данными в оперативной памятис использованиемдискового кэша;

    журнализация изменений,резервное копированиеивосстановление базы данныхпосле сбоев;

    поддержка языков БД (язык определения данных,язык манипулирования данными).

    Файл-серверные

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

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

Примеры: Microsoft Access,Paradox,dBase,FoxPro,Visual FoxPro.

    Клиент-серверные

Клиент-серверная СУБД располагается на сервере вместе с БД и осуществляет доступ к БД непосредственно, в монопольном режиме. Все клиентские запросы на обработку данных обрабатываются клиент-серверной СУБД централизованно. Недостаток клиент-серверных СУБД состоит в повышенных требованиях к серверу. Достоинства: потенциально более низкая загрузка локальной сети; удобство централизованного управления; удобство обеспечения таких важных характеристик как высокая надёжность, высокая доступность и высокая безопасность.

Примеры: Oracle,Firebird,Interbase,IBM DB2,Informix,MS SQL Server,Sybase Adaptive Server Enterprise,PostgreSQL,MySQL,Caché,ЛИНТЕР.

    Встраиваемые

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

Примеры: OpenEdge,SQLite,BerkeleyDB,FirebirdEmbedded,Microsoft SQL Server Compact,ЛИНТЕР.

3. Этапы подготовки программы к выполнению. Программный модуль. Исходный модуль. Трансляция. Машинный язык. Трансляторы. Автоход. Язык ассемблера. Язык высокого уровня. Объектный модуль. Загрузочный модуль. Интерпретация.

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

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

При выборе модульной структуры должны учитываться следующие основные соображения:

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

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

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

На рисунке показаны этапы, которые проходит программа от своего написания до выполнения

Программа пишется в виде исходного модуля, на рисунке - файл ИМ.

Первым (не для всех языков программирования обязательным) этапом подготовки программы является обработка ее Макропроцессором (или Препроцессором). Макропроцессор обрабатывает текст программы и на выходе его получается новая редакция текста (на рис. - ИМ"). В большинстве систем программирования Макропроцессор совмещен с транслятором, и для программиста его работа и промежуточный ИМ" "не видны". Следует иметь в виду, что Макропроцессор выполняет обработку текста, это означает, с одной стороны, что он "не понимает" операторов языка программирования и "не знает" переменных программы, с другой, что все операторы и переменные Макроязыка (тех выражений в программе, которые адресованы Макропроцессору) в промежуточном ИМ" уже отсутствуют и для дальнейших этапов обработки "не видны". Так, если Макропроцессор заменил в программе некоторый текст A на текст B, то транслятор уже видит только текст B, и не знает, был этот текст написан программистом "своей рукой" или подставлен Макропроцессором.

Следующим этапом является трансляция.

Как правило, выходным языком транслятора является машинный язык целевой вычислительной системы. (Целевая ВС - та ВС, на которой программа будет выполняться.)

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

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

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

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

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

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

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

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

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

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

Примеры интерпретаторов: языки процедур (sell, REXX), JVM.

4. общая характеристика интегрированных сред разработки. Основные компоненты ИСР.

Интегри́рованная среда́ разрабо́тки, ИСР (англ. IDE, Integrated development environment) - система программных средств, используемая программистами для разработки программного обеспечения (ПО).

Обычно, среда разработки включает в себя:

текстовый редактор,

компилятор и/или интерпретатор,

средства автоматизации сборки,

отладчик.

Иногда содержит также средства для интеграции с системами управления версиями и разнообразные инструменты для упрощения конструирования графического интерфейса пользователя. Многие современные среды разработки также включают браузер классов, инспектор объектов и диаграмму иерархии классов - для использования при объектно-ориентированной разработке ПО. Хотя и существуют ИСР, предназначенные для нескольких языков программирования - такие как Eclipse, Embarcadero RAD Studio, Qt Creator, последние версии NetBeans, Xcode или Microsoft Visual Studio, но обычно ИСР предназначается для одного определённого языка программирования - как, например, Visual Basic, Delphi, Dev-C++.

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

5. программный модуль. Статическая библиотека. Динамические библиотеки. Плагины.

Программный модуль

Программный модуль - согласно ГОСТ 19781-90 - программа или функционально завершенный фрагмент программы, предназначенный для:

1- хранения;

2- трансляции;

3- объединения с другими программными модулями; и

4- загрузки в оперативную память.

Различают:

Стандартные модули, входящие в язык программирования; и

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

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

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

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

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


Рис. 2.1.

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

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

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

Для поддержки информационной технологии в этих областях выделяют соответственно три класса программных продуктов, представленных на рис.2.2 :

  • системное программное обеспечение;
  • прикладное программное обеспечение;
  • инструментальное программное обеспечение.

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

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


Рис. 2.2.

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

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

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

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

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

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

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

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


Рис. 2.3.

В базовое программное обеспечение входят:

  • операционная система;
  • операционные оболочки (обычно текстовые и графические);
  • сетевая операционная система.

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

Наиболее традиционное сравнение ОС осуществляется по следующим характеристикам процесса обработки информации:

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

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

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

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

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

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

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

– Игорь (Администратор)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Программное обеспечение компьютера делится на:

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

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

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

Системы управления базами данных (СУБД), позволяющие превратить компьютер в справочник по любой теме;

Табличные процессоры, позволяющие организовывать очень распространенные на практике табличные расчеты;

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

Очень популярным видом прикладного программного обеспечения являются компьютерные игры. Большинство пользователей именно с них начинает свое общение с ЭВМ.

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

Системное программное обеспечение

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

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

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

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

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

Основные идеи ОС

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

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

Встроенные программы

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

Утилиты

Утилиты (англ. utility или tool) - программы, предназначенные для решения узкого круга вспомогательных задач. Иногда утилиты относят к классу сервисного программного обеспечения Утилиты используются для
Мониторинга показателей датчиков и производительности оборудования - мониторинг температур процессора, видеоадаптера; чтение S.M.A.R.T. жёстких дисков;
Управления параметрами оборудования - ограничение максимальной скорости вращения CD-привода; изменение скорости вращения вентиляторов.
Контроля показателей - проверка ссылочной целостности; правильности записи данных.
Расширения возможностей - форматирование и/или переразметка диска с сохранением данных, удаление без возможности восстановления.

Типы утилит

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

Прикладное программное обеспечение

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

По типу
программные средства общего назначения
Текстовые редакторы
Системы компьютерной вёрстки
Графические редакторы
СУБД
программные средства специального назначения
Экспертные системы
Мультимедиа приложения (Медиаплееры, программы для создания/редактирования видео, звука, Text-To-Speech и пр.)
Гипертекстовые системы (Электронные словари, энциклопедии, справочные системы)
Системы управления содержимым
программные средства профессионального уровня
САПР
АРМ
АСУ
АСУ ТП
АСНИ
Геоинформационные системы
Биллинговые системы
CRM
По сфере применения
Прикладное программное обеспечение предприятий и организаций. Например, финансовое управление, система отношений с потребителями, сеть поставок. К этому типу относится также ведомственное ПО предприятий малого бизнеса, а также ПО отдельных подразделений внутри большого предприятия. (Примеры: Управление транспортными расходами, Служба IT поддержки)
Программное обеспечение обеспечивает доступ пользователя к устройствам компьютера.
Программное обеспечение инфраструктуры предприятия. Обеспечивает общие возможности для поддержки ПО предприятий. Это системы управления базами данных, серверы электронной почты, управление сетью и безопасностью.
Программное обеспечение информационного работника. Обслуживает потребности индивидуальных пользователей в создании и управлении информацией. Это, как правило, управление временем, ресурсами, документацией, например, текстовые редакторы, электронные таблицы, программы-клиенты для электронной почты и блогов, персональные информационные системы и медиа редакторы.
Программное обеспечение для доступа к контенту. Используется для доступа к тем или иным программам или ресурсам без их редактирования (однако может и включать функцию редактирования). Предназначено для групп или индивидуальных пользователей цифрового контента. Это, например, медиа-плееры, веб-браузеры, вспомогательные браузеры и др.
Образовательное программное обеспечение по содержанию близко к ПО для медиа и развлечений, однако в отличие от него имеет четкие требования по тестированию знаний пользователя и отслеживанию прогресса в изучении того или иного материала. Многие образовательные программы включают функции совместного пользования и многостороннего сотрудничества.
Имитационное программное обеспечение. Используется для симуляции физических или абстрактных систем в целях научных исследований, обучения или развлечения.
Инструментальные программные средства в области медиа. Обеспечивают потребности пользователей, которые производят печатные или электронные медиа ресурсы для других потребителей, на коммерческой или образовательной основе. Это программы полиграфической обработки, верстки, обработки мультимедиа, редакторы HTML , редакторы цифровой анимации, цифрового звука и т. п.
Прикладные программы для проектирования и конструирования. Используются при разработке аппаратного («Железо») и программного обеспечения. Охватывают автоматизированный дизайн (computer aided design - CAD), автоматизированное проектирование (computer aided engineering - CAE), редактирование и компилирование языков программирования, программы интегрированной среды разработки (Integrated Development Environments), интерфейсы для прикладного программирования (Application Programmer Interfaces).
Ссылки на используемые ресурсы

Программное обеспечение компьютера

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

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

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

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

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

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

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

Программное обеспечение компьютера делится на:

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

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

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

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

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

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

    Системы управления базами данных (СУБД), позволяющие превратить компьютер в справочник по любой теме;

    Табличные процессоры, позволяющие организовывать очень распространенные на практике табличные расчеты;

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

Очень популярным видом прикладного программного обеспечения являются компьютерные игры. Большинство пользователей именно с них начинает свое общение с ЭВМ.

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

Вопросы и задания

    1. Что такое программное обеспечение ЭВМ?
    2. Какие задачи выполняет прикладное программное обеспечение?
    3. Назовите основные виды прикладных программ общего назначения.
    4. Что такое прикладные программы специального назначения?

О системном ПО и системах программирования

Что такое операционная система

Для чего нужны прикладные программы, понять несложно. А что же такое системное программное обеспечение?

Главной частью системного программного обеспечения является операционная система (ОС).

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

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

Вот названия некоторых распространенных ОС для персональных компьютеров: MS-DOS, Windows, Linux.

Интерактивный режим

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

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

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

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

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

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

Кроме системного и прикладного ПО существует еще третий вид программного обеспечения. Он называется системами программирования (СП).

Система программирования - инструмент для работы программиста.

С системами программирования работают программисты. Всякая СП ориентирована на определенный язык программирования. Существует много разных языков, например Паскаль, Бейсик, ФОРТРАН, С ("Си"), Ассемблер, ЛИСП и др. На этих языках программист пишет программы, а с помощью систем программирования заносит их в компьютер, отлаживает, тестирует, исполняет.

Программисты создают все виды программ: системные, прикладные и новые системы программирования.

Вопросы и задания

    1. Какие разновидности программного обеспечения имеются на современных компьютерах?
    2. Что такое операционная система (ОС)? Какие основные функции она выполняет?
    3. Что такое диалоговый режим общения между ОС и пользователем?
    4. Для чего предназначены системы программирования? Кто с ними работает?