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

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

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

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

"Емкость" этого буфера определяется глобальной переменной сврвс1ЬУ. Почтовый ящик твургос(осе изначально заполнен пустыми сообщениями в количестве, равном емкости буфера Количество сообп(внии в этом почтовом ящике уменьшается при каждом поступлении новых данных и увеличивается при их использовании. Такой подход достаточно гибкий — он может работать с любым количеством производителей и потребителей; главное, чтобы они имели доступ к обоим почтовым ящикам. Боле е того, система производителеи и потребителей может быть распределенной, ког а вс да все производители и почтовый ящик п.аургооисе находятся на одной машине, а по —.„сб по.~сбители и почтовый ящик гааусопЯ1ппе — на другой.

ЗАДАЧА читАтедейупцсАуелей, ':,,;., ',', -, При аз або Р 'Р тке синхронизации и параллельных вычислений зачастую полезно сааза щуюся у вас задачу с уже известными и получить возможность провеприменнмость в ь вашего решения к известной задаче, В литературе довольно час- Р ..мотрение таких эталонных" задач, представляющих собой притре~ается ассмо 4$ кающих перед разработчиком проблем. С одной из них — задачей ~ часто возникаю йзволнтеля /по би л тре ителя — мы уже встречались; в этом разделе мы рассмотрим одну класс1 О - ассичсскую задачу — читателей/писателей. аольз пределить ее мо ожно следующим образом.

Имеются данные, совместно ис- Р д роцессов. Данные могут находиться в файле, в блоке основУемые я ом и памяти или аже в г цессОРа. Имеется несколько ПРОЦ е только читают эт ~ , „и данные ~читатели1, и несколько дРУгих которь|е то -5. 'и ' Параллельные вычисления: взанмоисключения... 299 записывают данные (писатели). При этом должны удовлетворяться , условия. дюбое число читателей могут одновременно читать файл. Записывать инФормацию в файл в определенный момент времени только один писатель.

Когда писатель записывает данные в файл, ни один читатель не мо "'", читать. '"$ Перед тем как приступить к работе, разделим эту задачу на,"5"-"." ~чу взаимоисключений и задачу производителя/потребителя. В задаЧе.:-':: ' *,й/писателей читатели не записывают данные, а писатели нх не чит общей является ситуация, когда каждый процесс может как читать,:"", ать данные (и которая включает рассматриваемую задачу как час ). В таком случае мы можем объявить любую часть процесса, котор~и~: .тся к данным, критическим разделом и использовать простейшее реше ове взаимоисключений. Причина, по которой мы рассматриваем чай более общей задачи, заключается в том, что общее решение знащ" едляет работу, в то время как для частного случая имеется гораздо :тивное решение. Представим себе библиотечный каталог, в котором ут искать нужную им литературу, а один или несколько работников- " и могут этот каталог обновлять. При общем решении читатели будут, ы входить в каталог по одному, что, конечно, приведет к неоправд жкам и очередям.

Кроме того, работники библиотеки прн внесении' ( не должны мешать друг другу, а также не должны допускать чит ' ' ' ным в момент их изменения, чтобы предотвратить получение чита таверной информации. Можно ли рассматривать задачу производителя~потребителя как ча задачи читателей/писателей с единственным писателем 1производитель) инным читателем (потребитель)? Оказывается, нет. Производитель — ж.. атель. Он должен считывать значение указателя очереди, чтобы опред дует вносить очередную порцию информации„и выяснять, не заполнен лИ логично и потребитель является не просто читателем, так как он изме ие указателя очереди, указывая, что элемент удален из буфера.

Теперь мы рассмотрим два решения поставленной задачи. а 1иоритетное чтение В листинге 5.19 приведено решение задачи с использованием сема нанта, в котором имеются один читатель и один писатель (решеннЕ' изменений, если имеется много читателей и писателей). Процесс, нь прост. Для обеспечения взаимного исключения используется, .к'. Когда один писатель записывает данные, ни другие писатели, ни могут получить к ним доступ. Процесс читателя также использует ж для обеспечения взаимоисключений. Однако чтобы обеспечить возм,. :овременной работы многих читателей, состояние семафора проверяет 'атель, входящий в критический раздел, в котором нет других чита в критическом разделе уже находится хоть один читатель, то другой ~ступает к работе, не ожидая семафора изет.

Для отслеживания к „и~ этелей в критическом разделе используется глобальная переменная ,,-;1 .ссг~, а для гарантии корректного ее обновления — семафор х. Л„стинг 5.19. Решение задачи читателеИписателей с использованием семафоров (приоритетное чтение) газ: .*ось па; геасег () ;511е (~гие) ка11. (х); геассоцй~++; 1й (геабсоппг.==1) ка3 г. (Изей~); э1дпа1 «х); ЕГАБЛ) 1Т ( ); ка1~ ('х); гиабсо~~пС--; (геас(сосо~=.-=б) з1опа1 (~~зек.); эьопа1(х); чс1с и".Тсег () ( к!к11е (багие) ~а1с(~век~); ХЕ1ТК(Л)ХТ ( )," э~опз1 (~зек.) '~с1б л~а1;- () геа,)сс:;.пс = б; ~ .- гЬ~я и «Гез 1ех' ьгх1ег) ПРиоРитетная запись предыдущем решении приоритетной операцией являлось чтение данных. Вели с свин читатель получил доступ к данным, то возможна ситуация, когда пиатель в течение долгого времени не получит возможности внести изменения— пока хот хотя бы один из читателей будет находиться в критическом разделе.

