The UNIX and Linux Forums  


Go Back   В UNIX и Linux Форумы > Топ форумы > UNIX перспективных И опытных пользователей
.
Google unix.com



UNIX перспективных И опытных пользователей Эксперт-на-экспертов. Узнайте современные UNIX, UNIX команды, Linux, операционные системы, системы управления, программирование, Shell, Shell скриптов, Solaris, Linux, HP-UX, AIX, OS X, BSD.

Подробнее UNIX и Linux Темы форума можно найти полезные
Нить Резьба для начинающих Форум Ответы Последнее сообщение
Pro * C программа для SQL запросов с использованием понятия Threading user71408 UNIX для чайников Вопросы И Ответы 0 05-21-2008 03:11 AM
Луна концепции Прем HP-UX 1 02-22-2007 05:02 PM
Наличие трудностей, связанных с концепцией UNIX. Пожалуйста, помогите! Alon UNIX для чайников Вопросы И Ответы 4 01-11-2007 11:42 AM
IPTABLES Firewall концепция поможет Брэдли Портер UNIX для чайников Вопросы И Ответы 1 01-02-2007 05:39 AM
Концепция точка_монтирования Викас Суд UNIX для чайников Вопросы И Ответы 3 06-08-2006 07:31 PM

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered By Powered by Google
 
LinkBack Резьба Инструменты Искать в этом Thread Оценить Thread Режимы дисплея
Old 08-28-2007
maverix maverix is offline
Зарегистрированный пользователь
  
 

Регистрация: Июнь 2007
Сообщений: 12
семафоре концепции

Привет Все,

Я иду через семафор концепции и есть сомнения в отношении того же, и надеемся получить резолюцию здесь.

У меня есть файл, который имеет несколько записей.
Я хочу написать заявление (в C), которая будет в состоянии сделать одновременное чтение / запись по этим отчетам.

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

Я путать и склонны думать, что "не будет этой концепции приведет к более серьезной проблемой?" как еще один процесс, на самом деле хотят читать / писать различные записи на один и тот же файл имеет ждать блокировки, чтобы высвобождаемые в результате процесса, который получил замок. Если это так, думаю, в ситуации, когда мы имеем большое количество процессов (скажем, более чем 1000), желающих делать для чтения / записи на одном / разных записей. Не приведет ли это понятие замедлить применения?

Пожалуйста, дайте мне знать, если я не поняла концепцию и пролить свет на это ...

Привет
maverix

Последний раз редактировалось maverix; на 08-28-2007 12:35 PM.. Причина: удалить мое имя в подписи
Old 08-28-2007
Джим Макнамара jim mcnamara is offline Forum Staff  
...@...
  
 

Регистрация: Февраль 2004
Местонахождение: Н. М.
Сообщения: 5789
Вы не можете сказать, что UNIX вы работаете, но рассмотреть файл замки вместо семафорами.

начинаться с "человеком стадо", если вы на Linux.
В противном случае, человек fcntl, а затем искать FD_SETLK или FD_GETLK начать.

В зависимости от ОС вы можете получить файл замков на различных уровнях; структуры стада может обеспечить блокировку часть файла.

Семафоры в основном используется для доступа к общей памяти.
Old 08-28-2007
Neo's Avatar
Neo Neo is online now Forum Staff  
Администратор
  
 

Регистрация: Sep 2000
Место проведения: Азиатско-Тихоокеанский регион
Сообщения: 6784
Семафоры не неразрывно связана с памятью, процессы, код или файлы.

Семафоры флаги, что процессы, в том числе процессов, файлов или доступа к общей памяти, используйте знать гарантированный статус, который часто называют "атомным".

Скажем, вы пишете общая память приложений. Вы не хотите читать или писать на общую память, когда другой процесс написания к нему (если этот процесс записи). Кроме того, вы не хотите, чтобы прочитать файл, который изменил и т.д. Таким образом, вы создаете семафоре и вы назначить двух состояний:

- Семафорами, означает, что процесс записи в файле дескриптора открытым.

- Семафоре четкие, означает, что нет никаких процесс записи доступа к общей памяти.

Теперь, каждый процесс, который получает доступ к общей памяти должен проверить состояние семафора, когда они (она) открыть файл (в данном случае общей памяти) для доступа.

Есть много приложений для семафорами для межпроцессного сообщения, не ограничиваясь общей памяти, но в общей памяти, несомненно, необходимы для атомных флаги межпроцессного сообщений.

