- •Операционные системы
- •Введение
- •Глава 1 понятие и эволюция операционных систем
- •1.1. Определение операционной системы
- •1. 2. История развития операционных систем
- •1.3. Основные характеристики ос
- •1.4. Принципы построения ос
- •Глава 2 архитектура вычислительной системы
- •2.1. Особенности методов построения
- •Глава 3 управление процессами
- •3.1. Операции над процессами
- •3.2. Основная концепция обработки прерываний
- •3.3. Переключение контекста в ec эвм
- •Глава 4 управление асинхронными параллельными процессами
- •If q(s) очередь не пуста?
- •Глава 5 управление основной памятью
- •Глава 6 управление виртуальной памятью
- •6.1. Концепция виртуальной памяти
- •1.Признак обращения 0 - было
- •2.Признак модификации записи 0 - неизменен.
- •6.2. Динамическая страничная организация
- •6.3. Сегментная организация виртуальной памяти
- •6.4. Комбинированная странично-сегментная организация памяти
- •6.5. Двухуровневая страничная организация
- •Глава 7 многозадачность и многонитевость
- •7.1. Понятие многонитевости
- •7.2. Реализация многонитевой обработки в windows 95
- •7.3. Подкачка страниц памяти
- •Глава 8 управление процессорами и заданиями в однопроцессорном вычислительном комплексе
- •Глава 9 управление процессорами и заданиями в мультипроцессорных вычислительных комплексах.
- •9.1. Решение фирмы Сompaq
- •Глава 10 управление периферийными устройствами
- •10.1. Физическая организация периферийных устройств
- •10.2. Организация программного обеспечения ввода-вывода
- •Глава 11 подсистема управления данными
- •11.1. Система управления файлами
- •11.2. Способы доступа и организации файлов
- •11.3. Управление внешней памятью
- •11.4. Способы распределения памяти на диске
- •Глава 12 Современные концепции и технологии проектирования операционных систем
- •12.1. Требования, предъявляемые к ос 90-х годов
- •12.2. Тенденции в структурном построении ос
- •Глава 13 История и общая характеристика семейства операционных систем unix
- •Глава 14 История Windows nt
- •14.1. Версии Windows nt
- •14.2. Структура: nt executive и защищенные подсистемы
- •14.3 Области использования Windows nt
- •Литература:
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.