본문 바로가기
IT 이야기/IT

[센서 노드 운영 체제 정리 (5/6)] Thread model 정리

by 옥사마 2010. 3. 25.
ㅇ Thread model
    - stack이 thread별로 존재하여 관리가 복잡함
    - 이벤트 모델보다 프로그램 용이, 스케줄링이 유연 -> 복잡한 센서 응용에 적합
    - 센서 노드의 용량이 커지면서 이 모델의 적용이 검토됨
    - 전통적인 멀티 스레딩의 동적 스레드 생성에서 벗어나 여러 개의 정적 태스크를 적재하여 지원하는 멀티 태스킹으로 발전
    - 기존에 독립적인 여러 개의 프로그램을 동시에 수행시키며,그 프로그램하위에서 동적 스레드 생성을 동시에 지원하는 완전한 멀티 프로그래밍의 지원 등으로 점차 확대, 발전
    - Thread model 장점:
      ㅁ 커널 재구성 기술을 효과적으로
      ㅁ 멀티 프로그래밍
     
    - 인터럽트와 task의 통합
      ㅁ scheduler polling
         - waiting queue (task가 다음 수행을 위한 조건을 만족할때까지 기다리는 queue),
         - ready queue (task가 다음 수행을 위한 조건들이 모두 만족된 경우에 대기하는 queue)
         - event handler가 task의 형태가 되며 이들은 preemptive (이것이 event model-polling 과의 차이점)
      ㅁ semaphore-based
         - deadlock 상태에 빠지지 않도록 동기를 맞추어 주는 도구
      ㅁ activation directly by ISR
         - scheduler가 ready queue에 있는 내용을 수정하도록 하여 interrupt의 처리 속도를 개선
        
    - Mantis
      ㅁ 최초의 스레드 기반 센서 운영 체제
      ㅁ 동기화를 위해 mutex, counting sema 지원
      ㅁ 최대 12개의 thread를 지원