В листинге 5.2О показано решение, обеспечивающее выполнение следуюц( "о с один условия: ни один читатель не сможет обратиться к данным, если хотя бы ., нме, писатель объявил о своем намерении произвести запись. Для этого к щнмся в программе семафорам и переменным процесса писателя добавле~л~дующие: Часть. 2.. а 5. Параллельные вычисления: взаимоисключения...

с п~а1п ( ) геа~~соип~ .= жг1'ессип" =- 0; па Ьец1п(геабег, иг1пег); х еассоыпг-~ хг1( ессппс нрпсгех1ру3~я1р гяе~Г. = 1 ~ кяеп =. 1 ~ б геаЛег() В системе имеютсн только читатели В снгтеме нмеются только писатели В снстеме имеются как читатели, так в писатели„первьгм выполня- ется чтение В системе имеются как читатели, так н писатели; первой выполняет- ся запись ъп',,~ геабег(1п( '"еяяаяе гп~яд; ")~~1е(аггее) Часть 2. семафор гяехп, запрещающий вход читателей, если хотя бы один "4 об ьявпл о намерении произвести запись; переменная иг1гесоипг, обеспечивающая корректность установки гяегл семафор у, гарантирующий корректность изменения переменной жг1песо -„тинг 5.20. Решение задачи читателей!писателей с использованием семафоров (приоритетная запись) ма1г(е) 1(-(гяею); ка1(.(х)' геа~сспп~++.

(геаС(соспГ==1) хаус(ияею); яуспа1,'х); яуппа1(гяею); я1с)па1(а); РВАГЛЗНТТ(); ха1~ (х); геасспппп ) 1г (..еас(ссппс==С) я1(1па1 (хяе~п) р я' спа1 (х); иа1г(у); ' г1гесоип1++; 1Й (ьг11есспп1==-1) ыа1г(гяею); яуппа1(у); мазе(кяеп~)) КВ1ТВ()НХТ()' я1ппа1(ъяеп~); ма1г.(у); ьг11ессппг.- г 1Х (жгтгессипг.==0) яьппа1(гяетп); я1спа1(у); В процессе читателя требуется один дополнительный семафор. На основании семафора гяе~п нельзя создавать длинную очередь, иначе сквозь нее не смо-прорваться" писатели.

Для осуществления ограничения, когда семафор приостанавливает только один процесс чтения, служит семафор, блокиую~цнй остальных читателей. В табл. 5.5 приведены возможные ситуации в „энной системе. ч'аблипа 5.5. Состояния очередей процессов в программе нз листинга 5.20 ° Устанавливается няев е Очередей нет Устанавливаются ъяеГ1 н х яегй ° Очередь писателей на няег, ° няеп устанавливается читателем ° ваяет устанавливается писателем ° Все писатели становятся в очередь на чяеп ° Один читатель становится в очередь на гяеп ° Остальные читатели становятся в очередь на ' ня ею устанавливается писателем ° гяев устанавливается писателем Все писатели становятся в очередь ня няеп ° Один читатель становится в очередь на гяе~п ° Остальные читатели становятся в очередь на я В листинге 5.21 приведено еще одно решение задачи с приоритетной записью* Реализованное с использованием системы передачи сообщений.

В этом слу"ае имеется управляющий процесс с правом доступа к совместно используемым данным. Прочие процессы запрашивают право доступа к данным, посылая сообщение управляющему процессу. Запрашивающий процесс получает право доступа посредством ответного сообщения "ОК'*, а после завершения работы сообщает оба, этом специальным сообщением 11п я).ед. у управляющего процесса имеются тр" почтовых ящика, по одному для каждого типа получаемых им сообщений. )аист~ ~~ни~ о 21.

Решение задачи читателей/писателей с использованием системы передачи сообщений аа 5. Параллельные вычисления: нзаимоисключенин... почевые термины Монитор Неблокирующие операции Параллельные вычисления Параллельные процессы Передача сообщений Пережидание зан Семафор Сильный семафор .„.. Слабый семафор Сопрограммы ~арный семафор жирующие операции ~имоблокировка имоисключение юдание 1нтрольные вопросы 1.1. Перечислите основные проблемы, связанные с концепцией паралл вычислений. 1.2. Каковы три различных контекста, в которых проявляются парал вычисления? 1.3.

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

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

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

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