> man operating_systems
Переход на страницу  [1] 2
Модераторы: Roman I Khimov, Wanderer, Dron
Автор Добавил
Dreamer
Среда 11.05.2005 20:14

ID пользователя #9
Зарегистрирован: Воскресенье 04.07.2004 14:01
Сообщений: 235
Где и как используются семафоры и мьютексы?

Жизнь на Линуксе есть!
Наверх
captain cobalt
Четверг 12.05.2005 00:20

ID пользователя #12
Зарегистрирован: Воскресенье 04.07.2004 21:44
Местонахождение: /ru/perm
Сообщений: 144
Вероятно, они используются в операционных системах с вытесняющей параллельностью для синхронизации конкурирующих активностей.

bluebottle.ethz.ch - Bluebottle. Швейцария. Сделано с умом.
Наверх
Сайт
nnivanov
Четверг 12.05.2005 07:39

ID пользователя #253
Зарегистрирован: Вторник 29.03.2005 01:18
Местонахождение: Russia, Velikiy Novgorod
Сообщений: 123
Представь себе ресурс (например, аппаратное устройство). Если два процесса захотят использовать один и тот же ресурс, то им придется придумать способ, как его поделить. Тогда и накладывается семафор, который заставляет один процесс подождать, пока другой произведет сношение с ресурсом. Представь себе железнодорожный переезд: по нему может ехать или поезд или автомобиль, но не оба сразу: у того, кто не должен ехать, горит красный семафор.

- Зачем мотоциклу реактивный двигатель?
- Да потому что нам так нравится!
Discovery Channel
Наверх
Сайт
Dreamer
Четверг 12.05.2005 15:47

ID пользователя #9
Зарегистрирован: Воскресенье 04.07.2004 14:01
Сообщений: 235
А как семафоры и мьютексы используются для синхронизации? И вообще: в чем отличие семафоров от мьютексов?

Жизнь на Линуксе есть!
Наверх
Dron
Четверг 12.05.2005 16:41


ID пользователя #13
Зарегистрирован: Понедельник 05.07.2004 11:16
Местонахождение: Москва
Сообщений: 651
Ну мьютекс - это чисто лок...

А семафор - это типа очередь ожидающих события... хотя я и сам в этих делах не особо...

С локами (mutex lock) все просто...

Есть некая переменная...

Послушай деточка сказку... (Это я образно, нехотя никого обижать)

Стоит теремок...
Идет мышка норушка...
- Кто в теремочке живет?
тишина в ответ...
И стала мышка жить в теремочке...

Идет лягушка квакушка...
- Кто в теремочке живет?
- Я, мышка норушка...
- Ну, будем ждать...

Приходит лягушка через день, таж фигня...
И на следующий...
И ситуация повторяется день за днем...
dead lock? подумала лягушка...


[ Редактирование четверг 12.05.2005 17:09 ]

Одну из двух вечных российских проблем можно, в принципе, решить с помощью асфальтоукладчиков и катков. А вот с дорогами, конечно, будет труднее...

Андрей Валяев
Наверх
Сайт
Dreamer
Четверг 12.05.2005 17:55

ID пользователя #9
Зарегистрирован: Воскресенье 04.07.2004 14:01
Сообщений: 235
Чуть не уснул Короче, надо Таненбаума покупать.

Жизнь на Линуксе есть!
Наверх
Dron
Четверг 12.05.2005 18:18


ID пользователя #13
Зарегистрирован: Понедельник 05.07.2004 11:16
Местонахождение: Москва
Сообщений: 651
Вечером могу зацитировать Таненбаума...

Одну из двух вечных российских проблем можно, в принципе, решить с помощью асфальтоукладчиков и катков. А вот с дорогами, конечно, будет труднее...

Андрей Валяев
Наверх
Сайт
Dron
Пятница 13.05.2005 09:38


ID пользователя #13
Зарегистрирован: Понедельник 05.07.2004 11:16
Местонахождение: Москва
Сообщений: 651
Во! зацитировать не могу (книжки под рукой нету), но могу объяснить...

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

Причем следует заметить, что начальное значение может быть больше 1... например 3 или 10... соответствующее ограничение будет действовать на клиентов... (типа не более 10, остальные ждут)...

Теперь мьютексы... это упрощенная версия семафора, у которого начальное значение всегда 1. то есть мьютекс либо открыт либо закрыт, и пропустить может только одного клиента.

Вот.. (внятно объяснил?)

Одну из двух вечных российских проблем можно, в принципе, решить с помощью асфальтоукладчиков и катков. А вот с дорогами, конечно, будет труднее...

Андрей Валяев
Наверх
Сайт
Dreamer
Пятница 13.05.2005 16:40

ID пользователя #9
Зарегистрирован: Воскресенье 04.07.2004 14:01
Сообщений: 235
Неплохо. Но Таненбаума купить стоит

Жизнь на Линуксе есть!
Наверх
Dron
Пятница 13.05.2005 17:24


ID пользователя #13
Зарегистрирован: Понедельник 05.07.2004 11:16
Местонахождение: Москва
Сообщений: 651
Купи... у каждого осеписателя эта книжка должна лежать на столе. ну или на полке стоять... (больно толстая)

Хотя че там... IA32 Intel's Architecture Software Developer Manual в общей сложности гораздо толще. Ж)

Одну из двух вечных российских проблем можно, в принципе, решить с помощью асфальтоукладчиков и катков. А вот с дорогами, конечно, будет труднее...

Андрей Валяев
Наверх
Сайт
Переход на страницу  [1] 2  

Перейти:     Наверх

Транслировать сообщения этой темы: rss 0.92 Транслировать сообщения этой темы: rss 2.0 Транслировать сообщения этой темы: RDF
Powered by e107 Forum System

© OSRC.info, 2004-2010.
Авторские права на любые материалы, авторы которых явно указаны, принадлежат их авторам. По вопросам публикации таких материалов обращайтесь к авторам.
Авторские права на любые другие материалы принадлежат OSRC.info.
Сайт является помещением библиотеки. Копирование, сохранение на жестком диске или иной способ сохранения произведений осуществляются пользователями на свой риск.
При использовании материалов сайта ссылка на OSRC.info обязательна.