Способы распространения и структура


Компьютерных вирусов

Файловые вирусы

Вирус может внедриться в файлы трех типов:

- командные (ВАТ);

- загружаемые драйверы (IO.SYS, MSDOS.SYS и др.);

- выполняемые двоичные файлы (EXE, COM).

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

Внедрение вируса в SYS-файл происходит следующим образом: вирусы внедряются в SYS-файл, приписывают свои коды к "телу" файла и модифицируют адреса программ стратегии (Strategy) и прерывания (Interrupt) заражаемого драйвера (встречаются вирусы, изменяющие адрес только одной из программ). При инициализации зараженного драйвера вирус перехватывает соответствующий запрос операционной системы, передает его драйверу, ждет ответа на него, корректирует его и остается в оперативной памяти вместе с драйвером в одном блоке памяти. Такой вирус может быть чрезвычайно опасным и живучим, так как внедряется в оперативную память при загрузке DOS раньше любой антивирусной программы, если она, конечно, тоже является драйвером.

41) Зараженный файл-драйвер:

 

42) Возможно также инфицирование системного драйвера другим способом, когда вирус модифицирует его заголовок так, что DOS рассматривает инфицированный файл как цепочку из двух (или более) файлов.

43) Зараженный файл-драйвер:

44) Аналогично вирус может записать свои коды в начало драйвера, а если в файле содержится несколько драйверов, то и в середину файла.

45) Внедрение вируса в COM- и EXE-файлы происходит следующим образом: выполняемые двоичные файлы имеют форматы COM или EXE, отличаются заголовком и способом запуска программ на выполнение. Расширение имени файла (COM или EXE) не всегда соответствует действительному формату файла, что никак не влияет на работу программы. Файлы COM или EXE заражаются по-разному, следовательно, вирус должен отличать файлы одного формата от другого.

Вирусы решают эту задачу двумя способами: одни анализируют расширение имени файла, другие – заголовок файла. Первый способ далее будем называть заражением .COM- (.EXЕ-) файлов, второй способ заражения: COM- (EXE-) файлов. В большинстве случаев вирус инфицирует файл корректно, т. е. по информации, содержащейся в его теле, можно полностью восстановить зараженный файл. Но вирусы, как и большинство программ, часто содержат незаметные с первого взгляда ошибки. Из-за этого даже вполне корректно написанный вирус может необратимо испортить файл при его поражении. Например, вирусы, различающие типы файлов по расширению имени (.COM-, .EXE-), очень опасны, так как портят файлы, у которых расширение имени не соответствует внутреннему формату.

Файловые вирусы при распространении внедряются в тело заражаемого файла: начало, конец или середину. Существует несколько возможностей внедрения вируса в середину файла: он может быть скопирован в таблицу настройки адресов EXE-файла ("Boot – Exe"), область стека файла COMMAND.COM ("Lehigh"), может раздвинуть файл или переписать часть файла в его конец, а свои коды – в освободившееся место ("Apri l – 1– Exe", "Phoenix") и т. д. Кроме того, копирование вируса в середину файла может произойти в результате ошибки вируса. В этом случае файл может быть необратимо испорчен. Встречаются и другие способы внедрения вируса в середину файла, например, вирус "Mutant" применяет метод компрессирования некоторых участков файла.

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

Внедрение вируса в начало файла применяется в подавляющем большинстве случаев при поражении COM-файлов. EXE-файлы заражаются таким методом либо в результате ошибки вируса, либо при использовании алгоритма вируса "Pascal".

Внедрение вируса в конец файла – наиболее распространенный способ заражения. При этом вирус изменяет начало файла таким образом, что первыми выполняемыми командами программы, содержащейся в файле, являются команды вируса. В COM-файле это достигается изменением его первых трех (или более) байт на коды инструкции JMP Loc_Virus (или в общем случае – на коды программы, передающей управление на тело вируса). EXE-файл либо переводится в формат COM-файла и затем заражается как последний, либо модифицируется заголовок файла (длина, стартовые адреса).

Стандартным способом заражения будем называть способ, при котором вирус дописывается в конец файла и изменяет первые байты у COM-файла и несколько полей заголовка EXE-файла.

Вирус, после передачи ему управления, действует по следующему алгоритму:

- восстанавливает программу (но не файл) в исходном виде;

