안 잡히는 것 같아서...
ps로 보면 보입니다.
접속수만큼...
리누기가 글케 되어 있음돠.
ps로 보면 보입니다. 접속수만큼... 리누기가 글케 되어 있음돠.
linuxthread implementation의 경우는 각각의 thread가 ps에 따로 나타나더군요. 그런데 Redhat 9 의 경우는 하나의 프로세스로만 보이더군요. 4개의 thread를 사용하는 프로그램이었습니다만.. POSIX에서는 thread는 ps에서 하나의 프로세스로만 보여야 하는 것으로 알고 있습니다만.. 좀더 찾아보겠습니다 ^^
---- Let's shut up and code.
리눅스에서는 thread와 process 가 1:1로 대응합니다...
실제로 thread 를 생성하면서 pid 를 출력해보면 부모 process 와 다릅니다...
리눅스 커널에 봐도 task_struct 에는 단 하나의 thread 만 연결이 되어있구요...
유닉스같이 커널 내부적으로 멀티 쓰레드를 지원하는 것들은 프로세스 테이블 내에 쓰레드들의 리스트나 배열이 선언되어있고 스케쥴링 단위도 쓰레드입니다...(제가 알기로는...)
근데 얼마 전에 보니까 유닉스 측에서 커널 내부적인 멀티 쓰레드는 오버헤드가 크다면서 리눅스처럼 프로세스와 쓰레드를 1:1로 대응시키는 구조를 취하겠다고 하더군요...
아는것도 없는게 괜히 아는척을 하는거같군요...--;;;
그럼 전 이만...!
이제 졸업이다...사랑하는 SKKULUG 후배들아 안녕~
졸라리스 같은 놈에서는 쓰레드 생성해도 하나만 보이는데
리눅스에서는 ps하면 여러개보이고, 개수도 쓰레드 관리하는 놈이 하나 생겨서
하나가 더 많아 보입니다.
redhat 9의 ps에서는 내부적으로 처리해서 보여주는지 해당
프로세스 하나만 보여주더군요. 대신 GUI 버전 ps를 사용하면
선택적으로 볼수 있더군요.
kldp의 관련 글:http://bbs.kldp.org/viewtopic.php?t=22417&highlight=thread+%B0%B3%BC%F6
텍스트 포맷에 대한 자세한 정보
<code>
<blockcode>
<apache>
<applescript>
<autoconf>
<awk>
<bash>
<c>
<cpp>
<css>
<diff>
<drupal5>
<drupal6>
<gdb>
<html>
<html5>
<java>
<javascript>
<ldif>
<lua>
<make>
<mysql>
<perl>
<perl6>
<php>
<pgsql>
<proftpd>
<python>
<reg>
<spec>
<ruby>
<foo>
[foo]
ps로 보면 보입니다.접속수만큼...리누기가 글케 되어 있
ps로 보면 보입니다.
접속수만큼...
리누기가 글케 되어 있음돠.
[quote="test"]ps로 보면 보입니다.접속수만큼...
linuxthread implementation의 경우는 각각의 thread가 ps에 따로 나타나더군요.
그런데 Redhat 9 의 경우는 하나의 프로세스로만 보이더군요. 4개의 thread를
사용하는 프로그램이었습니다만..
POSIX에서는 thread는 ps에서 하나의 프로세스로만 보여야 하는 것으로
알고 있습니다만.. 좀더 찾아보겠습니다 ^^
----
Let's shut up and code.
리눅스에서는 thread와 process 가 1:1로 대응합니다...
리눅스에서는 thread와 process 가 1:1로 대응합니다...
실제로 thread 를 생성하면서 pid 를 출력해보면 부모 process 와 다릅니다...
리눅스 커널에 봐도 task_struct 에는 단 하나의 thread 만 연결이 되어있구요...
유닉스같이 커널 내부적으로 멀티 쓰레드를 지원하는 것들은 프로세스 테이블 내에 쓰레드들의 리스트나 배열이 선언되어있고 스케쥴링 단위도 쓰레드입니다...(제가 알기로는...)
근데 얼마 전에 보니까 유닉스 측에서 커널 내부적인 멀티 쓰레드는 오버헤드가 크다면서 리눅스처럼 프로세스와 쓰레드를 1:1로 대응시키는 구조를 취하겠다고 하더군요...
아는것도 없는게 괜히 아는척을 하는거같군요...--;;;
그럼 전 이만...!
이제 졸업이다...사랑하는 SKKULUG 후배들아 안녕~
졸라리스 같은 놈에서는 쓰레드 생성해도 하나만 보이는데리눅스에서는
졸라리스 같은 놈에서는 쓰레드 생성해도 하나만 보이는데
리눅스에서는 ps하면 여러개보이고, 개수도 쓰레드 관리하는 놈이 하나 생겨서
하나가 더 많아 보입니다.
redhat 9의 ps에서는 내부적으로 처리해서 보여주는지 해당
프로세스 하나만 보여주더군요. 대신 GUI 버전 ps를 사용하면
선택적으로 볼수 있더군요.
kldp의 관련 글:
http://bbs.kldp.org/viewtopic.php?t=22417&highlight=thread+%B0%B3%BC%F6
댓글 달기