시스템이란?
- 특정한 루틴이나, 정해진 연산을 함께 수행하는 유닛들의 그룹이다.
(A group of unit, that joined together)
* 자연계, 금융시스템, 기계시스템 등 다양한 시스템이 있지만 컴퓨터 공학과에서는 electrical component로 구성된
electrical system을 중점으로 다룬다.
임베디드 시스템이란?
- 마이크로 프로세서 혹은 마이크로 컨트롤러를 포함한 하드웨어와 소프트웨어가 조합되어 특정한 목적을 수행하는
시스템을 의미한다.
임베디드 시스템의 구성요소는?
핵심 : 마이크로프로세서 or 마이크로컨트롤러(둘은 비슷하지만 약간의 차이가 있어 잘 구분하지는 않는다고 한다.
일반적으로 마이크로프로세서쪽이 더 복잡한연산을 진행하고 컨트롤러는 비교적 단순한 연산을 수행하는 대신
IO를 같이 다룬다.),
메모리, 센서등의 Electronic HW,
임베디드 운용체제, 응용 소프트웨어
선택 : 기계적 하드웨어(Mechanical HW) ex) 디카의 렌즈, 자동차의 타이어 등등
임베디드 시스템의 특징은?
- 다양한 요구조건이 발생한다.
(시스템의 사용에 따라 다양한 인풋조건, 아웃풋조건 등등이 있다.)
- 요구조건에 따라 최적화 설계가 필요하다.
- 그에 따라 특별한 개발환경이 필요하다.
ex) (옛날)휴대전화의 소프트웨어는 전화기에서 개발할 수 없다. 이는 전화기가 가지는 특수한 상황때문이다.
전화기는 통신을 목적으로 사용되는 시스템이기에 PC에 비해 자원이 부족하다 이런 상황은 곧 전화기의 소프트웨어를
개발함에 있어서 요구조건이 되고 이에 최적화된 설계로 개발해야 한다. 또한 PC에서 개발해야 하므로 교차개발이
가능한 특별한 개발환경이 필요하다.
* 일반적으로 임베디드 시스템은 자원의 제약이 크고, 휴대가 가능하여 작고 가벼워야 하고, 장기간 배터리로 운용하기에
저 전력 시스템이어야 한다. 또한 실시간 처리가 중요한 경우가 많다.
컴퓨터 하드웨어
- 다양한 종류가 있다. 하지만 공통적으로는 폰 노이만의 컴퓨터 모델(CPU 존재, 데이터를 메모리에서 읽음 등)을 따르고 있다.
컴퓨터 소프트웨어
- 차이점을 만드는 것은 소프트웨어이다. 특히 운영체제의 몫이 크다. 범용 시스템에서는 리눅스나 윈도우와 같은 운영체제를 사용하고 모바일은 IOS, 안드로이드등을 사용하고 그 외에도 스마트카 운영체제 아두이노등이 있다. 이런 운영체제의 차이점 위에서 사용자가 사용하는 응용프로그램이 달라지게 된다.
임베디드 시스템 구성

간단히 하드웨어와 하드웨어를 제외한 소프트웨어를 합쳐서 임베디드 시스템이라고 한다.
임베디드 개발 툴킷
- 가장 큰 특징으로는 교차개발의 환경을 제공해야 한다. (인공위성에 쓰이는 소프트웨어는 인공위성에서 개발하는것이 아니기에 컴퓨터상에서 코드를 짠 후 컴파일을 하면 바이너리가 생기지만 이는 컴퓨터상에서 돌아가지 않는다. 이를 해결하기위해 가상 시뮬레이터, 연결장치, 원격 디버거등의 기능을 갖춰야 한다, 이런것의 일종으로는 교차 컴파일러가 있다.)
요약
- 임베디드 시스템이란 특별한 목적 또는 기능을 만족시키기 위해 구성한 HW와 이를 위해 SW가 포함된 시스템이다.
- 임베디드 SW란 임베디드 시스템의 특별한 요구조건을 맞추기 위해 구성된 SW이고 개발에는 특별한 환경이 필요하다.
'CS공부 > 임베디드' 카테고리의 다른 글
[임베디드소프웨어] 01-2. 1주차 실습(비트 단위 연산) (0) | 2023.09.03 |
---|