- если вирус резидентный, то он проверяет оперативную память на наличие своей копии и инфицирует память компьютера, если копия не найдена; если вирус не резидентный, то он ищет незараженные файлы в текущем и корневом каталогах, в каталогах отмеченных в команде PATH, сканирует дерево каталогов логических дисков, а затем заражает обнаруженные файлы;

- выполняет, если они есть, дополнительные функции: деструктивные действия, графические или звуковые эффекты.

- возвращает управление основной программе.

 

3.4.2.2 Загрузочные вирусы

Загрузочные вирусы заражают загрузочный сектор флоппи-диска и Boot-сектор, или Master Boot Record винчестера. При инфицировании диска вирус в большинстве случаев переносит оригинальный Boot-сектор в какой-либо другой сектор диска. Если длина вируса больше длины сектора, то в заражаемый сектор перемещается первая часть вируса, остальные размещаются в других секторах. Затем вирус копирует системную информацию, хранящуюся в первоначальном загрузчике, и записывает их в загрузочный сектор (для MBR этой информацией является Disk Partition Table, для Boot-сектора дискет – BIOS Parameter Block).

Алгоритм работы загрузочного вируса.

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

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

 

3.4.3 Программы обнаружения и защиты

от компьютерных вирусов

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

1) DrWeb необходимо сочетать с повседневным использованием ревизора диска ADinf;

2) оснастить свой компьютер современными антивирусными программами, например Aidstest или Doctor Web, и постоянно обновлять их версии;

3) перед считыванием с дискет информации, записанной на других компьютерах, всегда проверять эти дискеты на наличие вирусов, запуская антивирусные программы своего компьютера;

4) при переносе на свой компьютер файлов в архивированном виде проверять их сразу же после разархивации на жестком диске, ограничивая область проверки только вновь записанными файлами;

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

6) всегда защищать свои дискеты от записи при работе на других компьютерах, если на них не будет производиться запись информации;

7) обязательно делать архивные копии на дискетах ценной для вас информации;

8) не оставлять в кармане дисковода A дискеты при включении или перезагрузке операционной системы, чтобы исключить заражение компьютера загрузочными вирусами;

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

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

48) Различают следующие виды антивирусных программ (рис. 3.15):

- программы-детекторы;

- программы-доктора или фаги;

- программы-ревизоры;

- программы-фильтры;

- программы-вакцины или иммунизаторы.

 

 

Рис. 3.15. Виды антивирусных программ

 

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

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

51) Среди фагов выделяют полифаги, т. е. программы-доктора, предназначенные для поиска и уничтожения большого количества вирусов. Наиболее известными полифагами являются AVP, Doctor Web, Aidstest, Scan и Norton AntiVirus.

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

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

54) Программы-ревизоры имеют достаточно развитые алгоритмы, обнаруживают стелс-вирусы и могут даже отличить изменения версии проверяемой программы от изменений, внесенных вирусом. К числу программ-ревизоров относится широко распространенная в России программа ADinf фирмы "Диалог – Наука".

55) Программы-фильтры, или "сторожа", представляют собой небольшие резидентные программы, предназначенные для обнаружения подозрительных действий при работе компьютера, характерных для вирусов:

- попыток коррекции файлов с расширениями COM и EXE;

- изменений атрибутов файлов;

- прямой записи на диск по абсолютному адресу;

- записи в загрузочные сектора диска;

- загрузки резидентной программы.

56) При попытке какой-либо программы произвести указанные действия "сторож" посылает пользователю сообщение и предлагает запретить или разрешить соответствующее действие.

57) Программы-фильтры весьма полезны, так как способны обнаружить вирус на самой ранней стадии его существования до размножения. Однако они не "лечат" файлы и диски. Для уничтожения вирусов требуется применить другие программы, например фаги. К недостаткам программ-сторожей можно отнести их "назойливость" (например, они постоянно выдают предупреждение о любой попытке копирования исполняемого файла), а также возможные конфликты с другим программным обеспечением. Примером программы-фильтра является программа Vsafe, входящая в состав пакета утилит операционной системы MS-DOS.

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

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

60) Антивирусный комплект АО "Диалог – Наука"

Среди обилия современных программных средств борьбы с компьютерными вирусами предпочтение следует отдать антивирусному комплекту АО "Диалог – Наука", в который входят четыре программных продукта: полифаги Aidstest и Doctor Web, ревизор диска ADinf и лечащий блок ADinf Cure Module. Кроме этого можно назвать и такую антивирусную программу, как AVP, которая сейчас нашла самое широкое применение. Эта программа разработана как под операционную систему MS-DOS, так и под операционную систему Windows.

