불타는 꼼수 공략

Task in linux kernel 본문

개발 꼼수 공략/linux kernel

Task in linux kernel

라레알 2019. 10. 10. 17:22

Overview

kernel 개발시 자주 볼 수 있는 Task에 대해 ARBZ

 

task란 무엇인가?

task는 kernel이 관리하는 최소 scheduling 단위

 

 

task vs process,thread ?

linux kernel에서는 process와 thread 모두 task로써 관리됨

또, system에 존재하는 모든 task는 유일하게 구분이 가능해야 함

* 각 process는 고유한 pid를 가져야함

* 한 process 내의 thread는 동일한 pid를 공유해야 함.

* 각 thread는 task_struct내에 tgid(thread group id)라는 변수를 통해 구분됨

따라서, 각 task는 task_struct의 pid와 tgid 값을 통해 유일하게 구분됨