Relational access to Unix kernel data structures

Conference Paper (2014)
Author(s)

Marios Fragkoulis (Athens University of Economics and Business)

D. Spinellis (Athens University of Economics and Business)

Panagiotis Louridas (Athens University of Economics and Business)

Angelos Bilas (University of Crete)

Affiliation
External organisation
DOI related publication
https://doi.org/10.1145/2592798.2592802
More Info
expand_more
Publication Year
2014
Language
English
Affiliation
External organisation

Abstract

State of the art kernel diagnostic tools like DTrace and Systemtap provide a procedural interface for expressing analysis tasks. We argue that a relational interface to kernel data structures can offer complementary benefits for kernel diagnostics. This work contributes a method and an implementation for mapping a kernel's data structures to a relational interface. The Pico COllections Query Library (PiCO QL) Linux kernel module uses a domain specific language to define a relational representation of accessible Linux kernel data structures, a parser to analyze the definitions, and a compiler to implement an SQL interface to the data structures. It then evaluates queries written in SQL against the kernel's data structures. PiCO QL queries are interactive and type safe. Unlike SystemTap and DTrace, PiCO QL is less intrusive because it does not require kernel instrumentation; instead it hooks to existing kernel data structures through the module's source code. PiCO QL imposes no overhead when idle and needs only access to the kernel data structures that contain relevant information for answering the input queries. We demonstrate PiCO QL's usefulness by presenting Linux kernel queries that provide meaningful custom views of system resources and pinpoint issues, such as security vulnerabilities and performance problems.

No files available

Metadata only record. There are no files for this record.