Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / Семафоры, прошу помочь! / 5 сообщений из 5, страница 1 из 1
04.11.2010, 15:53
    #36938111
Семафоры, прошу помочь!
Здравствуйте, люди грамотные!
в Unix часто говорят про симофоры, прошу помогите разобраться с теорией, всего несколько вопросов которые нигде не могу найти

1. Диаппазон симофоров 0 -32768, вероятность что мой симофор совпадёт с другим (другой программы) очень велика, как быть?

2. Симофор будет жить когда систему перезагрузят?


3. Только число можно записать в симофор?


спасибо за ответы!
...
Рейтинг: 0 / 0
05.11.2010, 15:20
    #36939285
keinW
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Семафоры, прошу помочь!
1. Никак. Семафоры регулируют доступ к ресурсам внути одного процесса.
2. Нет. Семафор - это часть программного кода.
3. Семафор суть флаг, с помощью которого можно смоделировать автомат. Ваш вопрос не имеет смысла.

ПыСы.: Прочтите хотя бы статью про семафоры в википедии и пару статей по "параллельному" программированию. И хотя бы выборочно книгу Таненбаума "Операционные системы".
...
Рейтинг: 0 / 0
05.11.2010, 18:26
    #36939519
ДохтаР
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Семафоры, прошу помочь!
keinW1. Никак. Семафоры регулируют доступ к ресурсам внути одного процесса.


Не правда.
man ftok
И можно подключать где угодно.
Если есть права.

keinW
2. Нет. Семафор - это часть программного кода.

Опять неправда.

ДА , пока кто то, кто подключил набор
не сделает
int semctl(semid, semnum, IPC_RMID );
И у него есть на это права.

То есть может жить с момента создания и до перезагрузки.


keinW
3. Семафор суть флаг , с помощью которого можно смоделировать автомат.


s/флаг/счетчик/

притом с гарантией, синхронизации кешей всех процессоров правильным значением.



keinW
ПыСы.: Прочтите хотя бы статью про семафоры в википедии и пару статей по "параллельному" программированию. И хотя бы выборочно книгу Таненбаума "Операционные системы".

присеодиняюсь :)
...
Рейтинг: 0 / 0
15.11.2010, 12:59
    #36956782
keinW
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Семафоры, прошу помочь!
ДохтаР,

по 1.: так глубоко в дебри лезть не стал.
по 2.: вопрос что имеет ввиду человек под перезагрузкой? мне подумалось, что перезагрузка ОСи, судя по характеру вопросов. :)
...
Рейтинг: 0 / 0
15.11.2010, 18:44
    #36958067
ДохтаР
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Семафоры, прошу помочь!
keinW,

1. Если известен ключ, то подключить может любая прога.
Что бы подключить набор , нужно либо ключ знать явно, либо
запустить ftok с теми же параметрами ,что и прога, которая этот
набор создавала.
man semget

2. Прога может завершиться , не удаляя за собой семафоры,
вновь запущенная их увидит( подключится к набору).
Во время перезагрузки ОС ядро убьет этот набор.
Можно убить вручную
man ipcrm.
...
Рейтинг: 0 / 0
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / Семафоры, прошу помочь! / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]