| As the electrical products become more and more digital, the embedded system has been put into practice gradually. User Interface as an important branch of the HMI, exchanges information with users in graphical and intuitionist ways.GUI makes software convenient and humanistic, and has been applied in embedded fields prevalently. The role that the embedded GUI system plays in the embedded system becomes more important.This paper first compares the functions and capabilities of the four main embedded graphical user system of MiniGUI, MicroWindows, OpenGUI and Qt/Embedded.Bsaed on this,I chose MicroWindows as the object and did research on this. In order to obtain the architecture of the system and the whole design idea, this paper then analyzes the layered architecture of MicroWindows with an inspection to its significant parts. This paper then analyzes MicroWindows, The Embedded Graphical User Interface--MicroWindows adopts layered architecture and client-server module with advantages in stabilization and requiring low expense, as well as some inefficiency in supporting multi-threading application and client/server communication. To solve these problems, in-depth work is done as follows:The server of MicroWindows can support more than one client application at the same time, but requires that each application only has one thread. Otherwise, accessing the critical resources including requesting buffer, network socket and event queue will result in collision. Analyzing the interaction of clients and server through requests responsions and events, use different policy in synchronous and asynchronous procedures to make MicroWindows support multi-threading application.The client and the server communicate with each other through network socket. there are two copy processes when each time data is translated from client to server: first from client buffer to Linux kernel space, then from Linux kernel space to server space. This will result in large system expense problem, especially when large data is translated. A sharing memory method is put forward to enhance communication efficiency and the two methods can be dynamically switched. Finally, based on the practical application, the feasibility and correctness of the improvement are verified by experimental program. |