Asee peer logo

Teaching Real Operating Systems With The Lttng Kernel Tracer

Download Paper |


2008 Annual Conference & Exposition


Pittsburgh, Pennsylvania

Publication Date

June 22, 2008

Start Date

June 22, 2008

End Date

June 25, 2008



Conference Session

Programming for Engineering Students I

Tagged Division

Computers in Education

Page Count


Page Numbers

13.1171.1 - 13.1171.10



Permanent URL

Download Count


Request a correction

Paper Authors

author page

Mathieu Desnoyers Ecole Polytechnique de Montreal


Michel Dagenais Ecole Polytechnique de Montreal

visit author page

Michel Dagenais is professor and Chairman of the Computer and Software Engineering Department at Ecole Polytechnique de Montreal. He authored or co-authored a large number of scientific publications, free documents and free software packages in the fields of software performance analysis, structured documents on the Web, and object oriented distributed systems. In 1995-1996, during a leave of absence, he was the director of software development at Positron Industries and chief architect for the Power911, object oriented, distributed, fault-tolerant, call management system with integrated telephony and databases. In 2001-2002 he spent a sabbatical leave at Ericsson Research Canada, in the group responsible for Carrier Grade Linux, working on the Linux Trace Toolkit, an open source tracing tool.

visit author page

Download Paper |

NOTE: The first page of text has been automatically extracted and included below in lieu of an abstract

Teaching the GNU/Linux Operating System with the LTTNG Kernel Tracer

1 Abstract Computer systems involve increasingly complex hardware components and software abstractions, e.g. an Xen Hypervisor managing virtual machines running on a multi-core CPU. In the industry, computer engineers are asked to understand these technologies. To tackle this task, companies developing large scale and embedded systems rely on tracing tools to get precise performance monitoring and behavior analysis information. This paper first discusses the industry need for computer engineers with a good understanding of computer systems. Subsequently, it illustrates how the Linux Trace Toolkit Next Generation (LTTNG) kernel tracer, widely used in the industry, can be used to explain operating system con- cepts through realistic examples. Finally, the methodology used to introduce these examples to undergraduate computer engineering students is outlined. 2 Introduction As today’s computer systems sophistication level increases, it becomes harder for an aspiring computer engineer to understand the interactions between hardware and high level applications, because Virtual Machine Managers (Hypervisors) and operating systems abstract them. With the appearance of central processing units with multiple cores in commodity hardware, and the widespread use of virtualization, typical industrial systems are increasingly complex. Concur- rently, the amount of time spent in curriculum on low level computer organization and system programming may be compressed to make room for software architecture and higher level lan- guage courses. Yet, a good understanding of the system level issues helps the computer engineer to develop and debug efficient, possibly real-time, multi-threaded applications. The Linux Trace Toolkit Next Generation (LTTNG) tracer gathers a sequence of events from the Linux kernel, core of the operating system, which manages the hardware and provides services to user-space processes (standard programs). It provide a precise post-mortem playback of the system execution and helps understanding complex interactions between these programs, becoming espe- cially useful when processes are made of many execution threads or when a lot of inter-process communication is done. It can also extract execution traces from the Xen Hypervisor to help studying interactions between multiple virtual machines running on a computer. It has been used in an advanced Operating Systems undergraduate course to show the precise sequence of events occurring in common cases such as a packet being received, a disk read/write or a keyboard key being pressed. LTTNG was primarily developed for the computer industry and is currently used on large systems at Google, IBM Research, Autodesk and in the embedded systems fields at Monta Vista, Sony and Wind River. It provides an hands-on, in-depth understanding of the interactions between applications and between the different execution layers, including the user-space, operating system and Hypervisors. This paper presents an overview of the actual industry requirements regarding computer scientists, briefly reviews the capabilities of LTTNG and then discusses how this tool was used in a course to illustrate, in a direct and intuitive way, the behavior of real, complex, computer systems.

Desnoyers, M., & Dagenais, M. (2008, June), Teaching Real Operating Systems With The Lttng Kernel Tracer Paper presented at 2008 Annual Conference & Exposition, Pittsburgh, Pennsylvania. 10.18260/1-2--3804

ASEE holds the copyright on this document. It may be read by the public free of charge. Authors may archive their work on personal websites or in institutional repositories with the following citation: © 2008 American Society for Engineering Education. Other scholars may excerpt or quote from these materials with the same citation. When excerpting or quoting from Conference Proceedings, authors should, in addition to noting the ASEE copyright, list all the original authors and their institutions and name the host city of the conference. - Last updated April 1, 2015