Système d'exploitation embarquéUn système d'exploitation embarqué est un système d'exploitation pouvant être installé sur un système embarqué. Ce système d'exploitation est conçu avec des spécificités à gérer afin de répondre à des besoins spécifiques au type de système embarqué. Un système d'exploitation est un programme qui gère le matériel. Il sert d'intermédiaire entre l'application logicielle et le matériel informatique (périphériques, capteurs, moteurs...).
Logiciel enfouiLes logiciels enfouis ou embarqués (embedded software), sont des entités autonomes qui remplissent une mission indépendante, parfois critique, sans intervention humaine, en général en interaction directe avec l’environnement extérieur que celui-ci soit physique ou informatique. Ces systèmes autonomes peuvent être isolés mais ils sont la plupart du temps reliés et communiquent à travers un réseau grâce à un logiciel d'intermédiation.
Linux embarquéLinux embarqué (en anglais Embedded Linux) désigne un système d'exploitation dérivé de Linux et adapté à un système embarqué. Il existe de nombreuses versions de Linux embarqués adaptés à différents types de matériels (téléphones portables, set-top boxes, boîtiers Internet (ADSL, Fibre ...), dispositifs lecteurs multimédia sur TV, etc). Contrairement aux versions de Linux destinées aux ordinateurs personnels et aux serveurs, les différents systèmes Linux embarqués sont conçus pour des systèmes aux ressources limitées.
Système embarquéUn système embarqué est un système électronique et informatique autonome, souvent temps réel, spécialisé dans une tâche précise. Le terme désigne aussi bien le matériel informatique que le logiciel utilisé. Ses ressources sont généralement limitées spatialement (encombrement réduit) et énergétiquement (consommation restreinte). L'un des premiers systèmes modernes embarqués reconnaissables a été le Apollo Guidance Computer en 1967, le système de guidage de la mission lunaire Apollo, développé par Charles Stark Draper du Massachusetts Institute of Technology.
Développement de jeux vidéoLe développement de jeux vidéo est le processus de conception, de programmation et de test d'un jeu vidéo. L'effort est entrepris par un développeur, allant d'une seule personne à une équipe internationale dispersée à travers le monde. Le développement des jeux commerciaux traditionnels pour PC ou consoles est habituellement financé par un éditeur et peut prendre plusieurs années. Les jeux vidéo indépendants prennent généralement moins de temps et d'argent et peuvent être produits par des particuliers et de petits développeurs.
Développeur de jeux vidéoUn développeur de jeux vidéo est une personne ou une entreprise qui crée des jeux vidéo en rassemblant plusieurs domaines de compétences comme le game design, la scénarisation, la programmation, l'infographie, la musique assistée par ordinateur, etc. Il peut travailler au sein d'une entreprise, d'un collectif ou être indépendant. Le développement d'un jeu vidéo utilise plusieurs langages de programmations. Les premiers jeux étaient développés en langage assembleur, version humaine du langage machine, puis, permettant un développement plus rapide, vers des langages plus structuré lors de leurs apparitions.
Game development kitGame development kits (GDK) are specialized hardware and software used to create commercial video games for game consoles. They may be partnered with game development tools, special game engine licenses, and other middleware to aid video game development. GDKs are typically not available to the public, and require game developers to enter an agreement, partnership, or program with the hardware manufacturer to gain access to the hardware. As console generations pass, development kits often get sold through websites like eBay without repercussions.
Register Transfer LevelRegister Transfer Level (RTL) est une méthode de description des architectures microélectroniques. Dans la conception RTL, le comportement d'un circuit est défini en termes d'envois de signaux ou de transferts de données entre registres, et les opérations logiques effectuées sur ces signaux. Le RTL est utilisé dans les langages de description matérielle (HDL) comme Verilog et VHDL pour créer des représentations d'un circuit à haut niveau, à partir duquel les représentations à plus bas niveau et le câblage réel peuvent être dérivés.
Game development toolA game development tool is a specialized software application that assists or facilitates the making of a video game. Some tasks handled by tools include the conversion of assets (such as 3D models, textures, etc.) into formats required by the game, level editing and script compilation. Almost all game development tools are developed by the developer custom for one game, or by a console manufacturer (such as Nintendo or Microsoft) as part of a game development kit.
Moteur de jeuvignette|Diagramme montrant les nombreux composants systèmes avec lesquels un moteur de jeu est amené à interfacer sur Linux. Un moteur de jeu est un ensemble de composants logiciels qui effectuent des calculs de géométrie et de physique utilisés dans les jeux vidéo. L'ensemble forme un simulateur en temps réel souple qui reproduit les caractéristiques des mondes imaginaires dans lesquels se déroulent les jeux. Le but visé par un moteur de jeu est de permettre à une équipe de développement de se concentrer sur le contenu et le déroulement du jeu plutôt que la résolution de problèmes informatiques.
Jeu vidéo indépendantUn jeu vidéo indépendant est un jeu vidéo créé généralement par des individus ou des équipes de développement relativement petites et sans le soutien financier d'un grand éditeur de jeux vidéo. Il s'oppose donc en ce sens à la plupart des jeux dits « AAA » ou triple-A, mais le terme « indépendant » peut s'appliquer à d'autres scénarios où le développement du jeu présente une certaine indépendance créative par rapport à un éditeur, ce dernier aidant à financer ou à distribuer un jeu.
Conception de circuits intégrésLa conception (ou le design) de circuits intégrés (ou puces électroniques) consiste à réaliser les nombreuses étapes de développement (flot de conception ou design flow) nécessaires pour concevoir correctement et sans erreurs une puce électronique. Le point d'entrée est une spécification fonctionnelle qui décrit le fonctionnement voulu de la puce, ainsi que des contraintes non fonctionnelles (surface, coût, consommation...).
VHDLVHDL est un langage de description de matériel destiné à représenter le comportement ainsi que l'architecture d’un système électronique numérique. Son nom complet est VHSIC Hardware Description Language. L'intérêt d'une telle description réside dans son caractère exécutable : une spécification décrite en VHDL peut être vérifiée par simulation, avant que la conception détaillée ne soit terminée.
Architecture de processeurUne architecture externe de processeur ou architecture de jeu d'instructions (ISA, de l'anglais instruction set architecture), ou tout simplement architecture (de processeur), est la spécification fonctionnelle d'un processeur, du point de vue du programmeur en langage machine. L'architecture comprend notamment la donnée d'un jeu d'instructions, d'un ensemble de registres visibles par le programmeur, d'une organisation de la mémoire et des entrées sorties, des modalités d'un éventuel support multiprocesseur, etc.
High-level synthesisHigh-level synthesis (HLS), sometimes referred to as C synthesis, electronic system-level (ESL) synthesis, algorithmic synthesis, or behavioral synthesis, is an automated design process that takes an abstract behavioral specification of a digital system and finds a register-transfer level structure that realizes the given behavior. Synthesis begins with a high-level specification of the problem, where behavior is generally decoupled from low-level circuit mechanics such as clock-level timing.
AccelleraAccellera Systems Initiative (Accellera) is a standards organization that supports a mix of user and vendor standards and open interfaces development in the area of electronic design automation (EDA) and integrated circuit (IC) design and manufacturing. It is less constrained than the Institute of Electrical and Electronics Engineers (IEEE) and is therefore the starting place for many standards. Once mature and adopted by the broader community, the standards are usually transferred to the IEEE.
C to HDLC to HDL tools convert C language or C-like computer code into a hardware description language (HDL) such as VHDL or Verilog. The converted code can then be synthesized and translated into a hardware device such as a field-programmable gate array. Compared to software, equivalent designs in hardware consume less power (yielding higher performance per watt) and execute faster with lower latency, more parallelism and higher throughput.
Langage de description de matérielUn langage de description de matériel, ou du matériel (ou HDL pour hardware description language en anglais) est un langage informatique permettant la description d'un circuit électronique au niveau des transferts de registres (RTL). Celui-ci peut décrire les fonctions réalisées par le circuit (description comportementale) ou les portes logiques utilisées par le circuit (description structurelle). Il est possible d'observer le fonctionnement d'un circuit électronique modélisé dans un langage de description grâce à la simulation.
Interface graphiquethumb|Quelques widgets typiques. En informatique, une interface graphique (en anglais GUI pour graphical user interface) ou un environnement graphique est un dispositif de dialogue homme-machine, dans lequel les objets à manipuler sont dessinés sous forme de pictogrammes à l'écran, de sorte que l'usager peut les utiliser en imitant la manipulation physique de ces objets avec un dispositif de pointage, le plus souvent une souris. Ce type d'interface a été créé en 1973 sur le Xerox Alto par les ingénieurs du Xerox PARC pour remplacer les interfaces en ligne de commande.
Interface en ligne de commandevignette|300px|Capture d'écran d'un shell Bash sous Gentoo. Une interface en ligne de commande ou ILC (en anglais command line interface, couramment abrégé CLI) est une interface homme-machine dans laquelle la communication entre l'utilisateur et l'ordinateur s'effectue en mode texte : l'utilisateur tape une ligne de commande, c'est-à-dire du texte au clavier pour demander à l'ordinateur d'effectuer une opération ; l'ordinateur affiche du texte correspondant au résultat de l'exécution des commandes tapées ou à des questions qu'un logiciel pose à l'utilisateur.