Skip to content

Latest commit

 

History

History
18 lines (14 loc) · 1.92 KB

Потоки и процессы.md

File metadata and controls

18 lines (14 loc) · 1.92 KB

#process #thread

Ресурсы

  1. Статья: https://tproger.ru/problems/what-is-the-difference-between-threads-and-processes/
  2. Симмонс Крид - Встраиваемые системы на основе Linux

Процессы

  • Процесс - экземпляр программы, независимый объект, которому выделены ресурсы системы (память, процессорное время).
  • Из этого следует, что каждый процесс выполняется в отдельном адресном пространстве, процессы изолированы друг от друга.
  • отсебятина Получается, процессы некогерентны друг к другу. Если несколько процессов имеет доступ к одному и тому же файлу, например, пишут в него, то Бог его знает, что получится.
  • Для связи процессов нужно организовать межпроцессное взаимодействие, например, через файловую систему, конвейеры (см. ниже) etc.

Потоки

  • Потоки могут использовать одно и то же пространство, область памяти.
  • У каждого потока есть свой стек и собственные регистры, другие потоки могут их использовать.
  • Когда один поток изменяет ресурс процесса, то остальные потоки видят это изменение.
  • отсебятина Получается, потоки тоже могут быть некогерентны, если об этом не позаботиться, т.к. используют общие ресурсы системы.