рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

УПРАВЛЕНИЕ ПРОЦЕССОРАМИ И ПАМЯТЬЮ В ОПЕРАЦИОННЫХ СИСТЕМАХ WINDOWS

УПРАВЛЕНИЕ ПРОЦЕССОРАМИ И ПАМЯТЬЮ В ОПЕРАЦИОННЫХ СИСТЕМАХ WINDOWS - Конспект Лекций, раздел Науковедение, КОНСПЕКТ ЛЕКЦИЙ по дисциплине Операционные системы   1.1. Обзор Компонент Архитектуры Ос Windows.  ...

 

1.1. Обзор компонент архитектуры ОС Windows.

 

К работе над графической средой для персональных компьютеров IBM PC компания Microsoft приступила еще в 1981 году, но только в 1992 году вышла полноценная ОС WINDOWS 3.1 с графическим интерфейсом и многозадачностью. Ее главным достоинством стал Диспетчер программ, который позволил оператору управлять компьютером с помощью мыши. Здесь впервые компания Microsoft реализовала концепцию виртуальной памяти, когда на жестком диске создается файл подкачки, который имитирует работу с оперативной памятью.

Но все-таки ОС WINDOWS 3.1 не была ОС как таковой. А была лишь графической надстройкой над DOS. Выпущенная в 1995 году ОС – Windows 95 стала первой графической ОС для платформы IBM PC. Следующим этапом стал выпуск Windows 98.

В настоящее время наиболее используемыми являются ОС Windows 98 и Windows XP. Рассмотрим подробно архитектуру первой из этих ОС, как системы, которая помимо основного 32-разрядного режима обеспечивает функционирование в режиме MS DOS.

Microsoft Windows 98 - 32-битная ОС, которая обеспечивает встроенную поддержку Internet, устройств Plug&Play, имеет высокую производительность, надежность и обратную совместимость с Windows 95. Windows 98 отличается от Windows 95 тем, что имеет более мощное управление, обеспечивает работу нескольких дисплеев, поддерживает новейшее оборудование. Имеется встроенная поддержка новой драйверной модели (Win32 Driver Model - WDM), которая позволяет WDM-устройствам работать под Windows 98 и новыми версиями Windows NT, используя один и тот же драйвер.

На рисунке 2.1. показаны базовые компоненты Windows 98.

 
 

Так же как и Windows 95, Windows 98 является продолжением линии Windows 3.1 и включает в себя следующие свойства:

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

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

- 32-битные драйверы файловой системы, поддерживающие FAT, FAT32, ISO 9660 (CD-ROM), ISO 13346, сетевое управление и высокую производительность. Эти драйверы также поддерживают работу с длинными именами и открытую, модульную архитектуру, пригодную для дальнейшего расширения.

- Поддержка WDM, которая позволяет устройствам, поддерживающим ее, работать под Windows 98 и новыми версиями Windows NT, используя один и тот же драйвер.

- Улучшенная и более надежная система восстановления после того, как приложение или драйвер аварийно завершит свою работу.

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

Реестр – это централизованная база данных Windows, которая имеет иерархическую структуру. Он упрощает функционирование системы и делает ее более адаптивной. Введение реестра привело к тому, что Autoexec.bat, Config.sys и INI-файлы стали не нужны, хотя Windows 98 оставила их поддержку для совместимости с более ранними версиями (16 - битными приложениями, драйверами и т.п.). Это сделало ОС более адаптивной к сохранению пользовательской и конфигурационной информации. Так, например, можно настроить один компьютер под несколько пользователей и иметь более одной конфигурации.

Первичная роль системного реестра в Windows 98 – это использование его как центрального архива для аппаратно-зависимой информации, которая используется аппаратурой и компонентами Plag&Play. Windows 98 хранит информацию об аппаратных компонентах и устройствах, которые были сконфигурированы вручную или через процесс автоматического обнаружения, в иерархической структуре системного реестра. Когда новое устройство установлено, система проверяет существующую конфигурацию в системном реестре. Если ни один драйвер не найден, тогда Windows 98 просматривает все доступные носители для поиска лучшего драйвера. Как только драйвер будет найден, он добавляется к системному реестру рядом с параметрами настройки этого устройства.

Более ранние версии Windows использовали инициализирующие (INI) файлы, чтобы сохранять системную или пользовательскую информацию о состоянии или конфигурации системы. Например, файл Win.ini сохранял информацию о текущем состоянии среды Windows, System.ini файл сохранял системную информацию относительно аппаратных средств и конфигурации драйверов устройств системы, а различные INI файлы (типа Msmail.ini и Winword6.ini) сохраняли специфическую информацию о приложениях.

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

