Font Size: a A A

Network Mirrored Block Device Driver Research And Realization

Posted on:2005-12-11Degree:MasterType:Thesis
Country:ChinaCandidate:H ChenFull Text:PDF
GTID:2208360125464459Subject:Computer system architecture
Abstract/Summary:PDF Full Text Request
The paper first introduces the architecture and main data structure of the Linux file system with the focus on Linux' management of buffer cache, and with a description of the implement procedures and related data structure of file system mounting and dismounting on the system's call. It then elaborates on the implementation of network storage mirror, giving several examples to illustrate how to efficiently intercept and capture the access data of user. Linux' support to it is particularly analyzed because TCP/IP network stack and network programming is used for mirroring, and some major mechanisms in kernel aiming at performance improvement are also addressed.Chapter Three finds the most important part of the paper, where the driver coding for Linux is expatiated. First we give a brief summary of driver coding in general, and then goes on to exam our major concern, the data structure and key functions of block device driver (e.g. the data structure of request queue, and the operation function). The coding of Linux kernel module is also included here as the kernel module method, instead of the Linux Kernel tree method, is applied for portability.Chapter four offers a detailed analysis of the implementation of disk mirror and NAS through software, including part of kernel codes for RAID and NBD. The reflection here is that the block device driver codes of either can be partially used for reference in network mirror system, i.e. we can borrow methods of block device mirror from RAID and skills of data block transmission around network from NBD. Much more can be achieved when we study more of Linux' kernel, which might be one reason why hackers prefer Linux to Windows.Our full attention in Chapter Five is given to NMBD driver coding and implementation, from which we can easily tell how much we benefit from Linux' source code tree. Several problems which occurred during implementation, e.g. different demands of different applications for data block coherence, and sequence restriction on data block between sender and receiver, are also reviewed with some possible algorithms of solution suggested.Finally, the system's goal is proved achieved through basic test of functionality.
Keywords/Search Tags:Nas, Kernel, Linux Kernel Module, Mirror
PDF Full Text Request
Related items