Font Size: a A A

Realization On Achieving Wineserver Mechanism In The Linux Kernel

Posted on:2013-06-10Degree:MasterType:Thesis
Country:ChinaCandidate:B S ZhongFull Text:PDF
GTID:2248330374963845Subject:Computer system architecture
Abstract/Summary:PDF Full Text Request
Wine is a kind of excellent open source software, through the simulation of the Windows operating system environment in Linux user space, so that Windows applications can be directly installed and used in the Linux operating system. Wine makes up the lack of application softwares in the Linux operating system, and has played a significant role in promoting to enhance the influence of the Linux operating system in the desktop space.It is the Wineserver component of Wine which simulates the Windows operating system environment, it is running as a form of Linux process, and responds and deals with all of the Windows applications’Win32API requests. Because of the reasons of the Wineserver operating mechanism, efficiency is not very ideal when Windows applications running on Wine. First of all, when a Windows application sends Win32API request to Winserver, it needs to request process scheduling to let Wineserver run. Secondly, the Wineserver deals with all those requests by polling and serial processing. When there are a large number of Win32API requests, this processing mechanism of Wineserver will become a bottleneck.Therefore, in this paper, Wineserver mechanism is extended in the Linux kernel space and it becomes a feature in kernel space rather than a process running in user space, thereby improving the efficiency of Wineserver responding to the requests of the Win32API.The main findings are as follows:1. To solve the Wineserver’s process scheduling problem, the Win32API system call interface is realized firstly in the Linux kernel, and then some Windows features are extends in the Linux kernel. Therefore, when a Windows application requests services, it can directly go into the Linux kernel space through the Win32system call interface and then call Win32API interface functions provided by Wine, thus avoiding the performance loss due to the process scheduling.2. The Windows binary image files are always loaded indirectly by Wine in Linux user space. So, in the circumstances of completing the previous work, a Windows image file loader is realized in the Linux kernel space. Therefore, the Windows image files can be directly loaded in the Linux kernel space.In summary, the present work has mainly solved the performance loss caused by Wineserver’s process scheduling when responsing Windows service requests, and let the operating efficiency of Wineserver improved.
Keywords/Search Tags:Wine, Wineserver, Linux Kernel, Windows Kernel, Operating System
PDF Full Text Request
Related items