[임베디드기사 실기 20부작 17편] C Pointer, Struct, Union, malloc/free와 Double Free — 실기에서 자주 나오는 C 언어 핵심
[임베디드기사 실기 20부작 17편] C Pointer, Struct, Union, malloc/free와 Double Free — 실기에서 자주 나오는 C 언어 핵심임베디드기사 실기에서 C 언어 문제는 단순 문법 암기보다 메모리가 실제로 어떻게 배치되고, 포인터가 무엇을 가리키며, 구조체와 공용체가 메모리를 어떻게 사용하는지를 이해하고 있는지를 확인하는 형태로 출제되는 경우가 많습니다.특히 Pointer, Struct, Union, malloc/free, Memory Leak, Double Free는 서로 별개의 주제가 아니라 모두 “주소와 메모리의 생명주기”라는 하나의 축으로 연결됩니다. 이번 편에서는 시험에서 손으로 답을 쓰는 상황을 기준으로, 코드를 읽고 결과를 추적하는 방법까지 함께 정리합니다...
2026. 9. 18.
[임베디드기사 실기 20부작 15편] Makefile, Cross Compiler, Linking, ELF와 readelf — 소스코드가 실행파일이 되는 과정
[임베디드기사 실기 20부작 15편] Makefile, Cross Compiler, Linking, ELF와 readelf — 소스코드가 실행파일이 되는 과정임베디드기사 실기에서는 소스코드를 작성하는 것만큼이나, 그것이 어떻게 오브젝트 파일과 실행파일로 바뀌고, 다른 아키텍처용으로 Cross Compile되며, 최종 ELF 바이너리 내부를 어떻게 검증하는지를 묻는 문제가 반복적으로 등장합니다. 특히 2025년 기출에는 Dynamic Linking, Makefile 자동 변수 $^, readelf, Cross Compile 시 -c와 -o가 함께 출제되었습니다. 이번 편에서는 이 네 주제를 따로 외우지 않고 하나의 Build Pipeline으로 연결해 보겠습니다.1. 전체 흐름부터 — 소스코드는 바로 실행..
2026. 9. 18.
[임베디드기사 실기 20부작 14편] Mutex, Semaphore, Spinlock, Completion — 동시성 제어와 동기화 완전 이해
[임베디드기사 실기 20부작 14편] Mutex, Semaphore, Spinlock, Completion — 동시성 제어와 동기화 완전 이해임베디드 시스템과 Linux Kernel에서는 여러 Task, Thread, Interrupt Handler가 동시에 같은 자원에 접근합니다. 이때 아무런 보호 없이 공유 데이터를 읽고 쓰면 Race Condition이 발생하고, 심하면 데이터 손상·Deadlock·우선순위 역전·간헐적 오동작으로 이어질 수 있습니다. 이번 편에서는 실기시험의 단골 주제인 Mutex, Semaphore, Spinlock, Completion을 하나의 관점에서 정리해 보겠습니다.1. 먼저 Critical Section부터 이해하자Critical Section(임계구역)은 둘 이상의 실..
2026. 9. 18.
[임베디드기사 실기 20부작 13편] Interrupt, IVT, ISR 그리고 DMA — CPU가 외부 사건을 처리하는 방법
[임베디드기사 실기 20부작 13편] Interrupt, IVT, ISR 그리고 DMA — CPU가 외부 사건을 처리하는 방법임베디드 시스템은 가만히 앉아 계산만 하는 컴퓨터가 아닙니다. 센서 입력이 들어오고, 타이머가 만료되고, UART로 데이터가 도착하며, 모터 드라이버에서 Alarm이 발생합니다. 이런 외부 사건에 CPU가 즉시 반응하도록 만드는 핵심 장치가 Interrupt입니다. 이번 편에서는 Interrupt가 발생한 뒤 CPU가 어떤 순서로 움직이는지, IVT와 ISR은 무엇인지, 그리고 대량 데이터 전송에서 왜 DMA가 중요한지까지 하나의 흐름으로 연결해 보겠습니다.1. Interrupt란 무엇인가Interrupt는 현재 실행 중인 프로그램의 흐름을 잠시 멈추고, 더 긴급한 사건을 처리하도..
2026. 9. 18.