Vladimir Ljaschko (01.05.2011 06:48, просмотров: 94) ответил Snaky на Разделение ресурса в двухпроцессорной системе.
Желательно "не плодить сущностей" и упростить взаимодействие процессов пусть даже ценой некоторых условий и допущений. В данном случае - однонаправленная передача флагов. Тот, кто уголь складывает, оставляет табличку, что куда положено.
Второй, проснувшись, забирает уголь и стирает таблички.
Остановка транспортера с углем резко все усложняет, поэтому нужно обеспечить условие, чтобы для нового угля всегда было место.
Для этого в моменты "параллельной" работы доступ П2 обеспечить на порядок быстрее доступа П1. Пусть уголь приходит в мешках часто, а забирается вагонами и реже, но всегда есть пустые вагоны.
Это обеспечивается это размерами мешка с углем, количеством мешков в вагоне и частотой подачи поездов.
Тут и начинается конкретика мегабайтов в секунду, размеров памяти.
И только потом - прерывания, дма и прочие драйверы юсб, тип памяти, скорости интерфейсов с запасами на обслуживание протоколов.