Главная » Просмотр файлов » Спец часть (часть 2) (3 поток) (2015) (by Кибитова)

Спец часть (часть 2) (3 поток) (2015) (by Кибитова) (1161602), страница 10

Файл №1161602 Спец часть (часть 2) (3 поток) (2015) (by Кибитова) (Ответы на спец часть) 10 страницаСпец часть (часть 2) (3 поток) (2015) (by Кибитова) (1161602) страница 102019-09-19СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

/*количествостульев вв комнатекомнате ожиданияожидания*/*//*количествостульев/* количествоколичество стульевстульев вв комнатекомнате ожидания/*ожидания */*/#defineCHAIRS 55#defineCHAIRS#define CHAIRSCHAIRS 55#define/*переопределениетипа СЕМАФОРСЕМАФОР */*//* переопределениепереопределение типатипа/*СЕМАФОР *//*переопределениетипаСЕМАФОР*/typedefsemaphore;typedef int semaphore;typedef intint semaphore;semaphore;typedef/* наличие посетителей,ожидающихпарикмахера/*посетителей,ожидающихпарикмахерапарикмахера*/*//* наличиеналичие посетителей,посетителей, ожидающихожидающих*//*парикмахера*/semaphorecustomers=0;semaphore customerscustomers == 0;0;semaphoresemaphorecustomers= 0;/* количествоколичествопарикмахеров,ожидающих/*парикмахеров,ожидающихпосетителейпосетителей(0(0илиили1)*/1)*//* количествоколичество парикмахеров,парикмахеров, ожидающихожидающихпосетителей/*посетителей (0(0 илиили 1)*/1)*/semaphore barbers== 0;semaphorebarbers0;semaphore barbersbarbers == 0;0;semaphore/* семафорсемафор длядоступав критическуюсекцию/*для доступадоступакритическуюсекциюсекцию-контрольконтрользаза/*семафордлявв критическуюкритическуюконтрольза/*семафордлядоступавсекциюконтрользадоступомкпеременнойwaiting*/доступомкпеременнойwaiting*/доступомк mutexпеременнойwaiting */доступомпеременнойwaiting*/semaphoreк== 1;semaphoremutex1;semaphoremutex=1;semaphoremutexожидающих= 1;/* количествоколичествопосетителей*//*ожидающихпосетителей*/*//*количествоожидающихпосетителей/*количествоожидающихпосетителей*/intwaiting=0;intwaiting=0;int waitingwaiting == 0;0;int 11 В принципе возможно расширение задачи для случая N парикмахеров, в1 В принципе возможно расширение задачи для случая N парикмахеров,1В принципевозможнорасширениедля случаяN парикмахеров,незначительнымикоррекциямипрограмм,barbersзадачи– количествосвободныхпарикмахеров.

