본문 바로가기
SWE/Learning Diary

임베디드시스템(Embedded System) 이란?

by S나라라2 2019. 5. 20.
반응형

전공은 '임베디드시스템'인데 정작 블로그에 쓴 대부분의 글들은 '컴퓨터공학' 느낌이 많이 나서... 

전공 공부를 하며 블로그에도 포스팅해보려고 한다~

 

  • 임베디드시스템의 정의

임베디드시스템(Embedded System)이란?

사전적 의미 : 기계나 기타 제어가 필요한 시스템에 대해, 제어를 위한 특정 기능을 수행하는 컴퓨터 시스템으로 장치 내에 존재하는 전자 시스템이다.

 

즉, 컴퓨터는 '범용 목적'이라면, 

임베디드시스템은 '특수 목적'을 지향한다.

 

  • 임베디드시스템의 예

임베디드시스템의 큰 예로 '전자레인지'를 들자면,

전자레인지는 검색 기능을 하거나, 채팅을 하거나, 엑셀 파일을 실행시키거나의 범용목적이 아닌

'음식을 조리'하는 특수 기능만을 수행한다.

 

이 외에도, 휴대폰, 냉장고, 네비게이션 등 우리 생활에서 많이 찾아볼 수 있다.

(사견으로 휴대폰이 임베디드시스템일까 고민이 된다. 과거에는 '통화'라는 특수 목적의 기계였지만, 현재는 엔터테인먼트, 미디어, 카메라, 인터넷 검색 등 범용 목적으로 사용된다고 판단하기 때문이다.)

 

  • 임베디드시스템의 특징

-기능 제한적 (임베디드시스템의 정의를 '기능이 제한적'이라는 것에 초점을 맞춰서 설명했다.)

-제한된 리소스

한두 가지의 기능만을 수행하기 때문에, 컴퓨터와 같이 고성능의 부품이 필요없다. 따라서 메모리가 작고 성능이 떨어진다.

운영체제(OS)가 탑재되어있는 시스템도 있고, 아닌 것도 있다.

-실시간성!

임베디드시스템에서 중요한 특징 중 하나이다.

실시간성을 보장해야 한다. 예를 들어 버튼을 누르면 지연 시간없이 '즉각'적인 처리를 해야한다는 것이다.

인공위성, 미사일(?)도 임베디드시스템의 예 중 하나이다. 

 

 

※참고 사항 : 임베디드시스템의 경우 주변장치가 없는 경우가 많다.

예를 들면, USB port, 키보드, 모니터 등 I/O... (왜냐하면 필요없으니까!)

그러면 개발을 할 때 어떻게 진행할까?

-> 크로스컴파일 환경!  

즉, 직접적인 개발은 나의 '컴퓨터'에서 진행을 하고 시스템의 동작은 '임베디드시스템'에 탑재한다.

이러한 환경을 크로스(cross) 컴파일 환경이라고 한다.

 

 

※책 추천 : 「Blog2Book, 임베디드 프로그래밍 C코드 최적화」 김유진 한빛미디어

임베디드시스템, 임베디드시스템 기반의 SW개발이 궁금하다면 읽어보면 좋을만한 책 같다!

 

참고로, blog2book 시리즈 책들 다 좋음!! 리눅스도 재밌었던 걸로 기억한다. 그리고 현업에서 활용도도 높다.

 

반응형