Font Size: a A A

Research On The Linux Kernel Error Tracing System And Its Design

Posted on:2017-08-11Degree:MasterType:Thesis
Country:ChinaCandidate:H WangFull Text:PDF
GTID:2348330503992894Subject:Computer Science and Technology
Abstract/Summary:PDF Full Text Request
Linux kernel is very large and complex, so kernel error tracing and debugging have always been both a time consuming and laborious thing. Existing error tracing wide range of methods and techniques, but almost for general applications and difficult or impossible to apply to the Linux kernel. Therefore, the research and design for Linux kernel error tracing system has a certain amount of research and practical significance.Linux kernel errors can be divided into static compile errors and dynamic runtime errors. This article firstly studies the error tracing related technology at home and abroad, then analyzes the characteristics of various error tracing technology. For static compilation errors and dynamic runtime errors, different methods are presented, and Linux kernel error tracking system is designed and implemented with the existing technologies. Main research contents are as follows:1. For static compilation errors, we choose device drivers to do research. A lot of compile errors may be encountered during the driver update process. Using static program analysis on the differences between different versions of the Linux kernel interface analysis, then try to analyze and interpret error by history submitted information retrieval technique, in order to design and implement Linux device driver update error tracing system.2. For dynamic runtime errors, based on its characteristic presents a little information and is difficult to locate, we present an error tracing technique combines static and dynamic program analysis. Static program analysis technique try to collect information of kernel function calls, and do slicing for single function. We use the dynamic execution information-gathering techniques to record the running Linux kernel, used to restore the real kernel execution process. Two kinds of technology used ensures that the functions which are analyzed are really executed, makes slicing results more accurate, easier for developers to debug and trace errors.3. Two experiments are designed to validate the system. For several real device driver updates, we use tools to solve compile problem and successfully update driver to newer Linux kernel. For runtime error, we use tools to analyze a given Linux kernel error to verify the feasibility of the method.
Keywords/Search Tags:Linux, error tracing, static analysis, program slicing, dynamic analysis
PDF Full Text Request
Related items