вэтом случае, свэтомэтомслучае,случае,с сВпринципевозможнорасширениезадачидляслучаяNпарикмахеров,внезначительнымикоррекциямикоррекциямипрограмм,программ,barbersbarbers– –количествоколичествосвободныхпарикмахеров. этом случае, снезначительнымисвободныхпарикмахеров.незначительными коррекциями программ, barbers – количество свободных парикмахеров.130130130130/* БрадобрейБрадобрей */*/void Barber(void)Barber(void){while(TRUE)while(TRUE){/*/* еслиесли customerscustomers ==== 0,0, т.е.т.е. посетителейпосетителей нет,нет, тотозаблокируемсязаблокируемся додо появленияпоявления посетителяпосетителя */*/down(&customers);down(&customers);down(&mutex);down(&mutex); /*/* получаемполучаем доступдоступ кк waitingwaiting */*//*/* уменьшаемуменьшаем кол-вокол-во ожидающихожидающих клиентовклиентов */*/waitingwaiting == waitingwaiting –– 1;1;up(&barbers);up(&barbers); /*/* парикмахерпарикмахер готовготов кк работеработе */*/up(&mutex);/*освобождаемресурсwaitingup(&mutex); /* освобождаем ресурс waiting */*/CutHair();CutHair(); /*/* процесспроцесс стрижкистрижки */*/}}}}/* Посетитель/*Посетитель */*/voidvoid Customer(void)Customer(void){{down(&mutex);down(&mutex); /*/* получаемполучаем доступдоступ кк waitingwaiting */*/if(waiting<CHAIRS)/*естьместодляожиданияif(waiting < CHAIRS) /* есть место для ожидания */*/{{/* увеличиваем кол-во ожидающих клиентов *//* увеличиваем кол-во ожидающих клиентов */waiting = waiting + 1;waiting = waiting + 1;/* если парикмахер спит, это его разбудит *//* если парикмахер спит, это его разбудит */up(&customers);up(&customers);up(&mutex); /* освобождаем ресурс waiting */up(&mutex); /* освобождаем ресурс waiting *//* если парикмахер занят, переходим в состояние/* если парикмахерзанят, переходимв состояниеожидания,иначе – занимаемпарикмахера*/ожидания,иначе–занимаемпарикмахера*/down(&barbers);down(&barbers);/*занять место и перейти к стрижке *//* занять место и перейти к стрижке */GetHaircut();GetHaircut();}}elseelse{{/*нет свободного кресла для ожидания – придется уйти *//*нет свободного кресла для ожидания – придется уйти */up(&mutex);up(&mutex);}}}} Процесс-парикмахер сначала опускает семафор customers, уменьшив тем самымПроцесс-парикмахерсначала опускаетcustomers,уменьшивтем тосамымколичествоожидающих посетителейна 1.

Еслисемафорв комнатеожиданияникого нет,онколичествопосетителей1. Если клиент,в комнатеожиданиянет,Затемто он«засыпает» ожидающихв своем кресле,пока не напоявитсякоторыйего никогоразбудит.«засыпает»своемв кресле,пока непоявитсяклиент,счетчиккоторыйего разбудит.Затемпарикмахер ввходиткритическуюсекцию,уменьшаетожидающихклиентов,парикмахервходитвкритическуюсекцию,уменьшаетсчетчикожидающихклиентов,поднимает семафор barbers, сигнализируя клиенту о своей готовности его обслужить, аподнимаетсемафорbarbers, сигнализируяклиентуо своейдействийготовностиего обслужить,потом выходитиз критическойсекции. Послеописанныхон начинаетстричь апотомвыходитизкритическойсекции.Послеописанныхдействийонначинаетстричьволосы посетителю.волосыПосетительпосетителю.парикмахерской входит в критическую секцию.

Находясь в ней, онПосетителькритическуюней, онпроверяет,есть ли парикмахерскойсвободные меставходитв зале вожидания.Еслисекцию.нет, то Находясьон простов уходитпроверяет,естьлисвободныеместавзалеожидания.Еслинет,тоонпростоуходит(покидает критическую секцию, поднимая семафор mutex). Иначе он увеличивает счетчик(покидаеткритическуюподнимаясемафорmutex).он посетительувеличиваетсчетчикожидающихпроцессов исекцию,поднимаетсемафорcustomers.ЕслиИначеже этотявляетсяожидающих процессов и поднимает семафор customers. Если же этот посетитель является 131131единственным в данный момент клиентом брадобрея, то он этим действием разбудитбрадобрея. После этого посетитель выходит из критической секции и «захватывает»брадобрея (опуская семафор barbers).

Если же этот семафор опущен, то клиент будетдожидаться, когда брадобрей его поднимет, известив тем самым, что готов к работе. Вконце клиент обслуживается (GetHaircut). 132 1.2.6.5 Способы решения проблем мультипрограммного режима: виртуальная8. Виртуальнаяпамятьпамять. Модели организации оперативной памяти. Перейдём теперь к проблеме организации, использования и управленияоперативной памятью. Рассмотренные выше проблемы перемещаемости программы поОЗУ и фрагментации памяти связаны с необходимостью наличия т.н.

аппаратавиртуальной памяти, т.е. аппаратного средства процессора, которое обеспечиваетпреобразование (установление соответствия) логических адресов, используемых внутрипрограммы, в те адреса физической оперативной памяти, в которой размещаетсяпрограмма во время выполнения.Что понимается под виртуальной памятью и виртуальным адреснымпространством? НеформальновиртуальноеБуферпрограмм, адресное пространство можно определитьожидающихначалаиспользуется внутри программ (написанных,как тоОСадресное пространство,котороеобработкиПрограмманаN1языках программирования высокого уровня).

Ведь когда программист пишетнапример,программу,оперируяиными 1адресами,V1своб.теми илиV1прог. он зачастую не задумывается, к каким1Программафизическим адресам эти адреса будут привязаны.В исполняемоммодуле используетсяПроблема фрагментации:V2прог.Программа N2Программа 2своб.Viпрог. > Vjадреса, i, j,существуютт.н. программная (логическая, виртуальная) адресация.Виртуальныесвоб.V22несмотря соответствияна то, что i:«вне машины».Соответственно,стоит проблема установлениямеждуnпрограммнойадресацией и физической памятью.

И эта проблемаза счет…V jсв об. решаетсяVi прог.…аппаратавиртуальнойпамяти.1.2.6.5j 1 режима: виртуальнаяПрограммаK Способы решения проблем мультипрограммного1.2.6.5Способырешенияпроблеммультипрограммногорежима:виртуальнаяРеализациейоднойизмоделейаппаратавиртуальнойпамятиявляетсяаппаратдеградациясистемыпамятьVKсвоб.Механизм базирования адресов основан на двоякой интерпретацииKпамятьбазированияадресов.теперьпроблемеорганизации,использованияадресови управленияVLпрог.ПрограммаL программы(Рис. 55)Перейдёмполучаемыхв ходек выполненияисполнительных(Aисп.прог.).Перейдёмтеперьк интерпретироватьпроблеме вышеорганизации,использованияи программыуправленияпамятью.РассмотренныепроблемыперемещаемостипоС оперативнойоднойстороны,его можнокак абсолютныйисполнительныйадрес,оперативнойпамятью.РассмотренныевышеперемещаемостипоОЗУ физическийи фрагментациипамятисвязаныспроблемынеобходимостьюналичия программыт.н. аппаратакогдаадресв некоторомсмыслесоответствуетисполнительномуадресуфиз.прог.аппаратногоОЗУи фрагментациис средстванеобходимостьюналичият.н.виртуальнойпамяти,т.е.процессора,котороеобеспечиваетпрограммы(Aисп.= Aпамяти).

связаныНапример,требуется«прочитатьячейкусаппаратаадресомисп.виртуальнойпамяти,т.е.аппаратногосредствапроцессора,котороеобеспечиваетпреобразование(установлениесоответствия)логическихпоадресов,используемыхвнутри(абсолютнымадресом)0»,или«передатьуправлениеадресувходавобработчикРис. 48.(установлениеФрагментация памяти.преобразованиесоответствия)логическихадресов,используемыхвнутрипрограммы,втеадресафизическойоперативнойпамяти,вкоторойразмещаетсяпрерывания». С другой стороны, исполнительный адрес программы можнопрограммы,в времяте адресафизическойоперативнойв которойразмещаетсяпрограмма вовыполнения.проинтерпретироватькак указалиотносительныйадрес, памяти,т.е.возникающиеадрес,зависящийот местаПосле того, как мыосновные проблемы,при исполнениипрограммавовремявыполнения.Что программыпонимаетсяв ОЗУпод (адресвиртуальнойпамятьюи виртуальнымадреснымдислокацииотносительноточкизагрузкипрограммы).программ, рассмотрим, какие аппаратные средства применяются для разрешенияИнымиэтихЧтоимеетсяпонимаетсяпод памятьвиртуальнойпамятьюи виртуальнымадреснымпространством?Неформальновиртуальноеадресноепространствоможноопределитьсловами,оперативнаясячейкамисномерамиот0донекоторогоL–1,и,проблем.прог.пространством?Неформальноадресноепространствоможноопределитькак то садресноепространство,используетсявнутри(написанных,начинаянекоторогоадреса виртуальноеK, котороерасположенапрограмма.ТогдапрограммадресAисп.внутринапример,наязыкахпрограммированияуровня).Ведь когдапрограммистпишеткакто1.2.6.3адресноепространство,котороеиспользуетсявнутрипрограмм(написанных,программыможнотрактовать,отступвысокогоот физическойячейкисрежима:адресомK на величинуСпособырешениякакпроблеммультипрограммногорегистровыепрог.

на языкахпрограмму,оперируятемиилиинымиадресами,онзачастуюнезадумывается,ккакимвнапример,программированиявысокогоуровня).ВедькогдапрограммистпишетAисп. . Для реализациимодели базирования используется специальный регистр базы,окнафизическимадресамэтиадресабудутпривязаны.Висполняемоммодулеиспользуетсяпрограмму,оперируятемиилиинымиадресами,онзачастуюнезадумывается,ккакимкоторый в момент загрузки процесса в оперативную память операционная системат.н. Однопрограммная(логическая,Виртуальныеадресасуществуютфизическимадресамэтибудутпривязаны.исполняемоммодулеиспользуетсяизболееилиадресаменеевиртуальная)новыхрешений,дляминимизациизаписываетначальныйадресзагрузки(т.е.адресация.K).ВпредназначенноеТогдареальныйфизическийадресфиз.прог.«внемашины».Соответственно,стоитпроблемаустановлениясоответствият.н.программная(логическая,виртуальная)адресация.Виртуальныеадресасуществуютнакладныхсвязанныхк >.подпрограммам, основаномеждунаполучается,расходов,исходя из формулыAисп.с обращениями= Aисп.

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

Тип файла
PDF-файл
Размер
8,18 Mb
Высшее учебное заведение

Список файлов ответов (шпаргалок)

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