Embedded software는 특정 하드웨어 장치 내부에 고정되어 그 장치를 제어하고 특정 기능을 수행하도록 설계된 소프트웨어를 의미합니다. 일반적인 PC나 스마트폰에서 실행되는 범용 소프트웨어와 달리, 세탁기, 자동차 엔진 제어 장치, 마이크로파 오븐, 의료 기기 등 특정 목적을 가진 하드웨어에 최적화되어 있습니다. 이 소프트웨어는 대개 하드웨어의 자원이 제한적인 환경에서 작동하므로 효율성과 안정성이 매우 중요합니다. 사용자가 직접 설치하거나 삭제하기보다는 제조 단계에서 칩에 내장(embed)되어 나오는 경우가 많습니다. 최근 사물인터넷(IoT) 기술이 발전함에 따라 가전제품부터 산업용 로봇까지 그 활용 범위가 매우 넓어지고 있으며, 시스템의 핵심적인 두뇌 역할을 담당합니다. 펌웨어(firmware)와 혼용되기도 하지만, 임베디드 소프트웨어는 좀 더 상위 개념의 논리적인 제어 프로그램을 지칭하는 경향이 있습니다. 또한, 실시간 운영체제(RTOS) 위에서 구동되는 경우가 많아 정해진 시간 내에 정확한 결과를 내놓아야 하는 신뢰성이 강조되는 분야입니다.