안녕하십니까 까마굽니다 (__)

오늘 thread에 대해서 고민하다가 문득 pthread라는 놈의 소스를 보게 되었습니다. 전 pthread는 user level이라고 알고 있었는데, 아니더군요. ㅡ0ㅡ;;; 역시 나의 지식은 허망한것이었음... http://www.gnu.org/software/pth/pth-manual.html
 
위 링크는 GNU Portable Thread 라는 user level thread에 대한 문서인데요, 내용이 참 잘되어있군요. 제가 궁금해하던 "user level thread에서 과연 preemptive 하게 context switching이 가능한가??" 에 대한 물음을 단 한자로.. 압축해 놓았더군요. 충격이었습니다. SIGVTALRM... ㅡ0ㅡ...
 
결국 signal을 이용하면 간단히 스위칭을할 수 있었군요. ㅡ0ㅠ... 저걸 이용해서 user level의 thread library를 만들면, 커널 만드는 거랑 비슷할 것 같습니다. 사실 스케줄링 부분은 크게 다를것이 없으니...
 
시간이 나면 GNU Portable Thread도 차근 차근 한번 봐야겠습니다. 가능하면 포팅도 한판 때리는 쪽으로... 아직 먼 이야기지만... 좋은밤 되세요 (__)

+ Recent posts