2007년 7월 24일 화요일

Arm Linux Kernel 분석 - Context Switching

이 글은 Context Switching에 대한 기본적인 개념이 있는 사람을 위해 작성되었습니다.

http://lxr.post-tech.com

에 가시면 lxr프로그램으로 보기쉽게 편집된 Linux 소스 파일이 있습니다.
위의 메뉴들 중에 ucos2440을 선택, 그리고 아래에 나타나는 메뉴 중 ucos>kernel을 선택하면 핵심 코드 파일들이 나타납니다. 참고로 kernel 폴더와 함께 있던 port에는 디바이스에 의존적인 코드가 들어가게 됩니다.
따라서 다른 디바이스에 이 OS를 올리고 싶을 때 이 부분만 고치면 되겠다..고 생각하면 되겠죠. :)


Priority & Scheduling

Priority & Scheduling


우선 순위는 0~63 범위 안에서 존재하고 각 태스트가 태어날 때 우선순위가 정해집니다. 임베디드 디바이스의 특성상 제한된 종류의 일을 하기 때문에 태스크의 우선순위가 바뀌는 일도, 같은 우선순위의 태스크도 없다고 봐도 무방합니다. (실제 세계에서는 다르다고 하지만요..) 우선순위 숫자가 노은 태스크가 우선순위가 높은 태스크입니다.


OSRdyTbl[]은 원소가 1byte이고 크기가 8인 배열입니다. 위 그림에서 배열의 한 행이 한 원소입니다. 

댓글 없음:

댓글 쓰기