Утилиты. Архиваторы. Драйверы
Важной частью ОС является командный процессор - программа, отвечающая за интерпретацию и исполнение простейших команд, подаваемых пользователем, и его взаимодействие с ядром ОС. Кроме того, к операционной системе следует относить богатый набор утилит - обычно небольших программ, обслуживающих различные устройства компьютера (например, утилита форматирования магнитных дисков, утилита восстановления необдуманно удаленных файлов и т.д.).
Утилиты предоставляют пользователю дополнительные услуги (не требующие разработки специальных программ) в основном по обслуживанию дисков и файловой системы.
Эти программы напрямую в вычислительном процессе не используются, а обеспечивают необходимый и разнообразный сервис при подготовке заданий пользователями.
Утилиты чаще всего позволяют выполнять следующие функции:
- обслуживание дисков (форматирование, архивация, сжатие, обеспечение сохранности информации, возможности ее восстановления в случае сбоя и т.д.);
- обслуживание файлов и каталогов (аналогично оболочкам);
- создание и обновление архивов;
- предоставление информации о ресурсах компьютера, о дисковом пространстве, о распределении ОЗУ между программами;
- печать текстовых и других файлов в различных режимах и форматах;
- защита от компьютерных вирусов.
Из утилит, получивших наибольшую известность, можно назвать программы MS Plub, а также комплексы программ Norton Navigator и Norton Utilites фирмы Symantec PC Tool Deluxe и др.
Утилиты - это служебные программы, которые предоставляют пользователю ряд дополнительных услуг. Во многих случаях они используются для расширения или улучшения функций операционных систем. Некоторые служебные программы (как правило, это программы обслуживания) изначально включают в состав операционной системы, но большинство служебных программ являются для операционной системы внешними и служат для расширения ее функций. В разработке и эксплуатации служебных программ существуют два альтернативных направления: интеграция с операционной системой и автономное функционирование. В первом случае служебные программы могут изменять потребительские свойства системных программ, делая их более удобными для практической работы. Во втором случае они слабо связаны с системным программным обеспечением, но предоставляют пользователю больше возможностей для персональной настройки их взаимодействия с аппаратным и программным обеспечением.
К утилитам относят следующие программные средства: дисковые компрессоры; дисковые дефрагментаторы; программы резервного копирования данных; архиваторы; программы, оптимизирующие использование оперативной памяти; программы защиты и восстановления данных; антивирусные программы и др. Для обслуживания жесткого диска в среде Windows используются служебные программы. К ним относятся следующие программы и утилиты, которые удовлетворяют минимальным требованиям пользователя ПК: программы дефрагментации диска (DEFRAG), проверки диска (Scandisk), уплотнения диска (DrvSpace), резервирования и восстановления файлов (Backup), архиваторы, системный монитор (System monitor), антивирусные программы.
Дадим им краткую характеристику.
Утилита дефрагментации диска (DEFRAG) предназначена для оптимизации работы диска и повышения скорости доступа к нему. При копировании, удалении и перемещении файлов на жестком или гибком диске возникают пустые места, которые затем заполняются фрагментами других файлов. Файловая система Windows дает возможность хранить файлы фрагментами. Если файл разбит на несколько фрагментов, скорость доступа к нему уменьшается, поскольку на перемещение головок диска к очередному фрагменту требуется намного больше времени, чем на его считывание. Дефрагментация диска состоит в том, что фрагменты файла собираются в один блок.
Можно выбрать один из трех способов дефрагментации: полную дефрагментацию, дефрагментацию только файлов, объединение свободных участков диска.
В первом случае фрагменты файлов объединяются так, чтобы файлы занимали непрерывный участок диска. Все свободное пространство на диске также объединяется в один участок. Этот режим работы требует максимального времени. Во втором случае выполняется объединение только фрагментов файлов. Они будут занимать последовательные участки на диске, но между ними может быть свободное пространство, доступное для размещения других файлов. В третьем случае отдельные свободные участки на диске собираются в один большой блок.
Программа проверки диска (ScanDisk) проверяет правильность информации, которая содержится в таблицах распределения файлов диска (FAT), а также осуществляет поиск сбойных блоков диска. Если FAT-таблица повреждена и несколько файлов оказались наложенными друг на друга, их можно удалить или сделать отдельную копию для каждого файла. Копии файлов имет смысл делать в том случае, если пользователь хорошо представляет себе логическую структуру диска и может восстановить ее. В противном случае их придется удалить, потеряв содержимое. Если в таблице распределения файлов отмечено, что часть диска занята информацией, которая не принадлежит никакому файлу, то соответствующие блоки можно преобразовать в файл, чтобы потом просмотреть эту информацию и, возможно, спасти ее.
Программа уплотнения диска (DrvSpace) предназначена для создания и обслуживания уплотненных (сжатых) дисков. Уплотненный диск представляет собой файл на обычном физическом гибком или жестком диске. Работа с таким диском ничем не отличается от работы с простым диском. Разница заключается только в том, что при записи на диск данные сжимаются (непосредственно перед записью), а при чтении восстанавливаются снова (непосредственно после считывания), поэтому чтение и запись выполняются чуть медленнее, чем для обычного диска.
Программа резервирования (копирования) данных на диске (Backup)работает в трех режимах: резервирования (Backup), восстановления (Restore) и сравнения исходных данных с их резервными копиями (Compare). Для резервных копий используются дискеты, кассеты с магнитной лентой или другие сменные носители информации, а также возможно резервирование на другие жесткие диски.
Средства просмотра и воспроизведения.Обычно для работы с файлами данных необходимо загрузить их в "родительскую" прикладную систему, с помощью которой они были созданы. Это дает возможность просматривать документы и вносить в них изменения. Но в тех случаях, когда требуется только просмотр без редактирования, удобно использовать более простые и более универсальные средства, позволяющие просматривать документы разных типов.
Средства диагностики.Предназначены для автоматизации процессов диагностики программного и аппаратного обеспечения. Они выполняют необходимые проверки и выдают собранную информацию в удобном и наглядном виде. Их используют не только для устранения неполадок, но и для оптимизации работы компьютерной системы.
Средства контроля (мониторинга).Программные средства контроля иногда называют мониторами. Они позволяют следить за процессами, происходящими в компьютерной системе. При этом возможны два подхода: наблюдение в реальном режиме времени и контроль с записью результатов в специальном протокольном файле. Первый подход обычно используют для оптимизации работы вычислительной системы и повышения ее эффективности. Второй подход используют в тех случаях, когда мониторинг выполняется автоматически и (или) дистанционно. В последнем случае результаты мониторинга можно передать удаленной службе технической поддержки для установления причин конфликтов в работе программного и аппаратного обеспечения.
Мониторы установки.Программы этой категории предназначены для контроля за установкой программного обеспечения. Необходимость в данном программном обеспечении связана с тем, что между различными категориями программного обеспечения могут устанавливаться связи. Вертикальные связи (между уровнями) являются необходимым условием функционирования всех компьютеров. Горизонтальные связи (внутри уровней) характерны для компьютеров, работающих с операционными системами, поддерживающими принцип совместного использования одних и тех же ресурсов разными программными средствами. И в тех, и в других случаях при установке или удалении программного обеспечения могут происходить нарушения работоспособности прочих программ.
Мониторы установки следят за состоянием и изменением окружающей программной среды, отслеживают и протоколируют образование новых связей и позволяют восстанавливать связи, утраченные в результате удаления ранее установленных программ.
Простейшие средства управления установкой и удалением программ обычно входят в состав операционной системы и размещаются на системном уровне программного обеспечения, однако они редко бывают достаточны. Поэтому в вычислительных системах, требующих повышенной надежности, используют дополнительные служебные программы.
Диспетчеры файлов (файловые менеджеры).С помощью программ данного класса выполняется большинство операций, связанных с обслуживанием файловой структуры: копирование, перемещение и переименование файлов, создание каталогов (папок), удаление файлов и каталогов, поиск файлов и навигация в файловой структуре. Базовые программные средства, предназначенные для этой цели, обычно входят в состав программ системного уровня и устанавливаются вместе с операционной системой. Однако для повышения удобства работы с компьютером большинство пользователей устанавливают дополнительные служебные программы.
Средства коммуникации (коммуникационные программы).С появлением электронной связи и компьютерных сетей программы этого класса приобрели очень большое значение. Они позволяют устанавливать соединения с удаленными компьютерами, обслуживают передачу сообщений электронной почты, работу с телеконференциями (группами новостей), обеспечивают пересылку факсимильных сообщений и выполняют множество других операций в компьютерных сетях.
Средства обеспечения компьютерной безопасности. К этой весьма широкой категории относятся средства пассивной и активной защиты данных от повреждения, а также средства защиты от несанкционированного доступа, просмотра и изменения данных.
В качестве средств пассивной защиты используют служебные программы, предназначенные для резервного копирования. Нередко они обладают и базовыми свойствами диспетчеров архивов (архиваторов). В качестве средств активной защиты применяют антивирусное программное обеспечение. Для защиты данных от несанкционированного доступа, их просмотра и изменения служат специальные системы, основанные на криптографии.
Антивирусные программы появились почти одновременно с персональными компьютерами, и с тех пор состав их постоянно растет. Современные антивирусные пакеты являются интегрированными средствами для выявления и устранения компьютерных вирусов. В связи с появлением операционных систем (Windows XP, Windows NT, Windows 2000, OS/2 и др.) задача обеспечения антивирусной защитычрезвычайно усложнилась. Одним из наиболее перспективных направлений развития антивирусных средств является создание сетевых версий этих продуктов. Сетевой антивирусный пакет устанавливается на сервер и при обнаружении вируса блокирует дальнейшую работу с пораженными ресурсами.
Антивирусные программы обеспечивают диагностику (обнаружение) и лечение (нейтрализацию) вирусов. Термином «вирус» обозначается программа, способная размножаться, внедряясь в другие программы, совершая при этом нежелательные различные действия. Среди антивирусных программ хорошо себя зарекомендовали Norton Antivirus (Фирмы Symantec), MS Antivirus в составе DOS 6.XX (фирмы Microsoft), Dr. Web (фирмы Диалог – Наука), Antiviral Toolki Pro (фирмы Ками), Касперский и др.
Средства сжатия данных (архиваторы).Предназначены для создания архивов. Архивирование данных упрощает их хранение за счет того, что большие группы файлов и каталогов сводятся в один архивный файл. При этом повышается и эффективность использования носителя за счет того, что архивные файлы обычно имеют повышенную плотность записи информации.
Несмотря на то, что объемы внешней памяти ЭВМ постоянно растут, потребность в архивации не уменьшается. Это объясняется тем, что архивация необходима не только для экономии места в памяти, но и для надежного хранения ценной информации, а также для быстрой передачи информации в другие сети ЭВМ.
Кроме того, возможность отказа магнитных носителей информации, разрушающее действие вирусов заставляют пользователей делать резервное копирование ценной информации на другие (запасные) носители информации.
Процесс записи файла в архивный файл называется архивированием (упаковкой, сжатием), а извлечение файла из архива – разархивированием (распаковкой). Упакованный (сжатый) файл называется архивом. Архивация информации – это такое преобразование информации, при котором объем информации уменьшается, а количество информации остается прежним. Степень сжатия информации зависит от типа файла, а также от выбранного метода упаковки.
Степень (качество) сжатия файлов характеризуется коэффициентом сжатия Кс, определяемый как отношение объема сжатого файла Vc к объему исходного файла Vo, выраженное в процентах. Чем меньше Кс, тем выше степень сжатия информации. Заметим, что в некоторых литературных источниках встречается определение коэффициента сжатия, обратное приведенному отношению.
Проблемы архивации (упаковки) тесно переплетены с проблемами кодирования (замена символов текста двоичными кодами с помощью кодовой таблицы), шифрования (криптография), компрессией звуковых и видеосигналов.
Все используемые методы сжатия информации можно разделить на два класса: упаковка без потерь информации (обратимый алгоритм) и упаковка с потерей информации (необратимый алгоритм). В 1-ом случае, исходную информацию можно точно восстановить по имеющейся упакованной информации. Во втором случае, распакованное сообщение будет, отличается от исходного сообщения.
Самым популярным архиватором является WinZip. Объясняется это тем, что формат ZIP считается мировым стандартом архивирования и имеет самую длительную историю развития. Большинство архивов в Internet также имеют формат ZIP.За ним следуют многими любимый WinRAR и набирающий обороты WinAce. Все эти архиваторы работают под управлением Windows 98/Me/NT/ 2000/XP.
WinZip. Возможностей его вполне достаточно для того, чтобы обеспечить надежное и эффективное архивирование данных. Программа работает в двух режимах: классическом и режиме мастера, рассчитанном на новичков. Она ориентирована преимущественно на ZIP-архивы, но при этом поддерживает и другие популярные архивные форматы. В числе возможностей WinZip — поддержка технологии перетаскивания (drag & drop) и полная интеграция с программами «Мой компьютер» и «Проводник»; создание самораспаковывающихся файлов; поддержка антивирусных программ; отправка архива по электронной почте и пр. Для защиты архива от несанкционированного доступа можно при его создании указать пароль. WinZip 9.0 поддерживает 128- и 256-битовое шифрование АЕS, которое обеспечивает намного большую безопасность, чем традиционно используемый в более ранних версиях архиватора метод шифрования Zip 2.0. Кроме того, WinZip 9.0 позволяет теперь обрабатывать файлы практически неограниченного размера.
WinRAR — признанный лидер среди программ-архиваторов по удобству и массовости применения, поддерживающий в настоящее время самый большой набор языков, включая русский. При этом формат RAR в большинстве случаев обеспечивает значительно лучшее сжатие, чем ZIP, особенно в режиме создания непрерывных архивов. Формат RAR оснащен несколькими очень важными функциями, отсутствующими у ZIP, к числу которых, например, можно отнести функцию добавления информации для восстановления, которая позволяет восстановить физически поврежденный файл, и функцию блокировки архивов для предотвращения случайной модификации особенно ценных данных.
Формат RAR позволяет обрабатывать файлы практически неограниченного размера и не только предлагает оригинальные и эффективные алгоритмы для сжатия информации различных типов, но и автоматически применяет нужный алгоритм при сжатии файлов. В число его основных особенностей входят: полная поддержка архивов RAR и ZIP; управление архивами других форматов; наличие графической оболочки с поддержкой технологии перетаскивания drag & drop; поддержка метода solid-архивирования, при котором может быть достигнута степень сжатия, на 10-50 % превышающая ту, что дают обычные методы; поддержка многотомных архивов (в формате RAR); создание самораспаковывающихся (SFX) обычных и многотомных архивов; возможность создания и использования томов для восстановления, позволяющих воссоздавать недостающие части многотомных архивов; отправка архива по электронной почте и пр. Для удобства возможно создание избранных папок и архивов. Программа поддерживает два варианта работы: классический и с помощью мастера.
В последних версиях предлагаются новые возможности для защиты информации за счет применения 128-битного алгоритма шифрования данных и имен файлов в архиве с использованием алгоритма AES и сохранения данных о правах доступа. Очень удобна появившаяся в одной из последних версий архиватора возможность поиска файлов внутри архивов. Полезна новая команда «Просмотр архива на вирусы», обеспечивающая распаковку архива во временную папку и проверку ее содержимого установленным на компьютере антивирусом. Команда печати позволяет теперь распечатывать как обычные, так и архивированные файлы.
Драйверы
У контроллера каждого устройства есть набор регистров, используемых для того, чтобы давать управляемому устройству команды и считывать состояние устройства. Число таких регистров и выдаваемые команды зависят от конкретного устройства. Например, программа управления мышью должна получать от мыши информацию о том, насколько далеко она продвинулась по горизонтали и вертикали, а также о нажатых кнопках мыши. Программа управления диском должна знать о секторах, дорожках, цилиндрах, головках, их перемещении и времени установки, двигателях и тому подобных вещах, необходимых для правильной работы диска. Очевидно, что эти программы управления будут сильно различаться. Такая программа управления каждым устройством ввода-вывода, подключенным к компьютеру, называется драйверомустройства. Она обычно пишется производителем и распространяется вместе с устройством. Поскольку для каждой ОС требуются специальные драйверы, производители устройств обычно поставляют драйверы для нескольких наиболее популярных операционных систем.
Каждый драйвер устройства поддерживает один тип устройства или, максимум, класс близких устройств. Например, драйвер дисков может поддерживать различные диски, отличающиеся размерами и скоростями. Однако мышь и джойстик отличаются настолько сильно, что обычно требуют использования различных драйверов.
Чтобы получить доступ к аппаратной части устройства, т.е. к регистрам контроллера, драйвер устройства должен быть частью ядра операционной системы. Но возможно создать и драйвер, работающий в пространстве пользователя. Это позволило бы изолировать ядро от драйверов, а драйверы друг от друга. При этом была бы устранена основная причина крушения операционных систем: драйверы, содержащие ошибки, сталкивающиеся с ядром тем или иным образом. Но поскольку современные операционные системы предполагают работу драйверов в ядре, рассмотрим именно такую модель.
Так как в ОС будут устанавливаться драйверы, выпускаемые другими производителями, необходима архитектура, допускающая подобную установку. Это означает, что должна быть выработана строго определенная модель функций драйвера и его взаимодействия с остальной операционной системой. Драйверы устройств обычно располагаются под остальной частью ОС (рис. 7.5).
Рис. 7.5. Логическое расположение драйверов устройств
Операционная система обычно классифицирует драйверы по нескольким категориям в соответствии с типами обслуживаемых ими устройств. К наиболее общим категориям относятся блочные устройства, например, диски, содержащие блоки данных, к которым возможна независимая адресация, и символьные устройства, такие как клавиатуры и принтеры, формирующие или принимающие поток символов.
В большинстве операционных систем определены два стандартных интерфейса, один из которых должны поддерживать все блочные драйверы, а второй - все символьные драйверы. Эти интерфейсы включают наборы процедур, которые могут вызываться остальной операционной системой для обращения к драйверу. К этим процедурам относятся, например, процедуры чтения блока или записи символьной строки.
Драйвер устройства выполняет несколько функций:
1) обработку абстрактных запросов чтения и записи независимого от устройств и расположенного над ними программного обеспечения;
2) инициализацию устройства;
3) управление энергопотреблением устройства и регистрацией событий;
4) проверку входных параметров. Если они не удовлетворяют определенным критериям, драйвер возвращает ошибку. В противном случае драйвер преобразует абстрактные термины в конкретные. Например, дисковый драйвер может преобразовывать линейный номер блока в номера головки, дорожки и секторы;
5) проверку использования устройства в данный момент. Если устройство занято, запрос может быть поставлен в очередь. Если устройство свободно, проверяется его состояние. Возможно, требуется включить устройство или запустить двигатель, прежде чем начнется перенос данных. Как только устройство готово, может начинаться собственно управление устройством.
Управление устройством подразумевает выдачу ему серии команд. Именно в драйвере и определяется последовательность команд в зависимости от того, что должно быть сделано. Определившись с командами, драйвер начинает записывать их в регистры контроллера устройства. Некоторые контроллеры способны принимать связные списки команд, находящихся в памяти. Они сами считывают и выполняют их без дальнейшей помощи операционной системы.