흠... 
앞 강의에서 Kernel 을 이야기 한김에 선점혐/비선점형 커널을 이야기 하고 싶은데
그러기에는, 아직 테스크와 스케줄러, 문맥전환에 대해 먼서 설명이 필요하므로 잠시 참고 다시 기초부터~ ㅋㅋ

테스크~ 어디서 많이 들어보지 않으셨습니까? ㅋ 

 
ㅋㅋ 아 욱겨 ㅋㅋㅋ

(특히 힘든, 하기싫은 ) 일 ㅋㅋㅋ

그렇죠 ㅋㅋ  사실 코드짜는게 그렇게 적게 힘들고 하고싶은 일은 아니죠 ㅋㅋ
아 네이버 정의 정확하네 ㅋㅋㅋ

여튼 말그대로 테스크는 일의 단위 입니다. 최소한 여기서 우리는 그렇게 생각하도록 하죠~

하나의 테스크는 크게 볼때 하나의 일을 하고 있는것입니다~

약간 다른 시각에서 보면 하나의 테스크에는 각기 다른 하나의 배경 시스템을 가지고 있습니다.
즉 무한루프를 가지고 있다는 소리지요~

### 여기서 잠시 ####

쓰레드(thread) 와 테스크(Task) 는 같은 말인가요? : 의견이 분분 한데요 약간 다르다는 사람도 있고 ㅋㅋㅋ
제 개인적인 생각으로는, 우리가 지금 공부하고 있는 분야에서는 같은 단어로 간주하고 이야기해도 크게 무리가 없다
입니다. ㅋㅋㅋㅋ 참고하세요~ ㅋㅋ

##################################

그럼 멀티 테스킹은 머냐???

멀티면 여러개라는 뜻 아닙니까 ㅋㅋ 스타 멀티플레이 할때 그 멀티 ㅋㅋ

즉, 태스크가 여러개다 -> (특히 힘들고 하기 싫은) 일이 여러개다 -> 아 ㅆㅃ

가 되는것이죠 ㅋㅋㅋㅋ  일도 많은데 이것을 내보고 다 하라고???

아 이럴바에는 그냥 테스크가 하나밖에 없던 슈퍼루프 방식이 좋았어 ㅆㅃ 이런생각이 들때쯤~~~~
엄청 뛰어나신 고수분들이 말을 해줍니다 ㅋㅋ

야~ 너는 어차피 슈퍼루프 방식 코드짜듯이 그냥 짜기만 하면돼~ 
각각이 하나의 일만 한다고 생각해놓고 쭈욱 코드를 짜 놓으면, 나중에 커널이란 놈이 알아서 번갈아가며 일을
효율적으로 시켜줄꺼야

라고 조언합니다 ㅋㅋㅋㅋ

이렇게 되고나면?? 멀티 테스킹을 하는것이지요 ㅋㅋㅋ

살짝 이해가 되시나요???


생각해보면 매우 당연한 이야기 입니다.

CPU 가 한개인데 무한루프를 여러개 돈다??? 무슨수로??? 말이 안돼자나요 ㅋㅋㅋ
CPU 는 한개인데 10가지 일을 동시에 한다??? 무슨수로??? 말이 안돼자나요 ㅋㅋㅋ

멀티 테스킹이란~~~ 

여러개의 CPU 가 있는것처럼 프로그램을 짜놓고 나면, 1개의 CPU 를 가지고 엄청 빠른 시간동안에
각각의 일들을 번갈아 가면서 처리하다 보니, 사용자의 입장에서 볼때는 동시에 여러가지 일을 처리하는것
처럼 느껴지게 되는 일련의 일처리 방식입니다. 

그럼 이런것들은 어떻게 이루어지나염???

그거슬 더욱 자세히 아실려면 다음강의를 보세요 ㅋㅋ
커널의 스케줄러와 문맥전환(Context Switching) 을 이해하셔야 된답니다 ㅋ

그럼 바이바이~~
저작자 표시 비영리 동일 조건 변경 허락
신고
Posted by J.Bear