Ветка для приема "Объяснений на пальцах"
Уважаемые участники конкурса! Пожалуйста, размещайте свои "объяснения на пальцах" в этой ветке форума. Для обсуждения конкурса, его правил, для вопросов судьям существует специальный тред.
На всякий случай, еще раз список терминов, которые необходимо объяснить:
Deadlock
Data Race
Lost Signal
Abandoned Lock
False Sharing
Critical section
Read/Write Mutex
Semaphore
Удачи!
Dmitry Oganezov |
На: Ветка для приема "Объяснений на пальцах"
Deadlock - перекрёсток, на котором ни одна из машин не может проехать, т.к. перед ней стоит машина, движущаяся в перпендикулярном ей направлении. С этим многие часто сталкивались в жизни.
Data race - тот же перекрёсток. В одном из направлений пробка. Машины, которые въезжают на перекрёсток на зелёный не успевают его покинуть, тем самым создавая препятствие для машин.
Lost signal - жена должна позвонить мужу и напомнить, чтобы он заплатил за квартиру. Она звонит, но звонок по ошибке перенаправляется не туда. Муж забывает заплатить.
Abandoned lock - есть комната с дверью. обычно мы заходим в комнату, закрываем дверь, что-то делаем там, открываем дверь, выходим. Если мы выйдем из комнаты через окно, дверь останется запертой - возникнет abandoned lock.
False sharing - студенты изучают предмет по учебнику. преподаватель обнаруживает в конце учебника ошибку, исправляет её и говорит студентам, чтобы те перечитали заново весь учебник.
Critical section - есть ресурс, с которым одновременно может работать только один человек, например, туалет. Человек заходит в кабинку, закрывается там, работает с туалетом, потом открывает кабинку, выходит.
Read/Write Mutex - стол в ресторане. подавать блюдо может только один официант за раз, пока он подаёт, гости ждут. когда блюдо подано, гости могут есть. количество гостей за столом ограничено.
Semaphore - администратор ресторана, следит за тем, чтобы в ресторан не заходило людей больше, чем есть свободных мест.
|
На: Ветка для приема "Объяснений на пальцах"
Read/Write Mutex - есть ресурс - эскалатор. Им одновременно пользуется [на чтение] несколько людей. Обслуживающему персоналу необходимо провести запись работы на эскалаторе. Они выставляют желтую табличку с сообщением о проводимых работах перед работающим эскалатором, ждут пока все люди, кто уже зашел на эскалатор доедут до конца, после чего останавливают его, производят работы. По завершении работ пускают эскалатор и снимают табличку. Люди, выстроившиеся в очередь перед табличкой заходят на эскалатоор и продолжают его эксплуатацию.
Не слишком сложно?
|
На: Ветка для приема "Объяснений на пальцах"
Я представил, что это нужно объяснить маленьким детям. Или как бы я это объяснил своей маленькой племяннице (не дай Бог ей знать, такие вещи :) ). Просьба отнестись с юмором :).
Deadlock
Мишутка очень любил мёд. Однажды сидя на зеленой лужайке и окунув в горшок с медом обе лапки, он подумал, как бы было вкусно и весело скушать мед с обоих лапок одновременно. Он весело засунул первую лапку себе в рот, и вдруг понял, что вторая лапка уже не влезет, но и вынуть первую он не мог, так как хотел скушать мед с обоих. Долго еще бедный мишутка промучился, пока не устал и поволился без сил.
Lost Signal
Однажды мишутка взобрался на высокую гору. Он хотел посмотреть на великий звездопад, что бывает раз в мишуткиной жизни. Но он опоздал и ещё бесконечно долго ждал, когда волшебное звездное сияние озарит ночную мглу.
Abonded Lock
Наступила долгая-предолгая вечная зима. Она наступила так неожиданно, что мишутка позабыл о своих братиках и сестрах и заперся в своем домике совсем один и уснул. Домик был закрыт навсегда и никто уже не мог попасть в него.
Critical section
У мишки была одна любимая полянка. Он очень любил на ней отдыхать в тишине и покое. Лесные звери знали, что как только мишка зашел на полянку, никто из них не должен следовать за ним. Но если мишка покидал свое излюбленное место и полянка пустовала, любой зверек мог вcласть отдохнуть там, но также только в одиночку. Никто не нарушал мишкиных правил, ибо все знали, что мишка очень строгий и может даже немного поколотить нарушителя - так сильно он любил свою полянку.
Mutex
Мишутка очень любил гулять по лесу и собирать ягоды. Всегда когда на его пути встречался красивый кустик с большими ягодками, он очень радовался и отмечал его своей именной табличкой, так чтобы никто из зверей не скушал ягоды. Потом, собрав немножко ягод в свою маленькую корзинку, мишка забирал табличку и уходил печь пирожки. Теперь любой зверек мог также полакомиться с этого замечательного кустика. Все уважали мишутку и знали, что он обязательно угостит всех своими вкусными пирожками с начинкой из этих ягодок.
Semaphore
И вот наступил долгожданный мишуткин праздник. Мишутка радовался этому событию и пригласил много своих друзей. В лесу он добыл большой горшок мёду. Друзей собралось так много, что у мишутки не оказалось достаточно мисок для всех, чтобы разлить в них мед. Но все были так счастливы, что согласились подождать, пока остальные гости поедят и начнут освобождать миски.
|
На: Ветка для приема "Объяснений на пальцах"
totmakov:Read/Write Mutex - есть ресурс - эскалатор. [skipped] Не слишком сложно?
Нормально! Вообще, тема транспорта, как я понимаю, будет раскрыта довольно широко :)
Dmitry Oganezov |
На: Ветка для приема "Объяснений на пальцах"
Да, похоже на вечный вопрос - Что первично? Вирус или Параллельное программирование....
Я думаю они как миры - всегда рядом, и как только пересекутся, то Deadlock.....
|
На: Ветка для приема "Объяснений на пальцах"
заходя в ванную, Анжелла забыла взять
с собой халат. обычно, она может выйти
в комнату и в неодетом виде, но пока она
была в ванной, в гости зашёл Антон,
которому Анжелла должна отдать флэшку,
которая лежит у неё в сумочке. сам Антон
в сумочку лезть отказывается, и требует,
чтобы флэшку отдала ему Анжелла, и без
флэшки он не уйдёт. Анжелла не может
выйти в комнату пока там Антон. Антон
ждёт, пока ему отдадут флешку, Анжела
ждёт ухода Антона, после которого она
может выйти и отдать
- Механизатор Иван Анатольевич
собирается поменять свечи в тракторе
Беларусь. Для этого ему необходимо,
чтобы двигатель был заглушен. Работая
без критической секции, есть вероятность,
что когда он выкрутит свечу и отойдёт
на пару шагов, чтобы её положить на
верстак, тракторист Пётр Аркадьевич
лихо вскочит в кабину трактора и заведёт
его. такая ситуация была бы неприятна
ни механизатору, ни трактористу. Поэтому
они придумали критическую секцию:
прежде, чем что-то делать с трактором,
Иван Анатольевич залезает в кабину и,
если там нет Пётра Аркадьевича
(EnterCriticalSection), снимает руль. Тракторист
же, садясь в кабину EnterCriticalSection(где мой
руль). Руль на месте — заводимся и едем!
-
в Главном Читальном Зале можно взять
газету, в которой освещаются самые
последние новости. Человек, берущий
газету, оставляет на столике жёлтый
жетон, положив газету на место, он жетон
забирает (Read Mutex). Такое случается редко,
но всё же происходит, что Главное
Правительство приказывает Главе
Главного Читального Зала поменять
содержание некоторых новостей. В этом
случае, Глава Зала кладёт на столик
Красный Жетон (Write Mutex). Если на столике
лежит Красный жетон, то все знают, что
газеты брать нельзя, а сдавать — можно.
Как только все заберут свои желтые
жетоны, Глава зала поменяет содержимое
всех газет, и заберёт Красный Жетон.
|
На: Ветка для приема "Объяснений на пальцах"
Semaphore Ленин на броневике: - Товарищи, на всех не хватит, поэтому будем выдавать по 10 патронов в одни руки!!! Семафор - подумал Дзержинский.
|
На: Ветка для приема "Объяснений на пальцах"
Semaphore Объявление в бане: Товарищи, шаек* только 50. Кому не хватает шайки, просьба оставаться у входа и ждать ее освобождения. Администрация (Semaphore) *- широкое и низкое ведро с ручками по бокам
|
На: Ветка для приема "Объяснений на пальцах"
A любит B, B любит C, а C любит A - Deadloсk, товарищи.
|
На: Ветка для приема "Объяснений на пальцах"
Новым годом навеяно :)
Critical section
Это когда ты в звонишь из захваченной телефонной будки своему сотому приятелю, чтобы поздравить его с праздником, а потом выходишь и с чувством выполненного долга, под зверскими взглядами из очереди к телефону, шлепаешь за мандаринами. :)
Abonded Lock
Это когда ты хочешь закусить салатом Оливье, а в нем лежит твой новогодний приятель, несколько минут назад весело вкушавший его. Что тут говорить, захватил ресурс и был снят с выполнения. :)
Lost Signal
Это когда ты проснулся уже за полночь, после хорошей подготовки к Новому Году, и готов еще выпить под бой курантов :) Придеться подождать как минимум год.
Deadlock
Ну это когда еду на Новый Год покупают женщины, а вино мужчины. И каждая группа ожидает ресурсы противоположной. :)
Ну или это когда ты весь год ожидаешь подарка от Санты, а Санта почему то весь год ожидает от тебя хорошего поведения.:)
Data Race
Это когда тебе наливают, а потом отвлекают, а в это время какой-то поршивец все выпивает. И весь процесс такой недетерменированный :)
Semaphore
Это когда ты следишь, чтобы рюмок было не меньше, чем гостей. Пусть со своими приходят, ну или ждут :)
| |