우리는 평상시 거의 의식하지 않지만, 우리 주변에는 수많은 임베디드 시스템이 있습니다. 키보드, 마우스, 모니터뿐만 아니라 냉장고, 전자레인지 등도 모두 임베디드 시스템입니다. 그런데 임베디드 시스템들은 어떻게 작동하는 걸까요? 바로 임베디드 운영체제가 사용자와 임베디드 기기 간의 상호작용을 도와주는 중간매개체 역할을 해 주고 있어 작동이 가능한 것입니다. 그렇다면 이런 임베디드 운영체제는 어떻게 만들어지는 걸까요?

《임베디드 OS 개발 프로젝트》는 펌웨어 개발 과정을 실시간 운영체제(Real Time Operating System, RTOS)를 만들어 가며 설명합니다. 펌웨어를 개발하기 위한 개발 환경 구성부터 시작해 최종적으로 RTOS를 만드는 과정을 순차적으로 설명하고 있습니다.

이 책은 크게 개발 환경 구성하기, 부트로더 작성하기, 하드웨어를 제어하여 사용자와 상호작용하기, 실시간 운영체제 개발 순으로 구성되어 있습니다. 첫 번째 단계는 개발 환경을 구성하는 것으로, PC용 리눅스에서 ARM용 소프트웨어를 개발할 수 있도록 구성합니다. 두 번째 단계에서는 시스템을 실제로 부팅할 수 있는 소프트웨어(부트로더)를 제작합니다. 세 번째 단계에서는 몇 가지 하드웨어를 직접 제어해 봅니다. 특히 디스플레이와 입력 장치를 다룰 수 있게 되면서 사용자와 상호작용할 수 있는 시스템이 갖춰지는데, 이 과정에서 인터럽트의 개념을 이해하고 시간을 다룰 수 있게 됩니다. 마지막 단계에서는 운영체제라는 고차원적인 소프트웨어를 개발합니다. 구체적으로는 작업의 단위인 태스크, 태스크 간의 전환(멀티태스킹)과 통신 기능을 이해하고 구현해 봅니다.

이 책은 이렇게 RTOS를 만들어 가는 과정에서 ARM 아키텍처와 운영체제의 핵심 이론을 설명하고 있어 이미 운영체제 이론을 공부한 사람에게는 공부한 내용이 어떻게 다른 방식으로 구현되는지 혹은 어떤 요소가 공통되는지를 알 수 있는 좋은 기회가 될 것입니다. 또한 운영체제 이론을 공부하지 않은 사람은 운영체제 이론을 실전으로 공부해 볼 수 있는 기회가 될 것입니다.

이제 여러분도 《임베디드 OS 개발 프로젝트》와 함께 자신만의 임베디드 운영체제를 만들어 보세요.

이 책의 내용 미리보기

《도전! 임베디드 OS 만들기》와 달라진 점

《임베디드 OS 개발 프로젝트》는 2009년 출간된 《도전! 임베디드 OS 만들기》의 저자 이만우 님의 두 번째 임베디드 운영체제 책입니다. 저자는 현업에서 10년 넘게 펌웨어를 개발하며 쌓은 노하우를 바탕으로 임베디드 운영체제를 좀 더 쉽고 간단하게 만들 수 있는 방법을 이 책에 담아내었습니다. 전작과 달라진 점은 다음과 같습니다.

  • 더 쉽고 간단하게 펌웨어와 RTOS 개발 방법을 알려 줍니다: 《도전! 임베디드 OS 만들기》는 학문적인 이론에 더 치중했던 반면, 《임베디드 OS 개발 프로젝트》는 실제 펌웨어 개발에 가까운 방식으로 설명합니다. 또한 임베디드 운영체제에 필요한 최소한의 필수 기능만 포함시켰으며, 코드를 작성할 때도 각 기능을 최대한 간결하게 구현해서 이해하기 쉽게 설명합니다.
  • 실제 하드웨어가 없어도 책의 전체 내용을 모두 실습해 볼 수 있습니다: 《도전! 임베디드 OS 만들기》에서는 EZ보드라는 실제 하드웨어가 있다는 가정하에 내용을 설명하고 QEMU 에뮬레이터에서 실습하는 방법을 추가로 넣었지만, 《임베디드 OS 개발 프로젝트》에서는 모든 실습을 QEMU에서 할 수 있도록 하였습니다. 따라서 리눅스(우분투 계열 추천)가 설치된 PC만 있으면 책에 수록된 내용을 모두 실습해 볼 수 있습니다.
  • 이전보다 훨씬 쉽게 개발 환경을 구성할 수 있습니다: 《도전! 임베디드 OS 만들기》에서는 컴파일러 등 개발 환경을 링크를 통해서 다운로드해야만 했지만, 《임베디드 OS 개발 프로젝트》에서는 우분투 계열(민트, 우분투, 윈도우10의 리눅스 서브시스템 등)에서 기본 패키지 관리자 명령어로 모든 컴파일러, 라이브러리, QEMU를 자동으로 설치할 수 있습니다.
  • 소스 코드의 변경된 부분이나 중요한 부분만 보여주며, 해당 코드를 중점적으로 설명합니다: 《도전! 임베디드 OS 만들기》에서는 소스 코드가 중복되더라도 되도록 전체 소스 코드를 책에 모두 수록해 놓았지만, 《임베디드 OS 개발 프로젝트》에서는 소스 코드에서 변경된 부분이나 중요한 부분만 보여주고 해당 코드를 중점적으로 설명하고 있습니다.

이 책에 수록된 모든 소스 코드는 깃허브에서 다운로드할 수 있습니다.

《임베디드 OS 개발 프로젝트》는 다음 서점에서 구입하실 수 있습니다.
Yes24 | 교보문고 | 알라딘 | 인터파크