Главная » Просмотр файлов » В. Столлингс - Операционные системы

В. Столлингс - Операционные системы (1114679), страница 36

Файл №1114679 В. Столлингс - Операционные системы (В. Столлингс - Операционные системы) 36 страницаВ. Столлингс - Операционные системы (1114679) страница 362019-05-08СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 36)

Соответствующие мы состояний показаны на рис. 4.7,г. о С$, о Е 3 о о Е Ф М Ф 3 Фц й, Часть 2. Б случаях 1 и 2 «см. Рис. 4.7.6 и з) при возврате управления процессу зобновляется выполнение потока 2. Заметим также, что процесс, в кото полняется код из библиотеки потоков, может быть прерван либо из-за то закончится отведенный ему интервал времени, либо из-за наличия про более высоким приоритетом. Когда возобновится выполнение прерванного: песса, оно продолжится работой процедуры из библиотеки потоков, кото "' вершит переключение потоков и передаст управление новому потоку проц Использование потоков на пользовательском уровне обладает некот преимушествами перед использованием потоков на уровне ядра. К этим имуществам относятся следующие. 1.

Переключение потоков не включает в себя переход в режим ядра, т структуры данных по управлению потоками находятся в адресно странстве одного и того же процесса. Поэтому для управления по ' процессу не нужно переключаться в режим ядра. Благодаря этому тельству удается избежать накладных расходов, связанных с двумя ключениями режимов (пользовательского режима В режим ядра и об 2. Планирование производится в зависимости от специфики приложе одних приложений может лучше подойти простой алгоритм плани '" по круговому алгоритму, а для других — алгоритм планирования, ный на использовании приоритета.

Алгоритм планирования может: раться для конкретного приложения, причем это не повлияет на планирования, заложенный в операционной системе. 3. Использование потоков на пользовательском уровне применимо для:,. операционной системы. Для их поддержки в ядро системы не по вносить никаких изменений. Библиотека потоков представляет с утилит, работающих на уровне приложения и совместно используе ми приложениями. Использование потоков на пользовательском уровне обладает двумя недостатками по сравнению с использованием потоков на уровне ядра.

1. В типичной операционной системе многие системные вызовы явля кирующими. Когда в потоке, работающем на пользовательском уро полняется системный вызов, блокируется не только данный поток, потоки того процесса, к которому он относится. 2. В стратегии с наличием потоков только на пользовательском уровне ние не может воспользоваться преимуществами многопроцессорной так как ядро закрепляет за каждым процессом только один процессор. несколько потоков одного и того же процесса не могут выполняться менно.

В сущности, у нас получается многозадачность на уровне прил,, Рамках одного процесса. Несмотря на то, что даже такая многозада жет привести к значительному увеличению скорости работы приложе ются приложения, которые работали бы гораздо лучше, если бы Р части их кода могли выполняться одновременно. Эти две проблемы разрешимы. Например, их можно преодолеть, сать приложение ие в виде нескольких потоков, а в виде нескольких и Однако при таком подходе основные преимущества потоков сводятся на удое дое переклю"ение становится не переключением потоков, а переключени ПРОЦ сов, ~то приведет к значительно большим накладным затратам.

пругим методом преодоленпя проблемы блокирования является использоэанн . поеобразования блокирующего системного вызова в неблокирующий. Ка вместо непосредственного вызова системной процедуры авода-вывода вызывает подпрограмму-оболочку, которая производит ввод-вывод на , „ВНЕ ПРПЛОжеНИЯ.

Б этой программе содержится код, который проверяет, за лп устройство ввода-вывода. Если оно занято, поток передает управление угому потоку (что происходит с помощью библиотеки потоков). когда наш по- вновь получает управление, он повторно осуществляет проверку занятости устрой -тва ВВОД'Вывода. ПОТОни нн урОВНВ ядри Б программе„работа которой полностью основана на потоках, работающих на урвне Дра Все дей Япоупр е по . ивыполняю др . Б бла приложений отсутствует код, предназначенный для управления потоками. Вместо него используется ингерфейс приклаДИОГО прОГраммирОВаниЯ (арр11са$10п ргойташ- пппд 1п1ег1асе -- АР1) средств ядра, управляющих потоками.

Примерами такого подхода являются Операционные системы 06/2, Ыпих и ЪЧ2К. Ба рис. 4.6,6 проиллюстрирована стратегия использования потоков на уровне Ядра. Любое приложение при этом можнО запрограэпчировать как многопоточное; все потоки приложения поддерживаются в рамках единого процесса. Ядро поддер- живает информацию контекста процесса как единого целого, а также контекстов каждого отдельного потока процесса. Планирование выполняется ядром исходя из состояния потоков. С помощью такого подхода удается избавиться от двух упомяну- тых Ранее основных недостатков потоков пользовательского уровня. Во-первых, ядро может Одновременно осуществлять планирование работы нескольких потоков одного и того же процесса на нескольких процессорах.

