본문 바로가기

전체 글85

[센서 노드 디바이스 드라이버 정리 (3/3)] RETOS - RETOS의 디바이스 드라이버 모델 ㅁ RETOS: 연세대 Mobile & Embedded System Research Group에서 개발된 센서 노드용 OS ㅁ 사용자 모드와 커널 모드를 제공 ㅁ 커널 모드는 2중 레이어 커널 모드, 단일 레이어 커널 모드로 구분됨 ㅁ 사용자 모드 - 직접적인 HW system call 서비스를 이용해 구현 - 사용자의 새로운 장치 접근 방법 중 가장 간단하고 쉬움 - 마이크로 콘트롤러의 GPIO 혹은 ADC와 같은 간단한 장치를 이용하는 장치 드라이버 개발에 적절 - 커널과 분리되어 커널의 안정성을 보장 - 개발자는 장치에 대한 파워 관리와 및 접근 권한에 대한 고려를 할 필요가 없음 - 상세한 하드웨어 접근 및 제어가 힘듬 -> 복잡한 인터페이스를 가진 디바이스.. 2010. 3. 25.
[센서 노드 디바이스 드라이버 정리 (2/3)] IEEE 1451 - IEEE 1451 ㅁ 미국의 NIST 주도 하에 1993년 9월부터 표준화 작업 시작 ㅁ 1451.0부터 1451.6까지 총 7개의 표준으로 나뉨 ㅁ 네트워크와 트랜스듀서 (센서와 구동 소자를 통칭함) 간의 표준 인터페이스를 규정 ㅁ 즉, 센서 업체는 연결될 네트워크의 종류나 연결 구조에 상관없이 표준 인터페이스만 제공 (TIM-Transducer Interface Module- 표준을 기반으로 개발) ㅁ 네트워크 입장에서는 공통 인터페이스를 통해서 정보를 취득하거나 제어 가능 (NCAP-Network Capable Application Processor- 에 일관되게 개발) ㅁ 주요 IEEE 1451 표준의 종류 - 1451.0: ㅁ TIM에 연결된 물리적인 트랜스듀서들의 특성을 파악할 수 있는 방.. 2010. 3. 25.
[센서 노드 디바이스 드라이버 정리 (1/3)] 임베디드 리눅스 ㅇ 임베디드 리눅스 디바이스 드라이버 구조 - 디바이스 종류 ㅁ 케릭터 디바이스 - 임의의 길이를 갖는 문자열을 다루는 디바이스 드라이버 - 응용 프로그램에서 직접적으로 호출되는 버퍼를 갖지 않는 디바이스 드라이버 ㅁ 블록 디바이스 - 하드 디스크 드라이버와 같이 일정 크기의 버퍼를 통해 데이터를 처리하는 디바이스 - 커널 내부의 파일 시스템에서 관리하는 내부적인 버퍼가 있는 디바이스 드라이버 ㅁ 네트워크 디바이스 드라이버 - 네트워크 측과 연결된 디바이스 드라이버 - 응용 프로그램에서 직접 접근할 수 없고 네트워크 프로토콜 스택과 연동 - 기본적인 API ㅁ open (), close (): 디바이스를 열고 닫음 ㅁ read (), write (): 디바이스와 통신 ㅁ lseek (): 디바이스의 접근.. 2010. 3. 25.
[센서 노드 운영 체제 정리 (5/6)] Thread model 정리 ㅇ Thread model - stack이 thread별로 존재하여 관리가 복잡함 - 이벤트 모델보다 프로그램 용이, 스케줄링이 유연 -> 복잡한 센서 응용에 적합 - 센서 노드의 용량이 커지면서 이 모델의 적용이 검토됨 - 전통적인 멀티 스레딩의 동적 스레드 생성에서 벗어나 여러 개의 정적 태스크를 적재하여 지원하는 멀티 태스킹으로 발전 - 기존에 독립적인 여러 개의 프로그램을 동시에 수행시키며,그 프로그램하위에서 동적 스레드 생성을 동시에 지원하는 완전한 멀티 프로그래밍의 지원 등으로 점차 확대, 발전 - Thread model 장점: ㅁ 커널 재구성 기술을 효과적으로 ㅁ 멀티 프로그래밍 - 인터럽트와 task의 통합 ㅁ scheduler polling - waiting queue (task가 다음 .. 2010. 3. 25.