Таблица 1.1

Проблема Решение
INI файлы основаны на тексте, размер которого ограничен 64 КБ Системный реестр не имеет никаких ограничений по размеру и может включать и бинарные, и текстовые значения
Информация, сохраненная в INI файлах, неиерархическая и поддерживает только два уровня информации.   Системный реестр имеет иерархическую структуру
Многие INI файлы содержат несметное число переключателей и признаков, что приводит к усложнению конфигурирования. Системный реестр содержит более стандартизированные значения
INI файлы не обеспечивают никакого механизма для сохранения пользователем собственной информации. Это вызывает сложности совместного доступа к данным и совместного использования компьютеров. Ключ HKEY_USERS сохраняет необходимую для пользователя информацию
Конфигурационная информация в INI файлах локальна для каждой системы, и никакие механизмы API не могут дистанционно получить доступ к ней, что приводит к сложностям управления сетью компьютеров Системный реестр может дистанционно управляться и системная информация может загружаться с центрального сервера, каждый раз, когда новый пользователь входит в систему.  

 

Для обратной совместимости, Windows 98 поддерживает Autoexec.bat, Config.sys, и INI файлы, потому что много приложений базирующихся на Win16 все еще используют их. Например, Windows 98 позволяет приложениям, базирующимся на Win16 использовать INI файлы для настройки параметров программ, драйверов устройств и так далее, с которыми приложение должно работать.

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


 

1.2. Драйверы устройств

 

В Windows 3.1 драйверы устройств были большими монолитными программами, трудно поддающимися дальнейшим усовершенствованиям и расширениям. Монолитный здесь означает, что драйвер должен обеспечивать все услуги, интерфейсы пользователя, функции API и функции доступа к аппаратуре. В Windows 95 и далее в Windows 98 обеспечивается архитектура универсальный драйвер – мини-драйвер, которая делает развитие драйвера проще для независимых разработчиков аппаратуры. Для устройства данного аппаратного класса разработчику требуется лишь написать код, отражающий специфику аппаратных средств. Кроме того, Windows 98 использует WDM архитектуру, которая обеспечивает общий набор услуг ввода - вывода, используемых и в Windows 98, и в будущих версиях Windows NT. С архитектурой WDM разработчики могут разрабатывать единый драйвер устройства для всех вариантов операционной системы.

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

 
 

Виртуальный драйвер (VxD) - 32-разрядный, работающий в защищенном режиме драйвер, который управляет системным ресурсом, таким как аппаратное устройство или инсталлированное программное обеспечение, так, что более чем одно приложение может использовать этот ресурс в одно и то же время. VxD обозначает обобщённый виртуальный драйвер; x представляет тип драйвера конкретного устройства. Например, виртуальный драйвер для устройства отображения будет называться VDD, виртуальный драйвер для таймера - VTD, виртуальный драйвер для принтера - VPD, и т.д.

Windows 98 динамически загружает драйверы VxD — и только те, которые необходимы в данное время. Кроме того, VxD не требует, чтобы вся его память блокировалась, что увеличивает доступную память в системе.

Драйверы VxD поддерживают все стандартные устройства компьютера, включая контроллеры диска, последовательные и параллельные порты, клавиатуру, устройства отображения и др.

В то время как VxD динамически поддерживают управление устройствами, виртуальное устройство следит за состоянием устройства для каждого приложения, использующего данное устройство. В среде Windows 98 переключения между многими приложениями стали правилом. Приложение, использующее устройство, может быть прервано другим приложением, тем самым прерывая его работу с устройством. Так как это прерывание может привести к проблемам в приложении, работающим с данным устройством, виртуальное устройство контролирует это и переключает состояния устройства между приложениями. Кроме того, виртуальное устройство гарантирует, что устройство находится в требуемом режиме работы всякий раз, когда приложение возобновляет работу с ним. Хотя большинство виртуальных устройств управляют аппаратными средствами, некоторые, например драйверы MS DOS или программ TSR управляют только программными компонентами. Такие виртуальные устройства содержат код, который эмулирует программный компонент или контролирует, что программа работает только с данными, которые относятся к работающему приложению. Драйверы VxD часто используется для улучшения эффективности программных подсистем.

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

 


1.3. Диспетчер виртуальных машин

 

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

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

 
 

