54 relations: ACID, ARM architecture, Atomic swap, Atomicity (database systems), C (programming language), C11 (C standard revision), Cache coherence, Central processing unit, Compare-and-swap, Concurrency (computer science), Concurrent computing, Consistency model, Context switch, Critical section, Cyrix coma bug, Database transaction, Deadlock, Debugging, Denial-of-service attack, Fetch-and-add, Infinite loop, Instruction pipelining, Instruction set architecture, Interrupt, Invariant (computer science), Isolation (database systems), Jeannette Wing, Load-link/store-conditional, Lock (computer science), Maurice Herlihy, Monitor (synchronization), Mutual exclusion, Non-blocking algorithm, Process (computing), Processor design, Read-copy-update, Read-modify-write, Reentrancy (computing), Semaphore (programming), Sequence, Serializability, Shared register, Signal (IPC), Single UNIX Specification, Spring Framework, Test-and-set, Thread (computing), Thread safety, Time of check to time of use, Transactional memory, ..., Uniprocessor system, X86 instruction listings, 32-bit, 64-bit computing. Expand index (4 more) »
ACID
In computer science, ACID (Atomicity, Consistency, Isolation, Durability) is a set of properties of database transactions intended to guarantee validity even in the event of errors, power failures, etc.
New!!: Linearizability and ACID · See more »
ARM architecture
ARM, previously Advanced RISC Machine, originally Acorn RISC Machine, is a family of reduced instruction set computing (RISC) architectures for computer processors, configured for various environments.
New!!: Linearizability and ARM architecture · See more »
Atomic swap
An atomic swap is a proposed feature in cryptocurrencies, that allows for the exchange of one cryptocurrency for another cryptocurrency without the need for a trusted third party.
New!!: Linearizability and Atomic swap · See more »
Atomicity (database systems)
In database systems, atomicity (or atomicness; from Greek atomos, undividable) is one of the ACID (Atomicity, Consistency, Isolation, Durability) transaction properties.
New!!: Linearizability and Atomicity (database systems) · See more »
C (programming language)
C (as in the letter ''c'') is a general-purpose, imperative computer programming language, supporting structured programming, lexical variable scope and recursion, while a static type system prevents many unintended operations.
New!!: Linearizability and C (programming language) · See more »
C11 (C standard revision)
C11 (formerly C1X) is an informal name for ISO/IEC 9899:2011, the current standard for the C programming language.
New!!: Linearizability and C11 (C standard revision) · See more »
Cache coherence
In computer architecture, cache coherence is the uniformity of shared resource data that ends up stored in multiple local caches.
New!!: Linearizability and Cache coherence · See more »
Central processing unit
A central processing unit (CPU) is the electronic circuitry within a computer that carries out the instructions of a computer program by performing the basic arithmetic, logical, control and input/output (I/O) operations specified by the instructions.
New!!: Linearizability and Central processing unit · See more »
Compare-and-swap
In computer science, compare-and-swap (CAS) is an atomic instruction used in multithreading to achieve synchronization.
New!!: Linearizability and Compare-and-swap · See more »
Concurrency (computer science)
In computer science, concurrency refers to the ability of different parts or units of a program, algorithm, or problem to be executed out-of-order or in partial order, without affecting the final outcome.
New!!: Linearizability and Concurrency (computer science) · See more »
Concurrent computing
Concurrent computing is a form of computing in which several computations are executed during overlapping time periods—concurrently—instead of sequentially (one completing before the next starts).
New!!: Linearizability and Concurrent computing · See more »
Consistency model
In computer science, Consistency models are used in distributed systems like distributed shared memory systems or distributed data stores (such as a filesystems, databases, optimistic replication systems or Web caching).
New!!: Linearizability and Consistency model · See more »
Context switch
In computing, a context switch is the process of storing the state of a process or of a thread, so that it can be restored and execution resumed from the same point later.
New!!: Linearizability and Context switch · See more »
Critical section
In concurrent programming, concurrent accesses to shared resources can lead to unexpected or erroneous behavior, so parts of the program where the shared resource is accessed are protected.
New!!: Linearizability and Critical section · See more »
Cyrix coma bug
The Cyrix coma bug is a design flaw in Cyrix 6x86, 6x86L, and early 6x86MX processors that allows a non-privileged program to hang the computer.
New!!: Linearizability and Cyrix coma bug · See more »
Database transaction
A transaction symbolizes a unit of work performed within a database management system (or similar system) against a database, and treated in a coherent and reliable way independent of other transactions.
New!!: Linearizability and Database transaction · See more »
Deadlock
In concurrent computing, a deadlock is a state in which each member of a group is waiting for some other member to take action, such as sending a message or more commonly releasing a lock.
New!!: Linearizability and Deadlock · See more »
Debugging
Debugging is the process of finding and resolving defects or problems within a computer program that prevent correct operation of computer software or a system.
New!!: Linearizability and Debugging · See more »
Denial-of-service attack
In computing, a denial-of-service attack (DoS attack) is a cyber-attack in which the perpetrator seeks to make a machine or network resource unavailable to its intended users by temporarily or indefinitely disrupting services of a host connected to the Internet.
New!!: Linearizability and Denial-of-service attack · See more »
Fetch-and-add
In computer science, the fetch-and-add CPU instruction (FAA) atomically increments the contents of a memory location by a specified value.
New!!: Linearizability and Fetch-and-add · See more »
Infinite loop
An infinite loop (or endless loop) is a sequence of instructions in a computer program which loops endlessly, either due to the loop having no terminating condition, having one that can never be met, or one that causes the loop to start over.
New!!: Linearizability and Infinite loop · See more »
Instruction pipelining
Instruction pipelining is a technique for implementing instruction-level parallelism within a single processor.
New!!: Linearizability and Instruction pipelining · See more »
Instruction set architecture
An instruction set architecture (ISA) is an abstract model of a computer.
New!!: Linearizability and Instruction set architecture · See more »
Interrupt
In system programming, an interrupt is a signal to the processor emitted by hardware or software indicating an event that needs immediate attention.
New!!: Linearizability and Interrupt · See more »
Invariant (computer science)
In computer science, an invariant is a condition that can be relied upon to be true during the execution of a program, or during some portion of it.
New!!: Linearizability and Invariant (computer science) · See more »
Isolation (database systems)
In database systems, isolation determines how transaction integrity is visible to other users and systems.
New!!: Linearizability and Isolation (database systems) · See more »
Jeannette Wing
Jeannette Marie Wing is Avanessians Director of the Data Sciences Institute at Columbia University, where she is also a professor of computer science.
New!!: Linearizability and Jeannette Wing · See more »
Load-link/store-conditional
In computer science, load-link and store-conditional (LL/SC) are a pair of instructions used in multithreading to achieve synchronization.
New!!: Linearizability and Load-link/store-conditional · See more »
Lock (computer science)
In computer science, a lock or mutex (from mutual exclusion) is a synchronization mechanism for enforcing limits on access to a resource in an environment where there are many threads of execution.
New!!: Linearizability and Lock (computer science) · See more »
Maurice Herlihy
Maurice Peter Herlihy (born 4 January 1954) is a computer scientist active in the field of multiprocessor synchronization.
New!!: Linearizability and Maurice Herlihy · See more »
Monitor (synchronization)
In concurrent programming, a monitor is a synchronization construct that allows threads to have both mutual exclusion and the ability to wait (block) for a certain condition to become true.
New!!: Linearizability and Monitor (synchronization) · See more »
Mutual exclusion
In computer science, mutual exclusion is a property of concurrency control, which is instituted for the purpose of preventing race conditions; it is the requirement that one thread of execution never enter its critical section at the same time that another concurrent thread of execution enters its own critical section.
New!!: Linearizability and Mutual exclusion · See more »
Non-blocking algorithm
In computer science, an algorithm is called non-blocking if failure or suspension of any thread cannot cause failure or suspension of another thread; for some operations, these algorithms provide a useful alternative to traditional blocking implementations.
New!!: Linearizability and Non-blocking algorithm · See more »
Process (computing)
In computing, a process is an instance of a computer program that is being executed.
New!!: Linearizability and Process (computing) · See more »
Processor design
Processor design is the design engineering task of creating a processor, a component of computer hardware.
New!!: Linearizability and Processor design · See more »
Read-copy-update
In computer science, read-copy-update (RCU) is a synchronization mechanism based on mutual exclusion.
New!!: Linearizability and Read-copy-update · See more »
Read-modify-write
In computer science, read-modify-write is a class of atomic operations (such as test-and-set, fetch-and-add, and compare-and-swap) that both read a memory location and write a new value into it simultaneously, either with a completely new value or some function of the previous value.
New!!: Linearizability and Read-modify-write · See more »
Reentrancy (computing)
In computing, a computer program or subroutine is called reentrant if it can be interrupted in the middle of its execution and then safely be called again ("re-entered") before its previous invocations complete execution.
New!!: Linearizability and Reentrancy (computing) · See more »
Semaphore (programming)
In computer science, a semaphore is a variable or abstract data type used to control access to a common resource by multiple processes in a concurrent system such as a multitasking operating system.
New!!: Linearizability and Semaphore (programming) · See more »
Sequence
In mathematics, a sequence is an enumerated collection of objects in which repetitions are allowed.
New!!: Linearizability and Sequence · See more »
Serializability
In concurrency control of databases,Philip A. Bernstein, Vassos Hadzilacos, Nathan Goodman (1987): (free PDF download), Addison Wesley Publishing Company, Gerhard Weikum, Gottfried Vossen (2001):, Elsevier, transaction processing (transaction management), and various transactional applications (e.g., transactional memoryMaurice Herlihy and J. Eliot B. Moss. Transactional memory: architectural support for lock-free data structures. Proceedings of the 20th annual international symposium on Computer architecture (ISCA '93). Volume 21, Issue 2, May 1993. and software transactional memory), both centralized and distributed, a transaction schedule is serializable if its outcome (e.g., the resulting database state) is equal to the outcome of its transactions executed serially, i.e. without overlapping in time.
New!!: Linearizability and Serializability · See more »
Shared register
In distributed computing, shared-memory systems and message-passing systems are two means of interprocess communication which have been heavily studied.
New!!: Linearizability and Shared register · See more »
Signal (IPC)
Signals are a limited form of inter-process communication (IPC), typically used in Unix, Unix-like, and other POSIX-compliant operating systems.
New!!: Linearizability and Signal (IPC) · See more »
Single UNIX Specification
The Single UNIX Specification (SUS) is the collective name of a family of standards for computer operating systems, compliance with which is required to qualify for using the "UNIX" trademark.
New!!: Linearizability and Single UNIX Specification · See more »
Spring Framework
The Spring Framework is an application framework and inversion of control container for the Java platform.
New!!: Linearizability and Spring Framework · See more »
Test-and-set
In computer science, the test-and-set instruction is an instruction used to write 1 (set) to a memory location and return its old value as a single atomic (i.e., non-interruptible) operation.
New!!: Linearizability and Test-and-set · See more »
Thread (computing)
In computer science, a thread of execution is the smallest sequence of programmed instructions that can be managed independently by a scheduler, which is typically a part of the operating system.
New!!: Linearizability and Thread (computing) · See more »
Thread safety
Thread safety is a computer programming concept applicable to multi-threaded code.
New!!: Linearizability and Thread safety · See more »
Time of check to time of use
In software development, time of check to time of use (TOCTTOU or TOCTOU, pronounced "tock too") is a class of software bugs caused by changes in a system between the checking of a condition (such as a security credential) and the use of the results of that check.
New!!: Linearizability and Time of check to time of use · See more »
Transactional memory
In computer science and engineering, transactional memory attempts to simplify concurrent programming by allowing a group of load and store instructions to execute in an atomic way.
New!!: Linearizability and Transactional memory · See more »
Uniprocessor system
A uniprocessor system is defined as a computer system that has a single central processing unit that is used to execute computer tasks.
New!!: Linearizability and Uniprocessor system · See more »
X86 instruction listings
The x86 instruction set refers to the set of instructions that x86-compatible microprocessors support.
New!!: Linearizability and X86 instruction listings · See more »
32-bit
32-bit microcomputers are computers in which 32-bit microprocessors are the norm.
New!!: Linearizability and 32-bit · See more »
64-bit computing
In computer architecture, 64-bit computing is the use of processors that have datapath widths, integer size, and memory address widths of 64 bits (eight octets).
New!!: Linearizability and 64-bit computing · See more »
Redirects here:
Atomic (computer science), Atomic action, Atomic actions, Atomic instruction, Atomic operation, Atomic operations, Atomic operations (computing), Atomic primitive, Atomicity (programming), Immediate consistency, Indivisibility (programming), Indivisible operation, Linearizable, Uninterruptibility (programming).
References
[1] https://en.wikipedia.org/wiki/Linearizability