(2016) Ответы

PDF-файл (2016) Ответы Распределенные операционные системы (53854): Ответы (шпаргалки) - 8 семестр(2016) Ответы: Распределенные операционные системы - PDF (53854) - СтудИзба2019-09-20СтудИзба

Описание файла

PDF-файл из архива "(2016) Ответы", который расположен в категории "". Всё это находится в предмете "распределенные операционные системы" из 8 семестр, которые можно найти в файловом архиве МГУ им. Ломоносова. Не смотря на прямую связь этого архива с МГУ им. Ломоносова, его также можно найти и в других разделах. .

Просмотр PDF-файла онлайн

Текст из PDF

Распределённые системыЛекторы: Крюков Виктор Алексеевич, Бахтин Владимир АлександровичДок собрали Синельников И., Клюшкина Е.Спасибо всем, кто помог с составлением этого дока!При большом количестве народа док может лагать, поэтому скачайте его передэкзаменом (Файл -> Скачать как).Если при ответе возникнут замечания к решениям, пишите, пожалуйста,комментарии. И заносите дополнительные вопросы, если будут.Ссылкиhttp://sp.cmc.msu.ru/courses/os/Всё, что нужно: ​https://goo.gl/Cjhq9GЛекции в одном файле: ​https://goo.gl/4nBWKHМодели консистентности (кратко): ​https://goo.gl/9a0REhАльтернативный док (NSFW на стр. 12): ​https://goo.gl/UovBS9esyr.org: ​esyr.org wikiМатериалы в гугл диске: ​https://goo.gl/CjbVtwПроцедура экзамена1. В билете 2 вопроса.

На подготовку 1 час.Далее отвечаете на билет, получаете дополнительные вопросы.2. Вопросы 2014 года актуальны.3. Можно пользоваться любыми материалами, но только при подготовке кответу.Тема-11.Какиеаппаратныемеханизмынеобходимыдляорганизациимультипрограммного режима? Как обеспечить мультипрограммный режим безэтих механизмов? Как обеспечить, если отсутствует только один из этихмеханизмов?Требуются: защита памяти, прерывания, привилегированный режим, таймер.Если нет таких механизмов, то можно использовать виртуальную машину - единыйинтерпретатор, исполняющий программы пользователей и обеспечивающий эмуляциювсех этих механизмов.Если отсутствует только один из перечисленных механизмов, можно обойтись безполной эмуляции. Например, защиту памяти будет осуществлять компилятор, причём онможет проверять не всякое обращение, а один раз проверить корректность какого-либоиндекса или указателя на область памяти, а затем использовать его без проверок.Другой пример: если нет таймера, вместо полной эмуляции и увеличения счётчикапри каждой команде можно увеличивать счётчик сразу на несколько единиц (например, надлину цикла).Тема-2При решении задач по теме 2 обратить внимание на следующее.1.

Нельзя модифицировать общие переменные вне КС.2. При наличии вложенных КС или запросов нескольких семафоров необходимоубедиться, что не могут возникнуть тупики.3. Нельзя обращаться к семафорам и событиям обычными операторами – толькопосредством операций, которые определены над ними (P, V, POST, WAIT, CLEAR).4. Нельзя освобождать свободный семафор и объявлять уже объявленное событие.5. Определять начальные значения семафоров и событий, если они должны бытьотличны от нуля (семафор занят, событие не объявлено).1.Имеется механизм двоичных семафоров.