Операционная система Windows 98 имеет одну VM, называемую системной VM, в которой работают все системные процессы. Каждое приложение на базе Win32 выполняется в собственной VM. Приложения, базируемые на Win16, совместно используют одну VM Win16. Каждое приложение MS DOS выполняется в собственной VM.

Диспетчер VM ответственен за три ключевых области услуг:

1) управление процессами;

2) управление виртуальной памятью;

3) поддержка режима MS-DOS (для приложений MS-DOS, которые должны иметь монопольный доступ к системным ресурсам).

 

1.3.1. Управление процессами и многозадачностью.

 

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

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

Windows 98 использует вытесняющую многозадачность для приложений на базе Win32. Это означает, что операционная система забирает и отдает управление процессором от одной задачи к другой в зависимости от потребностей системы.

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

Хорошая иллюстрация этого - сама оболочка Windows 98. Хотя оболочка является процессом на базе Win32, каждое окно папки, которое открывается - это отдельный поток выполнения. Когда запускается операция копирования между двумя окнами оболочки, операция выполняется потоком окна-приемника. При этом можно использовать другие окна в оболочке без прерывания процесса копирования или же можно запустить другое копирование в другом окне.

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

 

1.3.2. Управление виртуальной памятью

 

Windows 98, так же, как Windows NT, для управления виртуальной памятью использует дисциплину подкачки страниц по требованию. Эта система основана на плоском, линейном, 32-разрядном адресном пространстве.

Каждому процессу выделяется непрерывное виртуальное адресное пространство размером в 4 гигабайта (GB). Верхние 2 GB используются всеми процессами, в то время как нижние 2 GB предназначены для исключительного использования данным приложением. Виртуальное адресное пространство разделено на равные блоки, или страницы.

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

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

 

 
 

Чтобы поддерживать 16-разрядную среду, включая Windows 3.1 и MS DOS, архитектура процессора Intel использует механизм, называемый сегментацией. Сегментированная память использует 16-разрядный адрес сегмента и 16-разрядный адрес смещения в пределах сегмента. Сегмент - 64 Кб в размере, и эффективность работы приложений и операционной системы понижается при доступе к информации, переходящей через границы сегментов. С целью совместимости сверху вниз Windows 98 поддерживает эту модель памяти, обеспечивая эмуляцию с помощью подсистемы Win16.

Чтобы обеспечить плоскую, линейную модель памяти для операционной системы и приложений Win32 в Windows 98 используется 32-разрядные средства архитектуры процессоров 80386 (и более новых). Линейная модель адресации упрощает процесс разработки прикладных программ и повышает эффективность их выполнения по сравнению с сегментированной архитектурой памяти. С такой моделью адресации Windows 98 обеспечивает полноценное использование 4 GB адресуемого пространства памяти для всех 32-разрядных компонентов операционной системы и приложений. Каждое 32-разрядное приложение может иметь в исключительном использовании 2 GB адресуемого пространства памяти, что достаточно для работы самих больших приложений.

 

1.3.3. Поддержка режима MS-DOS

 

Хотя большинство приложений MS DOS могут работать параллельно с другими приложениями на базе Win32 и Win16, но всё же небольшое число таких приложений требуют во время работы монопольного доступа к системным ресурсам. Режим управления виртуальной памятью (VM), при котором создается для приложения такая исключительная среда, называется режимом MS-DOS. Когда приложение MS-DOS выполняется в режиме MS-DOS, никакие другие приложения или процессы не могут конкурировать за системные ресурсы - все ресурсы находятся в монопольном использовании приложения MS DOS.

 

1.4. Устанавливаемые файловые системы

 

Операционная система Windows 98 обеспечивает многоуровневую архитектуру файловой системы. Она поддерживает множественные файловые системы, включая виртуальную таблицу размещения файлов (VFAT), файловую систему CD-ROM (файловая система на компакт-дисках - CDFS) и файловую систему для дисков с универсальным форматом - UDF.

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

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


Операционная система Windows 98 использует 32-разрядный код, работающий в защищенном режиме, для чтения и записи информации в файловую систему и дисковые устройства. Она также имеет 32-разрядные, динамически расширяемые механизмы кэширования и полностью 32-разрядные каналы доступа файловой системы к дисковым устройствам. Более того, архитектура файловой системы (рис. 1.5) полностью открыта для будущих системных расширений.

Архитектура файловой системы Windows 98 включает в себя перечисленные ниже компоненты.

