Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Дубаков А.А. Операционные системы. Томск, 1999.....doc
Скачиваний:
16
Добавлен:
07.11.2018
Размер:
1.46 Mб
Скачать

7.2. Реализация многонитевой обработки в windows 95

В операционной ситстеме Windows 95 понятию «нить» соответствует “поток,” и многонитевая обработка представляет собой многопоточную обработку. Подробнее рассмотрим, как выполняется многопоточная обработка и управление памятью в Windows 95.

Планировщик процессов Windows 95 отвечает за выделение системных ресурсов приложениям и другим процессам и за распределение времени.

В Windows 95 применяются кооперативная многозадачность (cooperative multitasking) и вытесняющая (preemptive multitasking) .

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

Кооперативный режим применяется в Windows 95 исключительно из соображений совместимости с Win - 16 - приложениями.

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

В Windows 95 каждое открытое окно - поток. И если выполняется копирование между двумя окнами папок,то оно выполняется потоком окна - приемника. При этом можно выполнять операции с другими окнами.

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

7.3. Подкачка страниц памяти

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

Каждому процессу выделяется свое виртуальное адресное пространство размером 4 Гб. Верхнее (2 Гб) - резервируются системой. Нижнее (2 Гб) - отдаются программе. При этом все виртуальное АП (ВАП) разбивается на равные блоки или страницы.

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

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

Для поддержки 16-разрядных программ Win 3.1 и MS DOS в архитектуре процессора intell используется механизм разбиения памяти на сегменты. Адрес ячейки памяти складывается из 16 - битного сегмента и 16-- битного смещения внутри сегмента. Поскольку размер сегмента всего 64 кб, и приложения, и ОС должны тратить слишком много времени на вычисление физического адреса информации.

IBM 386 поддерживает линейную модель памяти для 32 - разрядных ОС и Win - 32 приложений. Модель линейной адресации упрощает разработку программ и устраняет недостатки, присущие архитектуре сегментированной памяти.

Виртуальная память - термин, указывающий на то, что ОС способна выделить, куда большие объемы, чем на самом деле имеется у компьютера.

Рис. 7.1. Структура памяти Windows 95

Каждому процессу представляется уникальное адресное пространство - набор адресов, доступных потокам данных процесса. Его размер 4гб. Из них 2Гб - резерв для самой системы. Размещение системных компонент представлено на рис. 7.1.