Voyager2K
Новичок
ftok(), shared memory
И так, люди добрые...
Поясните мне, такому малопросвященному, что есть что.
Для исползовния shmop_*() функций требуется сначала объявить область памяти т.е. указать некий ключ, режим, права и величину. Назначение всего кроме первого более менее понятно хотя с размером то же возникают вопросы.
Что же подразумевается под этим понятием ключа т.е. первого аргумента ф-ции shmop_open ? Порыл в инете :
нашел от таких смехатворно ни о чем не говорящих ответах моих на вопросы моих сотоварищей по незнанию:
http://www.linux.ru/conf/read.php?f=5&i=3263&t=3262
до описания понятия System V IPC:
http://www.sao.ru/hq/sts/linux/doc/lpg_rus/lpg_rus.html#G64
Однако еще куча вопросов все же никуда не девается:
1. действительно ли это представляет из себя лишь некий специфический идентификатор который можно выбрать себе как константу для последующего использования ?
2. Если у каждого объекта в линухе (а как в винде все это пашет тогда?) свой идентфикатор , как я понял он выглядит в стиле 0x0fff ,да плюс еще доп ключ в виде одной буквы, то это не так уж и много для поисания все возможных объектов в системе.
3. Если я себе выберу любой такой ключ, то я не могу быть уверен, что что-то другое потом не будет конфликтовать ?
4. Если я через ftok() передам некий файл, то получу УНИКАЛЬНЫЙ ключ и могу не беспокоится ? Или же в случае обращения в файлу любого приложения оно для своих нужд получит такой же ключ и получится неразбериха ?
5. Имеет ли значение какой файл передать ftok'у ?
6. Что подразумевается под разм еов в байтах блока памяти "расшаряного" ? Т.е. Это область в оперативке сразу помечается как занятая и другими приложениями использоваться не будет ? Е если не известно сколько в следующую минуту понадобится памяти 1-2 мб или 30-40 мб, то что ? Нельзя ли динмически выделять память ?
Вопросов дофига и полной кашей... ;(
И так, люди добрые...

Для исползовния shmop_*() функций требуется сначала объявить область памяти т.е. указать некий ключ, режим, права и величину. Назначение всего кроме первого более менее понятно хотя с размером то же возникают вопросы.
Что же подразумевается под этим понятием ключа т.е. первого аргумента ф-ции shmop_open ? Порыл в инете :
нашел от таких смехатворно ни о чем не говорящих ответах моих на вопросы моих сотоварищей по незнанию:
http://www.linux.ru/conf/read.php?f=5&i=3263&t=3262
до описания понятия System V IPC:
http://www.sao.ru/hq/sts/linux/doc/lpg_rus/lpg_rus.html#G64
Однако еще куча вопросов все же никуда не девается:
1. действительно ли это представляет из себя лишь некий специфический идентификатор который можно выбрать себе как константу для последующего использования ?
2. Если у каждого объекта в линухе (а как в винде все это пашет тогда?) свой идентфикатор , как я понял он выглядит в стиле 0x0fff ,да плюс еще доп ключ в виде одной буквы, то это не так уж и много для поисания все возможных объектов в системе.
3. Если я себе выберу любой такой ключ, то я не могу быть уверен, что что-то другое потом не будет конфликтовать ?
4. Если я через ftok() передам некий файл, то получу УНИКАЛЬНЫЙ ключ и могу не беспокоится ? Или же в случае обращения в файлу любого приложения оно для своих нужд получит такой же ключ и получится неразбериха ?
5. Имеет ли значение какой файл передать ftok'у ?
6. Что подразумевается под разм еов в байтах блока памяти "расшаряного" ? Т.е. Это область в оперативке сразу помечается как занятая и другими приложениями использоваться не будет ? Е если не известно сколько в следующую минуту понадобится памяти 1-2 мб или 30-40 мб, то что ? Нельзя ли динмически выделять память ?
Вопросов дофига и полной кашей... ;(