1. Диспетчер устанавливаемых файловых систем (IFS), который служит арбитром при обращениях к различным компонентам файловой системы.

2. Драйверы файловых систем. Уровень драйверов файловых систем обеспечивает доступ к дискам на базе FAT, файловым системам CD-ROM, а также маршрутизацию сетевых операций.

3. Подсистема блочного ввода/вывода ответственна за взаимодействие с физическими дисковыми устройствами.

 

1.4.1. Диспетчер устанавливаемых файловых систем (IFS)

 

В Windows 98 ключевым элементом при обращениях к дискам и маршрутизации сетевых запросов является диспетчер устанавливаемых файловых систем (Installable File System (IFS) Manager). Диспетчер IFS является арбитром при обращениях к устройствам файловой системы и другим ее компонентам.

В MS-DOS и Windows 3.1 вызов INT 21 обеспечивал доступ к файловой системе для выполнения операций чтения и записи на дисковые устройства. Чтобы обеспечить перенаправление дисковых операций, например операций к сетевому диску, системные компоненты, такие как сетевой маршрутизатор, должны перехватывать прерывания INT 21 и после анализа передавать запрос на выполнение сетевому сервису или основной файловой системе.

Другая проблема, связанная с файловой системой на базе MS-DOS, была в трудности сосуществования нескольких сетевых маршрутизаторов для сетей различного типа. В Windows 98 сетевые маршрутизаторы реализованы как отдельные файловые системы под управлением диспетчера IFS, что позволило использовать одновременно до 32-х маршрутизаторов.

 

1.4.2. Драйверы файловых систем.

 

В Windows 98 драйверы файловых систем являются компонентами кольца 0 ядра операционной системы. Windows 98 обеспечивает функционирование драйверов следующих файловых систем (этот список может быть дополнен сторонними фирмами):

- драйвера VFAT;

- драйвера CDFS;

- 32-разрядного драйвера файловой системы универсального дискового формата (Universal Disk Format - UDF);

- 32-разрядного драйвера сетевого маршрутизатора (для подсоединения к сетевым серверам Microsoft, типа Windows NT Server, а также к серверам Novell NetWare).

 

1.4.2.1. Файловая система VFAT.

 

32-разрядный драйвер VFAT обеспечивает работу файловой системы на дисках в защищенном режиме. Драйвер является повторновходимым и многопоточным. 32-разрядный драйвер VFAT взаимодействует с подсистемой I/O, обеспечивая дисковый доступ к большему количеству типов устройств, чем это было в Windows 3.1. Windows 98 также поддерживает управление любыми установленными драйверами дисков реального режима.

Преимущества 32-разрядного драйвера VFAT по сравнению с файловой системой MS-DOS следующие:

- резко улучшилась производительность кэширования дисковых операций и программного обеспечения в целом;

- не используется традиционная память;

- улучшилась многозадачность при выполнении операций доступа к информации на дисках;

- обеспечивается динамическое кэширование;

- более эффективно используется память для 32-разрядных приложений (отображение кэша).

 

1.4.2.2. Файловая система CD-ROM

 

32-разрядная, работающая в защищенном режиме, файловая система работы с компакт-дисками (CDFS), реализованная в Windows 98, обеспечивает улучшенный доступ к CD-ROM и более высокую эффективность по сравнению c драйвером реального режима MSCDEX Windows 3.1. Преимущества нового 32-разрядного драйвера CDFS следующие:

- не используется традиционная память;

- более высокая эффективность по сравнению с драйвером MSCDEX;

- улучшилась многозадачность при выполнении операций доступа к информации на диске CD-ROM;

- обеспечивается динамическое кэширование;

 

1.4.2.3. Файловая система универсального дискового формата

 

32-разрядная, работающая в защищенном режиме, файловая система универсального дискового формата в Windows 98 реализована согласно версии 1.02 спецификации UDF Ассоциации по технологии оптических ЗУ (OSTA). Она обеспечивает доступ только по чтению к информации на носителях UDF-формата, таких как диски DVD.

 

1.4.3. Подсистема блочного ввода-вывода.

 

 
 

На рисунке 1.6 показана структура подсистемы блочного ввода-вывола Windows 98.

1.4.3.1. Супервизор ввода-вывода (IOS)

 

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

 

1.4.3.2. Драйвер порта

 

