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

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

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

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

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

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

Существуют 4 типа операционных систем:

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

операционная система с распределением задач по времени (организуется очередь ввода и выхода задач, и обслуживается до 15 пользователей и процессор загружен на 80-90%).

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

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

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

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

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

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

Ассамблери превращают программы, которые представлены в машинноорієнто-мых языках, на машинный язык.

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

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

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

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

Лексикон, Write, Word.

Графические системы многочисленны, а их функции -- разнообразны. Среди них можно выделить системы деловой графики (Microsoft PowerPoint, Lotus Freelance Graphics), художественной графики, которые еще называют просто графическими редакторами (Раіntbrush), инженерной графики и автоматизированного проектирования (Autodesk AutoCad), системы обработки фотографических изображений (Adobe Photoshop), а также универсальные графические системы (CorelDRAW!).

Программы работы с электронными таблицами (ЕТ) позволяют решать широкий круг задач, связанных с численными расчетами. Наиболее широко используют среди программ такого класса Supercalk, Місrosoft Excel и Lotus 1-2-3.

Системы управления базами данных (СУБД) предназначены для объединения наборов данных с целью создания единой информационной модели объекта. Эти программы позволяют накапливать, обновлять, корректировать, удалять, сортировать информацию, организованную специальным средством в виде банка данных. Самые распространенные СУБД: dВаsе III Рlus, FохBase+, Сlірреr, Оrасlе, Ассеs, FохРrо, Раrаdох.

Кроме перечисленных систем в состав прикладного ПО общего назначения следует отнести и интегрированные системы. Эти системы объединяют в себе возможности текстовых редакторов, графических систем, электронных таблиц и систем управления базами данных. Главное преимущество интегрированных систем перед отдельными системами прикладного ПО общего назначения заключается в том, что они создают единые правила работы для пользователя, то есть они имеют единый интерфейс как при работе с текстом, так и при работе с электронными таблицами и др. Самые известные среди них: Місrosoft Works, Місrosoft Office, Lotus SmartSuite, Perfect Office.

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

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

В состав прикладных программ специального назначения можно также отнести пакеты прикладных программ (ППП), которые широко используются, например, для статистической обработки данных, бухгалтерского учета, расчета строительных конструкций и др. Наличие в компьютере разнообразных ППП позволяет решать значительную часть простых прикладных задач, почти без программирования. В этом случае задание на решение той или иной задачи записывается в виде директивы специальной проблемно-ориентированным языком и сообщается компьютеру.
Список использованной литературы
компьютер программа системный инструментальный
1. Информатика для юристов и экономистов/ Симонович С.В. и др. - СПб: Питер, 2001. - 688 с.
2. Фигурнов В.Э. IBM PC для пользователя. Краткий курс. Изд. 7-е. Г.: ИНФРА-М, 1997, 432 с.
3. Ю. Шафрин. Информатика. Информационные технологии: в 2 ч. Г.: Лаборатория Базовых Знаний, 2001.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Заключение

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

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

Рис. 100.

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

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

Базовый уровень

Самый низкий уровень программного обеспечения. Оно отвечает за взаимодействие с базовыми аппаратными средствами. Базовые программные средства хранятся в микросхемах ПЗУ. Программы и данные записываются в микросхемы ПЗУ на этапе производства. В тех случаях, когда изменение базовых программных средств во время эксплуатации является технически целесообразным, вместо микросхем ПЗУ применяются перепрограммируемые постоянно запоминающие устройства (ППЗУ - англ. Erasable and Programmable Read Only Memory, EPROM).

Системный уровень

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

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

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

Служебный уровень

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

Прикладной уровень

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

К прикладным программным средствам относят:

  • - текстовые редакторы - предназначены для создания и редактирования текста. Дополнительные функции состоят в автоматизации процесса ввода и редактирования. В качестве примера можно привести программу Notepad (Блокнот);
  • - текстовые процессоры. Основным отличием текстовых процессоров от текстовых редакторов в том, что они позволяют не только вводить и редактировать тексты, но и внедрять в него графики, формулы, таблицы и других объекты. Классическим примером текстового процессора является Microsoft Word;
  • - графические редакторы - предназначены для создания или обработки графических изображений.

