Spposchoolbook dvi



Download 14,49 Mb.
Pdf ko'rish
bet45/121
Sana08.07.2022
Hajmi14,49 Mb.
#757839
TuriУчебное пособие
1   ...   41   42   43   44   45   46   47   48   ...   121
Bog'liq
2011.Lekcii.po.operacionnym.sistemam


Глава 5. Концепции потока

Производительность многопроцессорных / многоядерных систем

Взаимодействие потоков через общее адресное пространство
Вопросы для самопроверки
1.
Верно ли, что создание потока требует меньшего числа тактов,
чем создание процесса? (Да/Нет)
2.
Верно ли, что взаимодействие процессов более эффективно,
чем взаимодействие потоков одного процесса? (Да/Нет)
3.
Могут ли многопоточные приложения выполняться быстрее од-
нопоточных? (Да/Нет)
Ответы на вопросы
1.
Да. Многие элементы процесса совместно используются всеми
его потоками. По этому при создании нового потока они уже суще-
ствуют.
2.
Нет. Потоки, принадлежащие одному процессу, могут обмени-
ваться друг с другом данными с помощью общего адресного про-
странства, обходясь без механизма взаимодействия процессов, под-
разумевающего обращение к ядру.
3.
Да. Большинство приложений содержат фрагменты кода, кото-
рые могут выполняться независимо от остальной части приложения.
Если выделить эти фрагменты в отдельные потоки, можно будет вы-
полнять их отдельно на разных процессорах / ядрах.
§ 2. Асинхронное параллельное выполнение
Асинхронные параллельные потоки
(asynchronous concurrent
threads) — потоки, которые существуют в системе одновременно и вы-
полняются независимо друг от друга, но периодически должны син-
хронизироваться и взаимодействовать.
Критический участок
(critical section, критическая область) —
фрагмент кода, выполняющий операции над разделяемым ресурсом
(например, запись значения в разделяемую переменную). Чтобы до-
биться корректной работы программы, в своем критическом участке
в любой момент времени должен находиться только один поток.


§ 2
. Асинхронное параллельное выполнение
87
Рис. 1. Взаимоисключение с использованием критических участков
Взаимоисключение
(mutual exclusion) — ограничение, в соот-
ветствии с которым выполнение одного потока внутри своего крити-
ческого участка исключает выполнение других потоков внутри своих
критических участков (см. рис. 1). Взаимоисключение жизненно важ-
но для обеспечения корректной работы нескольких потоков, обраща-
ющихся к одним и тем же разделяемым данным для их модификации.
Пример:
необходимость взаимоисключения. Пусть потоки А
и В — счетчики, использующие общую глобальную переменную count.
Рассмотрим следующую последовательность событий:
1)
поток А считывает в регистр R значение переменной
count
=n:
R=n;
2)
поток А увеличивает в регистре R значение на единицу: R=n+1;
3)
по истечении кванта времени процессор передается потоку В;
4)
поток В увеличивает значение переменной count на единицу:
count=n+1;
5)
процессор возвращается потоку А;


88
Download 14,49 Mb.

Do'stlaringiz bilan baham:
1   ...   41   42   43   44   45   46   47   48   ...   121




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish