Скачать 1.24 Mb.
|
Загрузка 32-разрядного ядра Итак, Windows 98 начинает загружаться в 16-разрядном режиме без всякого пользовательского интерфейса. 16-разрядные операции заканчиваются довольно скоро после запуска Windows 98. Пользовательская оболочка (Проводник) является 32-рарядным приложением. Как только 16-разрядное ядро вызывает эту оболочку, она загружает приложение под названием VWIN32.386. Эта маленькая программа загружает три 32-разрядные библиотеки динамической компоновки (DLL), которые образуют программный интерфейс Win32: USER32.DLL, GDI32.DLL и KERNEL32.DLL. После выполнения этой задачи программа VWIN32.386 возвращает управление 16-разрядному ядру, которое, в свою очередь, вызывает 32-разрядное ядро. С этого момента Windows 98 выполняется в 32-разрядном режиме. После того как операционная система начинает выполняться в 32-разрядном режиме, она загружает и инициализирует все 32-разрядные драйверы. Этот процесс полностью аналогичен процессу загрузки драйверов в 16-разрядном режиме. В один из моментов этого процесса Windows 98 спрашивает у пользователя его имя и пароль. Операционная система сравнивает полученную информацию с содержимым соответствующего файла, который имеет расширение PWL. Если проверка пароля прошла успешно, то Windows 98 заканчивает процесс загрузки. Наконец, Windows подготавливает и запускает Проводник. (Проводник был загружен раньше, однако не был запущен.) На рабочем столе появляются все необходимые объекты, а также инициализируется Панель задач (Taskbar). Именно в этот момент операционная система просматривает содержимое папки Автозагрузка (Startup) для того, чтобы автоматически запустить указанные в ней приложения. После этого система полностью функциональна и готова к работе. Пример файла bootlog.txt: Loading Device = C:\WINDOWS\HIMEM.SYS - Загрузка компонента LoadSuccess = C:\WINDOWS\HIMEM.SYS - Компонент загружен успешно Loading Vxd = VSHARE – Загрузка VxD драйвера LoadSuccess = VSHARE – VxD драйвер загружен успешно SYSCRITINIT = VDEF - Инициализация критического для системы драйвера SYSCRITINITSUCCESS = VDEF - Инициализация прошла успешно DEVICEINIT = VCACHE - Инициализация устройства DEVICEINITSUCCESS = VCACHE - Инициализация устройства прошла успешно Dynamic load device s3.vxd – Динамическая загрузка устройства Dynamic init device S3 – Динамическая инициализация устройства Если в процессе инициализации или загрузки устройства или драйвера произойдёт ошибка, то в завершающей строке SUCCESS заменится на FAILED. С помощью этого файла можно обнаружить проблемы с инициализацией и загрузкой драйверов и устройств. 3. Стартовое меню Наихудшими, с точки зрения решения, являются ошибки загрузки. Дело в том, что при возникновении ошибок загрузки пользователь не имеет доступа к встроенным средствам устранения ошибок Windows 98. Чаще всего ошибки загрузки возникают в случае конфликта устройств или неправильной установки параметров устройств. В случае возникновения ошибок загрузки можно попытаться их обойти, загрузив машину в безопасном режиме. В этом режиме Windows загружает только драйверы видео карты и жесткого диска. При этом используется стандартный драйвер VGA. Даже если драйвер видео карты поврежден или заданы неверные параметры драйвера, стандартный драйвер VGA будет работать правильно. Существуют два способа загрузки Windows в безопасном режиме: автоматически и вручную. Если в процессе загрузки Windows 98 фиксирует ошибку, то автоматически выбирается безопасный режим. Естественно, это происходит только в том случае, если Windows 98 действительно зафиксирует ошибку. Проблема заключается в том, что иногда ошибка возникает в конце загрузки, поэтому Windows не может автоматически зафиксировать ее (достаточно часто причиной таких ошибок становятся звуковые карты). В случае, если Windows не может автоматически перезагрузить компьютер в безопасном режиме, это необходимо сделать вручную. Для этого нужно нажать клавишу в начале загрузки Windows. После этого на экране появляется меню, позволяющее выбрать один из вариантов дальнейшей загрузки Windows. Ниже приведен полный список элементов этого меню: Normal (Обычная). Загрузка Windows происходит в обычном режиме. Этот вариант следует выбрать при случайном нажатии клавиши в процессе загрузки Windows. Logged (\BOOTLOG.TXT) (С созданием журнала). В файл BOOTLOG.TXT записывается вся последовательность загрузки Windows. При анализе этого файла можно точно определить место возникновения ошибки. Safe mode (Безопасный режим). Происходит загрузка Windows с минимальным числом задействованных устройств. При этом не используются файлы CONFIG.SYS и AUTOEXEC.BAT. Также не запускаются приложения из папки АВТОЗАГРУЗКА. Safe mode with network support (Безопасный режим с поддержкой сети). Этот режим используется в случае, если загрузка в безопасном режиме не позволила выявить причину возникновения ошибки и, возможно, она вызывается сетевой картой. Step-fey-step confirmation (Пошаговая загрузка). При загрузке в данном режиме пользователю предоставляется возможность контролировать выполнение команд файлов AUTOEXEC.BAT и CONFIG.SYS, а также позволяет разрешать или запрещать выполнение той или иной команды. Благодаря этому появляется возможность определить команду, приводящую к ошибке загрузки. Command prompt only (Командная строка). При использовании данного режима загрузки графическая оболочка и драйверы устройств Windows не загружаются. При загрузке используются только файлы AUTOEXEC.BAT и CONFIG.SYS. Этот режим целесообразно выбирать при попытке запустить приложение, разработанное для MS-DOS. Safe mode command prompt only (Безопасный режим командной строки). Загрузка Windows осуществляется аналогично предыдущему пункту, за исключением того, что файлы AUTOEXEC.BAT и CONFIG.SYS при этом не используются. Previous version of MS-DOS (Предыдущая версия MS-DOS). Данный элемент появляется только в случае включения строки bootmulti=l в файл MSDOS.SYS. Естественно, подразумевается, что на компьютере присутствует предыдущая версия MS-DOS. В противном случае использование данного элемента станет невозможным. Примечание Манипулируя значениями некоторых параметров файла MSDOS.SYS, можно запретить возможность прерывания нормальной загрузки Windows 98 с помощью клавиши . К этому, например, прибегают сетевые администраторы, чтобы оградить сеть от некоторых не в меру ретивых пользователей. После того как Windows перезагрузится в безопасном режиме, можно приступать к поиску причин возникновения ошибки. Убедитесь в отсутствии конфликтов устройств. Попробуйте удалить все элементы из папки АВТОЗАГРУЗКА. Просмотрите файл WIN.INI на предмет наличия в нем строк, начинающихся с load= или run=. Закомментируйте эти строки - при следующем запуске Windows не будут запускаться лишние приложения. После этого можно попробовать перезагрузить Windows в обычном режиме. 4. Архитектура Windows 98 Основные элементы архитектуры Windows 98 изображены на рис. 4.1. Каждый элемент отвечает за определенную часть Windows 98. Например, слой Windows API (Application Programming Interface - Интерфейс программирования приложений) позволяет приложениям осуществлять взаимодействие с такими внутренними компонентами Windows, как файловая система. Приложение Windows невозможно было бы написать без использования API, поскольку доступ к функциям любого компонента Windows осуществляется через соответствующий API. Рис. 4.1. Системная виртуальная машина (System Virtual Machine - VM) Windows 98 используется 32-разрядными приложениями Windows, программой, обеспечивающей интерфейс с пользователем (Проводник или Диспетчер программ), и 16-разрядными приложениями Windows. При отсутствии этого компонента запуск приложений был бы невозможен. Следует заметить, что приложения MS-DOS не используют системную виртуальную машину, поскольку выполняются в рамках виртуальной машины MS-DOS. Это сделано для того, чтобы "оградить" приложения Windows и саму операционную систему от возможных ошибок при выполнении программ MS-DOS. В Windows 98 включены два программных интерфейса: Winl6 API и Win32 API. Winl6 API используется для обеспечения совместимости с приложениями Windows 3.х и содержит набор функций, вызываемых 16-разрядными приложениями для доступа к различным компонентам операционной системы. По сравнению со стандартным Winl6 API, используемым в Windows 3.х, при реализации Winl6 API в Windows 98 модифицированы методы доступа к драйверам и другим низкоуровневым компонентам. Все 32-разрядные приложения Windows используют Win32 API. В Win32 API включен примерно такой же набор функций, что и в Winl6 API. Поскольку Win32 API обеспечивает доступ к 32-разрядным компонентам операционной системы, приложения, использующие Win32 API, выполняются более эффективно и надежно. Низкоуровневые компоненты (Base System) - это набор служб, отвечающих за функционирование самой операционной системы. Назначение некоторых низкоуровневых компонентов Windows 98: Подсистема управления файлами (File Management Subsystem). Этот компонент обеспечивает доступ приложений к накопителям различных типов (например, к жесткому диску или приводу компакт-дисков), подключенным к компьютеру. При этом не важно, какой способ используется для подключения: устройство может быть подсоединено к компьютеру локально либо по сети. Одним из наиболее важных новшеств в подсистеме управления файлами является то, что Windows 98 более не использует для управления файлами компоненты MS-DOS, как это было в Windows 3.х. Сетевые компоненты. Сетевые возможности Windows 98 значительно усовершенствованы по сравнению с предыдущими версиями системы. На основе Windows 98 можно создавать не только одно-ранговые сети Microsoft. В состав этой операционной системы встроены средства поддержки наиболее распространенных сетевых операционных систем. Компоненты, отвечающие за поддержку сетей различных типов, выполняются в защищенном режиме, что обеспечивает максимальную производительность и надежность выполнения сетевых операций. Кроме того, в Windows 98 можно работать с несколькими типами сетей одновременно. Модульная природа сетевых компонентов Windows 98 позволяет независимым производителям программного обеспечения реализовывать дополнительные функциональные возможности в виде виртуальных драйверов (VxD). Службы операционной системы. Эта часть операционной системы предназначена для поддержки таких средств, как Plug and Play. В этой подсистеме также можно найти такие возможности, как DirectX (новая технология, используемая в играх и других программах, требующих быстрого доступа к аппаратным средствам). Службы операционной системы отвечают за выполнение различных запросов приложений и операционной системы. Например, в процессе поиска новых устройств Windows 98 обращается к соответствующей службе. Диспетчер виртуальных машин. С помощью этого компонента запускается и завершается любое приложение (включая приложения MS-DOS), а также выделяется память, необходимая для выполнения приложения. Большинство приложений не используют диспетчер виртуальных машин напрямую, а обращаются к его функциям через Win32 API. Кроме того, диспетчер виртуальных машин реализует интерфейс защищенного режима MS-DOS (DOS protected-mode interface - DPMI), который используется для выделения памяти приложениями MS-DOS, выполняющимися в защищенном режиме. Драйверы устройств и модель драйверов Win32 (WDM). Этот слой Windows 98 используется для взаимодействия с различными устройствами. С помощью драйверов команды операционной системы преобразуются в формат команд конкретного устройства. Windows 98 поддерживает три типа драйверов устройств. Первый тип - это драйверы устройств реального режима, которые использовались в Windows 3.х и MS-DOS. При работе с такими драйверами системе Windows 98 приходится переключаться между реальным и защищенным режимами процессора, что снижает скорость доступа к устройству и увеличивает вероятность сбоя в работе операционной системы. Windows 98 поддерживает также виртуальные драйверы (VxD), которые позволяют обращаться к устройствам в защищенном режиме. Кроме того Windows 98 поддерживает новую модель драйверов Win32 Driver Model (WDM), которая используется в Windows NT и обеспечивает максимальное быстродействие и надежность при работе с различными устройствами. Виртуальная машина MS-DOS выделена на рис. 4.1 как отдельный компонент не случайно. Windows 98 работает с приложениями MS-DOS несколько иначе, чем с приложениями Windows. Каждое приложение MS-DOS выполняется на отдельной виртуальной машине. Каждая виртуальная машина имеет собственное адресное пространство и независимый доступ к устройствам. Системные файлы Люди, имеющие опыт создания приложений для MS-DOS, знают, что доступ к разнообразным функциям этой операционной системы можно получить при помощи процедур обработки прерываний. Однако этот метод хорош только для однозадачной среды, какой и является MS-DOS, поскольку приложение MS-DOS имело полный контроль над системой. В Windows (и в любой другой многозадачной системе) данный подход нельзя использовать. Приложения Windows получают доступ к функциям компонентов операционной системы при помощи интерфейса программирования приложений. По сути дела интерфейсы программирования приложений в Windows служат для решения тех же задач, что и прерывания в MS-DOS: с их помощью приложение сообщает операционной системе о необходимости выполнения определенной задачи. Конечно, это упрощенный взгляд. Например, интерфейс программирования приложений обеспечивает одновременную обработку нескольких вызовов функций, что было невозможно в MS-DOS. Существуют и другие различия, но знать о них нужно, в основном, программистам. Windows 98 использует два основных интерфейса программирования приложений: Win32 API и Winl6 АН. 32-разрядный интерфейс программирования приложений (Win32 API), использующийся в Windows 98, предоставляет доступ к большему набор средств. Только 32-разрядные приложения полностью используют возможности Windows 98. Все приложения Windows (16-разрядные и 32-разрядные) используют вызовы функций трех основных компонентов этой операционной системы: модуль Kernel (ядро Windows 98), модуль GDI (интерфейс графических устройств) и модуль USER (средства пользовательского интерфейса). 16-разрядные версии этих компонентов находятся в файлах KRNL386.EXE, GDI.EXE и USER-EXE, а 32-разрядные в файлах KERNEL32.DLL, GDI32.DLL и USER32.DLL соответственно. Ниже каждый из этих модулей описан более подробно: Ядро Windows (Windows Kernel). Эта часть операционной системы обеспечивает поддержку низкоуровневых функций, которые необходимы для выполнения приложения. Например, каждый раз, когда приложению требуется память, оно обращается к ядру Windows. Этот компонент не взаимодействует с устройствами, он работает только с самой операционной системой Windows. Интерфейс графического устройства (GDI module). Каждый раз, когда приложению необходимо вывести что-либо на экран, оно использует службы, предоставляемые интерфейсом графического устройства (Glaphiса1 Device Interface - GDI). Этот компонент Windows управляет шрифта ми, средствами печати и другими графическими средствами Windows. Средства пользовательского интерфейса (User module). Windows представляет собой именно то, о чем говорит ее название, т. е. окна. Этой операционной системе необходимо управляющее звено, которое отвечало бы за отслеживание всех окон, создаваемых приложением для отображения информации. Однако пользовательский интерфейс только начинается с этого. Каждый раз, когда приложение отображает значок или кнопку, оно использует определенный тип функции компонента USER. Windows 98 все еще запускается как 16-разрядное приложение, таким образом, эта операционная система может использовать технологию Plug and Play. Plug and Play BIOS содержит отдельные разделы для обработки вызовов реального режима и 16-разрядного защищенного режима. Если бы Windows 98 запускалась в 32-разрядном режиме, то она не смогла бы обратиться к Plug and Play BIOS для установки устройств. Вся работа по конфигурированию устройств должна завершаться до того, как Windows запускает графический интерфейс пользователя (Graphical User Interface - GUI). Операции в 16-разрядном режиме заканчиваются сразу после запуска Windows. Пользовательской оболочкой являются 32-разрядные приложения. Когда 16-разрядное ядро перехватывает вызовы оболочки, оно загружает приложение под названием VWIN32.386. Эта программа загружает 32-разрядные библиотеки динамической компоновки (Dynamic Link Library - DLL), которые формируют программный интерфейс Windows. После выполнения этой задачи VWIN32.386 возвращает управление 16-разрядному ядру, которое в свою очередь вызывает 32-разрядное ядро. Начиная с этого момента, Windows выполняется в 32-разрядном режиме. Существует четыре уровня защиты процессора компании Intel, но большинство операционных систем используют только два из них. Уровень защиты системных компонентов имеет номер 0. Уровень защиты приложений имеет номер 3. Иногда операционная система дает драйверам устройств больший доступ к средствам операционной системы, чем приложение, выполняя их на уровне 1 или уровне 2. Windows не делает никаких уступок, драйверы устройств, в зависимости от их назначения, выполняются на уровне 0 или уровне 3. Windows использует эти уровни защиты для того, чтобы только операционная система могла получить доступ к внутренним процессам Windows. Приложение не должно иметь возможности изменить что-либо, что может привести к сбою системы. Например, Windows оставляет за собой право распределять память из общего пула, следовательно, возможности, необходимые для выполнения этой задачи, относятся к уровню 0. С другой стороны, приложениям необходимо получать доступ к памяти, предоставленной им. Поэтому Windows назначает локальной памяти уровень защиты 3. Можно представить себе уровни защиты как охраняемые "кольца". Прежде чем войти в "кольцо", необходимо указать пароль. Windows дает пароль только тем приложениям, которым она может доверять, все остальные остаются снаружи. Как только приложение пытается обойти пароль, процессор выдает исключение (exception). Исключение аналогично сигналу тревоги. Исключение посылается к обработчику исключений (exception handler). После обнаружения и обработки приложения Windows 98 уничтожает "провинившийся" приложение. Конечно, Windows 98 оповещает пользователя, прежде чем предпринять этот шаг, однако пользователю не остается широкого выбора. На рис. 4.1 ясно видны приложения, которым доверяет Windows. Приложения и драйверы устройств, которые выполняются на уровне 3, имеют немного возможностей вне выделенных ресурсов. На самом деле. Windows даже Урезает до некоторой степени эти возможности. Некоторые действия (приложений MS-DOS, такие как прямое управление видеопамятью, не допускаются. Причина проста: видеопамять является разделяемым ресурсом. Всякий раз, когда приложению может понадобиться доступ к общему ресурсу, можно быть уверенным, что оно не получит его напрямую. |
Учебно-методический комплекс дисциплины «электронно-программное обеспечение гидроакустики» Учебно-методический комплекс составлен в соответствии с требованиями государственного образовательного стандарта высшего профессионального... |
Учебно-методический комплекс по дисциплине «Маркетинг» Учебно-методический комплекс предназначен для студентов заочной формы обучения, содержит план лекционных и практических занятий,... |
||
Учебно-методический комплекс по дисциплине «Маркетинг» Учебно-методический комплекс предназначен для студентов очной формы обучения, содержит план лекционных и практических занятий, рекомендации... |
Учебно-методический комплекс дисциплины «Правовое обеспечение экономики» Учебно-методический комплекс составлен в соответствии с требованиями государственного образовательного стандарта высшего профессионального... |
||
Учебно-методический комплекс по дисциплине «Языки и среды реализации web -приложений» Учебно-методический комплекс предназначен для студентов заочной формы обучения, содержит план лекционных и практических занятий,... |
Учебно-методический комплекс дисциплины «Правовое обеспечение финансовых решений» Учебно-методический комплекс составлен в соответствии с требованиями федерального государственного образовательного стандарта высшего... |
||
Учебно-методический комплекс дисциплины «организационное поведение» Учебно-методический комплекс дисциплины составлен в соответствии с требованиями государственного образовательного стандарта высшего... |
Учебно-методический комплекс дисциплины «Торговое оборудование» Учебно-методический комплекс дисциплины составлен в соответствии с требованиями государственного образовательного стандарта высшего... |
||
Учебно-методический комплекс дисциплины «Русский язык и культура речи» Учебно-методический комплекс дисциплины составлен в соответствии с требованиями государственного образовательного стандарта высшего... |
Учебно-методический комплекс дисциплины Учебно-методический комплекс дисциплины составлен на основании государственного образовательного стандарта высшего профессионального... |
||
Учебно-методический комплекс дисциплины Учебно-методический комплекс дисциплины составлен на основании государственного образовательного стандарта высшего профессионального... |
Учебно-методический комплекс дисциплины обсужден на заседании кафедры... Учебно-методический комплекс дисциплины составлен на основании требований государственного образовательного стандарта высшего профессионального... |
||
Учебно-методический комплекс дисциплины архитектура ЭВМ 090104. 65... Учебно-методический комплекс дисциплины составлен на основании требований государственного образовательного стандарта высшего профессионального... |
Учебно-методический комплекс дисциплины «коммерческое право» Учебно-методический комплекс дисциплины составлен в соответствии с требованиями государственного образовательного стандарта высшего... |
||
Учебно-методический комплекс дисциплины «Таможенное право» Учебно-методический комплекс дисциплины составлен в соответствии с требованиями государственного образовательного стандарта высшего... |
Учебно-методический комплекс дисциплины «римское право» Учебно-методический комплекс дисциплины составлен в соответствии с требованиями государственного образовательного стандарта высшего... |
Поиск |