Time-sharing¶
Sharing finite processor time by alternating execution intervals among runnable tasks or users.
Core Idea¶
Computing time-sharing divides a finite processor's service into alternating periods assigned to multiple runnable tasks or users. A scheduler chooses what runs next, and saved context lets the displaced task continue later. A person at a terminal can therefore receive frequent responses even though, on a single execution unit, the machine is executing only one instruction stream at a time. The identity is alternating, state-preserving use of CPU time—not merely common ownership of hardware.
MIT's Compatible Time-Sharing System provided a concrete early multi-user interactive implementation. Linux documentation describes a modern scheduler tick supporting approximate task time slices, subject to scheduling class and priority. The two implementations differ in policy and hardware, but both preserve the limited-resource, temporal-assignment and resumption relation. Multicore parallelism may coexist with time-sharing without being identical to it.
Scope of Application¶
Rapid switching on one execution unit is distinct from simultaneous execution across cores.
- Operating systems. Schedule runnable tasks on processors.
- Interactive computing. Support responsive access from several users.
- Resource management. Compare priorities, fairness and throughput.
- Computing history. Distinguish CTSS-style service from earlier batch use.
Clarity¶
CPU time-sharing assigns short execution turns to competing tasks and preserves their state between turns. CTSS gave interactive access to multiple users; Linux documents approximate scheduler slices. A batch queue or multiple dedicated cores may share a machine or workload, but neither alone establishes this alternating mechanism.
Manages Complexity¶
The slice length and dispatch policy affect response, fairness and overhead. A task may block for I/O or be governed by a special scheduling class, so no one uniform fixed quantum describes every implementation. Multicore machines can combine actual parallel execution across cores with time-sharing on each core. State preservation is necessary for coherent continuation.
Abstract Reasoning¶
Identify finite CPU service and runnable claimants, schedule turns, preserve context at switches, resume tasks, and evaluate responsiveness and overhead under the actual policy.
Knowledge Transfer¶
Temporal sharing of a finite resource appears in communications and infrastructure, but computing time-sharing specifically alternates CPU execution among task contexts. A radio time-division channel or shared classroom schedule is structurally analogous without being an operating-system instance.
Relationships to Other Abstractions¶
Current abstraction Time-sharing Domain-specific
Parents (1) — more general patterns this builds on
-
Time-sharing is a kind of Allocation Prime
CPU time slices assign finite processor service among competing runnable tasks.
Hierarchy path (1) — routes to 1 parentless root
- Time-sharing → Allocation → Scarcity → Constraint
Neighborhood in Abstraction Space¶
Time-sharing sits in a crowded region of the domain-specific corpus (33rd percentile for distinctiveness): several abstractions share nearly its structure, so a description that fits it tends to fit its neighbors too.
Family — Queueing, Networks & Concurrent Systems (9 abstractions)
Nearest neighbors
- Service-Oriented Programming — 0.91
- Layered Queueing Network — 0.90
- Urgent Computing — 0.88
- Reachability analysis — 0.87
- Optimizing Compiler — 0.87
Computed from structural-signature embeddings · 2026-10-08