Home > Store

Linux Under the Hood LiveLessons

Linux Under the Hood LiveLessons

Your browser doesn't support playback of this video. Please download the file to view it.

Online Video

Register your product to gain access to bonus material or receive a coupon.


  • Copyright 2017
  • Edition: 1st
  • Online Video
  • ISBN-10: 0-13-466299-7
  • ISBN-13: 978-0-13-466299-2

Over 9 Hours of Video Instruction

Learn all about Linux internals and how Linux really works.

Linux Under the Hood is a unique video project that focuses on Linux internals, so you can get the most out of the Linux operating system. Although most Linux books and videos explain how to accomplish tasks in Linux, this video course goes beyond the how and dives into the why. So, instead of learning how to use commands and configure services, you will take a look at what's happening in Linux when you perform tasks. We'll go deeply into the Linux operating system in a way that is understandable to anyone who has already worked a bit with Linux. There's no need to be an expert or have a C programming language background; the only thing that is required is a bit of experience with the Linux operating system and a desire to learn really understand it.

This course offers 13 lessons that cover everything the audience needs to know to understand how Linux functions. The approach of this video course emphasizes real concept teaching. A minimal amount of slides will be used, with most videos diving into Linux internals and concepts using white board explanations and command line screencasts.

The video lessons cover the following topics:

Lesson 1: How Linux is organized

Lesson 2: About C code, scripts and compiled programs

Lesson 3: Understanding Linux commands and how they work

Lesson 4: Understanding the Linux boot procedure

Lesson 5: Understanding Linux storage

Lesson 6: Understanding memory management

Lesson 7: Understanding processes

Lesson 8: Security

Lesson 9: Hardware initialization

Lesson 10: Looking closer at the kernel

Lesson 11: Understanding networking

Lesson 12: Performance optimization

Lesson 13: The future of Linux

Skill Level

  • Intermediate to advanced

What You Will Learn

  • How to work more efficiently with Linux by understanding exactly how it works

Who Should Take This Course

The target audience for this course consists of people that have used Linux for a while and who want to know what it really is doing. The typical primary audience consists of system administrators. A secondary audience consists of operating system students and other that want to know how Linux works.


LiveLessons Video Training series publishes hundreds of hands-on, expert-led video tutorials covering a wide selection of technology topics designed to teach you the skills you need to succeed. This professional and personal technology video series features world-leading author instructors published by your trusted technology brands: Addison-Wesley, Cisco Press, IBM Press, Pearson IT Certification, Prentice Hall, Sams, and Que. Topics include IT Certification, Programming, Web Development, Mobile Development, Home and Office Technologies, Business and Management, and more.

View all LiveLessons on InformIT at http://www.informit.com/livelessons

Sample Content

Table of Contents

Lesson 1: How Linux is organized

1.1: Understanding the stack

1.2: Understanding the role of the kernel

1.3: Understanding drivers, kernel modules and device files

1.4: Understanding glibc

1.5: Understanding the Linux shell

1.6: Understanding file descriptors

Lesson 2: About C code, scripts and compiled programs

2.1: Understanding C programs: From source code to binary

2.2: Understanding the role of git

2.3: Do you need to know how to read C?

2.4: Understanding compilers and make files

2.5: Understanding the need for libraries

2.6: Reading bash and other scripts

Lesson 3: Understanding Linux commands and how they work

3.1: Explaining what is involved: opening a file for read

3.2: Understanding system calls

3.3: Reading about system calls in man

3.4: Understanding library calls

3.5: Understanding the strict separation between userland and kernel land

3.6: Using strace and ltrace

3.7: Understanding signals

Lesson 4: Understanding the Linux boot procedure

4.1: Generic overview of the boot procedure from BIOS to shell

4.2: The first step: UEFI or BIOS

4.3: The next step: GRUB, GRUB2, LILO, syslinux or something else

4.4: Configuring GRUB2

4.5: Understanding and modifying initramfs

4.6: Understanding init, upstart, systemd

4.7: Understanding systemd and rsyslog logging

4.8: Understanding systemd unit files

4.9: Understanding Systemd targets

4.10: Demo: Creating a .service unit file

4.11: Using systemd sockets

4.12: Analyzing systemd performance

Lesson 5: Understanding Linux storage

5.1: Understanding Linux Storage

5.2: Understanding partitions: MBR or GPT and Creating partitions

5.3: Understanding flexible storage: LVM

5.4: Creating LVM logical volumes

5.5: Understanding device mapper

5.6: Creating device mapper storage with dmsetup

5.7: Understanding filesystems and the VFS

5.8: About POSIX and non-POSIX file systems

5.9: Intro to btrfs

5.10: Understanding inode and block allocation

5.11: Understanding FUSE file systems

5.12: Understanding iSCSI storage

5.13: Configuring iSCSI storage

5.14: Understanding working with flash media

Lesson 6: Understanding memory management

6.1: Understanding and monitoring Linux memory allocation

6.2: Understanding and monitoring page cache

6.3: Understanding active and inactive memory

6.4: Understanding the need to swap

6.5: Configuring and monitoring swap space

6.6: Managing dirty memory

6.7: Understanding cache usage

6.8: Understanding memory leaks

Lesson 7: Understanding processes

7.1: Understanding how a process is created

7.2: Understanding processes and threads

7.3: Killing a zombie

7.4: Understanding priorities, schedulers and nice values

7.5: Understanding inter-process communication, sockets, and pipes

7.6: Understanding the D-Bus message interface

7.7: Monitoring processes through /proc

Lesson 8: Security

8.1: Understanding DAC

8.2: Understanding owner-based permissions and file modes

8.3: Understanding capabilities

8.4: The need for MAC

8.5: MAC solutions overview

8.6: Configuring SELinux file access

8.7: Configuring SELinux port access

8.8: Monitoring SELinux

8.9: Handling SELinux exceptions

Lesson 9: Hardware initialization

9.1: Understanding Linux kernel device interfaces

9.2: Monitoring hardware availability

9.3: Getting hardware information from sysfs

9.4: Understanding udev

9.5: Applying udev rules

Lesson 10: Looking closer at the kernel

10.1: Building your own kernel

10.2: Managing kernel modules

10.3: Understanding /proc

10.4: Using sysctl

Lesson 11: Understanding networking

11.1: Understanding Linux network device names

11.2: Understanding the OSI model

11.3: Transforming data into packets

11.4: Understanding IP

11.5: Choosing the right protocol

11.6: Reading packet headers

11.7: Understanding network buffers

11.8: Optimizing data flow

11.9: Understanding network configuration management

11.10: Understanding network link aggregation

11.11: Using netcat

Lesson 12: Performance optimization

12.1: Defining the problem

12.2: Understanding current performance

12.3: Tracing and profiling application behavior

12.4: Manipulating process scheduling

12.5: Analyzing and optimizing memory issues

12.6: Analyzing and optimizing I/O issues

12.7: Analyzing and optimizing network issues

12.8: Using cgroups in systemd

Lesson 13: The future of Linux

13.1: Understanding containers

13.2: Working with Docker containers

13.3: Understanding object storage

13.4: Using the cloud as an operating system replacement


Submit Errata

More Information

Unlimited one-month access with your purchase
Free Safari Membership