Лекция 3.
Классификация
программных продуктов. Сервисные программы
1.
КЛАССИФИКАЦИЯ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ
2. ОПЕРАЦИОННАЯ СИСТЕМА WINDOWS
3.
СЛУЖЕБНОЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ
§1. КЛАССИФИКАЦИЯ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ
Огромные масштабы применения персональных компьютеров
привели к бурному развитию программного обеспечения. Под программным
обеспечением компьютера (ПО) понимается комплекс разработанных для него
программ, предназначенных для решения различных за-1 дач. В зависимости от
области использования можно выделить три вида программных продуктов: прикладное ПО, системное ПО и системы программирования.
Прикладное программное обеспечение служит для решения конкретных задач пользователя. В
состав прикладного ПО входят пакеты прикладных
программ различного назначения, рабочие программы пользователя и программы,
разрабатываемые специализированными организациями. Пакеты прикладных программ
(ППП) являются очень эффективным средством автоматизации различных практических
задач.
Среди пакетов программ следует выделить MS Office.
Большое развитие получили ППП для различных предметных областей:
бухгалтерского учета, финансового менеджмента, правовых систем и т. д.
К бухгалтерским ППП следует отнести «1С. Бухгалтерия»,
«Квестор», «Бест», «Монолит-Инфо» и др.
ППП финансового менеджмента в основном ориентированы
на финансовый анализ предприятий (ЭДИП — «Центр-инвест
Софт», Альт-Финансы — «Альт», Финансовый анализ — «Инфософт») и оценку эффективности капиталовложений и инвестиций
(Project Expert — PROTnvest Consalting, Альт-Инвест — «Альт», FOCCAL — «ЦентринвестСофт»).
ЦПП правовых справочных систем насчитывают более песятка правовых систем, среди которых наиболее известными
следует считать ППП «КонсультантПлюс», «Гарант» и«Юсис».
Системное программное обеспечение организует и поддерживает работу компьютера и
компьютерных сетей. Это осуществляется с помощью операционной системы (ОС) и
служебных программ, поставляемых в составе ОС или дополнительно.
Операционная система — это программа, которая предназначена для управления
выполнением прикладных программ, планирования и управления ресурсами компьютера
(оперативной памятью, местом на дисках и т. д.). ОС должна содержать
программные компоненты, показанные на рис. 3.1, часть из которых обслуживает
периферийные устройства: мышь, монитор, принтер и др.
ОС можно разбить на три основные группы: однозадачные
(однопользовательские), многозадачные (многопользовательские) и сетевые.
Однозадачные ОС предназначены для работы одного пользователя в каждый
конкретный момент с одной конкретной задачей. Типичным представителем таких ОС является MS-DOS, разработанная фирмой Microsoft.
Многозадачные ОС обеспечивают коллективное использование ЭВМ в мультипрограммном
режиме, когда в памяти ЭВМ находится несколько задач-программ, а процессор
распределяет ресурсы между ними. К многозадачным ОС
относятся: UNIX, OS/2, Windows, Linux.
Сетевые ОС связаны с появлением локальных и глобальных сетей и
служат для обеспечения доступа пользователя ко всем ресурсам вычислительной
сети. В число сетевых ОС входят: Net Ware, MS Windows NT, Unix и др.
Служебные программы, называемые утилитами, предназначены для
обслуживания и оптимизации работы компьютера. В составе ОС они используются
для работы с файловой системой и дисками, архивации и восстановления файлов,
проверки системы и т. д. Служебные программы, которые поставляются
дополнительно, будут рассмотрены в§3.3.
Командный процессор представляет собой специальную программу, которая запрашивает у пользователя
команды и выполняет их. Благодаря командному процессору пользователь
взаимодействует с сетевыми ресурсами.
Файловая система обеспечивает чтение и запись файлов на дисковых носителях информации.
Файловая система устанавливает физическую и логическую структуру файлов,
правила их создания и управления ими, а также сопутствующие данные файла. ОС
может работать с одной или несколькими файловыми системами, например FAT (File Allocation Table —
таблица размещения файлов), NTFS (NT File System — файловая система NT), NFS (Network File System — сетевая файловая система)
и др.|
Система ввода/вывода служит для управления периферийными устройствами при
обслуживании приложений. Связь устройств с компьютером организуется через порты
ввода/вывода и контроллеры с помощью программы, называемой драйвером.
Драйвер —
это программа, обеспечивающая управление периферийным устройством (мышью,
монитором, принтером и др.). Часть этих программ встроена в ОС, а другая создается
разработчиками оборудования на языках низкого уровня (Assembler, С) и поставляется вместе с устройствами.
Система программирования — это комплекс программных средств, который реализует
проектирование, кодирование, тестирование и отладку программ на каком-либо языке
программирования.
Система программирования включает входной язык
программирования, транслятор, машинный язык, библиотеки стандартных программ и
средства отладки оттранслированных программ.
§2. ОПЕРАЦИОННАЯ СИСТЕМА WINDOWS
Операционные системы корпорации Microsoft можно разделить на три семейства: Windows 3.1 и 3.11, Windows 95/98/Ме и Windows NT, 2000,
ХР, Vista.
В период с 1981 по 1986 г. для персонального компьютера
IBM PC
корпорацией Microsoft поверх MS-DOS был добавлен
графический интерфейс, именуемый Windows 3.1 и
3.11.
Начиная с 1995 г. были выпущены ОС Windows 95, 98, поддерживающие 16- и 32-разрядные коды. Эти
ОС продолжали использовать файловую систему MS-DOS со всеми ее
недостатками. Отличие Windows 98 от Windows 95 заключалось в интерфейсе, включавшем Интернет и
рабочий стол пользователя.
В 2000 г. Microsoft
выпустила немного измененную версию Windows 98, названную Windows Me (Windows
Millennium Edition — Windows, выпуск тысячелетия). Она содержала
улучшенные функции организации совместного использования изображений, музыки и
фильмов, а также сети Интернет.
В 1993 г. была выпущена первая 32-разрядная версия,
именуемая Windows NT 3.1 (New Technology —
новая технология). Затем в 1996 г. появились версии NT 4.0 и NT 5.0.
Последняя версия в 1999 г. была переименована в Windows 2000, на которой сосредоточим основное внимание.
В основе операционной системы Windows лежат три основные концепции: концепция объекта,
концепция окна и концепция рабочего стола.
Концепция объекта. Каждый файл, папка, устройство имеют имя и представляются как объекты,
которые отображаются на экране с помощью специальных значков различных для
разных типов объектов. Каждый объект обладает набором характерных для его типа
свойств.
Концепция окна. Для каждого активизируемого объекта открывается окно, в котором
отображается его содержимое, если объект имеет иерархическую структуру (папка,
устройство), или процесс и результат его работы, если объект является
исполняемым файлом, т. е. программой.
Концепция рабочего стола. Все объекты и открывающиеся для них окна размещаются
(или могут быть размещены) на рабочем столе.
В Windows
реализованы три технологии работы с объектами.
Технология Plug and Play (включи
и работай) ориентирована на поддержку любого типа устройств, включая мониторы,
принтеры, звуковые карты и т. д.
Технология Drag and Drop (перетащи
и положи) позволяет легко изменить положение любого окна и его размеры.
Технология OLE (Object Linking and Embedding) применяется для связывания и внедрения документов,
которые готовятся в различных приложениях.
При доступе к данным на диске 32-разрядная операционная
система Windows 2000 использует хранящуюся на нем таблицу размещения
файлов FAT 32, которая содержит информацию о расположении
файлов, свободном пространстве на диске и неисправных кластерах.
Windows поддерживает объектно-ориентированный графический
интерфейс пользователя. Это означает,
что такие видимые на экране монитора элементы, как рабочий стол, ярлык и панель
задач, обладают собственными свойствами, функциями и реакциями на действия
пользователя.
На рабочем столе размещаются различные элементы,
доступные для взаимодействия с помощью мыши или клавиатуры.
§3. СЛУЖЕБНОЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ
Служебные программы (утилиты) — это программы используемые
при работе или техническом обслуживании компьютера для выполнения
вспомогательных функций, таких как: работа с файлами и каталогами, сжатие информации,
резервирование данных, запись на компакт-диски, просмотр и конвертация файлов
и др.
ФАЙЛОВЫЕ
МЕНЕДЖЕРЫ
С момента появления программы Norton Commander похожие
на нее файловые менеджеры стали необходимым приложением на любом компьютере.
Все они предназначены для разнообразной работы с файлами: копирования,
переноса, удаления, редактирования текстовых файлов, гибкого запуска программ.
Самыми популярными файл-менеджерами
сегодня в России являются FAR Manager и Total Commander (бывший Windows Commander). Все
программы работают под управлением Windows.
FAR Manager. Norton-подобный файл-менеджер, который может работать как в
полноэкранном, так и в оконном i режимах,
поддерживает длинные имена файлов, корректно работает с русскими буквами, а
встроенный редактор позволяет переключаться между DOS- и Windows-кодировками. Программа поддерживает большинство известных архивных
форматов и позволяет архивировать и разархивировать, просматривать,
редактировать и запускать на выполнение файлы из архивов. В системе
предусмотрены развитая система управления горячими клавишами и очень большой
набор встроенных функций, которые существенно расширяют возможности FAR Manager,
дополняя и модифицируя их.
Total Commander. Если FAR Manager
выбирают те пользователи, которые привыкли работать с Norton Commander, то люди,
начинавшие с Windows, предпочитают Total Commander. Он продолжает традицию двухпанельных
файловых менеджеров, но в большей степени ориентирован на WinHows-интерфейс. Так же как и у многих Windows-программ,
интерфейс Total Commander легко настраивается, причем от-пегулировать
можно буквально все: цвета, наборы панелей, цвета для групп файлов, иконки
папок и документов. Интерфейс Total
Commander позволяет просматривать содержимое носителей с
использованием настраиваемых закладок. Имеется поддержка архиваторов ZIP, ARJ,
LZH, GZ,
TAR, RAR. Наряду со стандартными возможностями, характерными для
данного класса приложений, программа обладает целым рядом особенностей, которые
способны существенно ускорить навигацию по дискам и папкам. К таким особенностям
относятся: запоминание часто используемых каталогов, история последних
посещенных каталогов, быстрый поиск, в том числе внутри файлов, многофункциональные
возможности настройки горячих клавиш, удобная панель инструментов с поддержкой
drag and drop, легкая работа с
комментариями к файлам и папкам и др.
СЖАТИЕ ИНФОРМАЦИИ
Вследствие неуклонно растущих объемов обрабатываемой
информации особое значение приобретает сжатие данных. Существуют два разных
подхода к сжатию данных, хранимых на внешних носителях.
Первый подход заключается
в сжатии данных всего носителя (диска). Недостатком такого подхода является
замедление работы компьютера, поскольку при любом обращении к диску информацию
нужно или сжимать при записи, или возвращать к нормальному состоянию при считывании.
Кроме этого, данные на сжатом диске гораздо сложнее восстановить при сбоях в
компьютере.
Более эффективным является второй подход, заключающийся
в сжатии отдельных файлов или папок. Эту процедуру называют архивацией
данных. Программы, используемые при архивации отдельных файлов, называются
архиваторами. Эффективность сжатия информации оценивается коэффициентом
сжатия, который определяется как отношение размера исходных данных к размеру
сжатых. В основе всех алгоритмов сжатия данных лежат три теоретических
алгоритма:
• алгоритм RLE (Run Length Encoding);
• алгоритмы группы KWE (Key Word
Encoding);
• алгоритм Хоффмана.
Алгоритм RLE основан
на подсчете последовательности идущих одинаковых цифр и записи вместо таких
последовательностей двух чисел: значение числа повторений и значение
повторяющегося числа. Например, последовательность чисел
444444555333339999991111111
кодируется следующей совокупностью числовых данных
64 35 53 69 71.
Алгоритм. KWE основан
на сжатии данных по ключевым словам.
В основу алгоритма положен принцип кодирования лексических единиц (часто
повторяющихся последовательностей символов, отдельных слов или фраз) группами
байтов фиксированной длины. В результате кодирования формируется словарь.
Алгоритмы LZ (Лемпеля-Зива)
и L.ZW( Л емпеля-Зива-Велча) по сути являются модификациями Ю^Е-алгоритма.
В алгоритме LZ словарь
лексических единиц формируется каждый раз при сжатии новых данных. В алгоритме
LZW для
сжатия данных используется составленная таблица фраз (словарь). Алгоритмы
сжатия этой группы наиболее эффективны для текстовых данных больших объемов и
малоэффективны для файлов маленьких размеров (за счет необходимости сохранения
словаря).
Алгоритм Хоффмана использует частотный анализ входной
последовательности данных, то есть устанавливает частоту повторения каждого
символа. После этого символы сортируются по уменьшению частоты вхождения.
Сжатие происходит за счет кодирования часто встречающихся символов битовыми
группами меньшей длины. Алгоритм Хоффмана
универсальный, его можно применять для сжатия данных любых типов, но он так же,
как и алгоритм KWE, малоэффективен для маленьких
файлов. По характеру воздействия алгоритмы сжатия делятся на
необратимые и обратимые.
При использовании необратимых алгоритмов, которые
также называются алгоритмами сжатия с потерями.формации, изменяется содержимое данных так, что
при установлении (разархивировании) данных из архива не происходит их полного
восстановления. Такие алгоритмы можно применять только для таких типов данных,
для которых потеря части содержимого не приводит к существенному искажению
информации, например для видео- и аудиоданных, а также графических данных.
Такие методы сжатия неприменимы к текстовым данным, так как могут привести к
потере смысловой информации. Частичная потеря информации при сжатии
предусмотрена форматами JPEG — для графических данных, MPEG —
для видеоданных и МРЗ — для аудиоданных.
Обратимые алгоритмы сжатия изменяют структуру данных, но не содержание, поэтому
при разархивировании данные восстанавливаются полностью. Форматы файлов,
поддерживающие обратимые алгоритмы сжатия: GIF, TIFF — для
графических данных, AVI — для видеоданных и ZIP, ARJ,
RAR —
для произвольных типов данных. Архиваторы
WinZip и WinRAR, как
правило, используют сочетание всех трех алгоритмов.
ПРОГРАММЫ РЕЗЕРВИРОВАНИЯ ДАННЫХ
Всегда существует вероятность потери информации.
Поэтому нужно не только беречь информацию, но и уметь оперативно восстанавливать
ее в случае необходимости, для чего требуется резервное копирование данных, т.
е. периодическое создание копий нужной информации.
В Windows имеются
средства резервного копирования и восстановления данных — Backup And Recovery Tools (Средства архивации и восстановления), а также Backup Wizard
(Мастер архивации) — служебная программа, облегчающая архивирование и
восстановление данных. Для рядового пользователя лучше выбрать более простые и
дешевые программы, например Handy
Backup или BackUp32, которые работают под управлением Windows.
Handy Backup представляет
собой простую и удобную программу для автоматического создания копий документов
и данных, которые могут быть сохранены на любом Устройстве (как внешнем, так и
внутреннем, в том числе и на CD-RW) или отправлены на FTP-сервер, а при необходимости восстановлены. При этом можно сохранять не только i отдельные файлы и папки, но и письма из MS Outlook,
системный реестр или ICQ-переписку.
Программа умеет работать по расписанию, сжимать файлы в ZIP-архивы, поддерживает 128-битное шифрование и
синхронизацию данных. BackUp 32. Основное
назначение программы — резервирование данных с возможностью автоматического
сжатия как с использованием встроенного ZIP-совместимого модуля сжатия, так и за счет подключения
внешних архиваторов. Поддерживаются циклы удаления устаревших архивов по
возрасту архива и по количеству архивов в архивной директории. В числе
возможностей программы — присвоение имени архиву в формате даты, посылка в сеть
сообщения.
АНТИВИРУСЫ
Различные вирусы выполняют различные деструктивные действия:
·
выводят
на экран мешающие текстовые сообщения;
·
создают
звуковые эффекты;
·
создают
видео эффекты;
·
замедляют
работу ЭВМ, постепенно уменьшают объем оперативной памяти;
·
увеличивают
износ оборудования;
·
вызывают
отказ отдельных устройств, зависание или перезагрузку компьютера и крах работы
всей ЭВМ;
·
имитируют
повторяющиеся ошибки работы операционной системы;
·
уничтожают
FAT-таблицу, форматируют жесткий диск, стирают BIOS, стирают или изменяют
установки в CMOS, стирают секторы на диске, уничтожают или искажают данные,
стирают антивирусные программы;
·
осуществляют
научный, технический, промышленный и финансовый шпионаж;
·
выводят
из строя системы защиты информации, дают злоумышленникам тайный доступ к
вычислительной машине;
·
делают
незаконные отчисления с каждой финансовой операции и т.д.;
Главная опасность
самовоспроизводящихся кодов заключается в том, что программы-вирусы начинают
жить собственной жизнью, практически не зависящей от разработчика программы.
Так же, как в цепной реакции в ядерном реакторе, запущенный процесс трудно
остановить.
Для борьбы с
вирусами разрабатываются антивирусные
программы.
Различают следующие виды АНТИВИРУСОВ:
программы-детекторы рассчитаны на обнаружение конкретных, заранее известных
программе вирусов и основаны на сравнении характерной последовательности байтов
(сигнатур), содержащихся в теле вируса, с байтами проверяемых программ.
Программы-детекторы снабжаются блоками эвристического анализа.
В этом режиме
делается попытка обнаружить новые или неизвестные вирусы по характерным для
всех вирусов кодовым последовательностям.
программы-дезинфекторы (фаги) не только находят зараженные файлы,
но и лечат их, удаляя из файла тело программы-вируса. В России получили широкое
распространение детекторы, одновременно выполняющие функции дезинфекторов: AVP,
Aidstest, DoctorWeb.
программы-ревизоры
анализируют текущее состояние файлов и системных областей диска и сравнивают
его с информацией, сохраненной ранее в одном из файлов ревизора.
При этом
проверяется состояние загрузочного сектора, FAT-таблицы, а также длина файлов,
их время создания, атрибуты, контрольные суммы. (ADinf)
программы-фильтры (мониторы) оповещают пользователя обо всех
попытках какой-либо программы выполнить подозрительные действия. Фильтры
контролируют обновление программных файлов и системной области диска,
форматирование диска, резидентное размещение программ в ОЗУ.