Skip to main content

Historique: Temps-réel pour les applications

Aperçu de cette version: 15



Les applications en mode temps-réel et leurs priorités temps-réel.
Ces deux termes peuvent paraitre un peu barbaro-geek mais ce concept est tellement crucial pour faire de la MAO sous GNU/Linux que nous allons nous efforcer des les expliquer de la manière la plus claire possible.
Une fois que vous aurez compris "à quoi ca sert ?", vous pourrez directement passer aux tutoriels si vous ne souhaitez pas en savoir plus. Les tutoriels expliquent comment activer ce mécanisme en fonction de la distribution et du Système utilisé, il s'agira de choisir le bon.



Explications pour néophyte

Pour commencer, puisque certains d'entre vous ont déjà entendu parlé du noyau temps-réel, il s'agit de le différencier du mécanisme d'applications en mode temps-réel : Quelque soit votre noyau (temps-réel ou pas), cette page vous concerne !

Beaucoup des logiciels de MAO sont écrits pour bénéficier du mode temps-réel d'un système GNU/Linux standard. Celui-ci permet de réserver une grande partie des ressources de l'ordinateur pour les applications utilisant ce mode, et d'ordonner ces processus haut-débit (définir leur priorité).
C'est spécialement interressant pour nous car les logiciels de MAO (effets, synthés, enregistreurs...) consomment beaucoup de ressources et nous n'avons pas forcément envie qu'une pub en flash dans un navigateur internet nous bloque un enregistrement de 4 pistes !

Le mécanisme d'applications en mode temps-réel n'est pas activé par défaut (sauf sous certaines distributions spécialisées), étant une source potentielle de problème avec des logiciels mal-foutus et ne servant que pour la MAO et à diverses industries ayant besoin d'ordinateurs hypra-réactifs.
Jack démarre par contre en mode temps-réel par défaut, attention s'il n'a pas les droits d'accès ! mais jack n'est pas pour autant nécessaire à l'utilisation de ce mode, certaines applications l'utilisent avec ALSA directement.

Vous aurez du à partir de là comprendre que vous n'y échaperez pas, mais jusqu'ici tout allait bien. Voici ensuite l'éternel problème du libre et du choix.

Les mécanismes

Il existe en fait différents mécanismes qui servent tous à donner l'accès temps-réel pour les applications. Tous ces mécanismes sont intégrés au noyau, le programme central du système et il est donc souvent difficile de passer de l'un à l'autre. Ils n'ont pas tous les même fonctionnalités mais il faudra utiliser celui de sa distribution (plus ou moins facile) ou changer de noyau (compliqué).


PAM

La plupart des distributions actuelles utilisent > PAM.
Pour donner l'accès temps-réel aux applications avec PAM, c'est facile, et il suffit de suivre le tutoriel > Temps-réel pour les applications avec PAM.
Pour que les applications soient correctement ordonnées, il suffit de régler la priorité de Jack sur une médiane, environ 70. Les applications se placeront automatiquement entre 0 et 99, certaines demandant moins ou plus de puissance que jack lui-même.
Si vous avez suivi ces deux tuto et que ça fonctionne, vous pouvez directement aller faire de la musique plutot que de continuer à lire cette doc branlante.

CGROUPS

Certaines distributions utilisent un nouveau mécanisme d'accès temps-réel intégré au noyau, les CGROUPS (comme les dernières versions d'ubuntu - à partir 10.10). Ce mécanisme n'est pas encore très rodé (début 2012) mais il semble possible de l'utiliser en se plongeant dans les fichiers de configuration, voir la page > CGROUP.

set_rlimits

Si votre distribution n'utilise pas PAM ni les CGROUPS (slackware, Linux from scratch), vous pouvez définir les priorités des applications une-à-une avec > set_rlimits

Typiquement, l'ordre des processus temps-réel doit être le suivant  :
 • horloge système
 • horloge temps-réel (RTC)
 • processus temps-réel d'applications MIDI
 • périphériques matériels audio (carte son)
 • processus de surveillance de Jack (watchdog)
 • processus temps-réel d'applications audio
 • Jack
 • processus temps-réel d'applications audio
 • autres périphériques matériels (disque, réseau, usb...)

noyau RT