Рассмотрим кратко, как и когда надо применять эти антивирусные программы.

Программа AVP-доктор, в зависимости от версии, позволяет определить до 50 000 различных вирусов. Она имеет два режима работы: через командную строку и полноэкранный интерфейс.

61) Программа-полифаг Doctor Web (Dr.Web) предназначена, прежде всего, для борьбы с полиморфными вирусами, которые сравнительно недавно появились в компьютерном мире. Использование этой программы для проверки дисков и удаления обнаруженных вирусов в целом подобно программе Aidstest. При этом дублированная проверка практически не происходит, так как Aidstest и Dr.Web работают на разных наборах вирусов.

62) Программа Dr.Web может эффективно бороться со сложными вирусами-мутантами, которые оказываются не под силу программе Aidstest. В отличие от нее программа Dr.Web способна обнаруживать изменения в собственном программном коде, эффективно определять файлы, зараженные новыми, неизвестными вирусами, проникая в зашифрованные и упакованные файлы, а также преодолевая "вакцинное прикрытие". Это достигается благодаря наличию достаточно мощного эвристического анализатора.

63) В режиме эвристического анализа программа Dr.Web исследует файлы и системные области диска, пытаясь обнаружить новые или неизвестные ей вирусы по характерным для вирусов кодовым последовательностям. Если таковые будут найдены, то выводится предупреждение о том, что объекты, возможно, инфицированы неизвестным вирусом.

64) Предусмотрены три уровня эвристического анализа. В его режиме возможны ложные срабатывания, т. е. детектирование файлов, не являющихся зараженными. Уровень "эвристики" подразумевает уровень анализа кода без наличия ложных срабатываний. Чем выше уровень "эвристики", тем выше процент наличия ошибок или ложных срабатываний. Рекомендуются первые два уровня работы эвристического анализатора.

65) Третий уровень эвристического анализа предусматривает дополнительную проверку файлов на "подозрительное" время их создания.

66) Некоторые вирусы при заражении файлов устанавливают некорректное время создания, как признак зараженности данных файлов. Например, для зараженных файлов секунды могут иметь значение 62, а год создания может быть увеличен на сто лет.

67) В комплект поставки антивирусной программы Dr.Web могут входить также файлы дополнения к основной вирусной базе программы, расширяющие ее возможности.

68) Программа-полифаг Aidstest

69) Aidstest – это программа, которая умеет обнаруживать и уничтожать более 1 300 компьютерных вирусов, получивших наиболее широкое распространение в России. Версии Aidstest регулярно обновляются и пополняются информацией о новых вирусах.

70) Антивирус-ревизор диска ADinf

71) Ревизор ADinf позволяет обнаружить появление любого вируса, включая стелс-вирусы, вирусы-мутанты и неизвестные на сегодняшний день вирусы.

72) Программа Adinf запоминает:

- информацию о загрузочных секторах;

- информацию о сбойных кластерах;

- длину и контрольные суммы файлов;

- дату и время создания файлов.

73) На протяжении всей работы компьютера программа ADinf следит за сохранностью этих характеристик. В режиме повседневного контроля ADinf запускается автоматически каждый день при первом включении компьютера. Особо отслеживаются вирусоподобные изменения, о которых немедленно выдается предупреждение. Кроме контроля за целостностью файлов, ADinf следит за создание и удалением подкаталогов: созданием, удалением, перемещением и переименованием файлов; появлением новых сбойных кластеров; сохранностью загрузочных секторов и др. Перекрываются все возможные места для внедрения вируса в систему.

74) ADinf проверяет диски, не используя DOS, читая их по секторам прямым обращениям в BIOS. Благодаря такому способу проверки Adinf обнаруживает маскирующиеся стелс-вирусы и обеспечивает высокую скорость проверки диска.

75) Лечащий блок ADinf Cure Module – это программа, которая помогает "вылечить" компьютер от нового вируса, не дожидаясь свежих версий полифагов Aidstest или Dr.Wed, которым этот вирус будет известен.