Различают: растровые редакторы, векторные редакторы и программные средства для создания и обработки трехмерной графики (ЗО-редакторы). Самый простой пример растрового графического редактора, который присутствует на каждом компьютере - Paint. Растровые изображения имеют несколько видов расширения: jpeg или jpg, png, gif, bmp и др. Второй пример графического растрового редактора - Adobe Photoshop. Photoshop имеет огромный функционал, поддержку большого числа плагинов (программные модули, динамически подключаемые к основной программе и предназначенные для расширения и/или использования ее возможностей) и инструментов. Позволяет работать в различных цветовых моделях и с различными расширениями файлов.

Векторный графический редактор CorelDRAW из пакета CorelDRAW Graphics Suite представляет собой мощный профессиональный продукт для создания различного рода графики и анимации. Тем не менее благодаря встроенной развитой системе обучения и справки программа весьма проста для освоения даже новичками в области векторной графики.

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

Редакторы трехмерной графики служат для создания фильмов, компьютерных игр, графического дизайна, изобилующих анимацией, визуальными эффектами. Широкое распространение подобные программы нашли в области машиностроения, архитектуры, производства потребительских товаров и т.п. В качестве примера можно привести такие программные продукты, как Autodesk Maya, Autodesk 3ds Max:

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

Принято делить СУБД на настольные и промышленные. Примером настольных СУБД служат: Access, FoxPro. Промышленные СУБД ориентированы на создание информационных систем, оперирующих большим объемом информации с повышенным требованием безопасности, например: Oracle, MS SQL Server:

  • - электронные таблицы - представляют собой программный инструмент, предназначенный для хранения различных типов данных, проведения над ними расчетов. Самое популярное средство работы с электронными таблицами - программа Excel;
  • - системы автоматизированного проектирования (САПР) - предназначены для автоматизации проектно-конструкторских работ. Применяются в машиностроении, приборостроении, архитектуре.

Наиболее распространенной САПР в мире является программа AutoCAD (англ. Computer-Aided Design) - двух- и трехмерная система автоматизированного проектирования и черчения. В качестве примера российской САПР можно привести систему ADEM (англ. Automated Design Engineering Manufacturing), предназначенную для автоматизации конструкторско-технологической подготовки производства;

  • - настольные издательские системы - позволяют осуществлять электронную верстку широкого спектра основных типов документов: информационного бюллетеня, цветной брошюры, каталога, справочника. Примерами таких программ являются: Corel Ventura, Page Maker, QuarkXPress, Frame Maker, MS Publisher;
  • - экспертные системы - предназначены для анализа данных, содержащихся в базе знаний, и выдачи рекомендаций по запросу пользователя.

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

  • - web-редакторы (HTML-редакторы) - позволяют создавать с минимальными временными затратами простые и сложные, красиво оформленные Web-страницы. Одним из наиболее популярных HTML-редакторов в мире является программа Adobe Dreamweaver;
  • - браузеры (обозреватели) - программные средства, предназначенные для просмотра web-сайтов. Наиболее популярными являются программы Internet Explorer, Mozilla Firefox, Google Chrome, Opera;
  • - бухгалтерские системы (системы автоматизации бухгалтерского учета) - предназначены для автоматизации подготовки бухгалтерских документов предприятия и их учета, для подготовки регулярных отчетов по итогам производственной, хозяйственной и финансовой деятельности.

Бухгалтерский учет в крупных предприятиях ведется при помощи современных ERP (англ. Enterprise Resource Planning System - система планирования ресурсов предприятия) - систем, позволяющих автоматизировать не только бухгалтерский учет, но и управление производством. В этих целях обычно используются такие системы, как SAP, Oracle E-Business Suite, 1С:Предприятие, Microsoft Dynamics NAV (Navision), ERP «Галактика» и др.;

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

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

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

