Citation
Sylvain Rousseau
Avec setitimer, il semble que cela ne soit pas
possible puisque la signature du handler à fournirà la structure sigaction est void ( *handler)(int iSignal )
Ce n'est pas possible au niveau des appels systèmes (ceux du chapitre 2 des pages de man). Et il n'y a pas de raison que le noyau s'encombre d'une donnée supplémentaire.
Sous Linux, traditionnellement, ce sont les bibliothèques qui se chargent de gérer les fermetures (lambda closures), car c'est elles qui gèrent finement la mémoire (en fournissant ou utilisant
malloc ou autre, comme
GC_malloc ou
new ou un ramasse miettes, qui est bâti par dessus l'appel système
mmap).
La philosophie de Windows et de Linux sont différentes. Il me semble d'ailleurs que sous Windows -que je ne connais que par la lecture d'un ou deux livres généralistes sur les OS- la notion d'appel système est mal définie (car propriétaire), et je ne suis pas sûr que la liste des appels systèmes Windowsiens soit publique (l'équivalent de <asm/unistd.h> ou <asm/unistd_64.h>). D'ailleurs a-t-on légalement le droit de faire un appel système Windowsien sans passer par les *.dll fournis par Microsoft (mais uniquement par l'instruction machine,
syscall ou
int sur AMD64, convenable)?
Si quelqu'un a la référence de la documentation précise des appels systèmes Windowsiens, je suis preneur à titre de curiosité. Mais je refuse de la payer.
La manière de faire un appel système Linuxien (c'est pénible mais faisable) sans passer par aucune librarie (pas même l'omniprésente
libc) est documentée, notamment sur [url= [url]http://tldp.org/HOWTO/Assembly-HOWTO/linux.html[/url]]Assembly HOWTO[/url] et évidemment dans le code source du noyau. J'ignore si la partie du code source du noyau Windows qui gère les appels systèmes est publique ou documentée (mais il me semble que Microsoft a été poursuivi pour manque de transparence à ce sujet).
[color=red]----[/color]
[url=http://starynkevitch.net/Basile/]Basile STARYNKEVITCH[/url]
Membre de l'[url=http://www.april.org/]APRIL[/url] « promouvoir et défendre le logiciel libre » - adhérez vous aussi à l'APRIL!
Projet logiciel libre: [url=http://refpersys.org/]RefPerSys[/url]
Poste le Thursday 28 February 2008 13:09:35