J'ai mentis quand j'ai dis que le noyau RT n'avait rien à voir avec notre histoire, si vous en utilisez un accrochez vous bien :
Le noyau RT étend le mécanisme de temps-réel aux processus système commes les pilotes de périphériques. En plus de l'utilisation d'un mécanisme standard comme PAM pour vos logiciels, il vous faudra aussi vous occuper de la > gestion des threads IRQ (horloges et périphériques)


Liens




À des fins historiques, nous gardons aussi de coté une page sur les anciennes méthodes pour autoriser l'accès temps réel aux applications. Cette page regroupe les informations concernant :
  • realtime-lsm : une ancienne méthode utilisée avant P.A.M.,
  • les manipulations à effectuer pour utiliser les anciennes versions de PAM < 0.8.
Il est à noter que ces deux méthodes sont à présent obsolètes 😉


Historique

Information Version
Fri 06 Nov 2015 14:47 olinuxx Recherche et remplacement en masse 43
Afficher
Wed 27 Feb 2013 20:09 utilisateur_anonyme2 42
Afficher
Wed 22 Aug 2012 11:13 pianolivier modif lien interne 41
Afficher
Wed 22 Aug 2012 10:21 pianolivier simplification 40
Afficher
Wed 22 Aug 2012 10:19 pianolivier clareté 39
Afficher
Sun 05 Aug 2012 11:31 olinuxx 38
Afficher
Sun 05 Aug 2012 11:29 olinuxx coquilles / réécriture 37
Afficher
Sun 05 Aug 2012 11:26 olinuxx coquilles 36
Afficher
Sun 05 Aug 2012 11:24 olinuxx coquille 35
Afficher
Sun 05 Aug 2012 11:23 olinuxx coquilles 34
Afficher
Sun 05 Aug 2012 11:20 olinuxx note 33
Afficher
Sun 05 Aug 2012 11:18 olinuxx coquille 32
Afficher
Sun 05 Aug 2012 11:17 olinuxx coquille 31
Afficher
Sun 05 Aug 2012 11:15 olinuxx coquille 30
Afficher
Mon 21 mai 2012 10:40 pianolivier modif lien(s) interne(s) 29
Afficher
Sat 19 mai 2012 19:45 pianolivier 28
Afficher
Sat 19 mai 2012 19:24 pianolivier renommage de la page +alias(Gestion des prios) 27
Afficher
Sun 13 mai 2012 11:05 pianolivier notes de travail 26
Afficher
Sat 12 mai 2012 17:16 pianolivier 25
Afficher
Sat 12 mai 2012 14:31 pianolivier 24
Afficher
Sat 12 mai 2012 14:30 pianolivier 23
Afficher
Sat 12 mai 2012 14:28 pianolivier 22
Afficher
Wed 09 mai 2012 19:23 pianolivier 21
Afficher
Wed 09 mai 2012 19:14 pianolivier 20
Afficher
Tue 08 mai 2012 21:18 pianolivier 19
Afficher
Tue 08 mai 2012 21:16 pianolivier 18
Afficher
Tue 08 mai 2012 21:16 pianolivier 17
Afficher
Tue 08 mai 2012 21:10 pianolivier 16
Afficher
Tue 08 mai 2012 21:09 pianolivier 15
Afficher
Mon 09 Apr 2012 16:46 pianolivier 14
Afficher
Mon 09 Apr 2012 16:30 pianolivier +BOX 13
Afficher
Mon 09 Apr 2012 13:11 pianolivier écriture 12
Afficher
Wed 21 Mar 2012 19:39 pianolivier fil d'ariane 11
Afficher
Tue 20 Mar 2012 22:07 pianolivier suppression BOX (début de réorga du dossier) 10
Afficher
Sun 11 Mar 2012 14:49 pianolivier 9
Afficher
Sun 11 Mar 2012 14:24 pianolivier mise en page 8
Afficher
Wed 22 Feb 2012 20:08 Dominique Ajout de cgroup dans box 7
Afficher
Tue 04 Jan 2011 13:37 olinuxx 6
Afficher
Tue 04 Jan 2011 13:25 olinuxx BOX 5
Afficher
Mon 20 Dec 2010 22:09 olinuxx ptit truc 4
Afficher
Mon 20 Dec 2010 22:07 olinuxx + BOX 3
Afficher
Mon 06 Dec 2010 09:00 olinuxx 2
Afficher
Mon 06 Dec 2010 09:00 olinuxx création de la page à partir de ((autres optimisation)) + quelques retouches 1
Afficher