Non-blocking algorithmIn 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. A non-blocking algorithm is lock-free if there is guaranteed system-wide progress, and wait-free if there is also guaranteed per-thread progress. "Non-blocking" was used as a synonym for "lock-free" in the literature until the introduction of obstruction-freedom in 2003.
Mémoire partagée (communication inter-processus)Dans un contexte de la programmation concurrente, le partage de mémoire est un moyen de partager des données entre différents processus : une même zone de la mémoire vive est accédée par plusieurs processus. C'est le comportement de la mémoire de threads issus d'un même processus. Pour cela, dans un système utilisant la pagination, la table de page de chaque processus contient les pages mémoires communes, mais chaque processus ne les voit pas nécessairement à la même adresse. Communication inter-processus
Unique identifierA unique identifier (UID) is an identifier that is guaranteed to be unique among all identifiers used for those objects and for a specific purpose. The concept was formalized early in the development of computer science and information systems. In general, it was associated with an atomic data type. In relational databases, certain attributes of an entity that serve as unique identifiers are called primary keys. In mathematics, set theory uses the concept of element indices as unique identifiers.
IdentifiantUn identifiant est une sorte de nom qui sert à identifier un objet précis dans un ensemble d'objets ; ou plus largement toute suite de caractères qui joue ce rôle-là. En principe, un identifiant devrait être unique pour chaque objet. En pratique (comme pour les noms de personnes ou de lieux) ce n'est pas toujours le cas, sauf s'il s'agit d'un ensemble d'identifiants défini par une norme technique. Un identifiant de métadonnée est un signe, une étiquette ou un jeton indépendant du langage, qui identifie de manière unique un objet au sein d'un schéma d'identification.
Serveur de courriel anonymeUn serveur de courriel anonyme est un serveur informatique permettant de retransmettre un message électronique de façon à masquer l'identité de l'expéditeur. D'abord, ces serveurs retirent l'information contenue dans l'en-tête du message qui pourraient identifier son origine. Ensuite, du point de vue du destinataire, les messages reçus semblent avoir pour origine le serveur de courriel anonyme.
P2P anonymeUn système de communications P2P anonyme est un réseau pair à pair (peer to peer) dans lequel les nœuds ou participants présentent un fort degré d'anonymat. La principale différence entre ces réseaux anonymes et les réseaux "classiques" réside dans leurs méthodes particulières de routage où chaque participant ignore tout du ou des participants voisins, et permettent ainsi la libre circulation des informations.
Calcul distribuéUn calcul distribué, ou réparti ou encore partagé, est un calcul ou un traitement réparti sur plusieurs microprocesseurs et plus généralement sur plusieurs unités centrales informatiques, et on parle alors d'architecture distribuée ou de système distribué. Le calcul distribué est souvent réalisé sur des clusters de calcul spécialisés, mais peut aussi être réalisé sur des stations informatiques individuelles à plusieurs cœurs. La distribution d'un calcul est un domaine de recherche des sciences mathématiques et informatiques.
Anonymous blogAn anonymous blog is a blog without any acknowledged author or contributor. Anonymous bloggers may achieve anonymity through the simple use of a pseudonym, or through more sophisticated techniques such as layered encryption routing, manipulation of post dates, or posting only from publicly accessible computers. Motivations for posting anonymously include a desire for privacy or fear of retribution by an employer (e.g., in whistleblower cases), a government (in countries that monitor or censor online communication), or another group.
Proxy anonymiseurUn proxy anonymiseur est un service permettant de naviguer sur le web anonymement. En général, c'est un serveur proxy qui masque les données personnelles techniques (adresse IP, système d'exploitation, détails techniques concernant le navigateur, traces numériques, etc.) aux sites visités. Si les communications entre le client et le service anonymiseur sont chiffrées, alors il est difficile pour le fournisseur d'accès à internet de connaître les sites visités (en revanche, le service anonymiseur y a obligatoirement accès).
Distributed shared memoryIn computer science, distributed shared memory (DSM) is a form of memory architecture where physically separated memories can be addressed as a single shared address space. The term "shared" does not mean that there is a single centralized memory, but that the address space is shared—i.e., the same physical address on two processors refers to the same location in memory. Distributed global address space (DGAS), is a similar term for a wide class of software and hardware implementations, in which each node of a cluster has access to shared memory in addition to each node's private (i.
Mémoire virtuellethumb|Schéma de principe de la mémoire virtuelle. En informatique, le mécanisme de mémoire virtuelle a été mis au point dans les années 1960. Il repose sur l'utilisation de traduction à la volée des adresses (virtuelles) vues du logiciel, en adresses physiques de mémoire vive. La mémoire virtuelle permet : d'utiliser de la mémoire de masse comme extension de la mémoire vive ; d'augmenter le taux de multiprogrammation ; de mettre en place des mécanismes de protection de la mémoire ; de partager la mémoire entre processus.
Fonction anonymeEn programmation informatique, une fonction anonyme, aussi appelée lambda expression ou fonction lambda est une fonction n'ayant pas de nom. Les fonctions anonymes existent dans certains langages de programmation comme Python, JavaScript, OCaml ou C++. Certains langages, comme le C et Pascal (tout au moins les versions standards de ces langages), ne permettent pas d'écrire des fonctions anonymes. Parce que ces fonctions n'ont pas de nom, à l'endroit où l'on voudrait mettre leur nom, on trouve directement les instructions définissant la fonction introduites par une syntaxe particulière.
Digital Object IdentifierLe digital object identifier (DOI, littéralement « identifiant numérique d'objet ») est un mécanisme d'identification de ressources stable, qui peuvent être des ressources numériques, comme un film, un rapport, des articles scientifiques, ainsi que des personnes ou tout autre type d'objet. On accède généralement à la ressource en faisant précéder l'identifiant DOI par le préfixe https://doi.org/. Le système DOI a été développé par le CNRI () pour le compte de l' à la suite d'un appel à proposition lancé le 13 mars 1996. Universally unique identifierUniversally unique identifier (UUID), de l'anglais signifiant littéralement « identifiant unique universel », est en informatique un système permettant à des systèmes distribués d'identifier de façon unique une information sans coordination centrale importante. Dans ce contexte, le mot « unique » doit être pris au sens de « unicité très probable » plutôt que « garantie d'unicité ». Il s'agit d'une spécification DCE définie initialement par l'OSF (Open Software Foundation).
Uniform memory accessUniform memory access (UMA) is a shared memory architecture used in parallel computers. All the processors in the UMA model share the physical memory uniformly. In an UMA architecture, access time to a memory location is independent of which processor makes the request or which memory chip contains the transferred data. Uniform memory access computer architectures are often contrasted with non-uniform memory access (NUMA) architectures. In the NUMA architecture, each processor may use a private cache.
Read–modify–writeIn 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. These operations prevent race conditions in multi-threaded applications. Typically they are used to implement mutexes or semaphores. These atomic operations are also heavily used in non-blocking synchronization.
Parallélisme (informatique)vignette|upright=1|Un des éléments de Blue Gene L cabinet, un des supercalculateurs massivement parallèles les plus rapides des années 2000. En informatique, le parallélisme consiste à mettre en œuvre des architectures d'électronique numérique permettant de traiter des informations de manière simultanée, ainsi que les algorithmes spécialisés pour celles-ci. Ces techniques ont pour but de réaliser le plus grand nombre d'opérations en un temps le plus petit possible.
Registre de processeurUn registre est un emplacement de mémoire interne à un processeur. Les registres se situent au sommet de la hiérarchie mémoire : il s'agit de la mémoire la plus rapide d'un ordinateur, mais dont le coût de fabrication est le plus élevé, car la place dans un microprocesseur est limitée. Une architecture externe de processeur définit un ensemble de registres, dits architecturaux, qui sont accessibles par son jeu d'instructions. Ils constituent l'état externe (architectural) du processeur.
Asynchronous I/OIn computer science, asynchronous I/O (also non-sequential I/O) is a form of input/output processing that permits other processing to continue before the transmission has finished. A name used for asynchronous I/O in the Windows API is overlapped I/O. Input and output (I/O) operations on a computer can be extremely slow compared to the processing of data. An I/O device can incorporate mechanical devices that must physically move, such as a hard drive seeking a track to read or write; this is often orders of magnitude slower than the switching of electric current.
Attente activeL’attente active, en génie logiciel, ou polling (parfois appelée aussi « scrutation ») est une technique de programmation que les processus utilisent lorsqu'ils vérifient de façon répétée si une condition est vraie, comme l'attente d'une entrée (clavier ou autre) ou encore la libération d'un verrou. Cette technique peut également être utilisée pour mettre en attente un programme pour une durée déterminée. Cela était nécessaire sur d'anciens systèmes d'exploitation dont le matériel sous-jacent ne proposait pas de méthode spécifique pour suspendre l'exécution du flot d'instruction pendant une période déterminée.