1992 · 84 citations · 23 references
ComputingComputer EngineeringComputer ScienceComputer ArchitectureHardware-software Co-designOperating SystemsConcurrency ControlCpu SchedulingSynchronization PrimitivesAtomic OperationsMultiprocessor SynchronizationMutual ExclusionOperating System ArchitectureOverhead ReductionSynchronization MechanismsTask Synchronization
In this paper we describe restartable atomic sequences, an optimistic mechanism for implementing simple atomic operations (such as Test-And-Set) on a uniprocessor. A thread that is suspended within a restartable atomic sequence is resumed by the operating system at the beginning of the sequence, rather than at the point of suspension. This guarantees that the thread eventually executes the sequence atomically. A restartable atomic sequence has significantly less overhead than other software-based synchronization mechanisms, such as kernel emulation or software reservation. Consequently, it is an attractive alternative for use on uniprocessors that do no support atomic operations. Even on processors that do support atomic operations in hardware, restartable atomic sequences can have lower overhead.
23
Maurice Herlihy · ACM Transactions on Programming Languages and Systems · 1991 · 1.8K citations · Full text
The structure of the “THE”-multiprogramming system
Edsger W. Dijkstra · Communications of the ACM · 1968 · 1.1K citations · Full text
Mach: A New Kernel Foundation for UNIX Development.
Michael J. Accetta, R. Baron, William J. Bolosky et al. · USENIX Summer · 1986 · 919 citations
A fast mutual exclusion algorithm
Leslie Lamport · ACM Transactions on Computer Systems · 1987 · 487 citations · Full text
Thomas E. Anderson, Brian N. Bershad, Edward D. Lazowska et al. · ACM Transactions on Computer Systems · 1992 · 432 citations · Full text