Понятие профессионально-ориентированного программного обеспечения. Понятие программного обеспечения ПК. Краткая характеристика программного обеспечения Программное обеспечение понятие назначение

1.6.1. Основные понятия программного обеспечения информационного процесса

Основные понятия

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

Программа - упорядоченная последовательность команд (инструкций) компьютера для решения задачи.

Программное обеспечение (sowtware ) - совокупность программ обработки данных и необходимых для их эксплуатации документов.

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

Задача (problem, task ) - проблема, подлежащая решению.

Приложение (application ) - реализованное средствами информационной технологии решение задачи.

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

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

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

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

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

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

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

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

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

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

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

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

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

Понятие программного продукта

Все программы по типу их пользователей можно разделить на два класса (рис.1) - утилитарные программы и программные продукты (изделия).

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

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

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

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

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

Программные продукты могут создаваться как:

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

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

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

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

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

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

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

Основными характеристиками программ являются:

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

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

Классификация по сфере использования

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

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

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

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

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

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

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

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

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

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

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

Операционная система предназначена для планирования и управления вычислительными ресурсами компьютера, для управления выполнением прикладного программного обеспечения. В этом классе программных продуктов наиболее широкое распространение получили операционные системы Windows (фирма Microsoft), OS/2 (фирма IBM), Unix (свободнораспространяемая).

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

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

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

Инструментарий технологии программирования

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

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

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

  • создание отдельных приложений или их комплексов;
  • автоматизацию процессов разработки и реализации информационных систем.

В рамках этих направлений сформировались следующие группы программных продуктов:

  • средства для создания приложений, включающие:
  • локальные средства выполнения отдельных работ по созданию программ;
  • интегрированные инструментальные среды разработчиков программ для выполнения комплекса взаимосвязанных работ по созданию программ;
  • CASE - технология (Computer-Aided System Engineering ), представляющая методы анализа, проектирования и создания программных систем с применением компьютерной техники.

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

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

  • машинные языки (computer language) - языки программирования, воспринимаемые аппаратной частью компьютера (машинные коды);
  • машинно-ориентированные языки (computer-oriented language) - языки программирования, которые отражают структуру конкретного типа компьютера (ассемблер);
  • алгоритмические языки (algorithmic language) - независящие от архитектуры компьютера языки программирования для отражения структуры алгоритма (ПАСКАЛЬ, ФОРТРАН, БЕЙСИК и др.);
  • проблемно-ориентированные языки (universal programming language) - языки программирования, предназначенный для решения задач определенного класса (ЛИСП, РПГ, СИМУЛА и др.);
  • интегрированные системы программирования.

Другой классификацией языков программирования является их деление на языки, ориентированные на реализацию основ структурного программирования , и объектно-ориентированные языки, такие как, Visual Basic, Visual C ++, поддерживающие понятие объектов, их свойств и методов обработки.

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

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

Средства CASE - технологий делятся на две группы:

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

Некоторые CASE-технологии ориентированы только на системных проектировщиков и предоставляет специальные графические средства для изображения различного вида моделей, например, диаграммы потоков данных (DFD), диаграммы “сущность-связь” (ERD) и пр.

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

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

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

Большинство CASE-технологий использует также метод “прототипов” для быстрого создания программ на ранних этапах разработки. Кодогенерация программ осуществляется автоматически.

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

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

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

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

Примерная классификация прикладного программного обеспечения представлена на рисунке 3.

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

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

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

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

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

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

Основные тенденции в области развития проблемно-ориентированных программных средств:

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

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

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

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

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

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

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

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

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

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

  • СУБД;
  • текстовый редактор;
  • графический редактор;
  • электронную таблицу;
  • органайзер;
  • средства поддержки электронной почты;
  • программу создания презентаций.

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

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

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

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

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

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

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

Выводы

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

