O'Reilly logo
live online training icon Live Online training

Linux Systems First Steps

enter image description here

Exploring Linux systems: The kernel, user space, filesystems, and beyond

Topic: System Administration
Brian Ward

Between the programs you run and your computer’s hardware is the operating system, software that consists of a kernel and a set of system processes. Though it may be practically invisible to the user, the operating system ensures that processes get fair access to resources and don’t step on one another.

If you’ve heard terms like "user space" and "system call" thrown around but aren’t entirely sure what they mean, or if you just want to have a better understanding of what lies within the depths of your system, this course is for you. Expert Brian Ward walks you through the basic system features on a Linux system, including the kernel and filesystem arrangement. Though this is normally the subject of a notoriously difficult computer science undergraduate course, in just three hours, you’ll understand the fundamentals—even if you don’t have an extensive programming background.

What you'll learn-and how you can apply it

By the end of this live online course, you’ll understand:

  • The role of the Linux kernel
  • The difference between kernel and user space
  • Resource utilization (memory in particular)
  • Process lifecycle and states
  • The various components of a running Linux system
  • Filesystem structure and basics

And you’ll be able to:

  • Make sense of a process listing and find out what resources are being used
  • Interact with devices to see how they work
  • Trace a system call
  • Navigate the filesystem hierarchy with ease
  • Exert fine control over processes

This training course is for you because...

  • You’re a data scientist, analyst, student, or software developer.
  • You work with Linux on a regular basis.
  • You want a better understanding of what various parts of the operating system do.
  • You want to know what the operating system can offer.

Prerequisites

  • General computing experience
  • A computer with a Linux shell terminal installed (Optional—the course will use the O'Reilly interactive Ubuntu sandbox, giving you a live production environment in your browser.)

Recommended preparation:

About your instructor

  • Brian Ward is a software architect with more than 25 years of experience in Linux. He is the author of several books, including How Linux Works, 2nd Edition (published by No Starch Press), and holds a Ph.D. in computer science from The University of Chicago.

Schedule

The timeframes are only estimates and may vary according to how the class is progressing

Operating system organization (25 minutes)

  • Presentation: Introduction to memory, processes, kernel, and user space; storage; introduction to block devices
  • Katacoda interactive exercises: Inspect memory and processes; inspect storage
  • Q&A

Kernel (25 minutes)

  • Presentation: Process management; system calls; fork() and exec()
  • Katacoda interactive exercises: List processes; use strace; use fork() and exec()
  • Q&A

Signals (10 minutes)

  • Presentation: Signals
  • Katacoda interactive exercise: Send signals to processes
  • Q&A

Break (5 minutes)

Devices (20 minutes)

  • Presentation: Block devices; character devices; devices that don’t have block or character interfaces
  • Katacoda interactive exercises: Use dd
  • Q&A

Introduction to user space and directory structure (25 minutes)

  • Presentation: Basic navigation; what is and isn’t in the system; file types
  • Katacoda interactive exercise: Attached filesystems
  • Q&A

Break (5 minutes)

Exploring directory and filesystem structure (25 minutes)

  • Presentation: Looking closer at files; symbolic and hard links; inodes; separate filesystems; why some things may not work as planned
  • Katacoda interactive exercises: Create and manipulate files; the ln command
  • Q&A

The Filesystem Hierarchy Standard (FHS) (20 minutes)

  • Presentation: /, /usr, and /home; bin and lib; etc

Further topics (10 minutes)

  • Presentation: Kernel to user space translations (such as /etc/passwd); systemd; booting; system metrics
  • Q&A

Wrap-up and Q&A (10 minutes)