크리에이티브 커먼즈 라이선스
Creative Commons License

마지막 강의 입니다.

그리 길지않은 마무리가 될것 같네요~

일전에 한번 Task 에 대해 간단하게 설명 드린적이 있습니다.

이놈의 Task 들은 CPU 를 자기 자신이 독점하고 있다고 생각하는 아주 멍청한 놈들이지요 ㅋㅋ 착각의 대장들 ㅋㅋ

이 테스크들은 5가지 상태를 가지고 있답니다 ㅋ

몰라도 문제없지만, 그래도 Kernel Programmer 라면 이정도는 한번 들어봤어야 하지 않나 싶어서 포스팅합니다.

(1) 수면상태 (Dormant)
(2) 준비상태 (Ready)
(3) 실행상태 (Running)
(4) 대기상태 (Waiting)
(5) 인터럽트 서비스 루틴 상태 (ISR)

ㅋㅋㅋ 다들 한번 씩 들어본 이름들이죠??

이 다섯가지 상태중에 한가지 상태를 가지면서 무한루프를 수행하고 있습니다.

수면상태가 좀 낯설수도 있는데요

테스크 자체는 상성되에 메모리에 존재하지만 커널에 등록이 되어있지 않은 상태라 커널이 서비스를 못해주는 상태를 말합니다.

준비상태는 "나 준비됐어요" 하고 스케쥴러에게 쳐다봐달라 하고 유혹하고 있는 상태입니다 ㅋㅋ

하지만 그 상황에서 CPU 는 다른 우선순위가 높은 테스크에게 서비스를 해주고 있는 상태이지요 ㅋㅋ

실행상태는 말그대로 실행되고 있는 상태이구요

대기상태는 OS Tick 을 이용해서 딜레이를 걸어놓았거나, 혹은 세마포어를 기다리고 있거나 하는 상황을 대기상태라고 부릅니다.

마지막 ISR 은 다들 아시겠지요? ㅋㅋ

아래는 uC/OS 에서 제공하는 OS 함수들이 각 테스크의 상태에 따라 어떻게 적용되는 지를 보여주는 블럭도입니다.





자 이렇게 RTOS 에 대한 포스팅을 마무리 하도록 하겠습니다

꾸준히 읽어주신분이 있을지 모르겠지만 이 글을 읽어주시는 분이 있다면 정말 감사할 따름입니다.

부족한 부분도 많지만, 훗날에라도 따로 추가할 만한 내용이 있드면 보충하도록 하겠습니다.


작은 정보이지만 정보를 주기위해 노력하는 사람들은 정보를 얻어가련 사람에 비해 수백배 이상의 노력을 기울이고 있습니다.
이런 사실을 알아주시고, 부족하지만 격려의 댓글을 달아주시면 더욱 힘이 나서 열심히 하는것이 포스팅하는 사람들의 습성이지요 ~ ㅋㅋ


그렇다고 댓들 달아달라고 징징대는것은 절대 아녀요 ㅠㅠㅠ

긴 글 읽어주셔서
감사합니다~ (꾸벅)
저작자 표시 비영리 동일 조건 변경 허락
신고
Posted by J.Bear


티스토리 툴바