An embedded system is a computer system that has a dedicated function within a larger mechanical or electronic system. It is a combination of computer hardware and software designed to perform a specific function, often as part of a complete device including electrical or electronic hardware and mechanical parts. Embedded systems are commonly found in consumer, industrial, automotive, home appliances, medical, telecommunication, commercial, aerospace, and military applications. They are designed to perform a specific task, in contrast with general-purpose computers designed for multiple tasks. Some key characteristics of embedded systems include:
-
Real-time computing constraints: Because embedded systems typically control physical operations of the machine that they are embedded within, they often have real-time computing constraints.
-
Low-cost, low-power-consuming, small computers: Embedded systems are low-cost, low-power-consuming, small computers that are embedded in other mechanical or electrical systems.
-
Communication ports: Embedded systems use communication ports to transmit data between the processor and peripheral devices, often other embedded systems, using a communication protocol.
-
Variety of types: Embedded systems can be standalone, networked, or real-time, depending on their function and design.
Embedded systems are managed by microcontrollers or digital signal processors, application-specific integrated circuits, field-programmable gate arrays, GPU technology, and gate arrays. They have three components: hardware, application software, and a real-time operating system (RTOS) that supervises the application software and provides a mechanism to let the processor run a process as per scheduling by following a plan to control the latencies. A small-scale embedded system may not have an RTOS.