IT 이야기39 [센서 노드 디바이스 드라이버 정리 (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. [센서 노드 운영 체제 정리 (4/6)] Event model 정리 - 이벤트는 센서에 의해 감지된 정보/다른 센서 노드로부터 패킷이 도착한 경우 발생 - 하나의 프로그램은 이벤트 처리를 위한 이벤트 핸들러들의 집합이 됨 ㅁ 이벤트 핸들러는 ISR, 컴포턴트, 모듈, 메시지 핸들러 등의 이름으로 불림 - 따라서 저용량 MCU에 적합 (센서 네트워크 연구 초기-2000년-에 주로 채택) - Event model의 장점 ㅁ HW 리소스를 적게 사용하며 프로그래밍이 간단함 ㅁ stack이 하나이며 모든 프로그램이 이를 공유 ㅁ context swithing overhead가 없음 - Event model의 단점 ㅁ 이벤트의 추가/삭제 시, 주변 이벤트의 상태 천이를 고려해야 함 - 이벤트 기반 모델 유형 ㅁ 가장 간단한 이벤트 모델: purely interrupt-driven.. 2010. 3. 25. [센서 노드 운영 체제 정리 (3/6)] 센서 노드 운영체제 설계 모델의 장단점 ㅁ 프로그래밍 모델 - 유한 상태 머신 기반 모델 ㅁ 장점 - 프로그램이 간단, 작은 코드 이미지 ㅁ 단점 - 새로운 기능 추가 시 기존 상태들과의 의존성 및 예외 처리에 세심한 고려 필요 - SW 확장에 대한 제약성 및 프로그래밍이 힘듬 - 컴포넌트 기반 모델 ㅁ 장점 - 높은 모듈성을 가지므로 독립적인 SW 모듈의 재사용성 및 확장성을 가짐 ㅁ 단점 - 컴포넌트 설계 시, 타 컴포넌트들과의 의존성 및 인터페이스 등을 신중이 고려해야 함 - 사용자 측면에서 새로운 컴포넌트와 응용 프로그래밍이 어려움 - 전통적 API 기반 모델 ㅁ 장점 - 사용자에게 친숙한 프로그래밍 환경 제공하며 프로그래밍이 쉬움 ㅁ 단점 - 필요한 모든 기능을 API로 구현해야 하므로 코드 이미지가 커지고 로직이 복잡해짐 ㅁ Sch.. 2010. 3. 25. 이전 1 ··· 4 5 6 7 8 9 10 다음