Опираясь на него, реализуйтеP-операцию и V-операцию для общего (считающего) семафора. Активноеожидание освобождения семафора не допускается.Вариант 1struct DSemaphore {private:int s;public:BSemaphore access;BSemaphore wait;DSemaphore(semName_t name, int N) {s = N;access = 1;wait = 1;}DSemaphore(semName_t name) {}void P();void V();// создание владельцем семафора// Присоединение к семафору};void DSemaphore::P() {P(wait);P(access);s--;if (s>0)V(wait);V(access);}void DSemaphore::V() {P(access);s++;if (s==1)V(wait);V(access);}Вариант 2Int S = N;Semaphore access = 1;// семафор для монопольного доступа к SSemaphore wait = 1; // при помощи него мы будем реализовывать ожиданиеP(int S) {wait.P();access.P();S--;if (S > 0)wait.V();access.V();}V(int S) {access.P();S++;if (S == 1)wait.V();// если мы последним вошли в критическую секцию// (S == 0) - залочили после себя всех// мы освобождаем единственное место - надо разлочить// ожидающих, если мы освобождаем второе и далее место// - значит очереди нет, никого разлочивать не надоaccess.V();}2.Имеется команда TSL и команда объявления прерывания указанномупроцессору.

Опираясь на них, реализуйте на мультипроцессоре P-операцию иV-операцию для двоичного семафора. Активное ожидание освобождениясемафора не допускается.На одном процессоре может быть много процессов – активных и заблокированных(например, по ожиданию семафора). Команда TSL нужна для взаимного исключения,чтобы операционные системы одновременно не стали работать с очередями процессов изначениями семафоров. Для этого в начале операционные системы договариваются(командой TSL).При освобождении семафора разблокируетсяпервый процесс из очередиожидающих. Это происходит на том процессоре, на котором выполнена операцияосвобождения, и надо известить о разблокировании все другие процессоры (или одинконкретный, на котором должен выполняться разблокированный процесс) – для этогокоманда прерывания.Привязан ли процесс к процессору? Привязка позволяет повторно использовать кэшпроцесса, сохранённый на “его” процессоре, однако при этом появляется опасностьпростоя свободного процессора, не предназначенного для разблокированного процесса.Подводя итог: прерывание необходимо при освобождении семафора.Решение:Tsl(r, s) делает [r = s, s = 1] – это неделимая операция.Enter_region:// P-operationTsl reg, flagCmp reg, #0Je Go<Ждем прерывание>Go:RetLeave_region:// V-operationMove flag, #0<Отправляем сигнал>Ret3а.

Имеется механизм двоичных семафоров. Опираясь на него, реализуйтеоператоры POST(имя переменной-события) и WAIT(имя переменной-события).Активное ожидание события не допускается.Основное отличие событий от семафоров в том, что при объявлении одного событияразблокируются сразу несколько ожидающих его процессов, ресурс не исчерпывается.Суть операции Post: освободить семафор (V).Суть операции Wait: запросить семафор; нам его дадут; но нужно также освободитьего для других ожидающих процессов (P + V).Начальное состояние: семафор захвачен.Semaphore event;//Должен быть в захваченном состоянииPost(Semaphore event) {V(event);}Wait(Semaphore event) {P(event);V(event);}3б.

Оцените, во сколько раз нижеприведенный алгоритм метода последовательнойверхней релаксации можно выполнить быстрее, чем последовательный, есличисло процессоров мультипроцессора = N, время выполнения одного оператораприсваивания (​A[i][j]=....) равно 1, временами выполнения остальных операторовможно пренебречь.float A[ L1 ][ L2 ];semaphore s[ L1 ][ L2 ];// массив двоичных семафоров с нулевым начальным// значениемfor ( j = 0; j < L2; j++) { post( s[ 0 ][ j ]); }parfor ( i = 1; i < L1-1; i++)for ( j = 1; j < L2-1; j++) {wait( s[ i-1 ][ j ]);A[ i ][ j ] = (A[ i-1 ][ j ] + A[ i+1][ j ] + A[ i ][ j-1 ] + A[ i][ j+1 ]) / 4;post( s[ i ][ j ]);}Важно объявить порядок распределения витков цикла между процессами.Пусть 1-ый процесс обрабатывает витки 1, N+1, 2N + 1, …2-ой процесс - витки 2, N+2, 2N+2, …т.е.

распределение круговое.Время последовательного выполнения программы:T​L​=(L1-2)*(L2-2)Рассмотрим время выполнения параллельной программы. Если будем рассматриватьвсе случаи, то решение получится громоздким, поэтому ограничимся следующимслучаем:N ≤ L1-2; N ≤ L2-2; (L1-2)modN=0;Первый шаг – 1 присваивание;Второй шаг – 2 присваивания;……………………………..N-ый шаг – N присваиваний.Т.е.

первые N-1 шага работают не все процессоры. Аналогично последние N-1 шага тоже самое. Первые N-1 шага назовем временем разгона. Последние N-1 шага временемторможения. За время разгона обработаем N*(N-1)/2 ячеек. За время торможениястолько же. Разгон(торможение) занимает T​A​=(N-1) времени.За разгон+торможение обработаем N*(N-1) ячеек и это займет 2*(N-1) времени.В оставшееся время работают все процессоры.

Назовем это время полногопараллелизма. Осталось обработать (L1-2)*(L2-2)-N*(N-1) ячеек.Время полного параллелизма T​FP​ = ((L1-2)*(L2-2)-N*(N-1)) / N;Время параллельной программы:T​P​ = T​FP​+2*T​A.Ответ:Ускорение A = T​L​/T​P ​= (L1-2)*(L2-2)/(((L1-2)*(L2-2)-N*(N-1)) / N + 2*(N-1))​ =​= N * (L1-2) * (L2-2) / (N*(N-1)+(L1-2)*(L2-2)).4.Имеется механизм двоичных семафоров. Опираясь на него, реализуйте задачучитателейи писателей (алгоритмы предоставленияправ доступапроцессам-читателям и процессам-писателям):Процесс-писатель должен получать исключительный (монопольный) доступ кбазе данных (других писателей или каких-либо читателей быть не должно).Произвольное число процессов-читателей может работать одновременно, нолюбой читатель может получить доступ только при отсутствии работающихписателей.Запросы на доступ должны удовлетворяться “справедливо” – в порядке ихпоступления (можно исходить из “справедливости“ удовлетворения запросов надвоичные семафоры).semaphore reader;semaphore writer;semaphore access;int rd=0;Write_enter() {Write_leave() {P(reader);V(reader);P(writer);V(writer);}}5.Read_enter() {P(reader);P(access);rd++;if (rd==1)P(writer);V(access);V(reader);}Read_leave() {P(access);rd--;if (rd==0)V(writer);V(access);}Какие модели консистентности памяти удовлетворяют алгоритму Деккера(алгоритм без каких-либо изменений будет работать правильно), а какие нет?Объясните ответ.Алгоритм позволяет двум потокам выполнения совместно использоватьнеразделяемый ресурс без возникновения конфликтов, используя только ​общую памятьдля коммуникации.flag[0] := falseflag[1] := falseturn := 0// or 1p0:p1:flag[0] := true​while​ flag[1]=true​if​ turn ≠ 0 {flag[0] :=​while​ turn}flag[0] :=}}{false≠ 0 {true// critical section...// remainder sectionturn := 1flag[0] := falseflag[1] := true​while​ flag[0]=true {​if​ turn ≠ 1 {flag[1] := false​while​ turn ≠ 1 {}flag[1] := true}}// critical section...// remainder sectionturn := 0flag[1] := falseМодели консистентности:МодельСтрогаяДа, так как данные полностью согласованы.ПоследовательнаяДа, так как процессоры видят записи в едином порядке.ПричиннаяНет, так как процессы независимо пишут в память.Причинности между записями не имеется.

Процессы могут неувидеть записи, сделанной на другом процессоре, и войти вКС.PRAMНет, т.к. процессы могут одновременно войти в КС(аналогично примеру в лекции про kill, где оба процессамогут быть убиты)ПроцессорнаяСчитая переменные flag[0] и flag[1] разными, припроцессорной консистентности алгоритм работать не будет. Ктому же каждый процесс пишет в свой флаг, а чужой толькочитает.Слабая/По выходу/По входуНет, так как необходимо выделение синхронизационныхпеременных и модификация кода.6.Какие модели консистентности памяти удовлетворяют алгоритму Петерсона(алгоритм без каких-либо изменений будет работать правильно), а какие нет?Объясните ответ.Алгоритм:flag[0]flag[1]turn= 0= 0= 0P0: flag[0] = 1turn = 1​while​( flag[1] ​&&​ turn == 1 );// do nothing// critical section...// end of critical sectionflag[0] = 0P1: flag[1] = 1turn = 0​while​( flag[0] ​&&​ turn == 0 );// do nothing// critical section...// end of critical sectionflag[1] = 0Модели консистентности:МодельСтрогаяДа, так как данные полностью согласованы.ПоследовательнаяДа.

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