1. ความแตกต่างของ embedded software กับ application ทั่วไป คือ ES จะต้องทำการเชื่อมต่อกับโลกภายนอก ซึ่งโดยปกติตัว ES จะถูกเขียนขึ้นสำหรับ HW หนึ่งๆ เพราะ HW แต่ละชนิดทำหน้าที่ต่างกัน ซึ่ง ES ก็ต้องเขียนออกมาแตกต่างตามกันไปด้วย ซึ่งแตกต่างกับ Application Software โดยทั่วไปที่สามารถทำงานบนเครื่องใดก็ได้ และตัว ES จะทำงานแบบ REAL-TIME เป็นส่วนใหญ่ แต่อย่างไรก็ตามในปัจจุบัน ความแตกต่างของ ES กับ AS เริ่มลดน้อยลงเพราะ HW ของ embedded นั้นมีความสามารถมากขึ้น เราสามารถนำระบบปฎิบัติการที่ซับซ้อนเช่น windows CE หรือภาษาจำพวก JAVA เข้าไปใช้งานในระบบ embedded ได้ และตัวระบบ embedded ในปัจจุบันก็มีการทำงานที่หลากหลายขึ้น เช่นมีการฝัง Web Server เข้าไปเพื่อทำหน้าที่เป็น WEB-GUI ติดต่อกับผู้ใช้งาน ซึ่ง software web server นี้ก็ถือว่าเป็น application software เช่นกัน ทำให้ข้อแตกต่างระหว่าง ES และ AS ลดน้อยลง
  2. Real-Time : ระบบ Embedded นั้นต้องทำการติดต่อกับโลกภายนอกอยู่ตลอดเวลา เช่น sensor รับค่า input จากสภาพแวดล้อมภายนอก นำเข้ามาประมวลผล แล้วแสดงผลลัพธ์บนหน้าจอ ซึ่งกระบวนการทั้งหมดนี้ ต้องทำอยู่ในช่วงเวลาทีจำกัด ซึ่งเราสามารถแบ่งออกได้เป็นสองลักษณะนั่นคือ Soft/Hard Real-Time ลักษณะของ soft real-time คือระบบมีความสามารถในการจัดการ การตอบสนองที่ไม่ตรงตามเวลา เช่นการทำ Video Call ระบบสามารถ Skip frame หรือ drop quality ลงไปตาม network ได้ แต่ถ้า hard real-time นั้นระบบต้องทำงานได้ในเวลาที่กำหนด ไม่งั้นอาจจะเกิดความล้มเหลวขึ้นกับระบบทั้งหมดได้ เช่น ระบบจุดระเบิดภายในเครื่องยนต์ ที่ต้องทำงานให้สัมพันธ์ตรงตามเวลาเคลื่อนที่ของลูกสูบ
  3. Scheduling : เป็นการจัดการ process หรือ task และ event ที่เกิดขึ้น โดยการจัดลำดับการทำงานที่ขึ้นอยู่กับ priority ของ task นั้นๆ โดย task ที่มี priority สูงกว่าก็จะถูกนำไปประมวลผลก่อน task อื่นๆ ซึ่งทำให้ในบางครั้ง task ที่มี priority ต่ำจะถูก time out เสียก่อน โดยจะใช้การ preemption ตาม event ที่เกิดขึ้น นั่นคือ หากมี event เกิดขึ้นมาภายหลัง event ที่ทำงานอยุ่ก่อนหน้าก็จะถูกขัดจังหวะ ให้หยุดการทำงาน แล้วระบบจะเปลี่ยนไปประมวลผล event ที่ตามมาเสียก่อนแล้วจึงกลับไปประมวลผล event เดิม ซึ่งจะต้องคำนึงถึง priority ของ event ที่เกิดขึ่น ว่าสูงกว่า event ที่กำลังทำงานอยุ๋หรือไม่ด้วย ดังนั้นการออกแบบ software จะต้องคำนึงถึงเรื่องนี้ด้วยว่า RTOS ไม่ได้การันตีว่า task นี้จะสามารถทำงานเสร็จภายในเวลาที่กำหนด เพราะความสามารถในการประมวลผลจะขึ้นอยุ่กับ MPU
  4. Software Configuration : Embedded Software สามารถแบ่งออกได้เป็นสองส่วนหลักๆคือส่วนของ Operating System และ Application program โดยในส่วนของ OS จะทำหน้าที่ให้บริการ Kernel ซึ่งจะทำหน้าที่จัดการการทำงานของ application ต่างๆ รวมไปถึงการส่งคำสั่งไปยัง MPUdevice driver ทำหน้าที่ควบคุมการส่งข้อมูล input output โดยจะมี function(API) ให้ application ได้ใช้ , middleware (ตัวกลางที่ทำหน้าที่ติดต่อกันระหว่าง component ต่างๆที่เกี่ยวข้องกับระบบ) ส่วน AP นั้นก็คือ software ที่ทำงานอยู่บนระบบ โดยทำงานจากการเรียก API ต่างๆภายใน OS