검색하면 스레드와 프로세스의차이는 어쩌구 하면서 이론찍싸놓은거 아니면 스레드사용법이야 시팔ㅋㅋ
그리고 알바 씨발
댓글 11
코루틴 알면 바로 이해 가능.
.(221.146)2020-06-04 01:46
답글
일단 스레드랑 프로세스의 차이같은 븅신같은거 준 새끼는 걍 무시하셈. 에초에 리눅스에서는 스레드랑 프로세스의 차이가 없음.
간단히 설명하자면 코어의 갯수는 제한되어있기때문에 일을 동시에 돌릴 수가 없음. 그걸 에뮬레이팅하는 매커니즘이 스레딩임. 한 스레드당 이 코어를 특정 시간동안 돌아가면서 사용하면서 여러 일이 동시에 도는것처럼 보이게 만들어주는거임. OS에서는 그게 효율적으로 돌 수 있도록 스케줄링하고 할당해줌. 그게 끝.
.(221.146)2020-06-04 01:48
답글
VM을 생각해보셈. 일시정지하면 지금 상태를 덤프해두잖아. 그리고 다시 시작하면 그 상태부터 시작하잖아. 마찬가지임. 일정 시간이 지나면 스레드는 덤프되고 다른 스레드가 실행됨. 그리고 그 스레드 차례가 다시 오면 덤프된걸 되돌려서 다시 일을 시작하는거임.
.(221.146)2020-06-04 01:50
답글
그걸 아주 작은 시간동안 한 코어에 여러 스레드를 돌려가면서 일을 하는거임. 그럼 인간이 보기엔 그게 동시에 도는것처럼 보임.
.(221.146)2020-06-04 01:52
답글
답변 ㄱㅅㄱㅅ
익명(106.102)2020-06-04 01:58
구글에 task_struct 라고 쳐봐도 한글자료가 많이 나옵니다 - dc App
익명(61.254)2020-06-04 01:48
답글
ㅇㅋ
익명(106.102)2020-06-04 01:58
답글
개복잡하네...빡집중해서 읽어야겠군
익명(106.102)2020-06-04 02:02
Process control block 으로 찾아보셔도 갠찮을듯 - dc App
익명(61.254)2020-06-04 01:50
xv6 커널 스케줄링 코드 찾아서 읽으셈. 솔직히 리눅스는 너무 거대해져서 코어 개념 공부하기엔 좀
코루틴 알면 바로 이해 가능.
일단 스레드랑 프로세스의 차이같은 븅신같은거 준 새끼는 걍 무시하셈. 에초에 리눅스에서는 스레드랑 프로세스의 차이가 없음. 간단히 설명하자면 코어의 갯수는 제한되어있기때문에 일을 동시에 돌릴 수가 없음. 그걸 에뮬레이팅하는 매커니즘이 스레딩임. 한 스레드당 이 코어를 특정 시간동안 돌아가면서 사용하면서 여러 일이 동시에 도는것처럼 보이게 만들어주는거임. OS에서는 그게 효율적으로 돌 수 있도록 스케줄링하고 할당해줌. 그게 끝.
VM을 생각해보셈. 일시정지하면 지금 상태를 덤프해두잖아. 그리고 다시 시작하면 그 상태부터 시작하잖아. 마찬가지임. 일정 시간이 지나면 스레드는 덤프되고 다른 스레드가 실행됨. 그리고 그 스레드 차례가 다시 오면 덤프된걸 되돌려서 다시 일을 시작하는거임.
그걸 아주 작은 시간동안 한 코어에 여러 스레드를 돌려가면서 일을 하는거임. 그럼 인간이 보기엔 그게 동시에 도는것처럼 보임.
답변 ㄱㅅㄱㅅ
구글에 task_struct 라고 쳐봐도 한글자료가 많이 나옵니다 - dc App
ㅇㅋ
개복잡하네...빡집중해서 읽어야겠군
Process control block 으로 찾아보셔도 갠찮을듯 - dc App
xv6 커널 스케줄링 코드 찾아서 읽으셈. 솔직히 리눅스는 너무 거대해져서 코어 개념 공부하기엔 좀
그린 쓰레드는 그냥 문맥전환만 구현하면 되지 않을까