К служебным программным средствам относят:

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

Типичными представителями этого класса программ являются FAR Manager, Total Commander, FreeComander;

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

Из числа наиболее популярных программ можно выделить: ARJ, РКРАК, LHA, ICE, HYPER, ZIP, РАК, ZOO, RAR;

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

Диагностика - систематизированный способ поиска неисправностей с последующим их устранением. Среди программ диагностики можно выделить SiSoftware Sandra (англ. System ANalyser, Diagnostic and Reporting Assistant) - это информационная и диагностическая программа. Она предоставляет практически всю информацию об аппаратном и программном обеспечении компьютера. Другая программа - 3DMark, ориентированная исключительно на измерение производительности видеосистемы;

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

В качестве примера можно привести программу MB Probe, с помощью которой можно снимать температуру от нескольких термодатчиков, определить напряжения ядра процессора и материнской платы, держать под контролем обороты вентиляторов. Температура винчестера, атрибуты внутренней системы диагностики S.M.A.R.T., а также напряжения датчиков оборотов вентиляторов материнской платы могут быть представлены с помощью утилиты SpeedFan;

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

К антивирусному программному обеспечению данной категории относят Kaspersky Virus Removal Tool - программу разработанную специалистами лаборатории Касперского для сканирования компьютера на наличие вредоносных программ. Kaspersky A VP Tool находит и изолирует: вирусы, трояны, черви, шпионские и рекламные модули, все типы руткитов и тому подобные вредоносные программы. Другая популярная программа Dr.Web Curelt! - бесплатный антивирус для сканирования, обнаружения и удаления (лечения) компьютеров под управлением Windows.

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

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

Контрольные вопросы и задания

  • 1. Что называется программой? Дайте определение понятию «программная конфигурация».
  • 2. Начертите схему уровней программного обеспечения.
  • 3. Дайте характеристику базовому уровню программного обеспечения.
  • 4. Что называется драйвером устройства? Опишите назначение программ системного уровня.
  • 5. Каково назначение утилит? Поясните назначение программ системного уровня. Приведите примеры подобных программ.
  • 6. Перечислите программы, которые относят к прикладному уровню программного обеспечения.
  • 7. Какие типы программ, относящиеся к графическим редакторам, вы знаете?
  • 8. Поясните основные функции систем управления базами данных. Приведите примеры программ данного класса.
  • 9. В чем особенности экспертных систем?
  • 10. Раскройте назначение финансовых аналитических систем. Приведите примеры программ данного класса.
  • 11. Перечислите программы, относящиеся к служебным программным средствам.
  • 12. Какой класс программ позволяет выполнять основные операции над файлами? Приведите примеры.
  • 13. В чем отличие программ, предназначенных для диагностики и мониторинга компьютерных систем?
  • 14. Что относится к средствам обеспечения компьютерной безопасности? Перечислите и опишите соответствующие программы.
  • 15. Разработайте таблицу, которая содержит рассмотренные виды программного обеспечения, установленные на вашем компьютере.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

1. Программы и программное обеспечение

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

Определения даются по: ГОСТ 19781-90. Обеспечение систем обработки информации программное. Термины и определения. - М.:Изд-во стандартов, 1990.

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

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

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

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

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

    Надежность. В том числе:

    • Тестирование программы при всех допустимых спецификациях входных данных

      Защита от неправильных действий пользователя

      Защита от взлома - пользователи должны иметь возможность взаимодействия с ПО только через легальные интерфейсы.

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

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

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

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

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

Прикладная программа - программа, предназначенная для решения задачи или класса задач в определенной области применения СОИ.

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

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

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

Зафиксированное в ГОСТ подразделение ПО на системное и прикладное является до некоторой степени устаревшим. Сегодняшнее деление предусматривает по меньшей мере три градации ПО:

    Системное

    Промежуточное

    Прикладное

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Интерпретация - реализация смысла некоторого синтаксически законченного текста, представленного на конкретном языке.

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

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

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

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

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

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

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