Hasty Briefsbeta

A brief history of threads and threading

8 hours ago
  • #ProcessorEvolution
  • #Multitasking
  • #MacHistory
  • The original 128K Mac (1984) had a single Motorola 68000 processor (8 MHz) and could run only one app at a time.
  • Andy Hertzfeld's Switcher (1985) allowed switching between apps but still ran one at a time.
  • MultiFinder (1987) introduced cooperative multitasking, later integrated into System 7 (1991).
  • Cooperative multitasking requires tasks to yield processing time; preemptive multitasking uses a scheduler.
  • Classic Mac OS's Process Manager launched apps in cooperative multitasking, risking processor hogging by misbehaving tasks.
  • A/UX (1988) brought Unix and preemptive multitasking to Macs, later added to Mac OS in System 7.5.3 (1996).
  • Mac OS X (2000) introduced preemptive multitasking and multiple thread types (Mach, POSIX, Java, Cocoa, Carbon).
  • Power Mac G4 (2000) was Apple's first dual-processor Mac; Power Mac G5 (2005) introduced dual-core processors.
  • Grand Central Dispatch (GCD, 2009) manages task queues for symmetric multiprocessing (SMP) and optimizes core allocation.
  • Apple silicon Macs (2020) use GCD to manage Performance (P) and Efficiency (E) cores based on Quality of Service (QoS).
  • Modern macOS supports up to 32 CPU cores, a significant evolution from the single-core 68000 processor.