Computing foundations
Operating Systems
Processes, threads, memory, file systems and the basics of Linux. It is what sits under every program you write and every server you deploy it to.
Topics
Basic Concepts
Processes, Process Table, Threads, Address Spaces, Files, I/O, Protection, Shell, Kernel, Booting, Terminal vs Console vs Shell, System Calls
Virtual Machines
Hypervisor, JVM
Processes and Threads
Process Creation, Process Termination, Process Hierarchy, Process States, User Space, Kernel Space, IPC, Scheduling
Memory Management
Address Spaces, Virtual Memory, Paging, Page Table, Segmentation
File Systems
File Structure, Records, File Types, File Naming, File Access, File Attributes, File Operations, Directory Hierarchy, Directory Operations, Absolute Paths, Relative Paths, File System Layout, MBR, Partitions, I-Nodes
I/O
Block vs Character Devices, Device Controllers, I/O Ports, Memory-Mapped I/O, DMA, Device Independence, Mounting, Buffering, Drivers
Terminal vs Console vs Shell
Linux Basics
Kernel, Process Management, Memory Management, Device Management, System Calls, Using Shell, stdin, stdout, stderr, Environment Variables, PATH, File Modes & Permissions, Linux Directory Hierarchy (root directories and their usage), Device Files (/dev/null)
Linux Basic Commands
ls, cp, mv, cat, touch, rm, echo, cd, mkdir, rmdir, Shell Globbing, grep, less, pwd, diff, file, find, locate, head, tail, sort, Shell Input & Output Redirection, ps, kill, Background Processes (&), chmod, chown, Symbolic Links, Archiving & Compressing (gzip, tar), sudo, sudoers
Linux Cron
Crontab
Linux Bash Scripting Basics
Comments, Quoting and Literals, Special Variables, Exit Codes, Conditionals, Loops, Command Substitution, Temporary Files, Subshells
Linux User Environments
Shell Startup Files, Aliases, Prompt
Resources
- Modern Operating Systems
Book · Andrew S. Tanenbaum, Herbert Bos, Pearson, 2014 · Chapters: 1.3, 1.5, 1.6, 1.7, 2.1, 2.2, 2.3.1, 2.3.2, 2.4.1, 3.1, 3.2, 3.3.1, 3.3.2, 3.7.0, 4.1, 4.2, 4.3.1, 4.3.2, 5.1, 5.2.1, 5.3 · 170 pages
- How Linux works - what every superuser should know, 2ed
Book · Brian Ward, No Starch Press, 2015 · Chapters: 1, 2, 3.1, 4.5, 7.6, 11, 13 · 86 pages
Video · 10 min
Video · 11 min
- What's the difference between a console, a terminal, and a shell?
Article · 4 pages
- The Linux Command Line - A Complete Introduction
Book · William Shotts, No Starch Press, 2019
- UNIX and Linux System Administration Handbook
Book · Evi Nemeth et al., Addison-Wesley, 2017
Video