D'apres ce que j'ai compris des threads, c'est qu'ils font partie du meme processus
Oui, ils vivent dans le même espace mémoire virtuel.
mais ils possedent chacun leurs propres piles (stack).
Oui, allouées dans cet espace.
Donc les Threads peuvent lire des variables dans le tas ou dans la zones ou sont stockés les variables globales,
De fait, ils peuvent lire des variables allouées dans l'espace mémoire dédié au processus.
mais il n'est pas possible de lire une variable dans la pile d'un autre thread sans déclencher un segfault.
Ah ? D'où tenez vous cette assertion ?
Votre programme, qui est tout à fait valide, est la preuve du contraire.
Le risque avec les threads est de mal maîtriser les flux d’exécution et de demander à accéder à une variable qui a été libérée, que soit parce qu'elle était dans le scope d'un thread qui s'est terminé ou parce qu'elle a été libérée explicitement.
Et même là, le risque de segfault est faible, vous allez probablement taper dans un espace toujours réservé pour votre processus. Par contre, pour ce qui est de la valeur que vous allez récupérer, ça dépendra du sens du vent.
#include<stdio.h>#include<stdlib.h>#include<pthread.h>#include<unistd.h>void*g(void*arg){intvalue=*((int*)arg);sleep(2);fprintf(stdout,"thread g : &value = %p ; value = %i\n",arg,value);returnNULL;}void*f(void*arg){pthread_tt;intvalue=*((int*)arg);pthread_create(&t,NULL,g,(void*)&value);sleep(1);fprintf(stdout,"thread f: &value = %p ; value = %i\n",arg,value);printf("bye thread f\n");returnNULL;}intmain(intargc,charconst*argv[]){pthread_tt;int*value=malloc(sizeof(int));*value=6;printf("&value = %p ; value = %i\n",value,*value);pthread_create(&t,NULL,f,value);free(value);value=NULL;printf("value freed\n");pthread_join(t,NULL);sleep(5);return0;}
Oui, je l'ai fait en entier ces deux dernières années.
Je refait une «passe» régulièrement.
C'est qu'il faut du temps pour lire l'histoire, qui met vraiment dans l'ambiance.
En fait, si mes enfants ont accroché au truc assez tôt (vers 10 ans), c'est par le coté «pokemon» du jeu: des personnages qui d'une part ont tous un nom et qui évoluent selon leur actions. Alors, lorsqu'ils arrivent à créer un paladin ou une sylphide, c'est festival.
D'une part, évitez d'indenter, le compilateur va la reproduire, gardez à l'esprit que vous n'avez pas là un langage stricto sensu, ceux sont des macros.
Ensuite, pour déterminer in liste dans une liste, il vous un autre séparateur, par exemple: /.
% settings comp\newcommand{\comp}[1]{%% get both id and nested list \foreach\t/\u in {#1}{%\t:%\foreach\r in \u{ (\r) }\newline%}}
Notez les % pour terminer une ligne. Ça évite que LaTex interprète les retours à la ligne de travers.
Attention, c'est important: il n'y a aucun espace superflu. La macro foreach risque de zapper confondre liste et élément sinon.
Il ne s'agit pas de ce qu'a écrit Catherine Dufour, assez peu développé dans l'article, mais des propos du journaliste, qui lui, mélange tout et n'importe quoi.
Pour le reste, combien de personnes sont encore capables actuellement de coder un truc bare-metal,
Bien plus que vous ne semblez le croire.
Vous voulez vraiment comparer le bare-metal d'aujourd'hui et celui des années 1970 ?
En termes de bus, d'interruptions, de mémoire et j'en passe ?
Je doute que Ken Thompson ait eu à paramétrer des MMU et à jongler avec les différents niveaux de cache.
Quelques centaines de personnes peut-être sur la masse mondiale des codeurs divers,
Bien plus.
sans doute plutôt désormais à rechercher chez les fondeurs dans les équipes qui supportent leurs reference design et spécialisées dans le démarrage initial d'un processeur…
Pas seulement, les clients de ces fondeurs ont aussi besoin d'équipes capables de développer pour la multitude d'architectures et SOCs qui existent.
et pas vraiment pour faire un OS complet derrière
Ça c'est autre chose, tout dépend de la qualité, de l'étendue et surtout de la portabilité de l'OS en question.
Combien d'OS ne sont que des séquenceurs capables d'amorcer sur un nombre réduit d'architecture ?
« Ce n’est pas parce qu’on me dit « non » que je vais arrêter le match, ce n’est pas fini »,
soulignait-il, avant de dénoncer une commission
qui a « toujours un coup de retard et ne veut pas évoluer » face à l’avancée des technologies.
Posté par David Marec .
En réponse au lien Cisco rend libre.
Évalué à 6.
Dernière modification le 27 septembre 2019 à 13:00.
Aujourd’hui, sur votre livret scolaire il y a votre nom, votre prénom, votre photo et votre numéro
de téléphone, c’est la même chose sauf que c’est plus moderne
Non, M. Groballo, ce n'est pas la même chose.
Aujourd'hui, le livret scolaire n'indique pas:
à quelle heure vous être arrivé et sorti chaque jour,
ni par où ou sous quelle(s) capteur(s) vous êtes passé tout au long de la journée.
ni comment vous étiez habillé,
ni si vous aviez l'air fatigué, de bonne humeur, si vous faisiez la gueule … ou pas.
# espace utilisateur
Posté par David Marec . En réponse au message probleme avec le fonctionnement d'un thread. Évalué à 4. Dernière modification le 13 octobre 2019 à 15:39.
Oui, ils vivent dans le même espace mémoire virtuel.
Oui, allouées dans cet espace.
De fait, ils peuvent lire des variables allouées dans l'espace mémoire dédié au processus.
Ah ? D'où tenez vous cette assertion ?
Votre programme, qui est tout à fait valide, est la preuve du contraire.
Le risque avec les threads est de mal maîtriser les flux d’exécution et de demander à accéder à une variable qui a été libérée, que soit parce qu'elle était dans le scope d'un thread qui s'est terminé ou parce qu'elle a été libérée explicitement.
Et même là, le risque de segfault est faible, vous allez probablement taper dans un espace toujours réservé pour votre processus. Par contre, pour ce qui est de la valeur que vous allez récupérer, ça dépendra du sens du vent.
[^] # Re: Aucune majuscule
Posté par David Marec . En réponse au journal Les mots de passe des premiers développeurs/utilisateurs d'UNIX, notamment celui de Ken Thompson. Évalué à 2.
Oui, mais on ne le trouve pas dans le
termcap
. ;)# root n'était pas encore Charlie
Posté par David Marec . En réponse au journal Les mots de passe des premiers développeurs/utilisateurs d'UNIX, notamment celui de Ken Thompson. Évalué à 4.
et le diable était dans les détails.
daemon:*:1:1:The devil himself:/:
[^] # Re: Message inutile
Posté par David Marec . En réponse au journal recherche jeu et chat pour préados. Évalué à 1.
On peut trouver pas mal de rom avec des jeux sympas pour Mame.
Bon pour metal slug, c'est trop tôt ?
Gimme chocolate !
[^] # Re: World of Goo, Rodland, Magic The Gatering et Arena
Posté par David Marec . En réponse au journal recherche jeu et chat pour préados. Évalué à 2.
Je refait une «passe» régulièrement.
En fait, si mes enfants ont accroché au truc assez tôt (vers 10 ans), c'est par le coté «pokemon» du jeu: des personnages qui d'une part ont tous un nom et qui évoluent selon leur actions. Alors, lorsqu'ils arrivent à créer un paladin ou une sylphide, c'est festival.
[^] # Re: VO souhaitée
Posté par David Marec . En réponse à la dépêche Mémoires vives ("Permanent record") par Edward Snowden. Évalué à 5.
C'est la traduction du titre même qui est curieuse, non ? Pourquoi « mémoires vives » ?
[^] # Re: Section "Aller plus loin"
Posté par David Marec . En réponse à la dépêche Mémoires vives ("Permanent record") par Edward Snowden. Évalué à 7.
On pourrait y ajouter la fiche de lecture de stéphane bortzmeyer, mentionnée dans un autre commentaire.
[^] # Re: Qui suis je ?
Posté par David Marec . En réponse au message Switch entre Super User et User normal. Évalué à 2.
Ou
id
pour obtenir plus de précisions, sur ses groupes donc sur ses droits.Sachant que
whoami
n'est qu'un alias deid -un
.# Latex, des séparateurs et des espaces
Posté par David Marec . En réponse au message [Latex] Création de liste dans un template. Évalué à 4.
Je suppose qu'il s'agit du
foreach
detikz
.D'une part, évitez d'indenter, le compilateur va la reproduire, gardez à l'esprit que vous n'avez pas là un langage stricto sensu, ceux sont des macros.
Ensuite, pour déterminer in liste dans une liste, il vous un autre séparateur, par exemple:
/
.Notez les
%
pour terminer une ligne. Ça évite que LaTex interprète les retours à la ligne de travers.Attention, c'est important: il n'y a aucun espace superflu. La macro
foreach
risque de zapper confondre liste et élément sinon.Et voilà:
[^] # Re: Ada Lovelace
Posté par David Marec . En réponse à la dépêche Revue de presse de l’April pour la semaine 39 de l’année 2019. Évalué à 3.
[^] # Re: Ada Lovelace
Posté par David Marec . En réponse à la dépêche Revue de presse de l’April pour la semaine 39 de l’année 2019. Évalué à 3.
Il avait pas mal fait causer dans le Landerneau Usenet-fr, celui-là.
Je conseille aussi « Le Goût de l'immortalité ».
[^] # Re: Ada Lovelace
Posté par David Marec . En réponse à la dépêche Revue de presse de l’April pour la semaine 39 de l’année 2019. Évalué à 7.
Il ne s'agit pas de ce qu'a écrit Catherine Dufour, assez peu développé dans l'article, mais des propos du journaliste, qui lui, mélange tout et n'importe quoi.
[^] # Re: StackOverflow dépasse les bornes des limites tautologiques
Posté par David Marec . En réponse au journal Que se passe-t-il StackOverflow?. Évalué à 10.
Surtout que MonicaGate, c'est déjà pris.
Je propose d'organiser un grenelle pour en discuter.
[^] # Re: Relativisons
Posté par David Marec . En réponse à la dépêche Portrait de Ken Thompson. Évalué à 7.
Bien plus que vous ne semblez le croire.
Vous voulez vraiment comparer le bare-metal d'aujourd'hui et celui des années 1970 ?
En termes de bus, d'interruptions, de mémoire et j'en passe ?
Je doute que Ken Thompson ait eu à paramétrer des MMU et à jongler avec les différents niveaux de cache.
Bien plus.
Pas seulement, les clients de ces fondeurs ont aussi besoin d'équipes capables de développer pour la multitude d'architectures et SOCs qui existent.
Ça c'est autre chose, tout dépend de la qualité, de l'étendue et surtout de la portabilité de l'OS en question.
Combien d'OS ne sont que des séquenceurs capables d'amorcer sur un nombre réduit d'architecture ?
[^] # Re: je profite...
Posté par David Marec . En réponse au message Chiffrer ses données. Évalué à 2.
ZFS permet de chiffrer un dataset.
Ça va dépendre de votre fournisseur et la disponibilité de la console de secours.
Sous FreeBSD on peut utiliser GBDE ou GELI au niveau disque.
[^] # Re: Les brevets
Posté par David Marec . En réponse au journal La fondation GNOME est attaquée aux USA sur la base d'un brevet logiciel. Évalué à 8.
Oui, c'est l'AFUL.
# Autre lien
Posté par David Marec . En réponse au lien Cisco rend libre. Évalué à 8.
Curieux, l'article de Ouest-France, qui couvre une région bien éloignée, est plus bavarde que celle de Marseille.
On y apprend, outre son nom, que le proviseur est un poil plus aggressif.
C'est tellement gros que ça pourrait passer.
# pareil pas pareil
Posté par David Marec . En réponse au lien Cisco rend libre. Évalué à 6. Dernière modification le 27 septembre 2019 à 13:00.
Non, M. Groballo, ce n'est pas la même chose.
Aujourd'hui, le livret scolaire n'indique pas:
https://www.youtube.com/watch?v=8tSuiV0xn-Q
Un puce greffée sous la peau donnerait moins d'informations.
[^] # Re: Deux peutites erreurs de formulation.
Posté par David Marec . En réponse au journal [HS] L’initiatrice du mouvement Balance ton porc condamnée pour diffamation. Évalué à 2.
et s/tribunel/tribunal
[^] # Re: Développeurs, vous devriez avoir honte
Posté par David Marec . En réponse au lien Développeurs, vous devriez avoir honte — Règles de mots de passe. Évalué à 3.
pour continuer.
# libdbus-1
Posté par David Marec . En réponse à la dépêche Communiquer avec D-Bus en Java avec JNIDBus. Évalué à 7.
Pourquoi cette implémentation ?
Elle est certes historique, mais les développeurs eux-même le déconseillent dès la première ligne :
Sinon, avez-vous demandé à apparaître dans la liste officielle des bindings ?
[^] # Re: si je ne me trompe pas
Posté par David Marec . En réponse au message Commande Make. Évalué à 3.
De mémoire, non. D'ailleurs, il ressemble à quoi son Makefile ? Il y a trop d'options dans sa ligne de commande, je trouve.
Regardez la première entrée du linux-headers paquetage de Ubuntu:
[^] # Re: si je ne me trompe pas
Posté par David Marec . En réponse au message Commande Make. Évalué à 5.
Je suggère plutôt d'installer les «entêtes de développement du noyau» (linux-headers ou un truc dans le genre) de sa distribution.
[^] # Re: Ni bonne, ni mauvaise
Posté par David Marec . En réponse au journal Tristan Nitot devient directeur général de Qwant. Évalué à -2.
Mouhahaha.
Oups, désolé. C'est demain, trolldi.
# du pain spiritique sur la planche
Posté par David Marec . En réponse au journal Breaking news: La vérité sur la démission de Stallman. Évalué à 10.
… pour que le monde retrouve une totale liberté de pensée cosmique vers un nouvel âge réminiscent
(ctmetcsdc)