Во-вторых, при блокировке одного из потоков процесса ядро может выбрать для выполнения другой поток этого же процеоса. Еще ОДНИМ прЕИмУщеспюм такого поДхода ЯвляетсЯ то, что Сами проЦедУ- Ры ядра могут быть многопоточными. Основным недостатком подхода с использованием потоков на уровне ядпо ~равнению с использованием потоков на пользовательском уровне яв- Ра по с ляется -„, я то, что для передачи управления от одного потока другому в рамках "ДНОГО О и то~ О же процесса приходится переключаться в режим ядра.

Резуль- тать исследований, проведенных на однопроцессорной машине Ъ'АХ под Управленя . 4.1 н ~ЗХ1Х-подобной операционной системы, представленные в валось В е, иллюстрируют Различие между этими двумя подходами. Сравни- Время выполнения таких двух задач, как (1) нулевое ветвление (ХН11 ОГ)~) Вр~мя, затраченное на создание, планирование и выполнение проЕССЗй~отОКа состоящего только пз нулевой процедуры (измеряются только -' Расходы, связанные с Ветвлением процесса/потока), и (2) ожидал"Дные сигнала В «ь1зпа1-Жа1«) -- время, затраченное на передачу сигнала от одпррцее..~ потока друГОму процессу/потоку, нахОдящемуся В сОстОянии нлання «н кладные расходы на синхронизацию двух процессовупотоков).

было ло легче сравнивать полученные значения, заметим, что вызоВ Цеду на машине УАХ, используемой в этом исследовании, длится 7 рв. темное е прерывание — 17 пэ. Мы видим, что различие во времени вы- Часть 2. ,.4. П Отоки, сиыметричнан мультипроцессорная обработка 209 4 1. Время задержек потоков (Рв) ~АХЭЕ921 Процессм':: Потоки на Потоки на уровне пользовательском уровне ядра Операция 11300- 1 840 левое ветвление <илание сигнала Таким образом, создается впечатление, что как применение многопо ' и на уровне ядра дает выигрыш по сравнению с процессами, так и мн ' чность на пользовательском уровне дает выигрыш по сравнению с много' стью на пользовательском уровне. Однако на деле возможность этого д льного выигрыша зависит от характера приложений, Если для боль реключений потоков приложения необходим доступ к ядру, то схема е' .ми на пользовательском уровне может работать не намного лучше, чем токами на уровне ядра.

Комбинированные подходы В некоторых операционных системах применяется комбинирова ков обоих видов 1рис. 4.6,в). Ярким примером такого подхода мож' ить операционная система Бо1аг)з. В комбинированных системах со ' >токов выполняется в пользовательском пространстве, там же, где:. танирования и синхронизации потоков в приложениях. Несколько г пользовательском уровне, входящих в состав приложения, отобра такое же или меньшее число потоков на уровне ядра.

Программист ~менять число потоков на уровне ядра, подбирая его таким, которое чет достичь наилучших результатов. При комбинированном подходе несколько потоков одного и риложения могут выполняться одновременно на нескольких процесс токирующие системные вызовы не приводят к блокировке всего ри надлежащей реализации такой подход будет сочетать в себе пре ~ва подходов, в которых применяются только потоки на пользова Ровне или только потоки на уровне ядра, сводя недостатки каждого одходов к минимуму. ~РУ1ИЕ ЕХЕЫЫ Как уже упоминалось, понятия единицы распределения ресурсов ирования традиционно отождествляются с понятием процесса. В так,.

епции поддерживается однозначное соответствие между потоками и ИИП ами. В последнее время наблюдается интерес к использованию неск; отоков в одном процессе, когда выполняется соотношение многие-кМнако возможны и другие комбинации, а именно соответствие нес неск отоков нескольким процессам и соответствие одного потока нес еск роцессам. Примеры применения каждой из упомянутых комбинаци ий ятся в табл. 4.2. лнени ия потоков на уровне ядра и потоков на пользовательском урони" е чем .м на порядок превосходит по величине различие во времени выц ' я потоков на уровне ядра и процессов. „блица 4.2.

Соотношение между потоками и процессами ~о оки-процессы Описание Каждый поток Реализован в ниде отдельного процесса со своим собственным адресным пространством и со своими ресурсами Для процесса задается адресное пространство и динамическое владение Ресурсами. В рамках этого процесса могут бьггь создаиы несколько потоков Поток может переходить из среды одного процесса в среду другого процесса. Это облегчает перенос потоков из одной системы в другую Сочетает в себе подходы, основанные на соотношениях М:1 и 1:М Примеры систем Тредициопные Реализации системы И~ПХ ОЯ,.'2, ЪУ1пбоч з ХТ„ Яо1аг1я, 1.и~ох, ОЯ/390, МАСН Ва ~С)опт), Егяегзм ТВ1Х Соответствие нескольких потоков нескольким процессам Идея реализации соответствия нескольких процессов нескольким потокам была исследована в экспериментальной операционной системе ТВ?Х 181ЕВЯЗ, "гуАВВЯО~.

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

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

Характеристики

Тип файла
DJVU-файл
Размер
34,99 Mb
Тип материала
Высшее учебное заведение

Список файлов книги

Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6461
Авторов
на СтудИзбе
304
Средний доход
с одного платного файла
Обучение Подробнее