Size: a a a

2018 January 15

TN

Timofey Naumenko in pro.osdev
Короче, надо главное отличие mailbox vms от unix pipe
источник

TN

Timofey Naumenko in pro.osdev
Нигде не могу найти.
источник

TN

Timofey Naumenko in pro.osdev
Какой механизм позволяет делать несколько reader'ов для mailbox, которого нет в pipe?
источник

BD

Berkus Decker in pro.osdev
а в первой ссылке в гугле ничего не нашлось на эту тему? - http://h41379.www4.hpe.com/openvms/journal/v9/mailboxes.pdf
источник

TN

Timofey Naumenko in pro.osdev
Я этот файл три раза прошерстил
источник

BD

Berkus Decker in pro.osdev
источник

TN

Timofey Naumenko in pro.osdev
Читаю сейчас.
источник

TN

Timofey Naumenko in pro.osdev
Но пока пусто. Блин, в первой ссылке сказано, что можно сделать несколько слушателей, но не сказано, как
источник

BD

Berkus Decker in pro.osdev
там сказано что это в общем случае СЛОЖНЕЕ чем создание многих писателей, подозреваю что там трюки
источник

TN

Timofey Naumenko in pro.osdev
Но блин, препод спрашивает, что это делает вообще возможным
источник

BD

Berkus Decker in pro.osdev
Also in general, there should be exactly one reader of any particular
 mailbox — and zero or more writers — as protocol bugs are common with
 most bidirectional mailbox communications schemes.  (The turn-around
 and the correct routing of the communications traffic is a particularly
 interesting area when using bi-directional mailbox traffic and multiple
 readers.)
источник

TN

Timofey Naumenko in pro.osdev
Как можно сделать структуру, позволяющую несколько читателей?
источник

TN

Timofey Naumenko in pro.osdev
Ох
источник

TN

Timofey Naumenko in pro.osdev
Это откуда?
источник

BD

Berkus Decker in pro.osdev
источник

BD

Berkus Decker in pro.osdev
Timofey Naumenko
Как можно сделать структуру, позволяющую несколько читателей?
ну в аудио процессинге есть понятие шины (bus) - когда подключается еще читатель, то например в майлбоксе заводится еще один отдельный указатель очереди и счетчик тех кто прочитал каждое сообщение
источник

BD

Berkus Decker in pro.osdev
ну например в майлбоксе лежит [A][B][C] и первый читатель прочитал A, поэтому его указатель показывает на B и счетчик в A уменьшился на 1

когда второй читатель прочитает A, его счетчик уменьшится до 0 и А можно выбросить, а указатель перевести на B
источник

BD

Berkus Decker in pro.osdev
поскольку перед чтением из мейлбокса надо заводить канал доступа, то вот в этой операции будет создаваться трекинг структура для каждого клиента
источник

BD

Berkus Decker in pro.osdev
насчет счетчика я придумал, это просто для упрощения, но требует синхронизации про добавлении клиента (я считаю что это дешевле чем синхронизация на каждой операции чтения)
источник

TN

Timofey Naumenko in pro.osdev
Я боюсь, преподу это не понравится
источник