들어가며
컴퓨터시스템설계 과목 들었던거 다시 한 번 복습해볼 때가 된 것 같다. 사실 이게 OS 내용이기도 한데, 다시 한 번 보면서 메모리와 캐시 등의 동작과정을 한 번 살펴볼 필요가 있을 것 같다.
ㅤ
사실 나는 오늘 펌웨어라는 키워드가 어떤 의미인지 처음 알았다. 내 기본기가 부족하다는 것을 여실히 느낀 순간. 임베디드 준비할거면 채용공고들도 좀 살펴보면서 저 단어 하나하나, 기술스택 하나하나가 어떤 의미인지 꿰고 있어야 할텐데. 쌓아놨던 키워드들에 대해서 공부하는 시간도 좀 가져야겠다.
오늘의 키워드
키워드 정리하기
- 계층 키워드
- 하드웨어
- 펌웨어
- HW에 대한 제어를 OS 위에서 돌리지 않고 application 프로그램으로 제어하는 경우의 프로그램.
- 펌웨어는 CPU, Memory, I/O 등의 HW의 조작 + Application 단의 기능을 제공하는 하나의 프로그램.
- HW Dependent 한 프로그램이라고 생각하자!
- 메모리(ROM)에 그냥 실어서 업데이트가 어렵기 때문에 SW라 보기 어렵 → 그래서 이걸 Firmware라고 부른다.
- 커피 자판기 → 버튼 조작 + 결제 + 물끓이기 + 프로세서 조작 을 모두 처리할 수 있는 프로그램.
- 미들웨어
- 소프트웨어
- OS
- 하나의 프로그램(펌웨어)으로 모든 HW를 제어하기 너무 어려움.
- 운영체제가 스케줄링을 해서 여러 프로그램을 실행할 수 있게 제어함.
- OS는 HW에 의존적임. (아닌 곳도 있어서, HW 의존인 영역은 모아뒀음.)
- RTOS는?
- 커널은?
- 플랫폼
- 다양한 형태로 발전시킬 수 있는 틀(체계)
- HW 플랫폼, SW 플랫폼 단위의 개발 → 개발기간 단축 및 일정 수준의 품질을 보장할 수 있음
ㅤ
프로그램
- 프로그램
- 프로세스
ㅤ
HW의 구성
- 프로세서
- 메모리
- I/O
- 리눅스의 구성을 보면 프로세서를 다루는 모듈, 메모리를 다루는 모듈, I/O를 다루는 모듈로 분리된다.
ㅤ
커널
- 라이브러리의 코드가 HW에 접근해서 제어하기 위해서는 커널의 system call을 호출해야한다.
- System call = Software interrupt, Trap, Supervisor Call 이라는 이름으로 부른다.
- 그러면 커널은 하드웨어를 제어하는 코드를 호출해서 라이브러리가 원하는 동작을 수행한다.
ㅤ
C의 빌드과정
ㅤ

배워가야 할 것
강의 통해서 배우는 것들
- 펌웨어
- RTOS
- Linux
ㅤ
반드시 배워야 할 것
- C언어
- C언어 문법 뿐 아니라 C언어로 프로그램 실행하는 전체 흐름을 파악하기
- ARM 프로세서 아키텍처
- HW 구조, Exception, ASM 등
- OS
- 운영체제의 뼈대를 잡기 (리눅스에 의존하지 않아도 됨)
- 네트워크
- 통신이 결국 항상 나오는 키워드.
320x100
'TIL' 카테고리의 다른 글
| [251018] Day 68 - 텔레칩스 임베디드 스쿨 2개월차 회고이자 리뷰이자 후기 (1) | 2025.10.19 |
|---|---|
| [251017] Day 67 - Cㅂ 또 까먹었네 (0) | 2025.10.18 |
| [251015] Day 65 - 추석과 소프트웨어 공학 (1) | 2025.10.18 |
| [251001] Day 51 - 전기자동차 분해 실습 (0) | 2025.10.04 |
| [250928] Day 48 - 푸리에를 만나다 (0) | 2025.09.29 |