Процесс, поток, отличия?
==========================

 На техностриме майл ру была сказана такая фраза:  

Процесс работает с изолированной памятью, то есть области памяти процессов не пересекаются.  

Поток использует shared память и может изменять память доступную для всех потоков в рамках одного процесса.  

  

Из сказанного я не понял:  

Что такое изолированная память? Это свободная память, которая выделяется на приложение?  

Что такое shared память, как поток изменяет доступную память? Я вообще не понял что это значит. 

 В современных ОС процесссы используют виртуальную память - они не видят память других процессов. То есть, если у процесса A по адресу 0x100 находится байт 0x08, а у процессе B по адресу 0x100 находится байт 0x42, процесс A будет всегда читать 0x8, а процесс B - 0x42.   

Каждый процесс сидит в своем адресном пространстве.  

  

Потоки сидят внутри процесса и видят одну память - адресное пространство этого процесса. Это и называется шеринг - раз адресное пространство общее, то и память общая. Если поток a в процессе A запишет по адресу 0x100 девятку, все другие потоки тоже считают оттуда девятку. Процесс B же по этому адресу продолжит читать 0x42  

  

Почитайте по ключевым словам "Защищенный режим, "Виртуальная память", MMU, "Процесс", "Поток"