1) Small system kernel
Embedded systems are generally applied to small electronic devices, the system resources are relatively limited, so the kernel is much smaller than traditional operating systems.
2) specialization
Embedded systems are highly personalized, where the software 4 embedded operating system scheduling mechanism system and hardware are very closely integrated, generally to the hardware for the system transplantation, even in the same brand, the same series of products need to be based on the changes in the system hardware and the increase or decrease in constant modification. At the same time for different tasks, often need to make large changes to the system, the compilation and download of the program to be combined with the system, this modification and general-purpose software "upgrade" is a completely different concept.
3) system streamlining
Embedded systems generally do not have a clear distinction between system software and application software, does not require its functional design and implementation of the overly complex, so that on the one hand, the control system costs, but also conducive to the realization of the system security.
4) high real-time
High real-time system software (OS) is the basic requirements of embedded software. And the software requires solid-state storage to improve speed; software code requires high quality and high reliability.
5) Multi-tasking operating system
To move towards standardization of embedded software development, it is necessary to use a multi-tasking operating system. Embedded system applications can run directly on the chip without an operating system; but in order to reasonably schedule multi-tasking, the use of system resources, system functions, as well as and special library function interface, the user must select their own RTOS development platform, so as to ensure that the program execution of real-time, reliability, and reduce the development time to ensure the quality of the software.
6) the need for development tools and environment
Embedded systems development requires development tools and environment. As it does not have the ability to develop their own, even after the completion of the design of the user is usually unable to modify the function of the program, there must be a set of development tools and environment in order to carry out the development of these tools and the environment is generally based on a general-purpose computer hardware and software equipment, as well as a variety of logic analyzers, mixed-signal oscilloscopes and so on. Development often have the concept of host and target machine, the host for the development of the program, the target machine as the final execution of the machine, the development of the need to alternate between the combination.
If you are satisfied, please click on the right to adopt the answer, if you still have questions, please click on the follow-up questions
I hope my answer is helpful to you, hope to adopt!
~ O(∩_∩)O~