음 프로세스 관련 질문입니다

sihwp의 이미지

:roll: :roll: :roll: :roll: :roll: :roll: :roll: :roll: :roll: :roll: :roll: :roll:

리눅스는 task_struct 구조체를 이용하여 프로세스를 관리하는 것으루 알고 있

습니다. 그리고 각 구조체들이 이중 리스트로 연결되어 있는 것도 알았습니다.

그런데 궁금한게 있습니다. 현재 프로세스가 가지고 있는 자식에 대한 포인터는

가장 최근에 만들어진 자식의 포인터를 가지고 찾을 수 있으며 다른 자식들은

이것을 기준으로 형 또는 아우 포인터(sibling포인터인가...하는 거요)를 가지고

접근이 가능하지요. 그런데 이런 형제관계의 연결도 이중 연결로 되어 있나요?

즉 가장 어린 자식의 포로세스의 동생 포인터는 가장 오래된 형 프로세스 구조체

를 가리키고 있나요? 음 직접 커널에서 확인하고 있는데 역시 여기에 물어 보는

것이 더 확실한 것 같아 글을 올립니다

sihwp의 이미지

켁 방금 커널 컴파일 하구 함수 끼워서 확인해보니

가장 어린 자식의 동생은 널인 것 같습니다. 혹시 확실히 알고

계신 분있으심 알려주세요.....

________________________

이제는 커널이다.....
________________________

charsyam의 이미지

sihwp wrote:
켁 방금 커널 컴파일 하구 함수 끼워서 확인해보니

가장 어린 자식의 동생은 널인 것 같습니다. 혹시 확실히 알고

계신 분있으심 알려주세요.....

음, 마지막이 처음을 가리키게 되면, 그건 환형 링크드 리스트 구조입니다.

아마도 NULL을 가르켜야 끝난걸 알게 되겠죠? 시작이냐 task_struct

구조체에서 얻어오면 되니. 그럼 고운 하루되세요.

=========================
CharSyam ^^ --- 고운 하루
=========================