Глава 4. классификация программных средств
Совокупность программ и сопровождающей их документации, предназначенная для решения задач на ПК, называется программным обеспечением (ПО) (software). Программное обеспечение делится на системное и прикладное.
Программное обеспечение, необходимое для управления компьютером, для создания и поддержки выполнения других программ пользователя, а также для предоставления пользователю набора всевозможных услуг, называется системным программным обеспечением (system software).
Системное программное обеспечение можно классифицировать следующим образом: операционные системы, сервисные системы, программно-инструментальные средства и системы технического обслуживания (рис. 4.1).
Рис. 4.1. Классификация программного обеспечения ЭВМ
В наборе системных программных продуктов главное место занимают операционные системы (operating system). Операционная система (ОС) - совокупность программ, управляющих работой всех устройств ПК и процессом выполнения прикладных программ. ОС берет на себя выполнение таких операций, как контроль работоспособности оборудования ПК; выполнение процедуры начальной загрузки; управление работой всех устройств ПК; управление файловой системой; взаимодействие пользователя с ПК; загрузка и выполнение прикладных программ; распределение ресурсов ПК, таких, как оперативная память, процессорное время и периферийные устройства между прикладными программами.
До появления микропроцессоров каждый производитель разрабатывал свою собственную ОС, не заботясь о ее совместимости с ПК других разработчиков. С появлением микропроцессорной техники потребности в ОС существенно изменились. Множество фирм занималось созданием новых программных продуктов, основанных на использовании микропроцессоров. Так как для первых микрокомпьютеров не нужно было сложных ОС, стали создаваться небольшие фирмы по выпуску только ОС для микропроцессоров. До недавнего времени на большинстве ПК была установлена операционная система MS DOS (MS Disk Operating System - дисковая операционная система фирмы MS) или один из ее аналогов, например PC DOS (Personal Computer Disk Operating System - дисковая операционная система персональных компьютеров) фирмы IBM либо Novell DOS фирмы Novell. Операционные системы семейства DOS, несмотря на свою простоту и экономичность, морально устарели, и на смену им пришли операционные системы нового поколения. Главными отличительными чертами современных операционных систем являются:
· многозадачность - способность обеспечивать выполнение нескольких программ одновременно;
· развитый графический пользовательский интерфейс;
· использование всех возможностей, предоставляемых современными микропроцессорами;
· устойчивость в работе и защищенность;
· полная независимость от аппаратуры (поддержка всех видов дисплеев и принтеров);
· совместимость со всеми видами приложений, разработанных для MS DOS.
К числу таких ОС прежде всего относятся: Windows 95 и Windows NT (NT - New Technology - "новая технология"), Windows 2000 фирмы MS, OS/2 Warp фирмы IBM, операционные системы семейства Unix.
Среди имеющегося разнообразия операционных систем особое место занимают сетевые ОС. Среди сетевых ОС лидирующее положение занимает система NetWare фирмы Novell. Учитывая, что сетевая проблематика в настоящее время является весьма актуальной, современные операционные системы наделяются теми или иными сетевыми возможностями. Сказанное имеет отношение ко всем перечисленным ОС.
Сервисные системы расширяют возможности ОС, предоставляя пользователю, а также выполняемым программам набор разнообразных дополнительных услуг. К сервисным системам относят оболочки, утилиты и операционные среды.
Оболочка операционной системы - это программный продукт, который делает общение пользователя с компьютером более комфортным. В связи с несовершенством пользовательского интерфейса операционных систем семейства DOS было разработано несколько операционных оболочек. Наибольшую популярность среди пользователей ПК получила операционная оболочка Norton Commander, созданная компанией Peter Norton Computing.
Утилиты - это служебные программы, которые предоставляют пользователю ряд дополнительных услуг. К утилитам относят следующие программные средства: дисковые компрессоры; дисковые дефрагментаторы; программы резервного копирования данных; архиваторы; программы, оптимизирующие использование оперативной памяти; программы защиты и восстановления данных; антивирусные программы и др. Для обслуживания жесткого диска в среде Windows используются служебные программы. К ним относятся следующие программы и утилиты, которые удовлетворяют минимальным требованиям пользователя ПК: программы дефрагментации диска (DEFRAG), проверки диска (Scandisk), уплотнения диска (DrvSpace), резервирования и восстановления файлов (Backup), архиваторы, системный монитор (System monitor), антивирусные программы.
Дадим им краткую характеристику.
Утилита дефрагментации диска (DEFRAG) предназначена для оптимизации работы диска и повышения скорости доступа к нему. При копировании, удалении и перемещении файлов на жестком или гибком диске возникают пустые места, которые затем заполняются фрагментами других файлов. Файловая система Windows 95 дает возможность хранить файлы фрагментами. Если файл разбит на несколько фрагментов, скорость доступа к нему уменьшается, поскольку на перемещение головок диска к очередному фрагменту требуется намного больше времени, чем на его считывание. Дефрагментация диска состоит в том, что фрагменты файла собираются в один блок.
Можно выбрать один из трех способов дефрагментации: полную дефрагментацию, дефрагментацию только файлов, объединение свободных участков диска.
В первом случае фрагменты файлов объединяются так, чтобы файлы занимали непрерывный участок диска. Все свободное пространство на диске также объединяется в один участок. Этот режим работы требует максимального времени. Во втором случае выполняется объединение только фрагментов файлов. Они будут занимать последовательные участки на диске, но между ними может быть свободное пространство, доступное для размещения других файлов. В третьем случае отдельные свободные участки на диске собираются в один большой блок.
Программа проверки диска (ScanDisk) проверяет правильность информации, которая содержится в таблицах распределения файлов диска (FAT), а также осуществляет поиск сбойных блоков диска. Если FAT-таблица повреждена и несколько файлов оказались наложенными друг на друга, их можно удалить или сделать отдельную копию для каждого файла. Копии файлов имеет смысл делать в том случае, если пользователь хорошо представляет себе логическую структуру диска и может восстановить ее. В противном случае их придется удалить, потеряв содержимое. Если в таблице распределения файлов отмечено, что часть диска занята информацией, которая не принадлежит никакому файлу, то соответствующие блоки можно преобразовать в файл, чтобы потом просмотреть эту информацию и, возможно, спасти ее.
Программа уплотнения диска (DrvSpace) предназначена для создания и обслуживания уплотненных (сжатых) дисков. Уплотненный диск представляет собой файл на обычном физическом гибком или жестком диске. Работа с таким диском ничем не отличается от работы с простым диском. Разница заключается только в том, что при записи на диск данные сжимаются (непосредственно перед записью), а при чтении восстанавливаются снова (непосредственно после считывания), поэтому чтение и запись выполняются чуть медленнее, чем для обычного диска.
Программа резервирования (копирования) данных на диске (Backup) работает в трех режимах: резервирования (Backup), восстановления (Restore) и сравнения исходных данных с их резервными копиями (Compare). Для резервных копий используются дискеты, кассеты с магнитной лентой или другие сменные носители информации, а также возможно резервирование на другие жесткие диски.
Для резервирования небольших групп файлов часто используют программы-архиваторы, которые объединяют родственные файлы в один, при этом уплотняя исходные данные для того, чтобы они занимали меньше места на диске.
Программа Системный монитор (System monitor) анализирует пиковую загрузку процессора и других ресурсов. По требованию пользователя программой строится график загрузки ресурсов, таких, как диспетчер памяти, клиент для сети MS, сервер MS Network, файловая система, ядро и др. Программа используется в основном системными программистами и позволяет повысить быстродействие системы.
Антивирусные программы появились почти одновременно с персональными компьютерами, и с тех пор состав их постоянно растет. Современные антивирусные пакеты являются интегрированными средствами для выявления и устранения компьютерных вирусов. В связи с появлением операционных систем ( Windows 95, Windows NT, Windows 2000, OS/2 и др.) задача обеспечения антивирусной защиты чрезвычайно усложнилась. Прежние антивирусные средства, рассчитанные на работу под управлением DOS, не всегда способны корректно обнаружить и лечить компьютерную инфекцию. Одним из наиболее перспективных направлений развития антивирусных средств является создание сетевых версий этих продуктов. Сетевой антивирусный пакет устанавливается на сервер и при обнаружении вируса блокирует дальнейшую работу с пораженными ресурсами. Среди антивирусных программ хорошо себя зарекомендовали Norton Antivirus (фирмы Symantec), MS Antivirus в составе DOS 6.XX (фирмы Microsoft), Dr.Web (фирмы Диалог-Наука), Antiviral Toolkit Pro (фирмы «Ками») и др.
Различия между операционными оболочками и операционными средами достаточно условны. В ряде литературных источников они стерты, так как операционная среда обладает всеми признаками оболочки, за исключением того, что последняя не формирует новой среды для выполнения программ. Это является функцией лишь операционной системы. В свою очередь, операционную среду нельзя назвать операционной системой, так как она не может функционировать самостоятельно. Исходя из этого операционную среду можно назвать полнофункциональной надстройкой над ОС. Наиболее известными операционными средами являются системы Windows 3.1 и Windows for Workgroups (Windows для рабочих групп), которые функционируют поверх DOS, при этом Windows for Workgroups является сетевым расширением Windows 3.1.
Программно-инструментальные средства - это программные продукты, предназначенные для разработки программного обеспечения. К ним относят системы программирования, которые включают систему команд процессора и периферийных устройств, трансляторы с различных языков программирования. В настоящее время наиболее часто используются процедурно-ориентированные системы программирования, такие, как MS Visual Basic, Borland Delphi и инструментарий искусственного интеллекта. Кроме того, используются системы программирования, не требующие описания алгоритма обработки данных, такие, как SQL, используемые, например, в MS Access и других программах. При их использовании следует указать исходные данные и требуемые результаты, а сам алгоритм генерируется системой программирования.
Системы технического обслуживания - совокупность программно-аппаратных средств ПК для обнаружения сбоев в процессе работы компьютера. Они предназначены для проверки работоспособности отдельных узлов, блоков и всей машины в целом, являясь инструментом специалистов по эксплуатации и ремонту технических средств компьютера.
Эти средства можно разделить на средства диагностики ПК, тестового контроля, аппаратного контроля и программно- аппаратного контроля.
Средства диагностики обеспечивают автоматический поиск ошибок и выявление неисправностей с определенной локализацией их в ПК и его отдельных модулях.
Программно-логический контроль основан на использовании избыточного кода исходных и промежуточных данных ПК, что позволяет находить ошибки при изменении значения отдельных битов данных.
Тестовый контроль осуществляется с помощью специальных тестов для проверки правильности работы ПК или его отдельных устройств.
Аппаратный контроль ведется автоматически с помощью встроенного в ПК оборудования.
Программно-аппаратный контроль включает программный и аппаратный контроль.
Программное обеспечение, которое предназначено для решения определенных классов задач пользователя, называют прикладным (application software). Прикладное программное обеспечение состоит из пакетов прикладных программ (ППП) и прикладных программ пользователя.
В настоящее время значительное место в прикладном ПО занимают пакеты прикладных программ, которые по сфере применения делятся на проблемно-ориентированные, пакеты общего назначения и интегрированные пакеты.
Отличительной чертой проблемно-ориентированных ППП являются их сравнительно узкая направленность на определенный круг решаемых задач и большое их разнообразие.
Пакеты общего назначения (методоориентированные пакеты) предназначены для решения типовых задач обработки данных.
Интегрированные ППП - это совокупность функционально различных программных модулей, способных взаимодействовать между собой путем обмена данными через единый пользовательский интерфейс. Областью применения таких пакетов является в основном экономическая сфера. Интегрированные пакеты обеспечивают вычислительные потребности пользователя без обращения к другим программным продуктам. В структуре пакета предусмотрен модуль управления, обеспечивающий переключение между приложениями и бесконфликтное использование общих данных. Современные интегрированные пакеты содержат, как правило, пять функциональных компонентов: табличный процессор; текстовый (процессор) редактор; систему управления базами данных (СУБД); графический редактор; коммуникационные средства.
Прикладные программы создаются разработчиками с использованием средств программирования, имеющихся в их распоряжении в составе конкретной вычислительной среды. В этом случае создание и отладка программ осуществляются обычно индивидуально в соответствии с правилами и соглашением ППП или ОС, в рамках которых они применяются.