우선순위를 논해야 될때가 되었군요 ㅋㅋ

전 강의에서 비선점형 커널과 선점형 커널 이야기를 하면서 우선순위 우선순위 했는데 감이 오셨어요?
사실 뭐 별게 없습니다~

어떤 Task 가 더 중요한 Task 인가??? 인것이죠 ㅋㅋ

곰곰히 생각해보면 이놈의 커널은 참 민주사회의 부패를 그대로 뺴다 박아 놓은놈 인것 같습니다.

온국민은 평등해야 하는데 실상 우리 사는 사회가 그렇지가 않잖아요 ㅋㅋ

아니라구요????

화장실이 한칸있습니다.
화장실 주인이 화장실에 들어갈 사람을 결정 할 수가 있어요 ㅋ

근데 저랑 각하랑 같이 응가가 마려운거에요 ㅋㅋ 그래서 화장실 주인한테 동시에 저 응가가..... 마려... 워...요...

라고 말했습니다. ㅋㅋ 근데 이놈의 화장실 주인이라는 놈이 뒤 돌아 볼것도 없이 무조건 "각하" 에게 화장실을 쓰라고 한다는 것이지요 ㅋ
(아... 더러운 세상 ㅋㅋ 이러실 필요는 없어요 ㅋㅋ 각하보다 쫌만 더 빨리 요청하면 내가 쓸수 있으니까요 ㅋㅋ)

다음강의에서 계속될 Priority Inversion 과 세마포어를 이야기하면 지금과는 조금 상황을 이야기 할 수 있습니다 ㅋ

(흠.. 쓸것도 없는데 왜 이 글을 쓴다고 했을꼬 ㅋㅋㅋ)

Group Priority 라는 것이 있습니다 ㅋㅋㅋ

그룹단위로 일단 우선순위를 한번 나눠 놓은 후에 세부 우선순위를 나누려는 개념이지요 ㅋㅋㅋ

Group 1 : 공자 맹자 예수 장자 + 필자
Group 2 : 찌우, 다람쥐, 토끼, 멍멍이
Group 3 : 지렁이, 무뇌충

역시 그룹 1이 킹왕짱입니다 ㅋㅋ

이제 스케쥴러는 그룹의 우선순위를 먼저 따진 후에, 각 그룹 안의 맴버들 각각의 우선순위를 다시 따져 줍니다 ㅋ

즉 Group 2 에서 찌우가 킹왕짱이더라고 Group 1의 핫빠리인 장자 보다 못하다는 소리이지요 ㅋㅋㅋ

사실 커널에 따라서 Group Priority 를 지원하지 않는 것도 있습니다 ㅋ

하지만 제가 사용하는 커널은 RTX Kernel 은 이를 지원하는군요 ㅋㅋ

Priority 의 숫자가 큰것이 우선순위가 높은 것일 수도 있고, 작은것이 높은것일수도 있습니다 ㅋ

즉, 커널 디팬던트 하다는 소리이지요 ㅋㅋ

메뉴얼을 꼭 살펴 보셔야 한다는 소리입니다 ㅋ

우선순위의 종류에는

(1) Static Priorities (정적 우선순위)
(2) Dynamic Priorities (동적 우선순위)

이렇게 크게 두가지로 나눈수 있는데요 ㅋ 머 딱히 설명 드리지 않아도 이제 감이 오지 않습니까? ㅋㅋㅋ

테스크의 우선 순위를 바꿀수 없다면 정적 우선순위요, 어플리케이션이 실행되는 동안에 태스크의 우선순위를 바꿀 수 있다면 이럿은 Dynamic 한 우선순위가 되는것이지요 ㅋㅋ

쉬운 개념이니 쉬어가는 코너로 생각하시고 넘어가시길 바랍니다 ㅋ

다음에 설명할

Priority Inversion 과 Priority Inheritance 가 중요한 개념이니까요 ㅋㅋㅋ  (우선순위 전도와 우선순위 상속) ㅋ

여려분에게 우선순위는 어떻게 되시나요??? ㅋㅋㅋ

아래는 제가 가지고 싶어하는 CPU 3960X ㅋㅋㅋ

Posted by J.Bear