1. Embedded Linux
Embedded Linux (EmbeddedLinux) is a special Linux operating system that is miniaturized and tailored from standard Linux. It can be solidified into a memory chip or microcontroller with a capacity of only a few KB or a few MB. It is suitable for specific embedded applications. About half of the embedded systems that have been successfully developed so far use embedded Linux.
This is inseparable from the excellent characteristics of its parent, Linux itself.
First of all, the Linux system has a distinct hierarchical structure and the kernel is completely open. Linux is composed of many microkernels and systems that are small in size and high in performance. Under the premise that the kernel code is completely open, users in different fields and at different levels can easily tailor the kernel according to their own application needs, and design and develop embedded systems that truly meet their own needs at a low cost.
Secondly, Linux has powerful network support functions. Linux was born on the Internet and has the characteristics of UNIX, which ensures that it supports all standard Internet protocols and can use the Linux network protocol stack to develop an embedded TCP/IP network protocol stack.
Thirdly, Linux has a complete tool chain, which makes it easy to establish the development environment and cross-running environment of embedded systems by yourself, and can overcome the obstacles of simulation tools in embedded system development. Generally, program debugging and tracking of embedded operating systems are implemented using emulators. However, when using a Linux system for prototyping, you can bypass this obstacle and directly use a kernel debugger to debug the kernel of the operating system.
Finally, Linux has extensive hardware support features. Whether it is RISC or CISC, whether it is a 32-bit or 64-bit processor, Linux can run on it. The most commonly used microprocessor for Linux is the IntelX86 chip family, but it can also run on embedded processors, which means that embedded Linux will have wider application prospects.
Embedded Linux, like Linux, has the advantages of low cost, multiple hardware platform support, excellent performance and good network support. In addition, in order to better suit the development in the embedded field, Embedded Linux has also made some improvements based on Linux, such as changing its kernel structure from a monolithic structure to a microkernel structure, and also improving the real-time performance of the system.
Embedded Linux, like Linux, also has many versions. Different versions add specific mechanisms to the kernel and other aspects for different needs.
Currently, Mr. Zhu Youpeng provides the most comprehensive and in-depth systematic teaching courses on Linux. You can search for Zhu Youpeng’s Internet of Things Lecture and watch free videos on the official website.
2. VxWorks
The VxWorks operating system is an embedded real-time operating system (RTOS) designed and developed by the American WindRiver Company in 1983. VxWorks has the following advantages.
·Good real-time performance. The system itself has very little overhead, and system utilities such as process scheduling, inter-process communication, and interrupt handling are concise and effective, making the delays they generate very short. In addition, the multi-tasking mechanism provided by VxWorks uses priority preemption and rotation scheduling mechanisms to control tasks, fully ensuring reliable real-time performance.
·High reliability, thus ensuring the stability of the user's working environment.
·The integrated development environment is complete and powerful, making it convenient for users to use.
However, because the source code of VxWorks is not open to the public, the update of some of its functions (such as network function modules) lags behind. The development and use of VxWorks requires high patent fees, which greatly increases the cost of user development.
3. QNX
QNX was developed by Canadian QNX Software Systems Co., Ltd. and is widely used in automation, control, robotics, telecommunications, data communications, aerospace, computer network systems, medical equipment, transportation, and security and defense systems. , POS machines, retail machines and other mission-critical application areas.
QNX's unique microkernel and message passing structure make it very convenient to run and develop. QNX has very good scalability. Users can directly compile application code and QNX kernel together to generate a single image for simple embedded applications.
4. WindowsCE (recommended course: WindowsCE system customization and driver development training class)
WindowsCE is an open and upgradeable 32-bit embedded operating system developed by Microsoft. It is based on handheld computer-type electronic equipment. operating system. The graphical user interface of WindowsCE is quite outstanding. WindowsCE is modular, structured, based on Win32 application program interface and has nothing to do with the processor.
WindowsCE inherits the traditional Windows graphical interface. Users can use the programming tools on Windows95/98 (such as VisualBasic, VisualC, etc.) on the WindowsCE platform, use the same functions, use the same interface style, Windows The vast majority of application software on the Internet can continue to be used on the Windows CE platform with simple modifications and transplants. However, the WindowsCE development platform is relatively expensive, which limits its development to a certain extent.
5. PalmOS
PalmOS has a large user base in the PDA field and once occupied more than 90% of the PDA operating system market share. The most obvious feature of PlamOS is its simplicity. Its kernel is only a few thousand bytes. At the same time, users can easily develop and customize it, and it has strong operability.
6. C/OS
The source code is open, the code structure is clear, clear, detailed comments, organized, good portability, can be cut, the system is short and concise, it is the first choice for researching and learning real-time operating systems, but in It is less commonly used in engineering applications.