Site d’Emmanuel Saint-James
Philologie de la programmation
Pas d’étreinte fatale en cas d’heureux événement
Les différentes programmations dont il vient d’être question ne se confrontent jamais à la question du temps, ni relatif, ni absolu, pourtant incontournable pour programmer les systèmes d’exploitation (curieuse traduction de l’anglais operating system qui sous-entend plus facilement qu’il s’agit d’une machine et non d’un être humain). Ceux-ci sont confrontés à plusieurs problèmes :
- ils doivent permettent à plusieurs processus de s’exécuter sans se gêner les uns les autres, ce qui impose à un processus de recevoir parfois une interruption pour reprendre l’exécution d’un autre, lui-même interrompu plus tard pour revenir au premier, le programmeur devant avoir conscience qu’entre deux instructions qu’il écrit, tout peut arriver ;
- les interruptions peuvent aussi provenir des périphériques, et sont traitées par un preneur d’événement (event handler en anglais), induisant un style spécifique nommé programmation événementielle ;
- les processus ayant accès à des ressources communes (typiquement le disque), il faut en empêcher les accès concurrents, ce qui se fait à l’aide de verrous ou de sémaphores dont la programmation est délicate car pouvant conduire à un interblocage ou étreinte fatale (dead lock en anglais) ;
- des processus travaillant de concert, sur la même machine ou sur plusieurs, se nomment des co-routines permettant notamment de résoudre le problème de la disjonction parallèle (si A ou B est vrai, le résultat du calcul doit être "Vrai" même si A ou B provoque un calcul qui ne peut pas se terminer), insoluble sans preneur d’événement ;
- enfin, cette programmation système permet de programmer des serveurs, programmes volontairement non terminant, attendant qu’un client leur envoie un requête de service ;
- ces programmes non terminant illustrent une autre différence entre mathématiques et informatique : ils ne relèvent de l’algorithmique que dans la question de la consommation de la mémoire, car l’algorithmique exige la terminaison du calcul ; ici intervient une autre problématique, l’accessibilité d’un état, qui doit, ou ne doit pas, être possible ;
- en définitive, cette programmation système s’oppose à la programmation séquentielle comme l’art de la conversation s’oppose au monologue.
- Valid CSS 2.1
- Valid XHTML Basic 1.1
- Triple-A conformance Web Content Accessibility Guidelines 2.0
-
Calculé le 30 septembre 2026 à 17h53minpar DidacSPIPuniversite
- SPIP
- Valid RSS Atom