Описание тега binary-semaphore

2 ответа

Мониторинг реализации Hoare с использованием семафоров?

Это мой экзамен за 4 дня, и я только что говорил со своим лектором, и он был крайне неясен относительно этой части лекции, и я действительно боролся со многими студентами, как это понять. В основном, если вы хотите внедрить монитор Hoare с помощью с…
1 ответ

Средство futex вернуло неожиданный код ошибки и прервано

Я пытаюсь решить проблему столовой философов, используя семафоры. Философ сначала поднимает левую вилку, а затем правую вилку и по окончании еды опускает их. Я реализую это, используя 5 потоков по одному на каждого философа и 5 семафоров по одному н…
2 ответа

Реализация счетного семафора с использованием двоичного семафора

Я реализовал своего рода систему потоков пользовательского уровня. Мне нужна помощь с реализацией счетного семафора, использующего реализацию двоичного семафора (функции вверх и вниз, как описано ниже). Вот интерфейс моей реализации двоичного семафо…
1 ответ

Ошибка при компиляции кода 'двойного освобождения или искажения (выхода)' с использованием потоков в C?

Я пытаюсь сделать симуляцию вируса Эбола с помощью pthreads. Все работало очень хорошо, вплоть до семафорной части. Я получаю эту ошибку при компиляции кода: *** Error in `./ebola_serial': double free or corruption (out): 0x00007f49700008c0 *** *** …
14 дек '16 в 18:51
1 ответ

Обедающие философы, использующие бинарные семафоры

Может ли этот псевдокод решить проблему столовой философии с максимальным параллелизмом? Вот mutex является двоичным семафором, инициализированным в 1. Предполагается, что вилки пронумерованы от 0 до (N-1). Всего N философов пронумерованы от 0 до (N…
1 ответ

Управление порядком потоков с помощью семафоров в C

Я новичок в C, и я просто пытаюсь запустить этот фрагмент кода из книги Пачеко "Введение в параллельное программирование". И я просто не могу понять, как я должен реализовать инициализацию семафоров в main(), Являются &semaphores[dest] а также &…
14 дек '16 в 13:35
1 ответ

Процесс блокировки PHP до пробуждения или истечения времени ожидания

Я хочу, чтобы PHP-скрипт сам блокировался (т. Е. Ожидал без использования процессора, без опроса), пока не будет пробужден другим PHP-скриптом или не истечет определенный тайм-аут X секунд. Кроме того, я хочу, чтобы IPC работал в режиме двоичного се…
30 янв '15 в 13:17
0 ответов

Избегайте много времени, чтобы закончить сценарий "слишком много молока"

Ниже приведено простое решение "слишком большой проблемы с молоком". lock mutex; while (1){ lock_acquire(mutex); if (no milk) go and buy milk;//action-1 lock_release(mutex); } Проблема в том, что action-1 может занять много времени, и любой из проце…
29 июл '18 в 21:48
2 ответа

Как установить значение семафора POSIX в 1?

Я реализую семафор на языке c. У меня есть семафор подсчета POSIX. Я хочу присвоить ему значение. и я не хочу использовать Wait или Post. Могу ли я сделать это? Есть ли какая-нибудь функция типа setValue для семафора POSIX?
24 авг '15 в 19:53
3 ответа

Синхронизация между Семафором / Мьютексом и Printf

Я работаю над упражнением (см. Полужирный текст ниже) по семафорам и синхронизации для моего курса по операционной системе. Текст упражнения таков: Pthread семафоры и мьютексы Программа C gen_binary_numbers.c получает в командной строке целое число …
30 дек '16 в 15:55
1 ответ

Как синхронизировать процессы с помощью семафора

Скажем, у меня есть 3 процесса, включая родительский процесс, который я должен выполнить, я программирую в последовательности P3,P1,P2. Ребята, пожалуйста, помогите мне, как я могу начать вычисления с процесса P3. Мне нужно, как {0,1,2,3,4,5,.. макс…
05 апр '17 в 15:59
1 ответ

Как семафорная очередь защищена несколькими потоками?

В одном из интервью меня спросили... Wait(semaphore sem) { DISABLE_INTS sem.val-- if (sem.val < 0){ add thread to sem.L block(thread) } ENABLE_INTS Выше приведена реализация ожидания семафора (скопированная из другого потока). Как защищена очеред…
1 ответ

Семафор Основные операции

Прежде всего, пожалуйста, извините меня, если это не правильное место для моего вопроса. Я готовлюсь к экзамену, и это типовой вопрос, который был задан: Задача, заданная в предыдущем экзамене: Студенты решают встретиться и пойти посмотреть фильм. С…
06 авг '15 в 00:49
3 ответа

Двоичный семафор не работает, если release() предшествует acqu ()

Я пишу тестовый код, где я нашел, если мы положим release() до acquire() тогда функциональность двоичного семафора нарушена. Я проверил и нашел более одного потока проходит acquire() и увеличить счетчик до N, где N - количество потоков, что противор…
2 ответа

Использование бинарного семафора в коде

Определенное вычисление генерирует два массива a а также b такой, что a[i]=f(i) for 0 ≤ i < n and b[i] = g(a[i]) for 0 ≤ i < n, Предположим, что это вычисление разбито на два параллельных процесса X а также Y такой, что X вычисляет массив a а …
0 ответов

Принудительное переключение процесса с помощью семафора для измерения стоимости переключения процесса

Я пытаюсь измерить стоимость переключения процесса, и для этого я пытаюсь использовать семафор. Мне трудно понять, как это сделать. Может кто-нибудь помочь мне с алгоритмом или с идеями? Прямо сейчас я разветвляюсь, и у меня есть два оператора if, о…
39 ответов

Разница между двоичным семафором и мьютексом

Есть ли разница между двоичным семафором и мьютексом или они по сути одинаковы?
0 ответов

Нужен ли нам мьютекс в этом случае?

Решение Wikipedia для множественной проблемы "производитель-потребитель" использует мьютексы и семафоры. mutex buffer_mutex; semaphore fillCount = 0; semaphore emptyCount = BUFFER_SIZE; procedure producer() { while (true) { item = produceItem(); do…
1 ответ

Создание двоичного семафора, совместно используемого несколькими процессами (не потоками, Process Only) с использованием POSIX на языке C

Я делаю двоичный семафор, совместно используемый несколькими процессами (не потоками, только процесс), используя POSIX на языке C. если я создаю двоичный семафор, используя мьютекс, typedef struct BIN_SEMA { pthread_cond_t cv; /* cond. variable - us…
22 авг '15 в 12:49
1 ответ

Использование спин-блокировки и семафора в Linux в контексте процесса и прерывания

Что произойдет, если я использую семафорные и мьютексные блокировки в контексте прерывания? Обычно семафор используется в механизме синхронизации. Что произойдет, если я использую это в контексте прерывания? Я работаю над проектом на gpio pins, и ко…