Вопросы для самопроверки

  1. Что такое программа?
  2. Что такое программное обеспечение?
  3. Дайте определение задачи и приложения.
  4. Что такое предметная область?
  5. Какие вы знаете основные этапы процесса создания программ?
  6. В чем состоит постановка задачи?
  7. Что такое алгоритм решения задачи?
  8. Назовите основные свойства алгоритмов.
  9. Что такое программный продукт и каковы его свойства?
  10. Что такое сопровождение программного продукта?
  11. Как можно классифицировать программное обеспечение?
  12. Что входит в состав системного программного обеспечения?
  13. Что составляет подкласс сервисного программного обеспечения?
  14. Дайте определение программы утилиты. Приведите примеры.
  15. Что такое инструментарий технологии программирования?
  16. Дайте определение CASE-технологии и когда она используется.
  17. Какие виды языков программирования вы знаете?
  18. Материал с сайта http://mega.km.ru/pc/srch.asp
Корпоративные базы данных Материал с сайта http://mega.km.ru/pc/Encyclop.asp?Topic=pc_918

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

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

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

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

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

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

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


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

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

Понятие операционной системы

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

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

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

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

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

Функции ОС

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

§ Загрузка приложений в оперативную память и их выполнение.

§ Стандартизованный доступ к периферийным устройствам (устройства ввода-вывода ).

§ Управление оперативной памятью (распределение между процессами, виртуальная память ).

§ Управление доступом к данным на энергонезависимых носителях (таких как жёсткий диск , компакт-диск и т. д.), организованным в той или иной файловой системе .

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

§ Сетевые операции, поддержка стека протоколов.

Дополнительные функции:

§ Параллельное или псевдопараллельное выполнение задач (многозадачность ).

§ Взаимодействие между процессами: обмен данными, взаимная синхронизация.


§ Защита самой системы, а также пользовательских данных и программ от действий пользователей (злонамеренных или по незнанию) или приложений.

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

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

Встроенные программы или firmware - это программы, "зашитые" в цифровые электронные устройства.

Утилиты

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

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

Утилиты используются для:

§ Мониторинга показателей датчиков и производительности оборудования - мониторинг температур процессора, видеоадаптера; чтение S. M.A. R.T. жёстких дисков;

§ Управления параметрами оборудования - ограничение максимальной скорости вращения CD-привода; изменение скорости вращения вентиляторов .

§ Контроля показателей - проверка ссылочной целостности; правильности записи данных.

§ Расширения возможностей - форматирование и/или переразметка диска с сохранением данных, удаление без возможности восстановления.

Типы утилит

§ Дисковые утилиты

¨ Дефрагментаторы

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

¨ Очистка диска - удаление временных файлов, ненужных файлов, чистка «корзины».

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

¨ Резервное копирование - создание резервных копий целых дисков и отдельных файлов, а также восстановление из этих копий.

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

§ Утилиты работы с реестром

§ Утилиты мониторинга оборудования

§ Тесты оборудования

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

§ трансляторы - программы или технические средства, выполняющее трансляцию программы.

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

§ интерпретаторы - Программы (иногда аппаратные средства), анализирующие команды или операторы программы и тут же выполняющие их

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

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

§ Отладчик (debugger)- является модулем среды разработки или отдельным приложением, предназначенным для поиска ошибок в программе.

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

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

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

§ Редакторы графического интерфейса

Системы управления базами данных

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

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

Основные функции СУБД

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

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

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

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

Классификация СУБД по способу доступа к БД

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

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

На данный момент файл-серверные СУБД считаются устаревшими.

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

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

Такие СУБД состоят из клиентской части (которая входит в состав прикладной программы) и сервера

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

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

Встраиваемая СУБД - библиотека , которая позволяет унифицированным образом хранить большие объёмы данных на локальной машине.

Примеры: OpenEdge , SQLite , BerkeleyDB , один из вариантов Firebird , один из вариантов MySQL , Sav Zigzag , Microsoft SQL Server Compact , ЛИНТЕР .

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

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

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

По типу

§ программные средства общего назначения

§ Текстовые редакторы

§ Системы компьютерной вёрстки

§ Графические редакторы

§ СУБД

§ программные средства специального назначения

§ Экспертные системы

