Linux Systems First Steps
Exploring Linux systems: The kernel, user space, filesystems, and beyond
Topic: System Administration
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.
- 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.)
- Read How Linux Works, second edition (book)
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.
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
Kernel (25 minutes)
- Presentation: Process management; system calls; fork() and exec()
- Katacoda interactive exercises: List processes; use strace; use fork() and exec()
Signals (10 minutes)
- Presentation: Signals
- Katacoda interactive exercise: Send signals to processes
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
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
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
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
Wrap-up and Q&A (10 minutes)