Подумайте, как этот человек на одной дорожке поезда отслеживать проведение флага. Один поезд летит вниз по дорожке в 200 км / час в одном направлении и других поезд движется в направлении той же дорожки сегменте с противоположного направления. Существует переключателем на одном разделе дорожке, когда один поезд может ждать, пока другие пропуска. А switchman, в старые времена, будет проводить вверх флаг (впоследствии сделали с огнями) предоставить статус обоих поездов.

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

То же самое справедливо и в отношении взаимодействия сообщений, семафоры и гарантируются в UNIX / Linux ядра для атомного, мертвых по праву.

Файл замки не гарантируются ядра для атомного, насколько я помню, так что используйте их с осторожностью.
Old 08-29-2007
maverix maverix is offline
Зарегистрированный пользователь
  
 

Регистрация: Июнь 2007
Сообщений: 12
Привет Джим и Neo,

Благодарим Вас за ответы ...

Я использую RHEL 4.
Я использовал lockf () и овец () системные вызовы, и кажется, отлично работает.

Тем не менее, я хочу использовать семафоры, чтобы получить тот же эффект. Правила посещения ... Я делаю это только для того, чтобы понять и изучить концепции. Ее не жить / промышленных проектов.

Использование lockf () и овец (), я имел возможность заблокировать определенные разделы файлов в зависимости от файловой позиции мы предоставляем. Так, например, применение является простым банковских приложений и баз данных я использую это просто файл, который имеет ряд записей, которая содержит информацию. Использование lockf (), я имел возможность блокировать определенные записи по получению счета от пользователя так, что другой процесс, желающих получить доступ к другой записи, не имеют каких-либо вопросов при чтении / записи на другую запись.

Мой вопрос заключается в том, как получить тот же эффект с помощью семафоров. Если число одновременных процессов больше, то каждый процесс будет ждать получения семафором войти в критический раздел кода, не правда ли?

привет
maverix
Old 08-29-2007
Neo's Avatar
Neo Neo is online now Forum Staff  
Администратор
  
 

Регистрация: Sep 2000
Место проведения: Азиатско-Тихоокеанский регион
Сообщения: 6784
Я думаю, что вступление в Википедии Семафоров программирования Ответы Ваш вопрос .....
Old 08-29-2007
Портер porter is offline Forum Advisor  
Зарегистрированный пользователь
  
 

Регистрация: Январь 2007
Сообщений: 2965
Цитата:
Первоначально Послано maverix View Post
Я использовал lockf () и овец () системные вызовы, и кажется, отлично работает.

Тем не менее, я хочу использовать семафоры, чтобы получить тот же эффект. Правила посещения ... Я делаю это только для того, чтобы понять и изучить концепции. Ее не жить / промышленных проектов.
Одна вещь, чтобы быть в курсе является тип вещи вы охранявших определяет тип semphore.

Если это файл, затем файл блокировки предпочтительнее, таким образом, даже если файл находится на NFS громкости, блокировки и совместного-прежнему будет работать.

Если дело в единый процесс, и обмен между нитями тогда с использованием pthread_mutex / pthread_cond и др..

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

Я предлагаю чтение ничего У. Ричард Стивенс по этому вопросу.
Old 08-30-2007
maverix maverix is offline
Зарегистрированный пользователь
  
 

Регистрация: Июнь 2007
Сообщений: 12
Talking

Привет Все,

Спасибо за ваш вклад.

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

Я хотел бы изучать другие объекты КУМИ (еще до начала изучать :-)), и свяжемся с Вами, ребята с большим сомнением ...

привет
maverix

Последний раз редактировалось maverix; на 08-30-2007 06:15 AM.. Разум: удалили Smiley URL
Closed Thread

Закладки

Теги
Linux

Резьба Инструменты Искать в этом Thread
Искать в этом Thread:

Расширенный поиск
Режимы дисплея Оценить эту ветку
Оценить эту ветку:

Отправка Правила
Вы не может Начать новую нитей
Вы не может Почтовые ответы
Вы не может Почтовые вложения
Вы не может Редактировать Ваши сообщения

BB код быть На
Смайлики являемся На
[IMG] код На
HTML-код Вне
Trackbacks являемся На
Pingbacks являемся На
Refbacks являемся На




Часовой пояс GMT -4. Текущее время 06:43 AM.


Powered By: Справка, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Язык Переводы на питание от .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
В UNIX и Linux форумы Содержание Copyright © 1993-2009. Все права Reserved.Ad управления по RedTyger

Содержание соответствующие URL-адреса в vBSEO 3.2.0