Имеются два параллельно работающих процесса (например, прога и прога, прога и девайс, девайс и девайс и т.п.). Они обмениваются порциями информации. Варианты обмена. 1. Первый генерит и отсылает порции с определенной частотой (например, раз в секунду), второй с такой же частотой считывает. Первый и второй юзают свои внутренние счетчики времени. 2. Тоже самое, что и в п. 1, но таймер у процессов один общий. 3. Первый отсылает порцию и выставляет флажок. Второй в бесконечном цикле сканирует этот флажок и, когда готово, тогда считывает. (Т.е., классический поллинг). 4. Первый отсылает порцию и посылает второму сигнал. Второй прерывает свою работу, считывает и продолжает работу. (Классическая работа по прерываниям) А вопрос такой: какие из этих методов взаимодействия процессов "синхронные", а какие "асинхронные"? Вопрос возник потому, что в книжках "про операционные системы" пишут одно, а в книжках "про интерфейсы" - в точности наоборот. Примеры, блин: http://www.intuit.ru/department/hardware/mpbasics/terms/ Ю.В. Новиков, П.К. Скоробогатов. "Основы микропроцессорной техники. Словарь терминов и сокращений" http://www.piter-soft.ru/187.html "Глоссарий процессного управления: Асинхронный и синхронный процессы" Вот и хочется все-таки разобраться - где же истина, блин?
Это типа перегрузка имён в разных namespase Самое забавное, что эти "противоречивые" определения очень даже хорошо отражают сущность терминов синхронный/асинхронный применительно к тому контексту в котором они употребляются (взаимодействие девайсов по магистрали /или/ взаимодействие программных процессов в системе) )
Как метко заметил IceStudent ) Мне честно говоря трудно сообразить в какой практической задаче может потребоваться такой "стык" в котором не рулит переключение или явное указание namespase Имхо в приведённых примерах нужно просто чётко уточнять о чём идёт речь, об обмене информацией или о синхронизации процессов.