Concepts

This part describes various aspects of essential theories to unerstand the workings of the Linux operating system.

Work in progress: topics will be written on-demand as it will be references in other entities (guide, posts or resources)

Topic breakdown mighty change over time.

Operating system

  • Pre OS era, necessity of operating systems
  • Process as virtualisation
  • File, VFS (Virtual FileSystem), filesystem abstraction
  • OS security functions (ulimit, apparmor, selinux)
  • Lightweight OS virtualisation technics (chroot, nsenter)
  • Resource management (cgroup, quota)

User interfaces

  • Shell/CLI/TUI and ~ environments
  • GUI and ~ environments
  • Server-Client (RPC/Web) interfaces and ~ environments

Package and software management

  • OS package management systems (apt, dnf, packman, zipper, brew, nix-env, opkg)
  • Application container systems (snap, flatpak)
  • Containarized systems (dockerhub images)
  • Programming language oriented package managers (pip, go, cargo)

System and service management

  • system and service managers: systemd, init (SysVinit), procd (OpenWRT)
  • logging/journal
  • coredumpctl

Networking

  • Interfaces/bridge, IPv4/IPv6 addressing
  • Main protocols: ARP, ICMP, UDP, TCP
  • DNS
  • Routing
  • Firewall, netfilter, conntrack, masquerade
  • VPN
  • VLAN
  • WLAN
  • DHCP
  • peer to peer

Virtualisation

  • 6 types of virtualisation

Crypthography

  • Encryption
  • Hashing
  • Certification
  • Blockchain

Operation

  • System boundaries
  • Lifecycle of Systems
  • System monitoring
  • Backup, DRP, DRS
  • FOSS nad other software licences
  • Open vs corporate software development (The Cathedral and the Bazaar)
  • Implication of Foundation vs Profit oriented company software development