Skip to Main Content
Embedded devices are resourceconstrained devices. They have limited computation power, a small memory footprint, and a low-capacity battery. The computational power is defined by the processor type, its architecture, bus width, and register set. The primary (system) memory available is generally a few megabytes to a gigabyte or two . Secondary storage is either absent or present as flash memory. The batteries provided are of low capacity and need periodic charging depending upon the usage. All these hardware constraints challenged the software developers to design highly optimized software architecture that could fully leverage the capabilities provided by these devices without hampering the performance or user experience. Several algorithms for process scheduling, cache management, memory management, and power management are available that help in achieving the above objectives.