76) Программа ADinf Cure Module использует тот факт, что несмотря на огромные разнообразия вирусов существует совсем немного различных методов их внедрения в файлы. Во время нормальной работы, при регулярном запуске ревизора ADinf он сообщает ADinf Cure Module о том, какие файлы изменились с момента последнего запуска. ADinf Cure Module анализирует эти файлы и записывает в свои таблицы информацию, которая может потребоваться для восстановления файлов при заражении вирусом. Если заражение произошло, то ADinf заметит изменения и снова вызовет ADinf Cure Module, который на основе анализа зараженного файла и сопоставления его с записанной информацией попытается восстановить исходное состояние файла.

 

3.4.4 Общие сведения об архивации файлов

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

Сжатие информации – это процесс преобразования информации, хранящейся в файле, к виду, при котором уменьшается избыточность в ее представлении и соответственно требуется меньший объем памяти для хранения.

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

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

Архивация (упаковка) – помещение (загрузка) исходных файлов в архивный файл в сжатом или несжатом виде.

Разархивация (распаковка) – процесс восстановления файлов из архива точно в таком виде, какой они имели до загрузки в архив.

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

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

Программами-архиваторами называются программы, осуществляющие упаковку и распаковку файлов.

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

Самораспаковывающийся архивный файл – это загрузочный исполняемый модуль, который способен к самостоятельной разархивации находящихся в нем файлов без использования программы-архиватора.

Самораспаковывающийся архив получил название SFX-архив. Архивы такого типа в MS-DOS обычно создаются в форме .EXE-файла.

Степень сжатия файлов характеризуется коэффициентом Kc, определяемым как отношение объема сжатого файла Vc к объему исходного файла Vo, выраженное в процентах:

 

 

Степень сжатия зависит от используемой программы, метода сжатия и типа исходного файла. Наиболее хорошо сжимаются файлы графических образов, текстовые файлы и файлы данных, для которых степень сжатия может достигать 5–40 %, меньше сжимаются файлы исполняемых программ и загрузочных модулей – 60–90 %. Почти не сжимаются архивные файлы. Программа для архивации отличается используемыми методами сжатия, что соответственно влияет на степень сжатия.

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

В настоящее время применяется несколько десятков программ-архиваторов, которые отличаются перечнем функций и параметрами работы, однако лучшие из них имеют примерно одинаковые характеристики. Из числа наиболее популярных программ можно выделить ARJ, PKPAK, LHA, ICE, HYPER, ZIP, PAK, ZOO, EXPAND, разработанные за рубежом, а также отечественные AIN и RAR. Обычно упаковка и распаковка файлов выполняется одной и той же программой, но в некоторых случаях это осуществляется разными программами, например, программа PKZIP производит упаковку файлов, а PKUNZIP – распаковку файлов.

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

Многие программы-архиваторы производят распаковку файлов, выгружая их на диск, но имеются и такие, которые предназначены для создания упакованного исполняемого модуля (программы). В результате такой упаковки создается программный файл с теми же именем и расширением, который при загрузке в оперативную память самораспаковывается и сразу запускается. Вместе с тем возможно и обратное преобразование программного файла в распакованный формат. К числу таких архиваторов относятся программы RKLITE, LZEXE, UNP.

Управление программой-архиватором осуществляется одним из двух способов:

- с помощью командной строки MS-DOS, в которой формируется команда запуска, содержащая имя программы-архиватора, команду управления и ключи ее настройки, а также имена архивного и исходного файлов; подобное управление характерно для архиваторов ARJ, AIN, ZIP, PAK, LHA и др.;

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

Выполняя предписанные ей действия, программа-архиватор, как правило, выводит на экран протокол своей работы. Все современные программы-архиваторы оснащены помощью, которая вызывается вводом в командной строке только одного имени программы или имени с ключом /?. Помощь может быть краткой – на одном экране или развернутой – на нескольких. Многие архиваторы имеют экраны помощи с примерами составления команд для выполнения различных операций. Информация помощи обычно выводится на английском или другом международном языке.

 

3.5 Операционная система Windows

 

3.5.1 Общие сведения об операционной системе Windows

Microsoft Windows – это высокопроизводительная, многозадачная и многопотоковая 32-разрядная операционная система с графическим интерфейсом и расширенными сетевыми возможностями, работающая в защищенном режиме, поддерживающая 16-разрядные приложения без всякой их модификации. Windows 9х – интегрированная среда, обеспечивающая эффективный обмен текстовой, графической, звуковой и видеоинформацией между отдельными программами. Базовые функциональные возможности Windows 9х перекрывают все, что заложено в MS-DOS, Windows 3.х и Windows для рабочих групп 3.х. Windows 9х – первая полномасштабная операционная система семейства Windows, не требующая MS-DOS. Она полностью совместима с используемыми в настоящее время программными и аппаратными средствами.

