Skip to content
  • Sign In
  • Try Now
View all events
Linux

Linux Under the Hood Bootcamp

Published by Pearson

Intermediate content levelIntermediate

Become a Linux power user in this extended deep dive into Linux internals

  • Learn the ins and outs of Linux Internals and discover what makes Linux the most powerful operating system around
  • Deep dive into Linux processes, applications, and memory
  • Actively participate in each dynamic session customized based on your questions and most relevant topics of the day

Have you ever wondered how kernel memory management works? Which Linux components are involved while running containers? What to do when hardware initialization is getting stuck? To truly get the most out of Linux, you need to have a deep understanding of the answers to these questions and Linux internals in general. In this three-week live training series, Sander van Vugt takes you behind the curtain and answers the important questions to give you a better understanding of how to get the most out of the Linux operating system. Through in-depth discussion and examples, Sander provides an overview of key Linux functionalities as well as deep dives into Linux memory, Processes, and Applications.

While each week has an overarching structure, the sessions will be fluid and allow a deep dive into the most relevant topics on the day of the training. Throughout each class, Sander will welcome questions and topics from attendees and then provide real-time instruction and hands-on examples. Each time the class is taught, Sander will analyze topics from different angles. Get under the hood with Linux Internals!

The Linux under the Hood bootcamp consists of three sessions with different focuses each week:

Week 1: Linux Internals Overview: In the first live training of the series, you will get an introduction to the inner workings of Linux. Fundamental concepts will be discussed, such that you understand what is going on behind the scenes when working with Linux. You’ll learn about Linux core elements, the kernel, hardware handling, how applications work, and how Linux provides foundational tools for running containers.

Week 2: Processes and Applications: In this training, Sander provides a deep-dive into processes and applications in Linux. This includes examples of different types of processes, including Zombies, and how they can be managed. You’ll also learn how system calls are used to enable features required by applications.

Week 3: Memory: In the final week, Sander dives into what happens internally as you work with virtual and physical memory In Linux to allow applications to allocate what they need. By the end of the course, you’ll get a deep understanding of the inner workings of memory, and learn how to manage memory, which includes coverage of Huge memory pages, swap, and handling out of memory situations.

What you’ll learn and how you can apply it

  • Key features offered by the Linux kernel
  • Essential systems involved in hardware management, process management, and more
  • How the organization of Linux affects your capabilities working with it

This live event is for you because...

  • You have learned about the Linux basics and want to bring your knowledge to the next level
  • You want to learn about the cool stuff that Linux offers
  • You want to learn about possibilities and limitations of the Linux operating system to use it in the most efficient way

Prerequisites

  • Participants are expected to have basic working knowledge of the Linux operating system

Course Set-up

  • Participants should prepare one virtual or physical machine with any Linux distribution; hardware specs are not important
  • To make it easy to follow along with the instructor, it is recommended though not required to install either the latest version of Ubuntu LTS (either workstation or server edition), or the latest CentOS Stream or equivalent

Recommended Preparation

Recommended Follow-up

Schedule

The time frames are only estimates and may vary according to how the class is progressing.

Day 1

Topic 1: Core Linux elements (50 minutes)

  • In this section, you’ll learn how Linux is organized in user space and kernel space, the root user, permissions and capabilities, and the glibc library.

Break (10 minutes)

Topic 2: The Linux kernel (30 minutes)

  • In this segment, you’ll learn how the Linux kernel is organized as a modular kernel, and how to optimize kernel settings through the /proc filesystem.

Topic 3: Hardware handling and Memory Management (25 minutes)

This topic covers hardware initialization through kernel drivers and the systemd-udevd service, after which you’ll learn how Linux memory is organized in virtual and resident memory.

Break (10 minutes)

Topic 4: Running Applications (20 minutes)

This topic covers what happens while running applications. You’ll learn how the fork and exec system calls are used to start an application, how different areas of memory are allocated, and how applications get to their functionality using libraries.

Topic 5: How Linux features provide the building blocks for using containers (25 minutes)

This section discusses how containers come forth of key Linux features: cgroups and namespaces.

Q&A, course wrap-up, and next steps (10 minutes)

Day 2

Topic 1: Linux memory overview (50 minutes)

In this section, you’ll learn how Linux uses memory by organizing it in virtual versus resident memory and by flagging memory as active and inactive memory. You’ll also learn how memory is auto-tuned, and how to set priorities in this process

Break (10 minutes)

Topic 2: Analyzing Memory (40 minutes)

In this section, you’ll learn how to analyze memory. You’ll learn how to efficiently use common tools like top and vmstat, but also how to get in-depth application memory usage information out of the /proc pseudo filesystem.

Break (10 minutes)

Topic 3: Managing Memory (60 minutes)

In this segment, you’ll learn how to manage memory. You’ll get insight in tunables that relate to different aspects of memory use, including dirty cache and the use of swap. You’ll learn how to manage huge pages for more efficient memory use and how to tweak memory over-allocation to avoid Out of Memory (OOM) situations.

Q&A, course wrap-up, and next steps (10 minutes)

Day 3

Topic 1: Processes (50 minutes)

In this section, you’ll learn how Processes are created. You’ll get insight into processes and threads, as well as inter-process communication. You’ll learn how to monitor processes through the /proc filesystem and you'll see how to kill a Zombie.

Break (10 minutes)

Topic 2: Running Applications (40 minutes)

In this section, we’ll investigate what is going on while running applications. You’ll learn how system calls are involved and can be used for analyzing application activity. You’ll also learn about the different way processes can be started using fork() and exec(), and how applications are using libraries.

Break (10 minutes)

Topic 3: Managing Priorities and Cgroups (60 minutes)

This section is all about setting the right priorities. We’ll start by having a look at schedulers, real-time processes and priorities, after which the nice command can be understood. You will also learn how modern Linux systems are using Cgroups for priority management, and how using Cgroups influences traditional commands like nice.

Q&A, course wrap-up, and next steps (10 minutes)

Your Instructor

  • Sander van Vugt

    Sander van Vugt has many years of experience working with, writing about, and teaching Linux and Open Source topics. He is the author of the best-selling Red Hat RHCSA Cert Guide and the Red Hat RHCSA Complete Video Course along with many other titles on topics that include RHCE, Bash, Kubernetes, Ansible and more. Sander also works as a Linux instructor, teaching on-site and online classes for customers around the world.

    linkedinXlinksearch