Основные программные средства обработки информации

История развития компьютерной техники и информационных технологий непосредственно связана с разработкой программ для управления работой аппаратной части самих компьютеров (Hardware) и системой обработки данных на них (Software). Их совокупность и составляет основы программного обеспечения (ПО) ПО является неотъемлемой частью современных компьютеров. Без ПО компьютер является лишь лишь украшением рабочего места пользователя. ПО служит для «объяснения» компьютеру, что и как надо делать для выполнения соответствующей цели в области обработки информации. ПО базируется на программировании (programming), которое представляет собой процесс создания программ в символической записи, включая анализ требований и все необходимые стадии их разработки и применения с соответствующим документальным сопровождением.

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

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

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

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

Программный продукт 1 Программный продукт 2
1. Выработка требований к системе 1. Разработка технического задания
2. Разработка требований к программному обеспечению
3. Общее проектирование 2. Разработка технического проекта
4. Детальное проектирование 3. Разработка рабочего проекта
5. Создание отдельных модулей
6. Тестирование отдельных модулей системы 4. Рабочее проектирование и экспериментальное внедрение
7. Объединение модулей в систему
  1. Выпуск системы
5. Сдача в промышленную эксплуатацию

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

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

Базовое ПО включает базовую систему ввода/вывода BIOS (Basic Input/Output System). Данная категория программного обеспечения решает задачи обеспечения минимальной функциональности компьютера:

  • запуск системы;

  • работа по сменной программе;

  • сохранение и загрузка информации;

  • создание пользовательского интерфейса;

  • обеспечение корректной работы устройств.

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

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

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

В комплекс управляющих программ входят их следующие типы:

  • программы управления задачами;

  • программы управления данными;

  • программы восстановления;

  • программы конфигурации задач.

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

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

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

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

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

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

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

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

В пятую группу этой категории обычно объединяют К ним относят следующие виды программ:

  • программы-упаковщики, позволяющие за счет специальных методов «сжимать» файлы, предназначенные для архивного хранения. Наиболее популярные из них — arj.exe, rar.exe, zip.exe;

  • антивирусные программы, предназначенные для диагностики и «лечения» программ, поврежденных компьютерными вирусами (AVP Kaspersky, Doctor Weber и пр.);

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

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

  • программы оптимизации, «кэширования» и динамического сжатия дисков, программы управления памятью и печатью и т.д. (Smart DRV, QEMM-386).

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

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

  • полифаги — универсальные, проверяют файлы, сектора дисков и оперативную память и осуществляют поиск вирусов;

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

  • блокировщики — зашиты в Setup ПК — BIOS Setup, перехватывают вирусоопасные ситуации и сообщают об этом пользователю и др.

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

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

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

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

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

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

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

Редакторы текстов — программы для создания и обработки текстов программ и документов. Существует достаточно большой список таких программ. У каждой из них есть свои преимущества и недостатки. Наиболее популярным текстовым редактором является Microsoft Word.

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

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

Системы (средства) деловой и научной графики позволяют выводить на экран различные виды графиков и диаграмм. Среди этих систем наибольшей популярностью пользуются Microsoft Chart, Harvard graphies, StatGraf.

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

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

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

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

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