Усовершенствования, внесенные в архитектуру Windows 9х, дают пользователю ряд преимуществ, основные из которых связаны со следующими понятиями:

- интегрированная операционная система;

- вытесняющая многозадачность;

- многопоточность.

Ядро интегрированной операционной системы загружаемое в момент включения компьютера, активизирует графический интерфейс пользователя и обеспечивает полную совместимость с операционной системой MS-DOS.

При использовании Windows 9х отпадает необходимость в отдельной копии MS-DOS.

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

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

78) В Windows 9х для 32-битовых приложений используется механизм вытесняющей многозадачности, основанный на многопоточности.

79) Многопоточность – свойство операционной системы выполнять операции одновременно над потоками нескольких 32-битовых приложений, называемых процессами.

80) Процесс состоит из потоков.

81) Поток – это некоторая часть процесса, которой может быть выделено процессорное время для одновременного выполнения наряду с другими потоками того или иного процесса.

82) 32-битовые приложения Windows 9х способны порождать или инициировать несколько потоков внутри данного процесса. Каждый процесс состоит как минимум из одного потока. Многопоточное приложение значительно эффективнее в работе, быстрее реагирует на действия пользователя и выполняет многие операции в фоновом режиме.

83) Распределение времени между активными приложениями в Windows 9х осуществляет ядро ОС, а поддержка вытесняющей многозадачности обеспечивает плавное переключение между одновременно выполняемыми процессами и не позволяет одному приложению занять все системные ресурсы.

84) Windows 9х выполняет 32-битовые и MS-DOS-приложения в режиме вытесняющей многозадачности, а 16-битовые приложения – в режиме кооперативной многозадачности.

85) Везде, где не ущемляется совместимость с 16-битовыми приложениями и повышается производительность, Windows 9х использует 32-битовый код. Такие компоненты, как планировщик, диспетчер памяти, подсистема ввода-вывода и драйверы устройств, являются 32-битовыми. Многие графические функции, включая печать, растеризацию шрифтов True Type, ключевые графические операции, переведены в 32-битовый код. Вместе с тем значительная часть кода User, осуществляющая управление окнами, оставлена для совмещения с существующими приложениями в 16-битовом формате.

На рисунке 3.16 схематически показаны основные компоненты Windows 9х.

 

Рис. 3.16. Архитектура системы Windows 9х

 

Системная виртуальная машина (или просто системная ВМ) – так называется входящая в состав Windows 9х операционная среда, которая поддерживает работу всех Windows-приложений и таких подсистем Windows, как Интерфейс Графического Устройства (Graphics Device Interface, GDI).

32-разрядные приложения Windows – это новые приложения, которые используют 32-разрядную модель памяти 80386 процессора и подмножество разработанного Microsoft интерфейса прикладного программирования Win32. В Windows 9х каждое из приложений Win32 имеет собственное адресное пространство, которое недоступно другим приложениям. Windows 9х может управлять этими приложениями на основе принципа вытесняющей многозадачности.

Оболочка – это 32-разрядное приложение Windows, которое обеспечивает взаимодействие пользователя с системой. Оболочка Windows 9х объединяет функции, знакомые по Windows 3.1, Диспетчера Программ, Диспетчера Файлов и Диспетчера Задач в одном приложении.

16-разрядные приложения Windows – это "старые" приложения Windows. Они используют модель сегментной адресации памяти семейства процессоров Intel (модель памяти 80286 процессора). Так же как, и в Windows 3.1, 16-разрядные приложения при работе под Windows 9х делят между собой единое адресное пространство и не могут управляться в соответствии с принципом вытесняющей многозадачности. Microsoft называет их "приложениями Win16".

Уровень функций Windows API (Application Program Interface) интерфейса прикладного программирования Windows 9х обеспечивает полную совместимость с существующим Windows 3.1 API, а также поддержку нового 32-разрядного API, который доступен только 32-разрядным приложениям Windows. 32-разрядное API является подмножеством разработанного Microsoft интерфейса Win32, который впервые появился в Windows NT и в Win32s-расширении для Windows 3.1.

