Comparison between wince and Linux (excerpt)

Source: Internet
Author: User

1) What is the difference between wince and Linux? (Business model, difficulty in learning and development, support for hardware, stability, help for engineers in future development, and help for the future development of the R & D center)
Advantages of Embedded Linux OS compared with Windows CE:
First, Linux is open source code. Many Linux fans all over the world are powerful technical supporters of Linux developers. Currently, Windows CE 6.0 kernel is fully open and GUI is not open. Second, Linux has a small kernel and high efficiency. Compared with Windows CE, it occupies too much RAM. Third, Linux is an open-source OS, which is extremely competitive in price and suitable for China's national conditions. Copyright is required for Windows CE. Fourth, Linux not only supports x86 chips, but also a cross-platform system. When you change the CPU, you will not be troubled by changing the platform. Fifth, the Linux kernel structure is very complete in terms of network. It provides Ethernet networks including 10 Gbit/s, Gbit/s, and Gigabit Networks, as well as wireless networks, Token
Ring, optical fiber, and even satellite support. Currently, WinCE has powerful network functions.
Vulnerabilities of Embedded Linux OS compared with Windows CE:
First, Linux development is difficult and requires high technical strength. It is relatively easy to develop wince, with short development cycle and perfect kernel, mainly for Application Layer Development. Second, Linux core debugging tools are incomplete, and debugging is not very convenient. There is no good user GUI yet. wince provides rich GUI and powerful development tools. Third, it is difficult to maintain the system. Linux occupies a large amount of memory. If you remove some useless functions to reduce the memory usage, but if you are not careful, it will cause new problems.
2) What is the difference between wince 5.0 and 6.0?

100% open the Windows Embedded ce 6.0 kernel without reservation. Microsoft also launched Visual Studio 2005 Professional Edition as part of Windows Embedded ce 6.0. Visual Studio 2005 Professional edition will include a powerful plug-in called platform builder, which is an integrated development environment dedicated to embedded platforms ". This integrated development environment integrates the entire development chain and provides a tool that is easy to use from devices to applications, greatly accelerating the launch of device development. Windows
Embedded ce 6.0 re-designed kernel with 32,000 processor concurrent processing capabilities, each processing has 2 GB of virtual memory addressing space, while maintaining the system's real-time response, the new unit core data and voice components are added. The components contained in 6.0 facilitate developers to create a projector that wirelessly connects to the Remote Desktop Sharing experience through the built-in functions of Windows Vista, making full use of multimedia technology, to develop network media devices, digital video recorders, and IP set-top boxes.


Linux is a single kernel, that is, graphics, drivers, and file systems are all implemented in the operating system kernel, running in the kernel status and the same address space, the advantage is that it reduces the overhead of inter-process communication and state switching, and achieves high operation efficiency. The disadvantage is that the kernel is large!


Wince is a micro-kernel that implements basic functions in the kernel, while all functions such as the graphics system, file system, device driver, and communication are stored outside the kernel, provides various functions in the form of system services. The disadvantage is that the user status and kernel status must be switched frequently during the running process, resulting in system efficiency being inferior to that of a single kernel.


From the perspective of introduction, it is obvious that in terms of real-time performance, Linux is better than wince, but Linux drivers and file systems, such as the low level of developers, it will seriously affect system stability!


In fact, Linux and wince have their own advantages and disadvantages. the Linux kernel is stable, has powerful network functions, has many network resources, and is free of charge. But the disadvantage is that most of the free resources on the network are trial-level, not product-level, n many bugs, so that Linux is backed up with a black box! However, operations are not user-friendly and open source code must be provided by OEMs. These are the disadvantages of competing Linux and wince.


The strength of Wince lies in the fact that it is easy for developers to switch from windows, development tool integration, powerful functions, and beautiful interface (but there are also many bugs in it ). However, fees are charged, which is the heart of all companies that use wince, and the stability of Wince needs to be improved.


I personally suggest using Linux if you have a strong and stable group to develop some long-term products. However, for companies with poor strength, developing products with graphic interfaces would be better at using wince.

Differences in Windows and Linux 1. data Interaction between the driver and the application: For memory allocated in the driver, Windows maps the memory space in the driver to the application layer through memorymap, the application and driver operate on the data of the same address space through different addresses. in Linux, if the driver interacts with the application layer, the data is operated through copytouser and copyfromuser, it seems that Windows is more efficient at this point. Linux also has a similar MMAP mechanism. You can map the kernel address to the user space. 2. when the application and driver need to be synchronized: in Linux, IOCTL is called in the application to wait in the driver. In this case, the driver can also process other tasks and get response events, the application can continue to execute the waiting task. If Windows puts the waiting time in the driver, it will find that the driver is waiting for it and no longer responds to other input. Therefore, the wait in WINDOS is to call the waitobject function back in the application. 3. The wince operating system implements a process/thread-level management model. Linux itself does not support threads. It supports process-level. To use a thread, use the thread library.

Good news: differences between Linux and Windows kernels


[Statement: you are welcome to repost it. For details, refer to the source Cu accessory http://linux.chinaunix.net/bbs/thread-1153868-1-1.html]

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.