Font Size: a A A

Pioneer In Network Device Drivers

Posted on:2003-01-12Degree:MasterType:Thesis
Country:ChinaCandidate:M LiuFull Text:PDF
GTID:2208360095961126Subject:Computer applications
Abstract/Summary:PDF Full Text Request
Now, computer cluster has been the major research direction of high performance computing environment, as a matter of fact. The overall performance of computer cluster closely depends on the inter-connected network, which the cluster used."Pioneer Control Token Routing Computer Switch Network", "Pioneer-net" for short, brought forward by Department of Computer Science and Technology of Northwesten Polytechnical University, can be used as high-speed network of cluster. The Pioneer-net consists of Pioneer-net card and Pioneer-net switch. Due to its simple structure, Pioneer-net switch only needs to automatically identify "Pioneer control token" and "channel cancel token", used to establish and cancel channel. Pioneer-net card belongs to PCI bus device.Windows NT and Linux are two main operating systems now. According to the theory of modern operating system, user programs cannot directly control devices. Device drivers are used for this purpose. They provide interface between devices and upper level applications. So the development of Pioneer-net's device drivers of Windows NT and Linux is very essential to the application of Pioneer-net.The development of device driver is a quite complicated task. For example, a series of development tools, including Driver Development Kit (DDK), Softice, Visual C++, etc., are needed for Windows NT platform. As for Linux platform, the development of device driver is similar. Consequently, a deep and thorough comprehension of these tools, as well as their principles is the first task of author. This thesis accomplished the research and development of Pioneer-net device drivers on these two operating system platforms.For the Windows NT device driver of Pioneer-net, Pioneer-net card is a programmable I/O device, and the device driver uses buffer I/O mode to copy data between user address space and kernel address space. The synchronization problem between the application program receiving data and the device driver is resolved by event object. The data transmission rate is effectively increased by using data packet as I/O read and write system call functions' parameter.Linux only provides device drivers for common network cards. Because Pioneer-card is different from common network cards, a new device driver development method named as "Double Registration" is put forward, which registers Pioneer-net card as block device and network device at the same time. When accounting Pioneer-net card a block device, the device driver can transmit data between user address space and kernel address space. When accounting Pioneer-net card a network device, the device driver can transmit data between kernel address space and Pioneer-net card. The Linux device driver of Pioneer-net uses circular buffer to receive data from Pioneer-net card, and offers blocked and non-blocked data transmission modes.
Keywords/Search Tags:Pioneer-net, PCI Bus, Windows NT, Linux, device driver, system call, kernel, I/O, Function, Buffer, Data Block Transmission, Double Registration
PDF Full Text Request
Related items