Модуль Windows Kernel поддерживает необходимые Windows низкоуровневые функции, такие как динамическое размещение памяти и др. В Windows 9х Kernel обеспечивает соответствующий сервис как для 16-разрядных, так и для 32-разрядных приложений.

Модуль Windows GDI обеспечивает графические возможности Windows и поддерживает работу с цветом, шрифтами и изобразительными примитивами для дисплея и принтеров. В Windows 9х модуль GDI продолжает поддерживать существующие 16-разрядные приложения, однако теперь он обладает еще и множеством новых возможностей, которые доступны только 32-раз-рядным программам.

Модуль User – это диспетчер окон. Он занимается созданием и управлением видимыми на экране окнами, диалоговыми окнами, кнопками и прочими элементами интерфейса Windows.

MS-DOS виртуальные машины (MS-DOS BM) обеспечивают работу приложений MS-DOS под Windows. Так же, как и в Win-dows 3.1, пользователь может одновременно запустить несколько MS-DOS BM. В Windows 9х появилось несколько нововведений, которые позволяют пользователю более эффективно управлять виртуальными машинами, однако в целом поддержка MS-DOS BM изменилась незначительно.

Остальные модули реализуют функции базовой системы.

Базовая система. Управление файловой системой в Windows 9х претерпело ряд серьезных изменений. В Windows 3.1 файловой системой локального диска управляла MS-DOS, что существенно снижало производительность Windows. До тех пор пока за управление файловой системой отвечала MS-DOS, внести в этот процесс какие-либо улучшения не представлялась возможным. В Windows 9х все обстоит совсем по-другому, а именно MS-DOS уже не используется для управления хранящимися на локальном диске файлами. Новая файловая подсистема обеспечивает набор интерфейсов, который делает возможным совместное использование различных файловых систем локальных дисков (включая и файловые системы, хранящиеся на компакт дисках) и сетевых файловых систем.

Сетевая подсистема представляет собой последнее воплощение разработанной Microsoft одноранговой сети, которая впервые появилась в Windows for Workgroups в 1992 г., а впоследствии и в Win-dows NT. Сетевая подсистема осуществляет доступ к удаленным файлам при помощи новой файловой подсистемы. Фирмы-производители сетевого программного обеспечения могут подключать свои продукты к новой файловой подсистеме, что обеспечит пользователю одновременный доступ к нескольким сетям. Сама Windows поддерживает протоколы SMB, Novell и TCP/IP.

Сервис операционной системы включает такие серьезные компоненты, как подсистема конфигурирования аппаратных средств Plug and Play, а также набор всевозможных полезных функций, вроде тех, что выдают информацию о текущих дате и времени.

Диспетчер виртуальной машины – это "сердце" операционной системы Windows. Он включает код, реализующий все действия базовой системы по управлению задачами, действиями над виртуальной памятью, загрузкой и завершением программ, а также поддержкой взаимодействия программ.

Драйверы устройств в Windows могут быть самыми разнообразными, в том числе драйверы реального режима и так называемые виртуальные драйверы, или виртуальные драйверы внешних устройств (VЧD). Некоторым программам для поддержки отдельных аппаратных средств могут потребоваться старые драйверы MS-DOS реального режима, однако при разработке Windows одна из главных задач состояла в создании драйверов защищенного режима для мыши, приводов компакт-дисков и большинства жестких дисков.

Виртуальные драйверы устройств, или VЧD, помогают нескольким приложениям совместно использовать одно устройство. Например, запуск двух приложений MS-DOS в отдельных окнах требует от системы создания двух виртуальных машин MS-DOS, каждой из которых необходимо осуществлять вывод на единственный физический экран. Виртуальный драйвер экрана и должен обеспечивать возможность такого совместного применения. Термин "VЧD" также используется как общее наименование некоторых 32-разрядный модулей операционной системы.

 



Дата добавления: 2016-05-31; просмотров: 1938;


Поиск по сайту:

Воспользовавшись поиском можно найти нужную информацию на сайте.

Поделитесь с друзьями:

Считаете данную информацию полезной, тогда расскажите друзьям в соц. сетях.
Poznayka.org - Познайка.Орг - 2016-2024 год. Материал предоставляется для ознакомительных и учебных целей.
Генерация страницы за: 0.041 сек.