Linux
- The Missing Semester of Your CS Education
- Putting the “You” in CPU
- Modern Operating Systems by Andrew Tanenbaum (4th Edition)
- Shell and Shell scripting
- What is POSIX? Why Does it Matter to Linux/UNIX Users?
- C programming
- Networking
- Operating System Boot Process
- In-depth: ELF - The Extensible & Linkable Format
- “Reboot Even If System Utterly Broken”
- Kernel-based Virtual Machine (KVM)
- Ubuntu Desktop vs Ubuntu Server
- User vs group
- Shell identification and change
- Arrow keys, Home, End, tab-complete keys not working in shell
- How do I check which shell I am using?
-
$0 is the name of the running process. If you use it inside of a shell then it will return the name of the shell. If you use it inside of a script, it will be the name of the script.
-
- Disks and partitions
- Desktop Environments
- What is KDE, GTK, GTK+, QT, and/or GNOME?
- Full form of KDE
- Full form of Qt
- GNOME: GNU Network Object Model Environment
- KDE Vs GNOME Vs Xfce; Which is the Best Desktop Environment and Why?
- GNOME vs Xfce vs KDE
- Is there a breakdown of the differences between GNOME, KDE, and Xfce desktop environments?
- What is gdm3, kdm, lightdm? How to install and remove them?
- What is KDE, GTK, GTK+, QT, and/or GNOME?
- Advanced Micro Devices (AMD)
- Systemctl
- PCIe
- Peripheral Component Interconnect Express
- Used to connect hardware devices like graphics cards, NICs, sound cards, capture cards, etc to the motherboard.
- PCI Express (PCIe) 3.0
- Explaining PCIe Slots
- Understanding M.2, SATA, PCIe and NVMe SSDs
- SATA vs SAS vs PCIe
- Motherboards Explained
- System on Chip (SoC)
- MiB vs MB
- Commands to check basic information about a system
- CPU
- No. of cores, no. of sockets, SMT on/off, CPU speed/frequency:
lscpu
- CPU topology and/or NUMA config:
lscpu
,lstopo
(enable X11 Forwarding for GUI!),numactl
- No. of cores, no. of sockets, SMT on/off, CPU speed/frequency:
- OS and Kernel versions
- OS version:
lsb_release -a
(Will not work for all Linux distributions.) - Kernel version:
uname -srm
- 4 Useful Commands to Check Linux Version
- OS version:
- BIOS version
sudo dmidecode -t bios
(More details)
- Memory (RAM) config
- Speed:
sudo dmidecode -t memory
- How to Determine the Number of RAM Slots in Use
- DIMMS per channel (DPC):
sudo dmidecode -t memory | grep "Bank Locator"
- Speed:
- Generic commands:
htop
,lstopo
(enable X11 Forwarding!) - CPU-Z (Windows) or CPU-X (Linux)
- CPU
- CPU Speed, CPU Clock
- What is Processor Speed and Why Does It Matter?
- What Is Clock Speed?
- Intructions vs cycles per second - what is actually measured in Hertz?
- Difference between clock cycle, machine cycle and instruction cycle of the CPU
- What is a clock cycle and clock speed?
- Why do we need a CPU clock
- Inside a CPU, what happens in a single clock cycle?
- Non-Uniform Memory Access (NUMA)
- Desktop Management Information (DMI)
- Memory bandwidth
- Dual In-line Memory Module (DIMM)
- Why aren’t SSDs as fast as RAM?
- Why we don’t use RAM drive as the Hard Drive Disk?
- OEM vs ODM vs OBM
- Computerraria: I Made a 32-bit Computer Inside Terraria
- Niceness
- Anil Harwani told us about the Tanenbaum-Torvalds debate on OTC CatchUp #145, which was an argument where Tanenbaum was trying to prove why a Microkernel architecture (Tanenbaum’s OS Minix had that architecture.) is better than a Monolithic Kernel architecture that Torvald’s Linux has.
- Kernel architectures
- Minix
- Tanenbaum initially created the Minix Operating System for educational purposes.
- Anil also told us how Minix was found inside the Intel Management Engine, which was a big deal, as Minix, whose goal was never to have military-grade security, was being used on billions of machines at a privilege level that is higher than the kernel, and that made billions of machines vulnerable. Also, this implies that Minix is the most used OS on the planet.
- Replace Your Exploit-Ridden Firmware with Linux
- The first 12 minutes of this video is sufficient to understand how vulnerable systems are.
- Protection Rings (-3, -2, -1, 0, 1, 2, 3)
- MINIX: Intel’s hidden in-chip operating system
- What is MINIX? The most popular OS in the world, thanks to Intel
- Tanenbaum also wrote An Open Letter to Intel.
- Replace Your Exploit-Ridden Firmware with Linux
- Cygwin vs MinGW vs MSys/Msys2 vs WSL
- Northbridge vs Southbridge
- Latency numbers every programmer should know
- Interrupts
- External Interrupts in the x86 system: Interrupt controller evolution (PIC, PIR, APIC, LAPIC, MSI, etc.)
- Instruction Set Architectures (ISAs)
- Stuff about what
x86
,x86_64
,ARM
, etc. - MOVED TO isa
- …
- Security considerations of x86 vs x64
- Stuff about what
- Assembly
- Processing hardware