Межпроцессное взаимодействие (IPC)
Primary tabs
Forums:
Процессам часто бывает необходимо взаимодействовать между собой.
Например, в конвейере ядра выходные данные первого процесса должны передаваться второму процессы и т.д. по цепочке. Поэтому необходимо правильно организовать взаимодействие между процессами, по возможности не используя прерываний. Рассмотрим некоторые аспекты межпроцессного взаимодействия (IPC, interprocess communication).
Проблема разбивается на три пункта=
- Первый мы уже упомянули: передача информации от одного процесса другому.
- Второй связан с контролем над деятельностью процессов: как гарантировать, что два процесса не пересекутся в критических ситуациях (например, оба процесса пытаются завладеть последним мегабайтом памяти).
- Третий касается согласования действий процессов: если процесс А должен поставлять данные, а процесс В выводить их на экран, то процесс В должен подождать и не начинать печатать, пока не поступят данные от процесса А.
Важно понимать, что последние два из трех описанных пунктов в равной мере относятся и к потокам.
Первый пункт- передача информации - в случае потоков проблемой не является, поскольку у потоков общее адресное пространство (передача информации между потоками с разным адресным пространством уже является проблемой передачи информации между процессами). Остальные два с тем же успехом касаются потоков: те же проблемы, те же решения.
- Log in to post comments
- 3452 reads