Драйвер порта - это монолитный, 32-разрядный драйвер защищенного режима, который обеспечивает связь с конкретным дисковым устройством, типа контроллера жесткого диска. Этот драйвер Windows 98 похож на 32-разрядный дисковый драйвер, используемый в Windows 3.1 (например, WDCTRL для контроллеров жестких дисков, совместимых с Western Digital). В Windows 98 драйверы, которые обеспечивают связь с контроллерами жестких дисков IDE или ESDI и контроллерами гибких дисков, реализованы как драйверы порта. Драйвер порта обеспечивает те же самые функциональные возможности, что и комбинация диспетчера SCSI и драйвера мини-порта.

 

1.4.3.3. Уровень SCSI

 

Этот компонент использует 32-разрядную, работающую в защищенном режиме универсальную архитектуру драйвера для связи с устройствами SCSI. Так как уровень SCSI обеспечивает все функциональные возможности высокого уровня для работы с устройствами SCSI и подобным им устройствами, для включения нового дискового устройства в систему достаточно разработать драйвер мини-порта для обработки специфичных запросов ввода – вывода к устройству. Диспетчер SCSI, который также является частью этой системы, обеспечивает поддержку совместимости при использовании драйверов мини-порта из Windows NT.

 

1.4.3.3. Драйвер мини-порта

 

Модель драйвера мини-порта Windows 98 упрощает написание драйверов новых дисковых устройств. Так как SCSI обеспечивает функциональные возможности более высокого уровня, разработчик драйвера для дискового устройства должен создать только драйвер мини-порта, учитывающий специфику данного дискового устройства. Драйвер мини-порта Windows 98 – это 32-разрядный, работающий в защищенном режиме код, который совместим с драйверами мини-порта Windows NT.

 

1.4.3.4. Супервизор ввода-вывода и загрузка драйверов

 

Супервизор ввода - вывода загружает и инициализирует работающие в защищенном режиме драйверы устройств и обеспечивает сервис, необходимый для выполнения операций I/O. Супервизор ввода - вывода получает запросы от файловых систем VFAT и CDFS и загружает драйверы для доступа к локальным дисковым устройствам, включая диски SCSI и IDE.

 

1.5. Диспетчер конфигураций

 

 
 

Чтобы поддерживать функциональные возможности подсистемы Plug&Play, архитектура Windows 98 включает специальный компонент - диспетчер конфигураций, который управляет процессом конфигурирования. Этот процесс включает конфигурирование шин и устройств различных архитектур. Например, мышь и клавиатура могут обе использовать ту же самую шину контроллера клавиатуры; CD-ROM и жесткий диск могут использовать ту же самую шину SCSI.

Как показано на рисунке 1.7, диспетчер конфигураций работает с рядом других компонент, чтобы идентифицировать каждую шину и каждое устройство в системе и определять конфигурационные параметры настройки для каждого из них. Диспетчер конфигураций гарантирует, что каждое устройство на компьютере может использовать запрос на прерывание (IRQ), адреса портов ввода - вывода и другие ресурсы без конфликтов с другими устройствами.

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

 

1.6. Компоненты ядра системы.

 

 
 

Как показано на рисунке 1.8, ядро Windows 98 включает в себя три основные компоненты: User, Kernel и GDI (Graphics Device Interface).

Каждый из этих компонентов включает две библиотеки динамической компоновки (DLL), одна 32-разрядная и одна 16-разрядная, которые предоставляют сервисы выполняющимся приложениям. Windows 98 спроектирована так, чтобы можно было использовать 32-разрядный кода везде, где это существенно увеличвает эффективность без потери совместимости приложений. Windows 98 сохраняет существующий 16-разрядный код там, где это требуется для поддержки совместимости или экономии памяти. Все подсистемы ввода - вывода Windows 98 (такие, как сетевая и файловая подсистемы) и драйверы устройств - 32-разрядные, так же как и всё управление памятью и диспетчеры (весь модуль Kernel, включая программы управления виртуальной памятью).

Как показано на рисунке 1.9, все низкоуровневые сервисы, обеспечиваемые ядром Windows 98, с целью повышения эффективности ядра реализованы как 32-

 
 

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

 

1.6.1. Модуль User.

 

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

Операционная система Windows 98 использует асинхронную модель ввода для всех операций ввода в систему и приложений. Как только различные устройства ввода данных генерируют прерывания, программа обработки прерываний конвертирует эти прерывания в сообщения и передаёт сообщения потоку необработанных входных сообщений, который в свою очередь передает каждое сообщение в соответствующую очередь сообщений. Хотя каждый поток Win32 может иметь собственную очередь сообщений, все приложения Win16 совместно используют одну очередь.

 

