Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
У. Столлингс ГЛАВА 4 Потоки.doc
Скачиваний:
49
Добавлен:
11.05.2015
Размер:
6.22 Mб
Скачать

4.7. Резюме, ключевые термины и контрольные вопросы

В некоторых операционных системах различаются понятия процесса и пото­ка; первый из них имеет отношение к владению ресурсами, а второй — к выпол­нению программы. Такой подход может привести к повышению эффективности программы и удобен при составлении кода. В многопоточной системе в рамках од­ного процесса есть возможность задавать несколько потоков. Для этого можно ис­пользовать либо потоки на пользовательском уровне, либо потоки на уровне ядра. Потоки на пользовательском уровне остаются невидимыми для операционной сис­темы, они создаются и управляются библиотекой потоков, которая выполняется в пользовательском пространстве процесса. Потоки на пользовательском уровне очень эффективны, так как при их переключении не нужно переключать режим работы процессора. Однако в одном процессе в каждый момент времени может выполняться только один поток на пользовательском уровне. Если один такой по­ток будет заблокирован, это приведет к блокированию всего процесса. Потоки на уровне ядра — это потоки, которые управляются ядром. Благодаря тому, что та­кие потоки распознаются ядром, в многопроцессорной системе могут параллельно выполняться несколько потоков одного и того же процесса, а блокирование потока не приводит к блокированию всего процесса. Однако для переключения потоков на уровне ядра нужно переключать режим работы процессора.

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

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

Ключевые термины

Задание Облегченный процесс Процесс

Микроядро Поток Симметричная многопроцессорная

Многопоточность Поток на пользовательском- обработка

Монолитная уровне

операционная система Поток на уровне ядра

Контрольные вопросы

  1. В табл. 3.5 перечислены типичные элементы, встречающиеся в управ­ляющем блоке процесса операционной системы, в которой не используют­ся потоки. Какие из них следует отнести к управляющему блоку потока, а какие — к управляющему блоку процесса в многопоточной системе?

  2. Перечислите причины, по которым переключение потоков обходится де­шевле, чем переключение процессов.

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

  4. Приведите четыре общих примера использования потоков в однопользова­тельской многопроцессорной системе.

  1. Какие ресурсы обычно совместно используются всеми потоками процесса?

  1. Перечислите три преимущества потоков на пользовательском уровне над потоками на уровне ядра.

  2. Приведите два недостатка потоков на пользовательском уровне по сравне­нию с потоками на уровне ядра.

  1. Дайте краткое описание различных архитектур, приведенных на рис. 4.8.

  1. Перечислите основные особенности архитектуры операционной системы для многопроцессорной машины.

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

4.11. Назовите семь потенциальных преимуществ архитектуры операционной сис­темы с микроядром по сравнению с монолитной операционной системой.

4.12.Объясните, в чем заключаются потенциальные недостатки операционной системы с микроядром, связанные с ее производительностью.

4.13. Назовите три функции, которые, скорее всего, будут включены даже в операционную систему с самым малым микроядром.

4.14. Назовите основную форму обмена информацией между процессами в опе­рационной системе с микроядром.