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

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

Вопрос 21. Планирование в условиях многопроцессорности.

Вопрос 21. Планирование в условиях многопроцессорности. - раздел Образование, Вопрос 1. Поколения операционных систем Реентерабельность Кода Ядра Позволяет Ос Windows Поддерживать Симметричные Му...

Реентерабельность кода ядра позволяет ОС Windows поддерживать симметричные мультипроцессорные системы (процессоры идентичны). Необходимость загрузки нескольких процессоров усложняет задачу планирования. Количество процессоров система определяет при загрузке, и эта информация становится доступной приложениям через функцию GetSystemInfo. Число процессоров, используемых системой, может быть ограничено с помощью параметра NumPcs из файла Boot.ini.

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

Привязка к процессорам

У каждого потока имеется маска привязки к процессорам (affinity mask), указывающая, на каких процессорах можно выполнять данный поток. По умолчанию Windows использует нежесткую привязку (soft affmity) потоков к процессорам. Это означает, что некоторое преимущество имеет последний процессор, на котором выполнялся поток, чтобы повторно использовать данные из кэша этого процессора (родственное планирование). Потоки наследуют маску привязки процесса. Изменение привязки процесса и потока может быть осуществлено с помощью Win32-функций SetProcessAffinityMask и SetThreadAfftnityMask или с помощью инструментальных средств Windows (например, это может сделать диспетчер задач). Есть также возможность сформировать априорную маску привязки в файле образе запускаемого процесса.

Помимо номера последнего процессора в блоке ядра потока KTHREAD хранится номер идеального процессора (ideal processor) – предпочтительного для выполнения данного потока. Идеальный процессор выбирается случайным образом при создании потока. Это значение увеличивается на 1 всякий раз, когда создается новый поток, поэтому создаваемые потоки равномерно распределяются по набору доступных процессоров. Поток может поменять это значение с помощью функции SetThreadIdealProcessor.

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

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

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

Жесткая привязка (hard affinity), выполняемая с помощью функций SetProcessAffinityMask и SetThreadAfftnityMask, целесообразна в архитектурах с неунифицируемым (NUMA) доступом, где скорость доступа к памяти зависит от взаимного расположения процессоров и банков памяти на системных платах.

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

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

Вопрос 1. Поколения операционных систем

Первое поколение Первые ЭВМ были построены на основе электронных ламп Они не были предназначены для практических целей Одни и те же... Авторами первой вычислительной машины стали... gt Говард Айкен Howard Aiken Гарвард...

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Вопрос 21. Планирование в условиях многопроцессорности.

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

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

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

ОС начали использовать «дружественный» интерфейс, т.е. ОС строятся в расчете на не подготовленных или малоподготовленных пользователей.
1974 год. Intel 8080 - первый универсальный 8-разрядный центральный процессор (ОС CP/M). Начало 80-х годов. IBM , Digital Research и Билл Гейтс (Bill Gates) создают MS-DOS. 1985 г

Вопрос 2. История развития ОС Windows
• История развития В период, предшествующий появлению Windows 2000 (середина-конец 90-х г.г.), ОС Windows фактически имела две различных ветви: Windows 9х как настольная ОС и Windows NT ка

Вопрос 3. История развития ОС UNIX.
История легендарной операционной системы UNIX Середина 1960-х - начало 1970-х Bell Telephone Laboratories, подразделение американского гиганта AT&T, решает создать совершенно

Вопрос 4. Операционная система Linux, версии и производители.
В начале 1990-х начинает набирать обороты проект GNU, организованный Richard'ом Stallman'ом и со-здающий бесплатное программное обеспечение. А в это время появляется новый человек, существенно повл

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

Вопрос 7. Способы реализации процесса ввода-вывода (алгоритмы ввода вывода).
Три способа реализации процесса ввода-вывода данных (алгоритмы ввода-вывода): 1. Пользовательская программа выдает системный запрос, который ядро ОС транслирует в вызов соответствующего др

Вопрос 8. Структура компьютера Pentium. Шины компьютера.
На рис. 13 представлена архитектура компьютера Pentium. Компьютер использу

Вопрос 9. Система “Plug and Play” (“Включи и работай”). Актуальность создания и принцип работы.
При такой архитектуре компьютера (рис. 13) с почти 10 различными шинами операционная система должна уметь распознавать аппаратные средства и уметь их настраивать. Это требование привело компании In

Вопрос 10. Алгоритм начальной загрузки операционной системы
При начальной загрузке компьютера стартует система BIOS. Система BIOS начинает проверку устройств с шин ISA и PCI. Сначала она проверяет количество установленной в системе оперативной памяти, подкл

Вопрос 18. Реализация процессов в ОС Windows.
Внутреннее устройство процессов в ОС Windows В 32-разрядной версии системы у каждого процесса сеть 4-гигабаит-ное адресное пространство, в котором пользовательский код занимает нижние 2 ги

Вопрос 20. Планирование потоков в ОС Windows.
Приоритеты В ОС Windows реализовано вытесняющее приоритетное планирование, когда каждому потоку присваивается определенное числовое значение – приоритет, в соответствии с которым ему выдел

Вопрос 22. ФАЙЛОВЫЕ СИСТЕМЫ FAT И FAT32
ФАЙЛОВЫЕ СИСТЕМЫ FAT И FAT32   Файловые системы прошли долгий путь, усложняясь параллельно с развитием операционных систем и аппаратного обеспечения компьютеров. Так, использ

ФАЙЛОВАЯ СИСТЕМА HPFS
HPFS - сокращенное название высокопроизводительной файловой системы (high performance file system), совместно разработанной в 1989 году корпорациями IBM и Microsoft. Эта система была разра

Вопрос 24. Файловая система NTFS.
Файловая система NTFS (New Technology File System) была разработана еще для Windows NT 3.1, однако долго находилась в тени мейнстрима того времени — FAT, которому Microsoft в каждой новой версии «п

Вопрос 25. Файловая система ОС UNIX
Файловая система ОС Unix имеет иерархическую (древовидную) структуру. В вершинах дерева находятся каталоги (используют также термины - справочники, директории), содержащие списки файлов. Эти файлы

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