A Free Trial That Lets You Build Big!
Start building with 50+ products and up to 12 months usage for Elastic Compute Service
1.1 Embedded System
Embedded systems are based on embedded computers. They are user-oriented, product-oriented, and application-oriented, and their hardware and software can be reduced, it is applicable to specialized computer systems that have strict requirements on functions, reliability, cost, volume, power consumption, and other features.
Embedded systems have the following features: high reliability; the system can still work normally in harsh environments or when a sudden power failure occurs; many embedded applications require real-time performance, this requires the embedded operating system to have real-time processing capabilities. The embedded system and specific applications are organically combined, and its upgrading is also carried out in synchronization of specific products; software code in embedded systems requires high quality and high reliability, and is generally solidified in read-only memory or flash memory. That is to say, software requires solid-state storage instead of stored in disks and other carriers.
1.2 Embedded Operating System
The Embedded Operating System (EOS) is a widely used system software. In the past, it was mainly used in industrial control and defense systems. EOS is responsible for allocating and scheduling all software and hardware resources embedded into the system, controlling and coordinating concurrent activities. It must reflect the characteristics of the system, it can achieve the functions required by the system by loading and unloading certain modules. At present, we have launched some successful EOS product series. With the development of Internet technology, the popularization and application of information appliances, and the miniaturization and specialization of EOS, Eos began to develop from a single weak function to a highly specialized and powerful function. Embedded operating systems have outstanding features in real-time system efficiency, hardware dependence, software solidification, and application specialization. Compared with general operating systems, EOS has the following features in addition to the most basic functions of general operating systems, such as task scheduling, synchronization, interrupt processing, and file processing:
① Maintainability. An open and scalable architecture.
② Strong real-time performance. EOS is generally highly real-time and can be used in various device controls.
③ Unified interface. Provides various device driver interfaces.
④ Easy to operate, simple, and friendly GUI and GUI.
⑤ Provides powerful network functions, supports TCP/IP and other protocols, supports TCP, UDP, IP, and PPP protocols, and provides unified Mac access layer interfaces, reserved interfaces for various mobile computing devices.
Strong stability and weak interaction. Once the embedded system starts to run, there is no need for too many user intervention. Therefore, the EOS responsible for system management has high stability. User Interfaces of embedded operating systems generally do not provide operation commands. They provide services to user programs through system calling commands.
7. solidify the code. In the embedded system, the embedded operating system and application software are solidified in the ROM of the embedded system computer. Auxiliary memory is rarely used in embedded systems. Therefore, the file management function of embedded operating systems should be easily disassembled and various memory file systems should be used.
Middleware provides better hardware adaptability, that is, good portability.
There are about 40 embedded operating systems for information appliances in the world. Currently, the most popular EOS products on the market, including the Palm OS of a subsidiary of 3Com, account for 50% of the world's share, and Microsoft's Windows CE is only 29%. In the U.S. market, palm
OS shares more than Windows CE by 80%. Open-source Linux is suitable for the development of Information appliances. For example, the xlinux-based embedded operating system "Quark" developed by the Red Flag embedded Linux and meishang nethu Software Technology Co., Ltd ". "Quark" is currently the world's smallest Linux operating system. It has two outstanding features: Small Size and GCS encoding.
2. Three Common Embedded Operating Systems
2.1 Palm OS
Palm is a product of 3Com, and its operating system is Palm OS. Palm OS is a 32-bit embedded operating system. Palm provides a serial communication interface and an infrared transmission interface, which can be used to conveniently communicate with other external devices and transmit data. It has an open OS application interface, developers can develop their own applications as needed. Palm OS is a powerful and open system. There are thousands of applications dedicated to Palm OS. From the perspective of program content, from personal management to games, as big as industry solutions, Palm OS is all-encompassing. With rich software support, the features of Palm OS-based handheld computers are constantly extended.
Palm OS is a set of operating systems specially developed for handheld computers. When writing a program, Palm OS fully considers the relatively small memory of the handheld computer, so it only occupies a very small memory. Because applications written based on Palm OS occupy a very small amount of space (usually dozens of KB), Palm OS-based handheld computers (although only a few MB of RAM) you can run many applications.
Because palm is easy to use and lightweight, it determines that Palm OS should have the following features.
① The Energy Saving Function of the operating system. Because the power supply on the handheld computer is as small as possible, if no event is run in the Palm OS application, the system device enters the semi-sleep state; if the application stops the activity for a period of time, the system automatically enters the sleep state.
② Reasonable memory management. Palm's memory is all fast ram that can be read and written. Dynamic RAM (Dynamic RAM) is similar to ram on a PC. It provides temporary storage space for global variables and other data that do not need to be permanently stored; storage Ram is similar to a hard disk on a PC. It can permanently store applications and data.
③ The data of the Palm OS is stored in the database format. A database consists of a set of records and some database header information. To ensure program processing speed and memory space, Palm OS does not copy data from the storage heap to the dynamic heap before processing, instead, it is processed directly in the storage heap. To avoid calling the memory address incorrectly, Palm OS stipulates that all of this must be done by calling APIs in its memory manager.
The combination of Palm OS and synchronization software (HotSync) enables information on the handheld computer and the PC to be synchronized, and the desktop functions can be extended to the handheld computer. Palm has a wide range of applications, such as contact and worksheet management, email and Internet communication, sales staff and group automation. The palm peripheral hardware is also rich, includes digital cameras, GPS receivers, modem, GSM wireless phones, digital audio playback devices, portable keyboards, voice recorders, bar code scans, wireless paging receivers, and detectors. Among them, the application of the combination of palm and GPS not only can be used for navigation and positioning, but also can be used for climate monitoring and Place Name Survey.
2.2 Windows CE is an open and upgradeable 32-bit embedded operating system developed by Microsoft. It operates on electronic devices of the palm-mounted computers. It is a streamlined Windows 95. Windows CE provides excellent graphic user interfaces. C In Ce represents compact, consumer, connectivity, companion, and electronics ). Unlike Windows 95/98 and Windows NT, Windows CE is a new embedded operating system with all source code developed by Microsoft.
95/98, but Windows CE is a new information device platform developed based on Win32 API. Windows CE is modular, structured, and based on Win32 application interfaces, and has nothing to do with the processor. Windows CE not only inherits the traditional Windows graphical interface, but also can use programming tools (such as Visual Basic and Visual C ++) on Windows CE platform on Windows 95/98), using the same functions, using the same interface mesh, so that the vast majority of application software can be modified and transplanted in Windows
Continue to use on CE platform.
Windows CE is designed to be modular and scalable, with good real-time performance, powerful communication capabilities, and support for multiple CPUs. It is designed to meet the needs of a variety of devices, including industrial controllers, communication hubs and enterprise devices such as sales terminals, as well as consumer products such as cameras, telephones, and home entertainment devices. A typical Windows CE-based embedded system is usually designed for a specific purpose and does not work online. It requires that the operating system used is small and has a response to the interruption function.
Windows CE has the following features:
① Flexible power management functions, including instant sleep/wake-up mode.
② Object store technology is used, including file systems, registries, and databases. It also features many high-performance and efficient operating system features, including on-demand page feed, shared storage, cross-processing synchronization, and support for large-capacity heap.
③ Good communication capability. Supports a wide range of communication hardware, as well as direct local connection and
Provides dial-up connections and connections to PCs, intranets, and the Internet. It also provides optimal integration and communication with Windows 9x/NT.
④ Nested interrupt is supported. A higher-priority interrupt is allowed to get a response first, rather than waiting for the completion of a lower-level ISR. This makes the Operating System Real-time as required by the embedded operating system.
⑤ Better thread response capability. The response time limit for High-Level ist (service interruption thread) is more stringent. The improvement in thread response capability helps developers master the specific time of thread conversion, it also helps them create new embedded applications through enhanced monitoring and hardware control capabilities.
⑥ 256 priority levels. Developers can be more flexible in controlling the timing of embedded systems.
7. Windows CE APIs are a subset of Win32 APIs and support nearly 1500 Win32 APIs. With these APIs,
You can write any complex application. Of course, in the Windows CE system, the provided API can also be determined according to the specific application requirements.
Windows CE contains the following important components on a PC: pocket outlook and its components, voice recorder, mobile channel, remote dial-up access, World Clock, calculator, multiple input methods, GBK character set, Chinese TTF font, English-Chinese Bidirectional dictionary, pocket browser, email, pocket office, system settings, Windows CE services software.
Linux is a UNIX-like operating system. It originated from a hobby called Linus Torvalds in Finland, but is now the most popular open-source operating system. Since the advent of Linux in 1991, Linux has developed into a powerful and well-designed operating system in just 10 years, with the development of network technology, Linux OS has become a strong competitor of Microsoft's DOS and Windows 95/98. Linux not only runs on the PC platform, but also shines in the embedded system. With the rapid development of various embedded Linux OS
OS has gradually formed a situation where it can compete with EOS such as Windows CE. In the currently developing embedded system, 49% of projects choose Linux as the embedded operating system. Linux has become an ideal choice for Embedded operations.
The red-flag embedded Linux developed by zhongke Hongqi Software Technology Co., Ltd. is becoming the first choice for many embedded device manufacturers. In less than a year, Hongqi launched an embedded Linux System for PDA, set-top box, thin client, and switch, and put it into practical application. The following uses the Red Flag embedded Linux as an example to describe embedded Linux.
① Streamlined kernel, high performance, stability, and multi-task.
② It is suitable for different CPUs and supports multiple architectures, such as x86, arm, MIPS, Alpha, and iSCSI.
③ Provides complete embedded GUI and embedded X-Windows.
④ Provides embedded browser, email program, MP3 player, MPEG player, notepad and other applications.
⑤ Provides complete development tools and sdks, as well as development versions on PC.
⑥ Users can customize and provide graphical customization and configuration tools.
7. The driver set of commonly used embedded chips supports a large number of peripheral hardware devices and rich drivers.
⑧ Provides real-time versions and complete embedded solutions for embedded storage solutions.
⑨ Provides comprehensive Chinese support, powerful technical support, and complete documentation.
⑩ Open source code, a wide range of software resources, a wide range of software developers
Support, low price, flexible structure, and wide application.
3 Comparison of Three Embedded Operating Systems
3.1 comparison between Linux OS and Windows CE
Advantages of Embedded Linux OS compared with Windows CE: first, Linux is open-source without black box technology, and many Linux fans around the world are powerful technical supporters of Linux developers; windows CE is a non-open OS, making it difficult for a third party to implement product customization. Second, the source code of Linux is available everywhere, with rich notes and complete documentation, making it easy to solve various problems. Third, the Linux kernel is small and efficient, while Windows CE is clumsy in this regard. It occupies too much RAM and applications are huge. Fourth, Linux is an open-source operating system that is extremely competitive in price and suitable for China's national conditions. Windows
CE's copyright fee is a factor that manufacturers have to consider. Fifth, Linux not only supports x86 chips, but also a cross-platform system. So far, it supports 20 ~ With 30 types of CPUs, many CPU (including household electrical chips) vendors have begun to transplant Linux platforms, and the porting speed far exceeds the Java development environment. If you use a Linux environment to develop products today, you will not be troubled by changing the CPU in the future. Sixth, the Linux kernel structure is very complete in terms of network. It provides Ethernet networks including 10 Gbit/s, Gbit/s, and Gbit/s, as well as wireless networks, Token
Ring, optical fiber, and even satellite support. 7. In the design of the kernel structure, Linux considers to adapt to the requirements of system reduction. In the design of the kernel structure, Windows CE does not consider the requirements of high system reduction.
The weakness of Embedded Linux OS compared with Windows CE: first, it is difficult to develop and requires high technical strength. Second, it is difficult to debug because the core debugging tools are incomplete, there is no good user GUI yet. Third, like some commercial operating systems, embedded Linux occupies a large amount of memory. Of course, some useless functions can be removed to reduce memory usage, however, if you are not careful,
Fourth, some Linux applications require virtual memory, while the embedded system does not or does not, therefore, not all Linux applications can run in an embedded system.
3.2 comparison between Palm OS and Windows CE
3Com's Palm OS is an excellent embedded operating system in the handheld computer market. It is specially designed for this market. It has an open operating system application interface (API), supporting developers to develop their own applications as needed, with a wealth of applications. It has been dominant in the handheld computer market for a long time.
Technically speaking, Palm OS is a set of operating systems specially developed for handheld computers. It has many advantages that cannot be compared with Windows CE. Windows CE is too bloated, it is not suitable for low-cost handheld computers.
Palm OS is a highly open system. Developers provide users with a free development tool for Palm OS, allowing users to conveniently write and modify related software on the basis of Palm OS. Compared with Windows CE, development tools are much more complicated, which makes it difficult for general users to master. This is another major difference between Palm OS and Windows CE.
The three embedded operating systems, Palm OS, Windows CE, and Linux, have different features and functions. However, Linux is smaller and more stable than Palm OS and Windows CE, moreover, Linux is an open OS and is highly competitive in terms of price. Today, the entire market has not yet taken shape, and the embedded operating system has not yet formed a unified international standard. Moreover, a series of features of Linux provide convenience for us to develop Embedded Operating Systems in China. Therefore, we have the opportunity to have a place in this immature market.
Start building with 50+ products and up to 12 months usage for Elastic Compute Service