Tu confonds encore. Selon ton dernier post, on parlait de la mise en état hors-interruption, pas de l'opération qui la nécessite. Pour faire simple : L'opération assurant l'atomicité d'une transaction n'a pas besoin d'être elle-même atomique (car elle ne fait pas partie implicite de la transaction). Donc :
1) Tu inhibes les interruptions avec le nombre d'instructions que tu veux (et qui peuvent donc être interrompues).
2) À l'issue du point précédent, les interruptions ont été inhibées. Peu importe à quel moment, l'état est garanti à la frontière entre 1) et 2). Tu fais ton opération atomique (ton lock ou n'importe quoi d'autre) en utilisant à nouveau le nombre d'instructions qui te chante.
3) Tu réactives les interruptions.
Il ne s'agissait pas non plus d' « ajouter » un transistor. Tous les microprocesseurs huit bits, à ma connaissance, sont capables d'inhiber les interruptions eux-mêmes et en une seule opération, ce qui les rend en principe éligibles à la mise en 1⁄2uvre de systèmes d'exploitation évolués, selon tes critères. L'exemple donné mettait en lumière le fait que même dans le pire des cas (CPU dépourvu de cette simple fonctionalité), il est parfaitement possible de garantir l'atomicité recherchée.
[^] # Re: Deadlock
Posté par Obsidian . En réponse au message Linux pour Amstrad CPC-6128+. Évalué à 2.
Non.
Tu confonds encore. Selon ton dernier post, on parlait de la mise en état hors-interruption, pas de l'opération qui la nécessite. Pour faire simple : L'opération assurant l'atomicité d'une transaction n'a pas besoin d'être elle-même atomique (car elle ne fait pas partie implicite de la transaction). Donc :
1) Tu inhibes les interruptions avec le nombre d'instructions que tu veux (et qui peuvent donc être interrompues).
2) À l'issue du point précédent, les interruptions ont été inhibées. Peu importe à quel moment, l'état est garanti à la frontière entre 1) et 2). Tu fais ton opération atomique (ton lock ou n'importe quoi d'autre) en utilisant à nouveau le nombre d'instructions qui te chante.
3) Tu réactives les interruptions.
Il ne s'agissait pas non plus d' « ajouter » un transistor. Tous les microprocesseurs huit bits, à ma connaissance, sont capables d'inhiber les interruptions eux-mêmes et en une seule opération, ce qui les rend en principe éligibles à la mise en 1⁄2uvre de systèmes d'exploitation évolués, selon tes critères. L'exemple donné mettait en lumière le fait que même dans le pire des cas (CPU dépourvu de cette simple fonctionalité), il est parfaitement possible de garantir l'atomicité recherchée.