Concurrency controlIn information technology and computer science, especially in the fields of computer programming, operating systems, multiprocessors, and databases, concurrency control ensures that correct results for concurrent operations are generated, while getting those results as quickly as possible. Computer systems, both software and hardware, consist of modules, or components. Each component is designed to operate correctly, i.e., to obey or to meet certain consistency rules.
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.
Unix warsThe Unix wars were struggles between vendors to set a standard for the Unix operating system in the late 1980s and early 1990s. Although AT&T Corporation created Unix, by the 1980s, the University of California, Berkeley Computer Systems Research Group was the leading non-commercial Unix developer. In the mid-1980s, the three common versions of Unix were AT&T's System III, the basis of Microsoft's Xenix and the IBM-endorsed PC/IX, among others; AT&T's System V, which it sought to establish as the new Unix standard; and the Berkeley Software Distribution (BSD).
Cat (Unix)cat, qui vient de l'anglais catenate, synonyme de concatenate (soit : « concaténer »), est une commande Unix standard permettant de concaténer des fichiers ainsi que d'afficher leur contenu sur la sortie standard — habituellement un terminal Unix ; le plus souvent des « shells », notamment Bash, zsh, Csh, etc. est l'équivalent de cat mais affiche le contenu d'un fichier de la fin au début. Dans les systèmes Microsoft, son équivalent est la commande . Pour visualiser un fichier : cat fichier.
Rm (Unix)rm (en référence au terme anglais remove, « supprimer ») est une commande Unix permettant de supprimer des fichiers et répertoires. Dans un shell Unix, la syntaxe générale est la suivante : rm fichier pour supprimer un fichier rm -r répertoire pour supprimer un répertoire et son contenu (r pour récursif) rm -ri répertoire demande une confirmation (i pour interactif) avant chaque effacement À défaut d'être le super-utilisateur, pour pouvoir effacer un fichier dans un répertoire, la permission d'écriture sur le répertoire est nécessaire (et pas celle sur le fichier), cependant, rm demandera une confirmation par défaut dans ce cas précis, sauf si l'option f (force) est utilisée : rm -rf répertoire Pour supprimer des fichiers ou répertoires sans confirmation Sans l'option r, rm ne supprime pas de répertoire, même vide.
Automatic bug fixingAutomatic bug-fixing is the automatic repair of software bugs without the intervention of a human programmer. It is also commonly referred to as automatic patch generation, automatic bug repair, or automatic program repair. The typical goal of such techniques is to automatically generate correct patches to eliminate bugs in software programs without causing software regression. Automatic bug fixing is made according to a specification of the expected behavior which can be for instance a formal specification or a test suite.
Right to explanationIn the regulation of algorithms, particularly artificial intelligence and its subfield of machine learning, a right to explanation (or right to an explanation) is a right to be given an explanation for an output of the algorithm. Such rights primarily refer to individual rights to be given an explanation for decisions that significantly affect an individual, particularly legally or financially.
Trace (informatique)En informatique, la trace d'un programme est une représentation de l’exécution de ce même programme. Une trace peut-être utilisée pour analyser le comportement du programme : dynamiquement, lors de l’exécution, afin d'optimiser le code généré par la compilation à la volée ; a posteriori, pour analyser ce qu'a fait un programme lors de l’exécution. Une trace peut être générée par une machine virtuelle, grâce à la programmation orientée aspect, ou par instrumentation du code source.
Couplage (informatique)Le couplage est une métrique indiquant le niveau d'interaction entre deux ou plusieurs composants logiciels (fonctions, modules, objets ou applications). Deux composants sont dits couplés s'ils échangent de l'information. On parle de couplage fort ou couplage serré si les composants échangent beaucoup d'information. On parle de couplage faible, couplage léger ou couplage lâche si les composants échangent peu d'information et/ou de manière désynchronisée.
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.