русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Мультипроцессорной системой (SMP).


Дата добавления: 2013-12-23; просмотров: 706; Нарушение авторских прав


Планирование потоков в системах с симметричной

Симметричная – код ОС находится на разных процессорах.

Асимметричная – код ОС находится на одном процессоре.

Чтобы рассмотреть планирование потоков рассмотрим 2 основных термина.

1) Привязка к процессору. По умолчанию выполняется на любом процессоре. Маска привязки устанавливается с помощью функций

SetProcessAffinityMask(…)

SetThreadAffinityMask(…)

а также при наличии образа маски в заголовке файла.

 

2) Идеальный процессор. Это процессор предпочтительный для выполнения данного потока. Идеальный процессор выбирается случайным образом при создании потока на основе значения, записанного в базе данных процесса. Значение из базы данных процесса увеличивается на единицу каждый раз, когда создаётся новый поток. Поэтому создаваемые потоки равномерно распреде-ляются по набору доступных процессоров. Windows не меняет идеальный процессор после создания потока, но изменить идеальный процессор может изменить приложение, вызвав функцию SetThreadIdealProcessor(…). Последний процессор – это процессор, на котором поток работал в прошлый раз.

Выбор процессора для потока, готового к выполнению.

Windows пытается подключить поток к простаивающему процессору. Если простаивающих процессоров несколько, то Windows старается подключить поток к идеальному процессору, а если он занят, то к последнему.

Если эти процессоры заняты, то Windows NT, 2000 выбирает первый из простаивающих, используя для этого маску свободных процессоров в порядке их возрастания. Все эти действия Windows выполняет в соответствии с маской привязки к процессорам.

Все процессоры заняты.

Windows просматривает, нельзя ли вытеснить какой-либо поток на одном из процессоров. Сначала рассматривается идеальный процессор, затем последний.

Windows сравнивает приоритеты выполняемого потока и выполняющегося потока, и если приоритет выше, то происходит вытеснение.



Если вытеснение невозможно, то поток помещается в очередь потоков, готовых к выполнению.

Рассмотрим ситуацию, в каком случае готовые потоки с наивысшим приоритетом выполняются. Пусть к процессору 0 подключен поток с приоритетом 8, который может работать на любом процессоре. К процессору 1 поток с приоритетом 4. Готов поток с приоритетом 6, который может выполняться только на процессоре 0. В этом случае поток с приоритетом 6 будет поставлен в очередь к процессору 0.



<== предыдущая лекция | следующая лекция ==>
Динамическое повышение приоритета потока. | Объектов синхронизации.


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.003 сек.