CoroutineDans un programme, une coroutine est une unité de traitement qui s'apparente à une routine, à ceci près que, alors que la sortie d'une routine met fin à la routine, la sortie de la coroutine peut être le résultat d'une suspension de son traitement jusqu'à ce qu'il lui soit signalé de reprendre son cours. La suspension de la coroutine et la reprise de son cours peuvent s'accompagner d'une transmission de données. Les coroutines permettent de réaliser des traitements basés sur des algorithmes coopératifs comme les itérateurs, les générateurs, des canaux de communication, etc.
Parallel programming modelIn computing, a parallel programming model is an abstraction of parallel computer architecture, with which it is convenient to express algorithms and their composition in programs. The value of a programming model can be judged on its generality: how well a range of different problems can be expressed for a variety of different architectures, and its performance: how efficiently the compiled programs can execute. The implementation of a parallel programming model can take the form of a library invoked from a sequential language, as an extension to an existing language, or as an entirely new language.
CPythonCPython est l'implémentation de référence du langage Python et l'implémentation par défaut et la plus largement utilisée de ce langage. CPython peut être défini à la fois comme un interpréteur et un compilateur, car il compile le code Python en bytecode avant de l'interpréter. Il possède une interface avec plusieurs langages, dont le C, dans laquelle il est possible d'écrire explicitement des liaisons dans un autre langage que Python. Enfin, c'est un logiciel libre.
Write Once Read Manyvignette|Un DVD-R Write Once Read Many (WORM) est une technique associée à certains supports de stockage non effaçables. Ces supports permettent l'écriture de données mais ne permettent pas l'effacement. Il est donc possible d'écrire une fois (Write Once) et de lire autant de fois que souhaité (Read Many) sans jamais pouvoir physiquement effacer la donnée écrite. Il existe deux catégories de WORM : les véritables WORM, où l'écriture des données constitue une modification physique et irréversible du support de stockage, et les pseudo WORM, qui sont des systèmes effaçables qui ont été bloqués pour ne pas permettre d'effacer.
Hazard (computer architecture)In the domain of central processing unit (CPU) design, hazards are problems with the instruction pipeline in CPU microarchitectures when the next instruction cannot execute in the following clock cycle, and can potentially lead to incorrect computation results. Three common types of hazards are data hazards, structural hazards, and control hazards (branching hazards). There are several methods used to deal with hazards, including pipeline stalls/pipeline bubbling, operand forwarding, and in the case of out-of-order execution, the scoreboarding method and the Tomasulo algorithm.
Occam (langage)Le langage de programmation Occam est un langage de programmation adapté à l'architecture parallèle, apparu en 1983. Il a été développé par Inmos pour la programmation de ses architectures en parallèle Transputer, mais a également été porté sur d'autres plates-formes. Le nom est un hommage à Guillaume d'Occam (parfois orthographié Ockham) et au principe méthodologique du rasoir d'Occam.
Mémoire de masseEn informatique, une mémoire de masse est une mémoire de grande capacité, non volatile et qui peut être lue et écrite, entre autres, par un ordinateur. Technologies désuètes Mémoire à tores magnétiques, carte perforée, ruban perforé, cassette audio, tambour magnétique, disquette et disque magnéto-optique. Technologies en usage Bande magnétique, disque dur, SSD, disque optique (CD, DVD, Blu-ray) et mémoire flash.
Copy-on-writeLe copy-on-write ou copie à l’écriture (souvent désigné par son sigle anglais COW) est une stratégie d'optimisation utilisée en programmation informatique. L'idée fondamentale : si de multiples appelants demandent des ressources initialement impossibles à distinguer, vous pouvez leur donner des pointeurs vers la même ressource. Cette fiction peut être maintenue jusqu'à ce qu'un appelant modifie sa « copie » de la ressource. À ce moment-là, une copie privée est créée. Cela évite que le changement soit visible ailleurs.
Memory pagingIn computer operating systems, memory paging (or swapping on some Unix-like systems) is a memory management scheme by which a computer stores and retrieves data from secondary storage for use in main memory. In this scheme, the operating system retrieves data from secondary storage in same-size blocks called pages. Paging is an important part of virtual memory implementations in modern operating systems, using secondary storage to let programs exceed the size of available physical memory.
Go (langage)Go est un langage de programmation compilé et concurrent inspiré de C et Pascal. Il a été développé par Google à partir d’un concept initial de , Rob Pike et Ken Thompson. vignette|alt=Logo de Google Go|droite|Mascotte de Google Go Go veut faciliter et accélérer la programmation à grande échelle : en raison de sa simplicité, il est donc concevable de l’utiliser aussi bien pour écrire des applications, des scripts ou de grands systèmes. Cette simplicité est nécessaire aussi pour assurer la maintenance et l’évolution des programmes sur plusieurs générations de développeurs.
Modified Harvard architectureA modified Harvard architecture is a variation of the Harvard computer architecture that, unlike the pure Harvard architecture, allows memory that contains instructions to be accessed as data. Most modern computers that are documented as Harvard architecture are, in fact, modified Harvard architecture. Harvard architecture The original Harvard architecture computer, the Harvard Mark I, employed entirely separate memory systems to store instructions and data. The CPU fetched the next instruction and loaded or stored data simultaneously and independently.