1.6.2. Модуль Kernel

 

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

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

Модуль Kernel также распределяет виртуальную память, разрешает ссылки передачи и выполняет подкачку страниц по запросам от приложений. После запуска приложения модуль Kernel занимается диспетчеризацией потоков каждого процесса, принадлежащего приложению.

Модуль Kernel предоставляет сервисы и 16-разрядным и 32-разрядным приложениям, используя процесс преобразования запросов, называемый «thunking».

 

1.6.2.1. Управление виртуальной памятью

 

Виртуальная память даёт возможность операционной системе фактически распределять большее количество памяти, чем имеется в компьютере физической памяти. Каждому процессу выделяется уникальное виртуальное адресное пространство, которое является набором адресов, доступных для использования потоками. Это виртуальное адресное пространство составляет 4 GB в размере: 2 GB резервируются для памяти программы и 2 GB - системная память (рис. 1.10).

 
 

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

- Компоненты кольца 0 располагаются в адресном пространстве свыше 3-х GB.

- Компоненты оболочки Windows 98 и разделяемые DLL находятся в пространстве между 2 и 3 GB.

- Приложения на базе Win32 – между 4 Мб и 2 GB. Каждое такое приложение имеет собственное адресное пространство, что не дает возможность приложениям менять данные друг друга.

 

1.6.3. Интерфейс графических устройств (GDI).

 

Интерфейс графических устройств (GDI - Graphics Device Interface) является графической системой, которая управляет всем выводом на экран. Она также осуществляет графическую поддержку для принтера и других устройств вывода. Она рисует графические примитивы, манипулирует битовыми картами и взаимодействует с драйверами графических устройств, включая драйверы вывода для дисплея и принтера.

 

1.7. Интерфейс пользователя

 

 
 

Windows 98 реализует новый 32-разрядный интерфейс пользователя, который унифицирует всё информационное взаимодействие в одной универсальной оболочке, которая даёт возможность представлять локальные, сетевые данные, данные Intranet и Internet однотипным универсальным образом. Эта новая оболочка содержит различные инструменты рабочего стола, включая Мой компьютер, Сетевое окружение, селективный активный рабочий стол и селективный интерфейс активных каналов. Как показано на рисунке 1.11, эти инструментальные средства, выполненные на том же самом архитектурном уровне, как и другие приложения, базирующиеся на Win32, Win16 и MS-DOS.

 

1.8. Поддержка приложений

 

 
 

Операционная система Windows 98 поддерживает приложения на базе Win32, Win16 и MS-DOS. Как показано на рисунке 1.12, приложения на базе Win16 и Win32 запускаются на выполнение в системных виртуальных машинах. Приложения на базе Win32 работают каждое в отдельном адресном пространстве, при том как приложения Win16 работают в общем адресном пространстве. Каждое MS-DOS приложение работает в своей собственной виртуальной машине.

 


– Конец работы –

Эта тема принадлежит разделу:

КОНСПЕКТ ЛЕКЦИЙ по дисциплине Операционные системы

ВОСТОЧНОУКРАИНСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ... Северодонецкий технологический институт... КОНСПЕКТ ЛЕКЦИЙ...

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: УПРАВЛЕНИЕ ПРОЦЕССОРАМИ И ПАМЯТЬЮ В ОПЕРАЦИОННЫХ СИСТЕМАХ WINDOWS

Что будем делать с полученным материалом:

Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Все темы данного раздела:

АРХИТЕКТУРА ПРИЛОЖЕНИЙ WIN32 ДЛЯ ОС WINDOWS
2.1. Прохождение сообщений в системе Рассмотрим ситуацию, когда пользователь приложения нажимает клавишу, а система вырабатывает сообщение об этом событии. Вы знаете, что Windows обеспечив

АРХИТЕКТУРА ПРИЛОЖЕНИЙ ОС WINDOWS, ПОСТРОЕННЫХ НА БАЗЕ БИБЛИОТЕКЫ MFC
  3.1. Введение   Первое решение, которое должен принять программист при разработке приложения для операционных систем Windows 98, Windows NT и Windows 2000 – с

Обработка сообщений
  Хотя операционная система и использует целые числа для идентификации событий, но в тексте про­граммы мы будем иметь дело с символьными идентификаторами. Огромное количество директив

Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • Популярное
  • Облако тегов
  • Здесь
  • Временно
  • Пусто
Теги