Skip to main content

Server Architectures: Iterative, Forking, Threaded, Event-Driven

This generated surface maps a learner-facing curriculum unit to its canonical source routes.

Curriculum surface

  • Open learner-facing unit
  • Curriculum path: content/curriculum/systems/semester-05-os-networking/module-05-network-protocols-sockets/concepts/cluster-05-socket-programming/14-server-architectures-iterative-forking-threaded-event-driven-primary.md
  • App: systems
  • Semester: semester-05-os-networking
  • Module: module-05-network-protocols-sockets
  • Unit kind: concept
  • Curation level: module_curated

Learning objectives

  • Explain Server Architectures: Iterative, Forking, Threaded, Event-Driven across protocol layers instead of treating packets, sockets, and applications as disconnected topics.
  • Use Server Architectures: Iterative, Forking, Threaded, Event-Driven to predict system behavior in tools such as tcpdump, Wireshark, or socket-level code.
  • Use unix-network-programming to connect the learner explanation to packet traces, protocol state, and API behavior.

Prerequisites

  • Comfort with file descriptors, blocking I/O, and reading system-level diagrams.

Source books

  • unix-network-programming

Source routes

Unix Network Programming

  • /books/unix-network-programming via UNP: Concurrent servers, UNP: I/O models, UNP: TCP echo server using threads, UNP: advanced polling (Part 1), UNP: fork and exec functions, UNP: select function (Part 1)

Supporting curriculum routes

No supporting curriculum routes linked yet.

External enrichment

  • Beej's Guide to Network Programming (read_if_stuck) - Best reinforcement when learners need to connect protocol concepts to real socket programming practice.
  • man 2 socket (official_docs_companion) - Anchors the networking module in the actual system interface instead of staying purely conceptual.

AI companion modes

  • Explain simply
  • Socratic tutor
  • Quiz me
  • Diagnose my confusion
  • Generate extra practice

Source-of-truth note

This teaching unit is learner-facing guidance. Its canonical source backbone is the referenced book unix-network-programming, and outside material should only clarify or strengthen that backbone.