메모리 할당은 process 단위로 이루어지기 때문에 thread는 동일한 메모리 주소를 공유하게 된다. -> Data 영역도 공유 -> 전역변수를 모든 스레드가 공유.
Process와 마찬가지로 스레드의 경우에도 각자의 고유한 전역변수가 필요한 경우가 존재한다.
Thread별로 Data영역처럼 고유의 영역을 제공하는데, 이를 Thread Local Storage (TLS)라고 한다.
linux의 경우 __thread와 같은 키워드를 통해 TLS 변수를 선언 가능.
TLS : 컴파일러 및 링커가 복잡한 처리를 도맡아 준다.
ELF형식은 TLS를 지원하기 위해 많은 변경이 이루어졌다. (ELF????)
찾아보는데 너무 어려워서 나중에 다시 봐야지