리눅스는 스케쥴링 관련
글쓴이: swunk / 작성시간: 화, 2006/05/02 - 1:48오후
리눅스에서는 쓰레드또한 task_struct 단위로 할당이 되고 스케쥴링 또한 프로세스와 동일하게 처리된다고 알고 있습니다.
즉, 커널 입장에서는 쓰레드와 프로세스를 구분하지 못한다고 알고 있습니다.
그런데 pthread 관련 웹페이지를 읽다가 다음과 같은 문장을 보았습니다.
" PTHREAD_SCOPE_SYSTEM과 PTHREAD_SCOPE_PROCESS 의 2가지 영역중에 선택할수 있다. SYSTEM 영역 쓰레드는 user 모드 쓰레드라고 불리우며, PROCESS 쓰레드는 커널모드 쓰레드라고 불리운다. 리눅스의 경우 유저모드 쓰레드인데, 즉 커널에서 쓰레드를 스케쥴링하는 방식이 아닌 쓰레드 라이브러리를 통해서 쓰레드를 스케쥴링 하는 방식을 사용한다."
커널에서는 프로세스와 쓰레드를 차이 없이 동일하게 스케쥴링한다고 하는데...위의 글에서는 쓰레드 라이브러리를 통해서 쓰레드를 스케쥴링 한다고 하니 ...이게 무슨 소린가요 ?
고수님들의 설명 부탁드립니다.
Forums:
pthread 에 대한,
pthread 에 대한, 그리고 Linux 상에서의 이야기라면 잘못되어 있습니다.
Linux 상에서의 pthread 라이브러리는 글 쓰신분께서 알고 계신것과 같이
커널에서 스케쥴링합니다.
다른 OS 에서라면 꼭 커널에서 쓰레드를 스케쥴링 한다고 보장할 수 없지만,
리눅스라고 명시한 것으로 봐서는 해당 페이지 작성자가 무엇인가를 착각한 것일듯 싶네요.
저자의 착각보다는
저자의 착각보다는 버전의 문제일 수 있습니다.
좀 ... 된 책이라면 말입니다.
* 여담으로 리눅스 관련 서적은 참으로 자주 업데이트를 해야 하지 않나! 합니다.
------------------ P.S. --------------
지식은 오픈해서 검증받아야 산지식이된다고 동네 아저씨가 그러더라.
------------------ P.S. --------------
지식은 오픈해서 검증받아야 산지식이된다고 동네 아저씨가 그러더라.
댓글 달기