Ordonnancement dans les systèmes d'exploitationDans les systèmes d'exploitation, l’ordonnanceur est le composant du noyau du système d'exploitation choisissant l'ordre d'exécution des processus sur les processeurs d'un ordinateur. En anglais, l'ordonnanceur est appelé scheduler. Un processus a besoin de la ressource processeur pour exécuter des calculs; il l'abandonne quand se produit une interruption, etc. De nombreux anciens processeurs ne peuvent effectuer qu'un traitement à la fois.
SpinlockEn programmation informatique et plus particulièrement en programmation concurrente, le spinlock ou verrou tournant est un mécanisme simple de synchronisation basé sur l'attente active. Le spinlock base son principe sur l'attente active. En attendant leur tour, les threads l'utilisant vont le tester de manière répétée jusqu'à ce qu'il se libère. Pour ce faire, les threads doivent impérativement utiliser une opération atomique afin de garder le principe de l'exclusion mutuelle. L'attente active rend le spinlock gourmand en ressources.
Round-robin (informatique)thumb|upright=1.5|Exemple de planification de tâches en round-robin Le Round-robin (ou tourniquet) est un algorithme d'ordonnancement courant dans les systèmes d'exploitation adapté aux systèmes travaillant en temps partagés. Une petite unité de temps, appelé quantum de temps, est définie. La file d'attente est gérée comme une file circulaire. L'ordonnanceur parcourt cette file et alloue un temps processeur à chacun des processus pour un intervalle de temps de l'ordre d'un quantum au maximum.
Rate-monotonic schedulingL'ordonnancement à taux monotone (en anglais, rate-monotonic scheduling) est un algorithme d'ordonnancement temps réel en ligne à priorité constante (statique). Il attribue la priorité la plus forte à la tâche qui possède la plus petite période. RMS est optimal dans le cadre d'un système de tâches périodiques, synchrones, indépendantes et à échéance sur requête avec un ordonnanceur préemptif. De ce fait, il n'est généralement utilisé que pour ordonnancer des tâches vérifiant ces propriétés.
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.
Earliest deadline first schedulingEarliest deadline first scheduling (« échéance proche = préparation en premier » en anglais) est un algorithme d'ordonnancement préemptif, à priorité dynamique, utilisé dans les systèmes temps réel. Il attribue une priorité à chaque requête en fonction de l'échéance de cette dernière, les tâches dont l’échéance est proche recevant la priorité la plus élevée. Cet algorithme est optimal pour tous types de système de tâches. Cependant, il est assez difficile à mettre en œuvre et est de ce fait peu utilisé.
Sommeilvignette|250px|Deux hommes endormis sur un banc. Le sommeil est un état récurrent de baisse de conscience (sans perte de la réception sensitive) du monde extérieur, accompagnée d'une diminution progressive du tonus musculaire, survenant à intervalles réguliers. L'alternance veille-sommeil correspond à l'un des cycles fondamentaux chez les animaux appartenant au rythme circadien. Chez l'être humain, le sommeil occupe près d'un tiers de la vie en moyenne.
Multitâche préemptifEn informatique, le multitâche préemptif désigne la capacité d'un système d'exploitation à exécuter ou arrêter une tâche planifiée en cours. Un ordonnanceur préemptif présente l'avantage d'une meilleure réactivité du système et de son évolution. Les différentes tâches peuvent être exécutées en parallèle, à la fois par un changement de contexte très rapide et par la répartition sur différents processeur. Le seul inconvénient que l'on pourrait donner à un système multitâche préemptif vient des situations de compétition, en général relativement limité.
Sémaphore (informatique)Un sémaphore est une variable (ou un type de donnée abstrait) partagée par différents « acteurs », qui garantit que ceux-ci ne peuvent y accéder que de façon séquentielle à travers des opérations atomiques, et constitue la méthode utilisée couramment pour restreindre l'accès à des ressources partagées (par exemple un espace de stockage) et synchroniser les processus dans un environnement de programmation concurrente. Le sémaphore a été inventé par Edsger Dijkstra et utilisé pour la première fois dans le système d'exploitation THE Operating system.
Système d'exploitationEn informatique, un système d'exploitation (souvent appelé OS — de l'anglais operating system — ou parfois SE — en français) est un ensemble de programmes qui dirige l'utilisation des ressources d'un ordinateur par des logiciels applicatifs. Il reçoit des demandes d'utilisation des ressources de l'ordinateur de la part des logiciels applicatifs. Le système d'exploitation gère les demandes ainsi que les ressources nécessaires évitant les interférences entre les logiciels.
Système d'exploitation temps réelUn système d'exploitation temps réel, en anglais RTOS pour real-time operating system (généralement prononcé à l’anglaise, en séparant le R de l’acronyme : Are-toss), est un système d'exploitation pour lequel le temps maximum entre un stimulus d'entrée et une réponse de sortie est précisément déterminé. Ces systèmes d'exploitation multitâches sont destinés à des applications temps réel : systèmes embarqués (thermostats programmables, contrôleurs électroménagers, téléphones mobiles, robots industriels, vaisseaux spatiaux, systèmes de contrôle commande industriel, matériel de recherche scientifique).
Sommeil paradoxalvignette|Polysomnographie. Encadré en rouge l'EEG lors du sommeil paradoxal, la barre rouge indique les mouvements oculaires. Le sommeil paradoxal, connu également comme le sommeil REM (Rapid Eye Movement), fait suite au sommeil lent (« sommeil à ondes lentes » désignant les stades 3 et 4), et constitue le cinquième et dernier stade d'un cycle du sommeil. Une « nuit » comprend de trois à six cycles successifs d'une durée chacun de 90 à 120 minutes.
Cooperative multitaskingCooperative multitasking, also known as non-preemptive multitasking, is a style of computer multitasking in which the operating system never initiates a context switch from a running process to another process. Instead, in order to run multiple applications concurrently, processes voluntarily yield control periodically or when idle or logically blocked. This type of multitasking is called cooperative because all programs must cooperate for the scheduling scheme to work.
ScheduleA schedule or a timetable, as a basic time-management tool, consists of a list of times at which possible tasks, events, or actions are intended to take place, or of a sequence of events in the chronological order in which such things are intended to take place. The process of creating a schedule — deciding how to order these tasks and how to commit resources between the variety of possible tasks — is called scheduling, and a person responsible for making a particular schedule may be called a scheduler.
Synchronisation (multitâches)En programmation concurrente, la synchronisation se réfère à deux concepts distincts mais liés : la synchronisation de processus et la synchronisation de données. La synchronisation de processus est un mécanisme qui vise à bloquer l'exécution de certains processus à des points précis de leur flux d'exécution, de manière que tous les processus se rejoignent à des étapes relais données, tel que prévu par le programmeur. La synchronisation de données, elle, est un mécanisme qui vise à conserver la cohérence des données telles que vues par différents processus, dans un environnement multitâche.
Paralysie du sommeilLa paralysie du sommeil est une parasomnie selon la Classification internationale des troubles du sommeil, qui se caractérise par le fait que le sujet, sur le point de s'endormir (paralysie hypnagogique) ou de s'éveiller (paralysie hypnopompique) mais tout à fait conscient, se trouve dans l'incapacité d'effectuer tout mouvement volontaire ou avec un extrême effort. Une fois un mouvement effectué, la victime reprend une maîtrise totale d'elle-même.
Syndrome d'apnées du sommeilLe syndrome d'apnées du sommeil (« SAS ») ou plus précisément syndrome d'apnées-hypopnées du sommeil (« SAHS ») est un trouble du sommeil caractérisé par un arrêt du flux respiratoire (apnée) ou une diminution de ce flux (hypopnée). Ses causes sont diverses mais peuvent être classées en deux catégories : dans 90 % des cas elles sont obstructives et le résultat d'une obésité. On parlera alors plus précisément de « syndrome d'apnées obstructives du sommeil » (« SAOS »).
Agrypnie (médecine)L'agrypnie est une perte totale prolongée du sommeil, soit au cours de diverses maladies rares dont elle constitue alors un symptôme, soit provoquée volontairement. L'agrypnie peut être provoquée à titre expérimental, pour étudier les effets de la privation de sommeil. La plus longue agrypnie provoquée prouvée par enregistrement électroencéphalographique est de 264 heures (11 jours) (à comparer aux ~2800 h (> 116 jours) d'insomnie quasi totale observée dans des cas pathologiques).
Réponse impulsionnellevignette|300px|right|Réponses impulsionnelles d'un système audio simple (de haut en bas) : impulsion originale à l'entrée, réponse après amplification des hautes fréquences et réponse après amplification des basses fréquences. En traitement du signal, la réponse impulsionnelle d'un processus est le signal de sortie qui est obtenu lorsque l'entrée reçoit une impulsion, c'est-à-dire une variation soudaine et brève du signal.
Compare-and-swapCompare-and-swap (CAS) est une instruction atomique utilisée dans les systèmes multiprocesseurs ou multi-cœurs utilisant une mémoire partagée. Elle compare la valeur stockée à une adresse mémoire donnée à l'un de ses arguments et, en cas d'égalité, écrit une nouvelle valeur à cette adresse. Selon les implémentations, elle signale si l'écriture a réussi soit en renvoyant une valeur booléenne, soit en renvoyant la valeur lue en mémoire.