MTuner

Knowledge

list reference from tools-engineer-checklist.md by Geoff Evans
Concepts
  • File descriptors, HANDLEs
  • Blocking vs. non-blocking I/O requests
  • The fundamental sync primitives and wait functions
  • Manual and automatic condition/event primitives
  • Syscall overhead
  • Memory protection and superuser instructions
  • Exceptions and interrupt service routines
Threads
  • Memory contention and the basic dangers of threads
  • OS-implemented mutex objects and the thread/process scheduler
  • Thread local storage
Sockets
  • TCP vs. UDP
  • Network order
  • Latency with select-polling vs. blocking waits vs. async
Virtual Memory
  • How virtual memory is related to physical memory, swap
  • How CPU hardware makes virtual memory performant
Modules
  • Shared objects vs. static libraries
  • Styles of "dynamic linking" on windows
  • Practicality of code unloading
  • Jump tables
  • Process loading and the dynamic loader
  • Pages inherently shared vs. non-shared across processes
  • Page protections, JIT


Resources