Basics Track Summary

story and bites about platform fundamentals

"Unix is simple. It just takes a genius to understand its simplicity."
- Dennis Ritchie

Fig 1. Windows API Hello World
Windows API Hello World program screenshot
This program was built using CMake build system generator. Perplexity AI provided help with Windows API types and correctly configuring compile options in CMakeLists.txt.

1. What is Basics?

The Basics track covers platform concepts that underlie all software execution: operating system structure, virtual memory, process and thread scheduling, I/O, and system-wide resources. It is practical in focus - aimed at developers who want to understand why software behaves as it does at a system level. Three defining areas: The Windows platform serves as the primary example throughout, but the concepts apply broadly - Linux and macOS use similar models with different implementation details.

2. Track Contents

The Basics track offers two complementary views of the material plus supporting resources.
Section Description Entry Point
Basics Story A narrative walkthrough of computing platform concepts from hardware through software execution models. Chapters cover hardware organization, software layers, programming language execution models, tooling, data structures, concurrency, and deployment. Prologue
Basics Bites Short, focused pages each covering one platform topic: operating system platform survey, virtual memory and memory mapping, process scheduling, process structure, I/O models, system resources, programming language types, and development tooling. Each page is self-contained and can be read independently. Platform
Repositories Index of Basics code examples on GitHub, organized by topic. Repositories
Glossary Definitions for platform and operating system terms used across the track. Glossary
References Curated external links - tutorials, platform documentation, OS references, and programming resources. Section 5

3. Key Concepts

The track covers the areas below, roughly in the order they arise when reasoning about system-level software behavior.

Platform and OS Structure

The operating system sits between applications and hardware, providing a consistent interface regardless of the underlying hardware. Pages: Platform, Hardware Chapter.

Memory Management

Every running program has a virtual address space managed by the OS. Understanding this model explains allocation behavior, performance, and common memory bugs. Pages: Memory.

Scheduling and Processes

The OS scheduler controls which threads run and when, using a set of algorithms that balance fairness, responsiveness, and throughput. Pages: Scheduling, Processes.

I/O and System Resources

I/O connects programs to files, networks, and devices. System resources are OS-managed objects shared across processes and threads. Pages: I/O, System Resources.

Languages and Tooling

Different programming languages use different execution models, which affects performance, resource usage, and how platform concepts apply. Pages: Languages, Tooling.

4. Getting Started

Recommended first steps for someone new to the Basics track:
  1. Read the Basics Story Prologue. It introduces the track goals, the scope of material, and the Windows-first approach used throughout.
  2. Browse Platform for an overview of dominant operating systems and how they are structured. This sets up the context for everything else in the track.
  3. Read Memory for virtual memory management - one of the most important and widely applicable topics in the track.
  4. Continue with Scheduling and Processes to understand how the OS allocates CPU time and manages running programs.
  5. Use the Glossary and References as supporting material throughout.

5. References

Resource Description
Operating Systems: Three Easy Pieces Open-access book covering virtualization, concurrency, and persistence - virtual memory, scheduling, file systems, and more.
Linux Kernel Documentation Detailed documentation for scheduling, memory management, interrupts, and I/O in a production operating system.
Wikipedia: Virtual Memory Background and history of virtual memory, paging, segmentation, and performance tradeoffs.
Wikipedia: Task Scheduling CPU scheduling algorithms including round-robin, priority scheduling, and multi-level feedback queues.
CS50 Introduction to Computer Science Harvard's free online course covering fundamental programming, data, memory, and systems at an accessible level.
MDN Web Docs Comprehensive reference for web standards, programming basics, and browser APIs.
GeeksforGeeks CS Tutorials Practical tutorials on data structures, algorithms, operating systems, databases, and networks.