본문 바로가기
임베디드소프트웨어

컴퓨터 시스템의 구성

by Go! Jake 2022. 3. 5.

컴퓨터 시스템의 구성

컴퓨터란 입력된 데이터를 받아들여 이를 처리, 저장, 검색하여 결과를 출력하는 기계이다. 내부적으로 이진법의 숫자를 처리, 저장, 검색하는 작업이며 엄밀히 얘기하면 높거나, 낮은 전압을 처리하는 작업이다.

 

 

컴퓨터는 크게 하드웨어와 소프트웨어로 나눌 수 있다. 하드웨어의 장치 중 핵심은 프로그램을 실행하는 프로세서이고 이외에 프로그램이 실행될 때 여러 가지 데이터를 저장하는 메모리와 입출력을 담당하는 디바이스가 있다. 예를 들어 키보드, 마우스, 모니터, 프린터 등과 같은 것이다.

 

소프트웨어는 컴퓨터의 작동과 기능을 제어한다. 일반적인 컴퓨터 구조(Computer Architecture)는 계층별로 하드웨어-펌웨어-커널-OS(운영체제)-어플리케이션으로 구성되어 있다.

 

하드웨어

하드웨어는 컴퓨터의 모든 물리적 부품을 포함하여 통칭한다. 전원 공급 장치, 그래픽 카드, 사운드 카드, 입력기기(키보드, 마우스)와 출력기기(모니터, 프린터, 스피커) 등이 있다. 다만 마이크로컨트롤러는 일반 컴퓨터의 하드웨어와 다르게 단일 칩으로 구성되거나 매우 간단한 주변 회로로 구성된다.

 

인터페이스 장치

하드웨어에 속하는 인터페이스 장치는 컴퓨터가 외부와 데이터 통신을 하기 위한 장치이다. 모니터 및 키보드를 통한 입출력 장치가 있지만 외부 장치와 통신을 위해 예를 들어 USB 포트 등을 지원한다.

 

컴퓨터와 대비하여 마이크로컨트롤러는 USB 포트도 특정 디바이스에 국한되어 지원한다. 마이크로컨트롤러에서의 외부 통신은 일반적으로 포트를 통해서 직접 제어하는 방식이다. 마이크로컨트롤러의 포트는 전압의 높고 낮음을 출력할 수 있는 핀이다. 마이크로컨트롤러도 통신을 지원하기는 하나 I^2C, SPI, USART, CAN 통신 등을 지원한다. 보통 일반 컴퓨터와는 시리얼 통신 중 하나인 USART 통신을 많이 이용한다.

 

 

펌웨어

펌웨어는 특정 하드웨어 장치에 포함된 소프트웨어이다. 컴퓨터의 메인보드에 탑재 되어있는 프로그램은 예를 들어 전원 인가 시 하드웨어를 검사 및 초기화 한 후 제어권을 운영체제에 넘겨주는 역할을 한다. 보통 ROM 등에 영구적으로 저장되기 때문에 펌웨어 프로그램이라 부른다.

 

마이크로 컨트롤러 경우에도 펌웨어를 플래시 메모리나 eeprom에 다운로드 하여 하드웨어를 제어하는 것이라고 할 수 있다.

 

커널

커널은 OS의 핵심이 되는 프로그램이다. 커널은 OS와 하드웨어 사이에 위치하며, OS에 기본적인 서비스를 제공하는 역할을 한다. 커널은 메모리 관리, 보안, 제어 및 네트워크에 사용된다.

 

운영체제

커널과 운영체제를 따로 구분하지는 않는다. 운영체제란 컴퓨터 시스템 자원을 효율적으로 관리하고 사용자가 편리하게 컴퓨터를 사용할 수 있는 환경을 제공하는 프로그램이다. 참고로 모든 마이크로 컨트롤러에서 운영체제를 가지는 것은 아니다. 통상의 임베디드 시스템은 일반 컴퓨터와 다르게 외부 입출력 포트가 많지 않고 어플리케이션 또한 하나만 돌리는 경우가 대부분이다. 그러나 이는 때에 따라 다르다. 

 

디바이스 드라이버

하드웨어 장치간에 상호적인 작용을 위하여 개발된 특별 소프트웨어이다. 특정 하드웨어나 장치를 제어하기 위해 커널의 일부분으로 동작하는 프로그램이다. 하드웨어 장치를 연결하면 운영체제에 '디바이스 드라이버'가 설치된다. 다양한 입출력 장치마다 각각 장치드라이버가 프로그램되어 커널에 통합되어 실해오딘다. 참고로 마이크로컨트롤러에 운영체제가 없으면 디바이스 드라이버도 존재하지 않는다.

 

해당 글은 '당근이의 AVR 갖고 놀기'를 참조하여 작성하였습니다.

 

댓글