레이블이 Embedded인 게시물을 표시합니다. 모든 게시물 표시
레이블이 Embedded인 게시물을 표시합니다. 모든 게시물 표시

2010년 2월 7일 일요일

Embedded Linux

1.구성요소: Root file system, kernel, boot loader
2.Booting 과정
  전원 ON -> Boot loader (시스템을 초기화하고 kernel을 memory로 오림)
          -> Kernel (Linux 초기화)
    -> root file system을 mount함.
  1)Boot loader
   -PC의 BIOS와 같은 것.
   -각종 HW의 초기화를 담당하며 모든 초기화 과정이 끝나면 메모리의 특정 번지로부터
    압축된 kernel의 이미지를 가져와서 압축을 푼 후 커널을 실행시킴.
  2)Kernel
   -리눅스가 동작할 수 있도록 SW적인 초기화 작업 수행.
   -root file system을 mount함.
   -kernel초기화의 마지막 단계에서 root file system의 Init프로그램을 호출함.

3.Kernel version 표기법
 -<주버전>.<부버전>.<패치 level>
  (부버전이 짝수이면 안정버전(stable version), 홀수이면 개발버전(development version)

RTOS

운영체제의 역할
 - 응용 program에게 프로그램을 보다 쉽게 작성할 수 있도록 API를 제공
 - 하드웨어의 자원을 효과적으로 관리
 - 하드웨어를 추상화하여 하드웨어에 무관하게 응용 프로개름을 작성할 수 있게 도와줌

RTOS(Real Time OS)
 - 외부의 사건에 시간적 제약성을 가지고 반응하는 system
 - 시스템의 기능적 정확성(functional correctness)뿐만 아니라 시간적 정확성이 만족되어야
   올바른 동작이 보장되는 system ex) 유도미사일
 - 시간의 제약 정도에 따라..
  1) 경성 실시간 system: dead line을 어길 경우 시스템의 품질에 치명적인 타격을 입히는 system
                 ex) 미사일, 자동차
  2) 연성 실시간 system: dead line을 어기는 것이 품질의 저하를 가져오더라도 system의 동작이
                         여전히 의미를 가지는 system. ex) 동영상 player(오류시 깜박임정도)

RTOS의 조건
 - 시간적 제약을 만족시키기 위해 우선순위에 기반한 scheduling지원 해야함.
 - 운영체제의 크기가 작아야 함
 - 필요에 따라 운영체제의 기능과 크기르 조절 가능해야함.
 - 이식성이 좋아야 함.

RTOS의 구성
 - kernel, scheduler, interrupt 처리기, 메모리 관리자, 각종 kernel object
  .scheduler: RTOS 커널의 핵심부
              수행가능한 여러개의 task중에서 가장 적합한 task를 선택하여 수행권을 넘겨주는 역할
              multi tasking이 가능하게 함.
        두가지 방식, 선점형 scheduler와 비선점형 scheduler
  .Task: RTOS의 실행 단위.
      각 task는 우선순위를 가지고 있으며, 우선순위가 높은 task가 system 자원을 선점할 수 있음