§ Мультимедиа приложения (Медиаплееры , программы для создания/редактирования видео, звука, Text-To-Speech и пр.)

§ Гипертекстовые системы (Электронные словари , энциклопедии, справочные системы)

§ Системы управления содержимым

§ программные средства профессионального уровня

§ САПР

§ АРМ

§ АСУ

§ АСУ ТП

§ АСНИ

§ Геоинформационные системы

§ Биллинговые системы

§ CRM

По сфере применения

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

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

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

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

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

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

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

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

§ Прикладные программы для проектирования и конструирования. Используются при разработке аппаратного («Железо») и программного обеспечения. Охватывают автоматизированный дизайн (computer aided design - CAD), автоматизированное проектирование (computer aided engineering - CAE), редактирование и компилирование языков программирования, программы интегрированной (Integrated Development Environments), интерфейсы для прикладного программирования (Application Programmer Interfaces).

Проприетарное программное обеспечение ( англ. proprietarysoftware ; от proprietary - частное , патентованное, в составе собственности http://ru. wikipedia. org/wiki/%D0%9F%D1%80%D0%BE%D0%BF%D1%80%D0%B8%D0%B5%D1%82%D0%B0%D1%80%D0%BD%D0%BE%D0%B5_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%BD%D0%BE%D0%B5_%D0%BE%D0%B1%D0%B5%D1%81%D0%BF%D0%B5%D1%87%D0%B5%D0%BD%D0%B8%D0%B5 - cite_note-slov-0и software - программное обеспечение) - программное обеспечение , являющееся частной собственностью авторов или правообладателей и не удовлетворяющее критериям свободного ПО (наличия открытого программного кода недостаточно). Правообладатель проприетарного ПО сохраняет за собой монополию на его использование, копирование и модификацию, полностью или в существенных моментах. Обычно проприетарным называют любое несвободное ПО, включаяполусвободное .

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

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

Свободное программное обеспечение (СПО) - широкий спектр программных решений , в которых права пользователя («свободы») на неограниченную установку, запуск, а также свободное использование, изучение, распространение и изменениеб (совершенствование) http://ru. wikipedia. org/wiki/%D0%A1%D0%B2%D0%BE%D0%B1%D0%BE%D0%B4%D0%BD%D0%BE%D0%B5_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%BD%D0%BE%D0%B5_%D0%BE%D0%B1%D0%B5%D1%81%D0%BF%D0%B5%D1%87%D0%B5%D0%BD%D0%B8%D0%B5 - cite_note-gnu. org-0 программ защищены юридически авторскими правами при помощи свободных лицензий . Обычно СПО доступно без всякой оплаты, но может иметь цену, например, в форме взимания платы за компакт-диски или другие носители. Чтобы распространяемое ПО было свободным, получателям должны быть доступны его исходные коды, из которых можно получить исполняемые файлы, с соответствующими лицензиями.

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

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

§ Программу можно свободно использовать с любой целью («нулевая свобода »).

§ Можно изучать, как программа работает, и адаптировать её для своих целей («первая свобода »). Условием этого является доступность исходного текста программы.

§ Можно свободно распространять копии программы - в помощь товарищу («вторая свобода »).

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

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

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

Открытый доступ к исходным текстам программ является ключевым признаком свободного ПО, поэтому предложенный несколько позднее Эриком Реймондом термин «open source software» (ПО с открытым исходным текстом) некоторым представляется даже более удачным для обозначения данного феномена, чем изначально предложенный Столлманом «free software». Столлман настаивает на различии этих двух понятий, так как слова «open source» указывают лишь на наличие одного, не самого важного (хотя и необходимого для реализации двух из четырёх свобод), по его мнению, из свойств, присущих свободному ПО - возможности увидеть исходный код.

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

Термин opensource (англ. открытое программное обеспечение ) был создан вместе с определением в 1998 году Эриком Реймондом и Брюсом Перенсом , которые утверждали, что термин freesoftware (свободное программное обеспечение ) в английском языке неоднозначен и смущает многих коммерческих предпринимателей .

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

Отличие между движениями открытого ПО и свободного ПО заключается в основном в приоритетах. Сторонники термина «open source» делают упор на эффективность открытых исходников как метода разработки, модернизации и сопровождения программ. Сторонники термина «free software» считают, что именно права на свободное распространение, модификацию и изучение программ являются главным достоинством свободного открытого ПО.

Существуют программы, имеющие открытый исходный код, но не являющиеся свободными, например, UnRAR, распаковщик RAR -архивов. Его исходный код находится в открытом доступе, но лицензия запрещает использовать его для создания RAR-совместимых архиваторов. Так же существует целый класс программ, называемых коммерческим ПО с открытым исходным кодом или Open Core, которые используют термин «Open Source» применительно к несвободному программному обеспечению .

Исходные коды открытых программ выпускаются либо как общественное достояние , либо на условиях «свободных» лицензий - как, например, GNU General Public License или BSD License . Свободная лицензия позволяет использовать исходный код программы для своих нужд с минимальными ограничениями, не противоречащими определению OpenSource. org. Таким ограничением может быть требование ссылаться на предыдущих создателей или требование сохранять свойство открытости при дальнейшем распространении той же самой или модифицированной открытой программы (копилефт ). В некоторых случаях (например, Apache или FreeBSD ) эти ограничения очень малы, в других (например, GNU General Public License ) достаточно распространять ПО вместе с исходным кодом и текстом лицензии, не изменяя её.

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

К программному обеспечению (ПО) относится также вся область деятельности по проектированию и разработке ПО:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Системное ПО можно разделить на базовое ПО, операционную систему и сервисное ПО.

Базовое системное ПО - это набор базовых программ, встроенных в элементы аппаратуры на этапе ее изготовления и хранящихся в соответствующих ПЗУ. Основная часть базового ПО - это система BIOS (Basic Input and Output System), записанная в ПЗУ на материнской плате. Можно выделить следующие основные функции BIOS.

  • 1. Поддержка аппаратных интерфейсов
  • 2. Тестирование аппаратных компонентов ПК при его включении.
  • 3. Загрузка операционной системы .

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

Настройка системы BIOS возможна через программу BIOS Setup, являющуюся частью BIOS. Для запуска этой программы необходимо нажать клавишу Delete после включения компьютера, но до начала загрузки операционной системы (в течение нескольких секунд после включения компьютера). Одна из настроек BIOS, которая используется наиболее часто, - указание загрузочного устройства операционной системы, т.е. указание, на каком носителе данных находится операционная система. Как правило, в BIOS устанавливается список из 3-х носителей, которые просматриваются по очереди, если на каком-либо из них обнаруживается установленная операционная система, то эта система загружается. Если ни на одном из устройств списка не обнаружено операционной системы, то выдается соответствующее сообщение и запрос на ввод идентификатора какого-нибудь другого устройства. Без операционной системы совершать на компьютере какие-либо программные действия, кроме настройки BIOS, невозможно. Если используемая операционная система установлена на жестком диске и нет необходимости эту систему менять, то в загрузочном списке целесообразно поставить этот жесткий диск на первое место. Если же есть необходимость загружать операционную систему с CD-привода (при установке новой операционной системы), то в загрузочном списке CD-привод должен стоять раньше жесткого диска. Многие настройки BIOS нет необходимости менять через программу BIOS Setup - их можно установить через соответствующие утилиты операционной системы. Например, системные часы можно установить через раздел Дата и время Панели управления Windows (при этом произойдет именно перенастройка соответствующего параметра BIOS). Современные ПЗУ BIOS как правило построены на основе флэш-памяти, поэтому для них возможна функция перезаписывания (прошивки) - для этого в состав BIOS входят соответствующие программы. Перезаписывание BIOS - очень критичная процедура - если на этапе перезаписывания произойдет сбой, компьютер окажется полностью неработоспособным .

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

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

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

Впервые, идею того, что любое, наперёд заданное состояние системы может быть достигнуто, последовательным выполнением элементарных команд, переводящим её из одного стабильного состояния в другое, предложил английский математик по имени Алан Тьюринг . В своём эссе «Computable numbers with an application to the Entscheidungsproblem (Decision problem)» он создал теоретическую модель, представлявшую собой абстрактную машину (автомат), способную выполнять элементарные действия и, переводившую её из одного фиксированного состояния в другое фиксированное состояние. В результате автоматом могли выполняться простейшие, рудиментарные операции. Такой автомат, впоследствии, получил в литературе название – «машина Тьюринга» . Главная идея заключалась в математическом доказательстве того, что любое, заданное наперёд состояние этого автомата можно достигнуть, выполняя конечный набор определённых команд, из всего фиксированного набора (программы). Благодаря этой теории, впоследствии, и родилась такая (если так можно выразиться) наука, как программирование.

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

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

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

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

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

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

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

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

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

Таким образом, все программное обеспечение можно условно разделить на три вида:

  1. Системное ПО;
  2. Прикладное ПО;
  3. Инструментальное ПО.

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

Это совокупность программ, которые обеспечивает управление аппаратной частью ПК : процессором , оперативной памятью , устройствами ввода-вывода, графическими системами, сетевыми устройствами и т. д. В частности, к такому ПО относятся:

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

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

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

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

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

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

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

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

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

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

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

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

По способу использования и распространения все ПО условно делят на:

  1. Бесплатно распространяемые программы . Как правило, их можно свободно копировать и распространять абсолютно бесплатно. Распространитель при этом, может взимать плату, но не за само программное обеспечение, а, например, за услуги записи на носитель, канал передачи данных и т. п.;
  2. Свободно распространяемое ПО . Как и в случае с «бесплатным» денег за такие программы никто не взимает, но основным отличием от первого, является возможность вносить изменения в программный код и распространять новые версии полученного ПО вместе со своими изменениями. Таким образом, «свободное» ПО распространяется вместе с исходным кодом;
  3. Открытое ПО . ПО условиям лицензии в обязательном порядке распространяется с открытым исходным кодом;
  4. Закрытое ПО . Является частной собственностью своих авторов и распространяется строго на определённых условиях. Это может быть, как денежное вознаграждение, так и иные виды вознаграждений не противоречащие законодательству, которые разработчик может потребовать за его использование. Например, это может быть условно бесплатное распространение, при котором для возможности использования программы потребуется пройти регистрацию на сайте. Как правило, распространяется без исходных кодов.

Заключение

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

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

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

Урок 8
Понятие программного обеспечения и его типы. Назначение операционной системы и ее основные функции

§9. Программное обеспечение компьютера
§10. 0 системном ПО и системах программирования

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

Основные темы параграфа:

Что такое программное обеспечение;
- типы программного обеспечения;

Изучаемые вопросы:



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


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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

Развлекательные программы. Многие пользователи начинают свое общение с компьютером с компьютерных игр.

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

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

Коротко о главном

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

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

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

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

1. Что такое программное обеспечение компьютера?

2. Какие задачи выполняет прикладное программное обеспечение?

3. Назовите основные виды прикладных программ общего назначения.

4. Что такое прикладные программы специального назначения?

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

Основные темы параграфа:

Что такое операционная система;
- интерактивный режим;
- сервисные программы;
- системы программирования.

Изучаемые вопросы:

Понятие программного обеспечения.
- Типы программного обеспечения
- Состав прикладного программного обеспечения.
- Системное программное обеспечение и функции операционной системы.
- Понятие интерактивного режима работы.
- Сервисные программы.
- Система программирования – инструмент для работы программиста.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Коротко о главном

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

К сервисным программам относятся программы обслуживания дисков, архиваторы, антивирусные программы и др.

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

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

1. Какие разновидности программного обеспечения имеются на современных компьютерах? Подготовьте сообщение.

2. Что такое операционная система (ОС)? Какие основные функции она выполняет?

3. Что такое диалоговый режим общения между ОС и пользователем?

4. Для чего предназначены системы программирования? Кто с ними работает?

Электронное приложение к уроку


Cкачать материалы урока



Просмотров