Оболочки операционных систем. Утилиты. Комплекс программ технического обслуживания. Системы программирования
Оболочка операционной системы - это надстройка над операционной системой, существенно облегчающая работу пользователя и предоставляющая ему ряд дополнительных сервисных услуг. Оболочки ОС обеспечивают:
· создание, переименование, копирование, пересылку, удаление и быстрый поиск файла в текущем каталоге диска или на всех дисках компьютера;
· просмотр, создание и сравнение каталогов;
· просмотр, создание и редактирование текстовых файлов;
· архивацию, обновление и разархивацию архивных файлов, просмотр архивов;
· синхронизацию каталогов, расщепление и слияние файлов;
· поддержку связи двух компьютеров через последовательный или параллельный порты;
· форматирование и копирование дискет, смену метки дискеты и метки тома для жестких дисков, а также чистку дисков от ненужных файлов;
· запуск программ.
Оболочка Norton Commander - этот программный продукт позволяет видеть файлы и каталоги на двух постоянно отображаемых панелях и удобно манипулировать файлами с помощью функциональных клавиш и мыши.
Оболочка Dos Navigator полностью копирует исходную идею NC, но имеет дополнительные функции. Она поддерживает работу с большим количеством архиваторов, позволяет выделять файлы различных типов цветом, имеет более удобные средства для межкомпьютерной связи через модем.
Microsoft Internet Explorer - это графическая оболочка для связи с сервисами Internet, а Netscape Navigator - альтернативный, возможно, более удобный вариант.
Графические оболочки для Windows - Dash Board Windows 95/98, Desk Bar 95 for Windows - позволяют пользователю быстро создавать меню для запуска программ и вызова документов, а также контролировать использование системных ресурсов. Оболочки Sher и RAR предназначены для управления сжатием (архивированием) и распаковкой файлов в среде MS DOS. Оболочки WinRAR и Winzip предназначены для управления сжатием (архивированием) и распаковкой файлов в графической среде. Оболочки Norton Utilites, NDOS, Norton Desktop for Windows предназначены для управления файлами.
Наибольшую популярность из всех оболочек имеет Norton Commander (NC). Имеется англоязычная и русифицированная (локализованная) версии этого продукта, ориентированные для работы в среде DOS, Windows 95/98. Оболочка NC для Windows 98 сохраняет все основные команды по управлению файлами и каталогами из NC для MS DOS, и это является ее неоспоримым преимуществом. Пункты подменю практически также совпадают.
В последние годы наметились определенные перспективы развития оболочек. Общая тенденция развития оболочек - это их интеграция, т.е. совмещение функций нескольких оболочек в одной: управление архиваторами, поддержка межкомпьютерной связи, выполнение базовых действий в среде сетевой операционной системы и др.
Создаются специализированные оболочки, например, предназначен-ные для энциклопедий, баз знаний, обучающих программ. Такие оболочки содержат все необходимые программы для полной поддержки средств мультимедиа (демонстрация слайд - фильмов, видео и звукозаписей), а также позволяют использовать утилиты поиска информации, управления файлами, вывода на печать текста и графической информации.
Командные оболочки, первоначально создаваемые как надстройки над конкретной ОС, по мере своего развития позволяют не только манипулировать файлами и каталогами в различных операционных системах, но и просматривать файлы специальных программ (электронные таблицы, СУБД, графические файлы), управлять воспроизведением компакт - дисков, запускать утилиты системной диагностики, форматирования, передачи данных. В настоящее время они практически вытеснили непосредственное использование архиваторов и вытесняют оболочки архиваторов.
Утилитыпредоставляют пользователю дополнительные услуги (не требующие разработки специальных программ) в основном по обслуживанию дисков и файловой системы.
Эти программы напрямую в вычислительном процессе не используются, а обеспечивают необходимый и разнообразный сервис при подготовке заданий пользователями.
Утилиты чаще всего позволяют выполнять следующие функции:
· обслуживание дисков (форматирование, архивация, сжатие, обеспечение сохранности информации, возможности ее восстановления в случае сбоя и т.д.);
· обслуживание файлов и каталогов (аналогично оболочкам);
· создание и обновление архивов;
· предоставление информации о ресурсах компьютера, о дисковом пространстве, о распределении ОЗУ между программами;
· печать текстовых и других файлов в различных режимах и форматах;
· защита от компьютерных вирусов.
Из утилит, получивших наибольшую известность, можно назвать программы MS Plub, а также комплексы программ Norton Navigator и Norton Utilites фирмы Symantec PC Tool Deluxe и др.
Антивирусные программы обеспечивают диагностику (обнаружение) и лечение (нейтрализацию) вирусов. Термином «вирус» обозначается программа, способная размножаться, внедряясь в другие программы, совершая при этом нежелательные различные действия. Среди антивирусных программ хорошо себя зарекомендовали Norton Antivirus (Фирмы Symantec), MS Antivirus в составе DOS 6.XX (фирмы Microsoft), Dr. Web (фирмы Диалог – Наука), Antiviral Toolki Pro (фирмы Ками) и др.
Несмотря на то, что объемы внешней памяти ЭВМ постоянно растут, потребность в архивации не уменьшается. Это объясняется тем, что архивация необходима не только для экономии места в памяти, но и для надежного хранения ценной информации, а также для быстрой передачи информации в другие сети ЭВМ.
Кроме того, возможность отказа магнитных носителей информации, разрушающее действие вирусов заставляют пользователей делать резервное копирование ценной информации на другие (запасные) носители информации.
Процесс записи файла в архивный файл называется архивированием(упаковкой, сжатием), а извлечение файла из архива – разархивированием(распаковкой). Упакованный (сжатый) файл называется архивом. Архивация информации – это такое преобразование информации, при котором объем информации уменьшается, а количество информации остается прежним. Степень сжатия информации зависит от типа файла, а также от выбранного метода упаковки.
Степень (качество) сжатия файлов характеризуется коэффициентом сжатия Кс, определяемый как отношение объема сжатого файла Vc к объему исходного файла Vo, выраженное в процентах: Чем меньше Кс, тем выше степень сжатия информации. Заметим, что в некоторых литературных источниках встречается определение коэффициента сжатия, обратное приведенному отношению.
Проблемы архивации (упаковки) тесно переплетены с проблемами кодирования (замена символов текста двоичными кодами с помощью кодовой таблицы), шифрования (криптография), компрессией звуковых и видеосигналов.
Все используемые методы сжатия информации можно разделить на 2 класса: упаковка без потерь информации (обратимый алгоритм) и упаковка с потерей информации (необратимый алгоритм).
В 1-ом случае, исходную информацию можно точно восстановить по имеющейся упакованной информации. Во втором случае, распакованное сообщение будет, отличается от исходного сообщения.
Для уменьшения размеров мультимедийных файлов используют процедуру сжатия.
Под сжатием (компрессией, упаковкой, уплотнением) понимается такое преобразование информации, в результате которого исходный файл уменьшается в объеме, а количество информации в сжатом файле уменьшается на такую небольшую величину, которой практически можно пренебречь. По смыслу термин «сжатие» близок к термину «архивация». Однако последний термин чаще всего предлагает сжатие информации без ее искажения (без изменения, без потерь).
В зависимости от скорости упаковки изображений методы сжатия подразделяются на 2 группы.
К первой группе относится метод сжатия неважных изображений. Сжатие может выполняться с любой скоростью, так как этот процесс не регламентирован временем (в силу статичности изображения). Вторую группу образует методы сжатия движущихся изображений. Сжатие движущихся изображений должно выполняться, как правило, в режиме реального времени по мере ввода данных.
Особенности состава технических средств ЭВМ учитываются комплексом программ технического обслуживания (КПТО). Этот комплекс включает в свой состав наладочные, проверочные и диагностические тест-программы.
Наладочные программы обеспечивают автономную настройку и проверку отдельных устройств ЭВМ. Обычно они функционально независимы от программ ОС. Проверочные тест-программы предназначены для периодически проводимых проверок правильности функционирования устройств, например, после включения их в работу.
Диагностические программы используются в тех случаях, когда необходимо классифицировать отказ оборудования и локализовать место неисправности. Инициирование работы этих программ осуществляется обычно модулями ОС после фиксации сбоев и отказов аппаратурой контроля.
Проверочные тест-программы занимают особое место в КПТО. Их выполнение непосредственно перед вычислениями позволяют убедиться в исправности технических средств системы, а значит, повысить достоверность обработки данных.
У IBM PC эти средства имеют своеобразную структурную и функциональную организацию. Часть этих средств записана в ПЗУ компьютера. При каждом включении ПЭВМ и перезагрузках производится ее предварительная проверка путем выполнения тестовой программы POST (Power On Set Test), состоящей из более десятка отдельных программных фрагментов. Последовательность проверок заключается в следующем.
Вначале проверяется работоспособность системного блока. Для этого все регистры машины «сбрасываются в нуль» и производится их последовательная проверка путем занесения отдельных констант, выполнения над ними простейших операций и сравнения результатов с эталонными значениями. Затем проверяются ячейки оперативной памяти (тесты оперативной памяти при перезагрузках системы от клавиш <Ctrl>+<Alt>+<Del> игнорируются). После этого проверяется стандартная периферия: клавиатура, накопители на дисках, дисплей и др. В случае каких-либо ошибок на каждом шаге проверки формируются определенные звуковые сигналы, сопровождаемые соответствующими сообщениями на экране дисплея.
Кроме встроенных средств контроля, в ПО ПЭВМ включаются и автономные средства контроля и диагностики. Количество подобных комплектов программ достаточно велико и каждый из них позволяет детализировать системную информацию: определение полной конфигурации ПК и характеристик, отдельных ее частей (тип процессора, наличие сопроцессора, тип материнской платы, типы использования дисков, объем оперативной памяти и ее распределение, подключение дополнительной периферии и т.д.)
Помимо контроля работоспособности, они могут отразить, насколько эффективно используются ресурсы, и осуществить их перераспределение.
Составной частью системного (общего) программного обеспечения являются системы программирования с соответствующими языками программирования. Системы программирования предназначены для совершенствования процесса разработки и отладки программ, т.е. для повышения эффективности и производительности труда программистов.
Комплекс средств, включающих в себя входной язык программирования (исходный язык), транслятор, машинный язык, библиотеки стандартных программ, средства отладки оттранслированных программ и компоновки их в единое целое, называется системой программирования.
Так как каждое семейство ЭВМ имеет свой собственный, специфический внутренний (машинный) язык и может выполнять лишь те команды, которые записаны на этом языке, то для перевода исходных программ на машинный язык используются специальные программы – трансляторы. Работа всех трансляторов строится по одному из 2х принципов: интерпретации или компиляции.
Интерпретация осуществляет пошаговую трансляцию и немедленное выполнение оттранслированного оператора исходной программы. Трансляторы – интерпретаторы поддерживают диалоговый режим, их легче разрабатывать, обходятся дешевле, чем компиляторы с того же языка. Однако при интерпретации программа на машинном языке не сохраняется, и поэтому при каждом запуске исходной программы на выполнение ее нужно (пошагово) транслировать заново. Кроме этого, интерпретирующая команда должна находиться в памяти ЭВМ в течение всего процесса выполнения исходной программы, т.е. занимать определенный объем памяти.
При компиляции процессы трансляции и выполнение программы разделены во времени. Сначала компилируемая программа преобразуется в набор объектных модулей на машинном языке, которые затем собираются (компонуются) в единую машинную программу, готовую к выполнению в виде файла на магнитном диске. Это программа может быть выполнена многократно без повторной трансляции. Следовательно, для одной и той же программы трансляция методом компиляции обеспечивает более высокую производительность вычислительной системы при сокращении требуемой оперативной памяти.
Большая сложность в разработке компилятора по сравнению с интерпретатором с того же самого языка объясняется тем, что компиляция включает два действия: анализ, т.е. определение правильности исходной программы в соответствии с правилами построения языковых конструкции входного языка, и синтез - генерирование эквивалентной программы в машинных кодах.
Наряду с рассмотренными выше трансляторами - интерпретаторами и трансляторами-компиляторами на практике используются трансляторы интерпретаторы – компиляторы, которые объединяют в себя достоинства обоих принципов трансляции: на этапе разработки и отладки программы транслятор работает в режиме интерпретатора, а после завершения процесса отладки исходная программа повторно транслируется в объектный модуль (т.е. уже методом компиляции). Это позволяет значительно упростить и ускорить процесс составления и отладки программ, а за счет последующего получения объектного модуля обеспечить более эффективное исполнение программы.
Языки программирования, или алгоритмические языки, классифицируются: по степени их зависимости от вычислительной машины, по назначению (ориентация на ту или иную сферу применения), по специфике организационной структуры языковых конструкции и т.п.
С учетом зависимости от ЭВМ языки программирования подразделяются на машинно-зависимыеимашинно-независимые.
К машинно–зависимым языкам относятся машинные (т.е. языки, непосредственно используемые для управления работой отдельных устройств ЭВМ) и машинно–ориентированные языки (в отличие от машинных языков требуют предварительной трансляции на машинный язык программ, составленных с их помощью).
Машинный язык является внутренним языком ЭВМ и представляет собой систему инструкций и данных, которые не требуют предварительной трансляции и могут непосредственно интерпретироваться и исполняться аппаратными средствами ЭВМ.
К машинно–ориентированным языкам относятся: автокоды, языки символического кодирования и ассемблеры. Особое место в системе программирования занимают ассемблеры.
Ассемблер представляет собой мнемоническую (условную)запись машинных команд и позволяет получить высокоэффективные программы на машинном языке. Язык ассемблера используется для разработки системного программирования, т.е. программирования микропроцессора, разработки операционных систем, драйверов, программ увязки взаимодействия отдельных компонентов прикладных программ и т.д. Однако его использование требует высокой классификации программиста и больших затрат времени на составление и отладку программ.
Машинно-независимые языки (или языки высокого уровня) не требуют от пользователя знания специфики ЭВМ, на которой реализуется программа решения задачи. Решение задачи на этих языках описывается в наглядном, достаточно легко воспринимаемом виде. Для них характерны: возможность написания выражений, символическая идентификация переменных, вызов функций по именам и т.д.
Машинно-независимые языки классифицируются на процедурно – ориентированные, проблемно – ориентированные и объектно-ориентированные.
Процедурно–ориентированные (универсальные) языки эффективны для описания алгоритмов решения широкого класса задач. Это языки: Фортран, Кобол, ПЛ/1, Бейсик, Паскаль, Ада и др.
Проблемно–ориентированные языки предназначены для описания процессов обработки информации в более узкой, специфической области. Языками этой группы являются: РПГ, Лисп, АПЛ, GPSS и др.
Объектно-ориентированные языки ориентированы на разработку программных приложений для широкого круга разнообразных по сфере приложения задач, имеющих общность в реализуемых компонентах (например, при взаимодействии с БД, работе в условиях функционирования корпоративных сетей организаций или взаимодействия с глобальной сетью Internet). Объектно-ориентированный подход в программировании позволяет применять одни и те же (типовые) архитектурные и концептуальные решения для быстрого создания эффективных программных приложений. Наиболее известные языки этого класса – Delphi, Visual Basic, Java и др.
Обособленное, промежуточное положение между машинно-независимыми и машинно-зависимыми языками занимает язык Cu, создание которого явилось результатом попытки объединения достоинств, присущих языкам обоих классов:
- в плане максимального использования возможностей конкретной вычислительной архитектуры, благодаря чему программы на языке Cu компактны и работают эффективно;
- в плане максимального использования мощных выразительных возможностей современных языков высокого уровня.
Язык Cu и его модификации в настоящее время используются в основном для создания системных и прикладных программных продуктов, в которых решающее значение отводится факторам быстродействия и минимизации объектов памяти.
Основное достоинство алгоритмических языков высокого уровня – возможность описания программ решения задач в форме, максимально удобной для восприятия человеком.
Вопросы для самоконтроля
1. Что такое программное обеспечение ПЭВМ?
2. Состав программного обеспечения ПЭВМ.
3. Что входит в системное программное обеспечение?
4. Назовите основной принцип построения программного обеспечения современных ПЭВМ.
5. Дайте определение пакетов прикладных программ.
6. Назовите основные виды ППП.
7. Расскажите о ППП общего назначения.
8. Дайте характеристику файловой системы.
9. Какие диски вы знаете?
10. Что такое файл?
11. Из чего состоит системная область диска?
12. Дать определение операционной системы.
13. Приведите классификацию ОС.
14. Перечислите функции ОС.
15. Назовите основные особенности Windows 98.
16. Дайте сравнительную характеристику ОС Windows 95/98/2000/Миллениум/NT/XP.
17. Для чего предназначена оболочка операционной системы?
18. Назовите основные клавиши Norton Commander.
19. Какие программные средства называются утилитами и каковы их разновидности?
20. Расскажите о назначении и видах систем технического обслуживания.
21. Для чего предназначены программы архиваторы?
22. За счет чего происходит сжатие файлов при архивации?
23. Какие виды языков программирования Вы знаете?
24. Что входит в систему программирования?
25. В чем различие компиляторов и интерпретаторов?