2012년 5월 24일 목요일

NanoQplus 2.5.0 배포의 변

ETRI에 들어온지 어언 4년차. 학부 4학년 시절 졸업작품 준비하다 NanoQplus 만난게 인연이 되어 UST 석사과정 2년, 계약직 연구원 1년이 지나 2년차가 진행중이며, 올해도 절반 정도가 훌쩍 지나갔으니 어언 4.5년이라고 해야 정확할 듯 싶다.

ETRI에서 내가 하는 일은 NanoQplus 운영체제를 개발하는 일이다. NanoQplus를 소개하자면 8비트(AVR), 16비트(MSP430), 그리고 32비트(ARM Cortex-M series) 급 마이크로컨트롤러에 적합한 초소형 임베디드 장치용 운영체제이다. 예전에는 센서 네트워크용 운영체제라고 표현을 했지만 요새는 Internet of Things용이라고 해야 조금 더 트렌디하게 느껴지려나?ㅋ 여하튼 용도를 보면 느껴지겠지만 무선 네트워크 응용을 쉽게 개발할 수 있도록 라이브러리들도 지원하고 있다.





무선 좀 지원한다고 뭐 거창하게 운영체제까지 필요하냐라는 질문이 들어올 수 있다. 하지만 필요하다. 무선 송수신 칩을 제어해서 바로 옆의 장치와 안정적으로 통신하기 위한 MAC에서도 운영체제는 필요하고, 다수의 장치들이 하나의 네트워크를 만들고 서로 멀티홉으로 메시지를 주고 받기 위해서는 타이머, 인터럽트 처리 등등 운영체제에서 제공하는 많은 기능들이 필요하다. 이젠 그 운영체제로 그 조그마한 장치에서, 그 별거 아닌 듯한 무선으로 인터넷(IPv6)까지 지원받아 초소형 무선 웹서버까지 만들 수 있으니 필요하지 않다고 말할 수 없을 것이다. 게다가 사용자 응용은 나날이 복잡해져 여러 태스크들을 동시적으로 수행해야 한다. 이런 이유들에도 불구하고 여전히 필요하지 않다고 하는 사람들은 순수 펌웨어 레벨에서 프로그래밍할 때의 고충을 모르는 사람일 것이다.

NanoQplus는 소스코드가 공개되어 있다. 아쉽게도 전부 공개도 아니고 순수 오픈소스 프로젝트도 아니지만, 그래도 임베디드나 운영체제를 전공 또는 취미로 공부하고 싶은 사람들을 위해 공개하였다. 상업용은 기술이전을 받아야 한다. 그래야 우리도 먹고 산다.ㅋ 2007년 9월 처음 공개 버전은 2.3이었고, 2009년 4월 2.4가 공개되었었다. 그리고 바로 오늘 2.5의 베타버전을 공개하였다. 물론 중간에 ETRI 내부 조직 개편의 소용돌이와 함께 배포 서버도 사라지면서 공식적인 채널도 사라졌었지만 그래도 우리팀의 소수는 묵묵히 NanoQplus 개발을 멈추지 않고 계속 하고 있었고 다시 공식적으로 배포할 수 있기까지 끊임없이 노력해왔다.

이번 공개버전 릴리즈는 개인적으로도 의미가 남다르다. 대략 5년전, 운영체제 개념만 알았지 어떻게 구현해야 할 줄 몰랐던 학부생이 재미로 시작했다가, 어쩌다 보니 연구원에 들어와 직접 코드에 손을 대고, 이렇게 직접 배포를 하게될 줄은 정말 꿈에도 몰랐을 것이다. 물론 세계적으로 유명한 오픈소스 프로젝트인 TinyOS나 Contiki 같은 타 초소형 임베디드 운영체제들과 비교하여 볼 때 직접 만든 NanoQplus의 부족한 기능들이 느껴지지만, 그렇기 때문에 여전히 나에겐 매력적인 운영체제이자 장난감이다.

그러니 졸업작품 준비 중인 대학생 여러분들! 연구 논문 준비 중인 대학원생 여러분들! 취미로 임베디드 하시는 분들! NanoQplus 좀 써주세요.(갑자기 존댓말.ㅋㅋ) 우리 운영체제로 인터넷 연결되는 무선 센서 네트워크, 무선으로 제어할 수 있는 로봇, 무선 웹 서버 등등 각종 임베디드 관련 프로젝트 가능합니다. 우리 운영체제에 관해서는 뭐든 도와드릴테니 관심 좀 부탁 드립니다. 감사합니다. :)

댓글 없음:

댓글 쓰기