Interruption (informatique)En informatique, une interruption est une suspension temporaire de l'exécution d'un programme informatique par le microprocesseur afin d'exécuter un programme prioritaire (appelé service d'interruption). avancement d'une horloge, signalisation de la complétion d'un transfert de données, positionnement d'une tête de lecture/écriture Cependant, on l'utilise aussi pour désigner des exceptions, c'est-à-dire des arrêts provoqués par une condition exceptionnelle dans le programme (instruction erronée, accès à une zone mémoire inexistante, calcul arithmétique incorrect, appel volontaire au système d'exploitation).
Interrupt handlerIn computer systems programming, an interrupt handler, also known as an interrupt service routine or ISR, is a special block of code associated with a specific interrupt condition. Interrupt handlers are initiated by hardware interrupts, software interrupt instructions, or software exceptions, and are used for implementing device drivers or transitions between protected modes of operation, such as system calls. The traditional form of interrupt handler is the hardware interrupt handler.
Interrupt latencyIn computing, interrupt latency refers to the delay between the start of an Interrupt Request (IRQ) and the start of the respective Interrupt Service Routine (ISR). For many operating systems, devices are serviced as soon as the device's interrupt handler is executed. Interrupt latency may be affected by microprocessor design, interrupt controllers, interrupt masking, and the operating system's (OS) interrupt handling methods. There is usually a trade-off between interrupt latency, throughput, and processor utilization.
Non-maskable interruptIn computing, a non-maskable interrupt (NMI) is a hardware interrupt that standard interrupt-masking techniques in the system cannot ignore. It typically occurs to signal attention for non-recoverable hardware errors. Some NMIs may be masked, but only by using proprietary methods specific to the particular NMI. An NMI is often used when response time is critical or when an interrupt should never be disabled during normal system operation.
Interruption matérielleUne interruption matérielle (en anglais Interrupt ReQuest ou IRQ) est une interruption déclenchée par un périphérique d'entrée-sortie d'un microprocesseur ou d'un microcontrôleur. Les interruptions matérielles sont utilisées en informatique lorsqu’il est nécessaire de réagir en temps réel à un événement asynchrone, ou bien, de manière plus générale, afin d’économiser le temps d’exécution lié à une boucle de consultation (polling loop).
Programmable interrupt controllerIn computing, a programmable interrupt controller (PIC) is an integrated circuit that helps a microprocessor (or CPU) handle interrupt requests (IRQ) coming from multiple different sources (like external I/O devices) which may occur simultaneously. It helps prioritize IRQs so that the CPU switches execution to the most appropriate interrupt handler (ISR) after the PIC assesses the IRQ's relative priorities. Common modes of interrupt priority include hard priorities, rotating priorities, and cascading priorities.
Interrupt vector tableAn interrupt vector table (IVT) is a data structure that associates a list of interrupt handlers with a list of interrupt requests in a table of interrupt vectors. Each entry of the interrupt vector table, called an interrupt vector, is the address of an interrupt handler(also known as ISR). While the concept is common across processor architectures, IVTs may be implemented in architecture-specific fashions. For example, a dispatch table is one method of implementing an interrupt vector table.
Programmation fonctionnelleLa programmation fonctionnelle est un paradigme de programmation de type déclaratif qui considère le calcul en tant qu'évaluation de fonctions mathématiques. Comme le changement d'état et la mutation des données ne peuvent pas être représentés par des évaluations de fonctions la programmation fonctionnelle ne les admet pas, au contraire elle met en avant l'application des fonctions, contrairement au modèle de programmation impérative qui met en avant les changements d'état.
Programmation déclarativevignette|Binario cropped. La programmation déclarative est un paradigme de programmation qui consiste à créer des applications sur la base de composants logiciels indépendants du contexte et ne comportant aucun état interne. Autrement dit, l'appel d'un de ces composants avec les mêmes arguments produit exactement le même résultat, quel que soit le moment et le contexte de l'appel. En programmation déclarative, on décrit le quoi, c'est-à-dire le problème.
Programmation informatiquevignette|Liste d'instructions sur le Commodore 64 La programmation, appelée aussi codage dans le domaine informatique, désigne l'ensemble des activités qui permettent l'écriture des programmes informatiques. C'est une étape importante du développement de logiciels (voire de matériel). L'écriture d'un programme se fait dans un langage de programmation. Un logiciel est un ensemble de programmes (qui peuvent être écrits dans des langages de programmation différents) destiné à la réalisation de certaines tâches par un (ou plusieurs) utilisateurs du logiciel.
Vecteur euclidienEn mathématiques, et plus précisément en géométrie euclidienne, un vecteur euclidien est un objet géométrique possédant une direction, un sens et une norme. On l'utilise par exemple en physique et en ingénierie pour modéliser une force. On parle aussi parfois de vecteur géométrique dans le plan euclidien (deux dimensions) et de vecteur spatial dans l'espace à trois dimensions. Vecteur#HistoireVecteur En physique et en ingénierie, on travaille souvent dans l'espace euclidien.
Langage de programmationthumb|Fragment de code écrit dans le langage de programmation JavaScript. Un langage de programmation est un langage informatique destiné à formuler des algorithmes et produire des programmes informatiques qui les appliquent. D'une manière similaire à une langue naturelle, un langage de programmation est composé d'un alphabet, d'un vocabulaire, de règles de grammaire, de significations, mais aussi d'un environnement de traduction censé rendre sa syntaxe compréhensible par la machine.
Programmation procéduraleEn informatique, la programmation procédurale est un paradigme qui se fonde sur le concept d'appel procédural. Une procédure, aussi appelée routine, sous-routine ou fonction (à ne pas confondre avec les fonctions de la programmation fonctionnelle reposant sur des fonctions mathématiques), contient simplement une série d'étapes à réaliser. N'importe quelle procédure peut être appelée à n'importe quelle étape de l'exécution du programme, y compris à l'intérieur d'autres procédures, voire dans la procédure elle-même (récursivité).
MicrocontrôleurUn microcontrôleur (en notation abrégée μc, ou uc ou encore MCU en anglais) est un circuit intégré qui rassemble les éléments essentiels d'un ordinateur : processeur, mémoires (mémoire morte et mémoire vive), unités périphériques et interfaces d'entrées-sorties. Les microcontrôleurs se caractérisent par un plus haut degré d'intégration, une plus faible consommation électrique, une vitesse de fonctionnement plus faible (de quelques mégahertz jusqu'à plus d'un gigahertz) et un coût réduit par rapport aux microprocesseurs polyvalents utilisés dans les ordinateurs personnels.
Snippetvignette|Exemple de snippet Un snippet est un terme de programmation informatique désignant une petite portion réutilisable de code source ou de texte. Ordinairement, ce sont des unités formellement définies à incorporer dans des modules plus larges. La gestion de snippets est une fonctionnalité de certains éditeurs de texte, des éditeurs de code source, des IDE et autres logiciels apparentés. L'Office québécois de la langue française recommande l'usage des termes « bout de code », « extrait de code », « fragment de code » et « morceau de code » à la place de « snippet ».
Vecteurdroite|cadre|Deux vecteurs et et leur vecteur somme. En mathématiques, un vecteur est un objet généralisant plusieurs notions provenant de la géométrie (couples de points, translations, etc.), de l'algèbre (« solution » d'un système d'équations à plusieurs inconnues), ou de la physique (forces, vitesses, accélérations). Rigoureusement axiomatisée, la notion de vecteur est le fondement de la branche des mathématiques appelée algèbre linéaire.
Vecteur unitairevignette|Deux vecteurs unitaires dans un espace vectoriel normé. Dans un espace vectoriel normé (réel ou complexe) E, un vecteur unitaire est un vecteur dont la norme est égale à 1. Si le corps des scalaires est R, deux vecteurs unitaires v et w sont colinéaires si et seulement si v = w ou v = –w. Si le corps des scalaires est C, et si v est un vecteur unitaire de E, alors les vecteurs unitaires colinéaires à v sont αv où α est un complexe de module 1. Les vecteurs unitaires permettent de définir la direction et le sens d'un vecteur non nul de E.
Programmation logiqueLa programmation logique est une forme de programmation qui définit les applications à l'aide : d'une base de faits : ensemble de faits élémentaires concernant le domaine visé par l'application, d'une base de règles : règles de logique associant des conséquences plus ou moins directes à ces faits, d'un moteur d'inférence (ou démonstrateur de théorème ) : exploite ces faits et ces règles en réaction à une question ou requête. Cette approche se révèle beaucoup plus souple que la définition d'une succession d'instructions que l'ordinateur exécuterait.
Chien de garde (informatique)vignette|Capture d'écran d'informations sur un chien de garde. Un chien de garde, en anglais watchdog, est un circuit électronique ou un logiciel utilisé en électronique numérique pour s'assurer qu'un automate ou un ordinateur ne reste pas bloqué à une étape particulière du traitement qu'il effectue. C'est une protection destinée généralement à redémarrer le système, si une action définie n'est pas exécutée dans un délai imparti. En informatique industrielle, le chien de garde est souvent réalisé par un dispositif électronique, en général une bascule monostable.
Réutilisation de codeLa réutilisation de code désigne l'utilisation de logiciel existant, de connaissances sur ce logiciel, de composants logiciels ou du code source, pour créer de nouveaux logiciels. La réutilisation s'appuie fréquemment sur le concept de modularité. Par extension, ce terme désigne également l'ensemble des techniques informatiques proposées ou mises en œuvre pour faciliter cette réutilisation. Bibliothèque logicielle Patron de conception logiciel Framework "An architecture for designing reusable embedded syste