Analysis and comparison of three embedded operating systems
Abstract: summary three commonly used embedded operating systems Palm OS, Windows CE, Linux; On this basis, this paper analyzes and compares these three embedded operating systems, and gives their similarities and differences and their respective scope of application
key words: embedded system embedded operating system Palm OS Windows CE Linux
1 embedded system and embedded operating system
1.1 embedded system
embedded system is based on embedded computer as the technical core, user oriented, product oriented, application-oriented, software and hardware can be reduced, which is suitable for function, reliability, cost, volume Special computer system with strict requirements for comprehensive performance such as power consumption
embedded system should have the following characteristics: high reliability; The system can still work normally in harsh environment or sudden power failure; Many embedded applications require real-time, which requires the embedded operating system to have real-time processing ability; Embedded system is organically combined with specific applications, and its upgrading is also synchronized with specific products; The software code in embedded system requires high quality and high reliability, which is generally solidified in read-only memory or flash memory, that is, the software requires solid-state storage, rather than storage in disk and other carriers
1.2 embedded operating system
embedded operating system (EOS) is a widely used system software
, which was mainly used in the field of industrial control and national defense systems in the past. EOS is responsible for the allocation and scheduling of all software and hardware resources embedded in the system, and controlling and coordinating concurrent activities; It must reflect the characteristics of its system and be able to achieve the required functions of the system by loading and unloading some modules. At present, some EOS product series with relatively successful applications have been launched. With the development of Internet technology, the decrease of 0.94 PCT 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 strong function. Embedded operating system has prominent characteristics in real-time efficiency, hardware dependence, software solidification and application specificity. EOS is relative to the general operating system. In addition to the most basic functions of the general operating system, such as task scheduling, synchronization mechanism, interrupt processing, file processing, etc., it also has the following characteristics:
① portability. Open and scalable architecture
② strong real-time performance. EOS is generally real-time and can be used in various equipment control
③ unified interface. Provide various device drive interfaces
④ convenient and simple operation, providing friendly graphical GUI and graphical interface, and pursuing ease of learning and use
⑤ provide powerful networking functions, support tcp/ip protocol and other protocols, provide tcp/udp/ip/ppp protocol support and unified MAC access layer interface, and reserve interfaces for various mobile computing devices
⑥ strong stability, weak interaction. Once the embedded system starts to run, it does not need too much user intervention, which requires that the EOS responsible for system management has strong stability. The user interface of embedded operating system generally does not provide operation commands, but provides services to user programs through system call commands
⑦ 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 system should be able to be easily disassembled, and various memory file systems should be used
⑧ better hardware adaptability, that is, good portability
there are about 40 kinds of embedded operating systems for information appliances in the world. At present, EOS products that are very popular in the market, including Palm OS, a subsidiary of 3Com, account for 50% of the global market share, while Microsoft's Windows CE accounts for only 29%. In the U.S. market, Palm OS has a far higher share than Windows CE by 80%. Open source Linux is very suitable for the development of information appliances. For example, Hongqi embedded Linux developed by Zhongke Hongqi Software Technology Co., Ltd. and "quark", an embedded operating system based on xlinux developed by Meishang tiger company. "Quark" is the smallest Linux in the world at present. It has two prominent features, namely, small size and GCS coding
2 three commonly used embedded operating systems
2.1 Palm OS
palm is the product of 3Com company, and its operating system is Palm OS. Palm OS is a 32-bit embedded operating system. Palm provides serial communication interface and infrared transmission interface, which can easily communicate with other external devices and transmit data; With an open OS application program interface, developers can develop their own applications as needed. Palm OS is an open system with strong technology. Now there are about thousands of applications written specifically for Palm OS. From the perspective of program content, Palm OS covers everything from personal management and games to industry solutions. With the support of rich software, the functions of Palm OS based handheld computers have been continuously expanded
palm OS is a set of OS specially developed for handheld computers. When writing programs, Palm OS takes full account of the relatively small memory of handheld computers, so it only occupies a very small memory. Because the space occupied by applications written based on Palm OS is also very small (usually only dozens of KB), Palm OS based handheld computers (although only a few MB of RAM) can run many applications
because palm products are easy to use and light, Palm OS should have the following characteristics
① energy saving function of the operating system. The power supply is required to be as small as possible by the handheld computer. Therefore, in the Palm OS application, if there is no event running, the system equipment will enter the state of semi sleep (doze); If the application stops active for a period of time, the system will automatically enter sleep state
② reasonable memory management. Palm's memory is all read-write fast ram. Dynamic RAM is similar to ram on PC. It provides temporary storage space for global variables and other data that do not need to be permanently saved; Storage RAM (storage RAM) is similar to the hard disk on PC, which can permanently save applications and data
③ the data of Palm OS is stored in the format of database. The database is composed of a set of records and some database header information. To ensure program processing speed and memory space, when processing data, Palm OS does not copy data from storage heap to dynamic heap for processing, but directly processes it in storage heap. In order to avoid calling the memory address incorrectly, Palm OS stipulates that all this must be achieved by calling the API in its memory manager
the combination of Palm OS and HotSync software can synchronize the information on the handheld computer and PC, and expand the functions of desktop synchronization to the handheld computer. Palm has a wide range of applications, such as contact and worksheet
management, e-mail and Internet communication, salesperson and group automation, and so on. Palm peripheral hardware is also very rich, including digital cameras, GPS receivers, modems, GSM wireless, digital audio playback devices, portable keyboards, voice recorders, bar code scanning, wireless paging receivers, detectors. Among them, the application of palm combined with GPS can not only be used for navigation and positioning, but also for climate monitoring, place name investigation, etc
2.2 Windows CE
Windows CE is an open and scalable 32-bit embedded operating system developed by Microsoft. It is based on the operation of electronic devices such as handheld computers. It's lean Windows 95. The graphical user interface of Windows CE is quite excellent. C in CE stands for compact, consumer, connectivity and companion; E stands for electronics. Different from windows 95/98 and windows nt, Windows CE is an embedded new operating system with all source codes developed by Microsoft. Although its operating interface comes from windows 95/98, Windows CE is a new information device platform redeveloped based on Win32 API. Windows CE is modular, structured, based on Win32 Application Program Interface and processor independent. Windows CE not only inherits the traditional windows graphical interface, but also can use the programming tools on windows 95/98 (such as visual basic, visual c++), use the same functions and use the same interface lattice on the Windows CE platform, so that the vast majority of rotary encoder application software can continue to be used on the Windows CE platform with simple modification and transplantation
the design goal of Windows CE is: modularity and scalability, good real-time performance, strong communication ability, and support a variety of CPUs. Its design can meet the needs of a variety of devices, including industrial controllers, communication hubs and sales terminals, as well as consumer products such as cameras and home entertainment equipment. A typical embedded system based on Windows CE is usually designed for a specific purpose and works without being online. It requires that the operating system used is small in size and has built-in response to interrupts
windows CE features and guarantees that it cannot be destroyed are:
① it has flexible power management functions, including instant sleep/wake-up mode
② object store technology is used, including file system, registry and database. It also has many high-performance and efficient operating system features, including on-demand paging, shared storage, cross processing synchronization, support for large heap, and so on
③ have good communication ability. It supports a wide range of communication hardware, also supports direct local area connection and dial-up connection, and provides connections with PC, internal and Internet. It also provides the best integration and communication with windows 9x/nt
④ support nested interrupts. Allow higher priority interrupts to be responded to first, rather than waiting for lower level ISR to complete. This makes the operating system have the real-time performance required by the embedded operating system
⑤ better thread responsiveness. The upper limit of response time for high-level IST (interrupt service thread) is more stringent. The improvement of program response ability helps developers master the specific time of thread conversion, and helps them create new embedded applications through enhanced monitoring ability and hardware control ability
⑥ 256 priority levels. It can make developers have greater flexibility in controlling the timing arrangement of embedded systems
⑦ the API of Windows CE is a subset of Win32 APIs, supporting nearly 1500 Win32 APIs. With these APIs, you can write any complex application. Of course, in Windows CE system, the API provided can also be determined according to the needs of specific applications
in handheld computers, Windows CE includes the following important components: Pocket outlook and its components, voice recorder, mobile channel, remote dial-up access, world clock, calculator, multiple input methods, GBK character set
LINK
Copyright © 2011 JIN SHI