TacOS-team / tacos

Système d'exploitation / Operating System
GNU General Public License v3.0
9 stars 4 forks source link

Reflexion autour du mécanisme fork/exec #49

Open MaximeCheramy opened 12 years ago

MaximeCheramy commented 12 years ago

Le but de ce ticket est d'abord d'avoir une réflexion sur ce qui touche fork et exec, car cela pourrait peut-être nous simplifier la vie. Enfin, c'est à voir, mais en tout cas, j'aimerais qu'on fasse les choses en connaissance de cause.

En gros, fork fait une copie du processus avec un certain nombre d'exceptions : pid, ppid, compteur temps d'exec, etc. exec quant à lui va écraser en cas de succès l'image du processus par une nouvelle (pas de création de processus).

Le fork peut paraitre un peu brutal dans le sens où il faut copier potentiellement beaucoup de données mais en pratique sous linux il y a un système pour ne copier qu'à la première modification ou un truc du genre, donc potentiellement pas grand chose si on utilise un exec.

Donc voila, c'est à voir. Mais en tout cas, pas mal d'applications utilisent fork donc c'est aussi un intérêt : compatibilité avec un certain nombre d'applications (en particulier les shells). Et cela devrait aussi nous permettre de nous passer de threads encore un peu.

MaximeCheramy commented 12 years ago

Je passe à Moyen car le mécanisme actuel implique de faire des trucs bizarres avec les descripteurs de fichiers à chaque création. Actuellement on regarde si le père a un tty pour essayer d'ouvrir le même. Lorsqu'on voudra ajouter des pipes ou redirections dans le shell, on ne saura pas comment faire et soit on fera un hack par dessus, soit on devra repenser la création de processus.