galactikboulay a écrit 620 commentaires

  • [^] # Re: DNS ?

    Posté par  . En réponse au message eth0 et les protocoles. Évalué à 3.

    - Il y a sûrement un utilitaire qui permet de faire ça sous Mandrake
    (drakconf ?) mais comme je ne connais pas cette distribution je ne
    pourrais pas te l'affirmer.

    - Tu passes root avec su dans un terminal ?

    Fais: vi /etc/resolv.conf

    Tu te positionnes sur la ligne "nameserver 10.0.0.138"

    Tu tappes 2 fois "d"

    Tu fais ":wq"
  • [^] # Re: Module noyau ?

    Posté par  . En réponse au message IRQ en C. Évalué à 3.

    C'est une excellente remarque, le retour de tout appel système doit
    être testé :)

    Dans mon petit exemple, il faut donc tester le retour des fonctions
    "open" et "select".

    Même sans timeout, select() peut être interrompu par un signal
    (dans ce cas valeur de retour == -1 et errno == EINTR), c'est
    important d'en tenir compte.
  • [^] # Re: DNS ?

    Posté par  . En réponse au message eth0 et les protocoles. Évalué à 4.

    Je pense que tu devrais virer le "nameserver 10.0.0.138".

    Ca doit être l'adresse "interne" de ton modem Speedtouch, le
    problème c'est que cette adresse n'est pas accessible sur ton LAN
    (pas d'adresse IP sur ton PC et pas de route).

    Donc, à chaque fois que ta machine essaie de faire une requête
    DNS, elle tente en 1er sur 10.0.0.138, route la requête par la route
    par défaut (Internet), et vu qu'une adresse en 10.x.x.x n'est pas
    routable tu te prends un timeout à chaque fois.
  • [^] # Re: Module noyau ?

    Posté par  . En réponse au message IRQ en C. Évalué à 2.

    Déjà, fais un petit test en user-land avec select(), comme conseillé
    au-dessus.

    Un squelette écrit à la va-vite (désolé pas testé):

    fd_set rfds;
    int fd[4], max_fd = -1;

    fd[0] = open("/dev/ttyS0",O_RDWR,0600);
    fd[1] = open("/dev/ttyS1",O_RDWR,0600);
    fd[2] = open("/dev/ttyS2",O_RDWR,0600);
    fd[3] = open("/dev/ttyS3",O_RDWR,0600);

    for(i=0;i<4;i++)
    if (fd[i] > max_fd)
    max_fd = fd[i];

    while(1) {
    FD_ZERO(&rfds);
    for(i=0;i<4;i++) FD_SET(fd[i],&rfds);
    select(max_fd+1,&rfds,NULL,NULL,NULL);

    for(i=0;i<4;i++)
    {
    if (FD_ISSET(fd[i],&rfds)) {
    printf("qqch recu sur ttyS%d\n",i);
    }
    }
    }

    Un "man select()" t'expliquera comment marchent FD_SET, FD_CLR,
    etc.
  • # DNS ?

    Posté par  . En réponse au message eth0 et les protocoles. Évalué à 4.

    Ca me fait penser à un pb de DNS.

    Peux-tu poster (avec et sans utilisation de dhcp):

    - le résultat de "ifconfig -a"
    - le résultat de "route -n"
    - le contenu de /etc/resolv.conf
  • [^] # Re: Qemu, KQEMU & qvm86

    Posté par  . En réponse au journal Qemu, KQEMU & qvm86. Évalué à 3.

    Dans la FAQ de Bochs, on peut lire:

    Tell me about performance when running Bochs.

    Because Bochs emulates every x86 instruction and all the devices in a PC system, it does not reach high emulation speeds. [...] Users who have an x86 processor and want the highest emulation speeds may want to consider PC virtualization software such as plex86 (free software) or VMware (proprietary and commercial). Another related project is QEMU.

    Chaque instruction x86 est complètement émulée contrairement à QEMU
    qui fait une compilation dynamique à la volée (comme JIT).
  • # Linux Kernel Module Programming Guide

    Posté par  . En réponse au message appel systeme. Évalué à 5.

    Il y a un exemple assez complet dans le LKM programming guide:

    http://www.tldp.org/LDP/lkmpg/2.6/html/index.html(...)

    Notamment le chapitre 8 donne un exemple concret.
  • # Module noyau ?

    Posté par  . En réponse au message IRQ en C. Évalué à 2.

    Je suppose que tu es sous Linux, un *BSD, ...

    Sur plateforme x86, pouvoir détourner une IRQ et l'exécuter nécessite
    des droits particuliers en mode protégé (ring 0).

    Tu ne pourras pas avoir un gestionnaire d'IRQ en user-land sachant que
    ce gestionnaire d'IRQ doit toujours être accessible (il doit donc toujours
    être dans un espace "fixe", à savoir l'espace noyau). La réalisation d'un
    module noyau me parait nécessaire.

    Un ouvrage intéressant et qui pourrait t'aider est "Linux Device Drivers":

    http://lwn.net/Kernel/LDD3/(...)

    Si je ne me trompe pas, la gestion des IRQ devrait être abordée dedans.
  • [^] # Re: Petites critiques à l'égard de RMS

    Posté par  . En réponse à la dépêche La réaction de Richard Stallman aux récents évènements autour de BitKeeper. Évalué à 4.


    Bien sûr... les 3 formateurs de la boîte B lisent le petit millier de lignes de code de la boîte A, le comprennent instantanément et forment en 2 temps 3 mouvements les 10 personnes pour le support...


    T'as besoin de comprendre le code de OpenOffice pour faire une formation
    sur OpenOffice ?
  • [^] # Re: Petites critiques à l'égard de RMS

    Posté par  . En réponse à la dépêche La réaction de Richard Stallman aux récents évènements autour de BitKeeper. Évalué à 2.

    Note que je suis d'accord avec l'ensemble de tes arguments, d'ailleurs
    je n'utilise pas du LL pour rien ;)

    Ma remarque était juste destinée à montrer que quand tu es un
    "petit" (PME), il est extrêmement difficile à mon sens de vendre qqch
    sous GPL. Je ne dis pas que le propriétaire ça rox.
  • [^] # Re: Petites critiques à l'égard de RMS

    Posté par  . En réponse à la dépêche La réaction de Richard Stallman aux récents évènements autour de BitKeeper. Évalué à 2.


    m'dame, comment je vis en vendant un truc à 100 euros si mon voisin, il peut le prendre et le vendre à 50 euros ?
    Tu veux savoir ? tu peux pas : tu crèves et c'est normal.


    Ah, c'est normal de crever quand on essaie de vivre en vendant son
    soft, tout en étant un minimum altruiste en le mettant sous GPL, avec
    un tiers qui vend lui aussi moins cher en apportant aucune valeur
    ajoutée ?
    Le concept est ... intéressant. Et c'est toi qui parle de méritocratie
    un peu plus bas ?

    Si on généralise l'exemple que j'ai donné ci-dessus. Une boite A
    fait un soft GPL, assure du support et de la formation dessus. Bref,
    la panoplie complète de services, sur lesquels on est censé pouvoir
    gagner de l'argent.

    La boite A a 10 développeurs, 3 béta-testeurs, 1 "documentaliste",
    10 personnes pour faire le support et 3 "formateurs".

    Bien, maintenant on prend comme exemple la boite B qui vend
    le soft de A, sans rien apporter, elle a 10 personnes pour faire
    le support et 3 "formateurs".

    Question 1 : quelle boite a le moins de frais ?
    Question 2 : quelle boite pique des clients à l'autre ?
    Question subsidiaire: que se passe-t'il si B pique trop de clients à A?

    J'aimerais bien que ça se passe comme tu le décris dans ton post,
    malheureusement, il y en a toujours pour profiter sans contribuer.
  • [^] # Re: Petites critiques à l'égard de RMS

    Posté par  . En réponse à la dépêche La réaction de Richard Stallman aux récents évènements autour de BitKeeper. Évalué à 3.

    Concrètement avec la GPL tu ne peux pas si tu veux rétribution juste pour la partie "code", vu qu'effectivement, n'importe qui qui a le code
    peut le redistribuer légalement.

    RMS a beau jeu de déclarer "Free" comme dans "Free Speech" et pas
    "Free Beer". Je m'appelle A, je développe un soft GPL et je ne fais pas de
    support associé (parce que le soft est facile à utiliser, j'en ai pas les
    moyens, etc.) et je vends mon truc 100 euros. J'ai envie d'être rétribué
    pour mon boulot (le code source), et c'est normal il faut bien que je
    mange, je dois amortir la R&D, payer les développeurs, le matériel, etc.

    Il faudra m'expliquer comment je fais pour vivre avec B qui récupère
    le code légalement et le vend 50 euros, tout en ayant rien foutu ni
    contribué au passage.
    De toute façon, même avec des services associés (formation, support),
    je ne vois pas ce qui empêche B de le faire aussi à moindre frais (il aura
    eu le coût du développement en moins).

    Bref, faire du flouze avec du code GPL, ça marche peut-être dans le
    monde de RMS (bisounours land ?) où il n'y a pas de profiteur, à mon
    sens dans le monde réel ça ne marche pas.

    On va te dire que si tu mets ton code en GPL, tu profites de la
    "communauté" pour avoir sans bourse délier:

    - De la documentation, des tutoriaux, etc.
    - Des traductions,
    - Des testeurs et des corrections de bugs,
    - Des nouvelles fonctionnalités.

    Ca, c'est vrai essentiellement pour les gros projets relativement
    généralistes qui peuvent drainer pas mal de monde. Pour un petit projet,
    avoir une communauté qui bosse dessus, ce n'est pas évident.
  • [^] # Re: Qualité des produits...

    Posté par  . En réponse au journal Des dérapages du piratage.... Évalué à 5.

    Comme pas mal de monde, j'ai vu Jean Dujardin dans "un gars, une
    fille", série que je trouvais sympa. J'avais aussi vu les sketches de
    Braïce qui circulent sur le Net.

    Je m'étais dit que ça pouvait donner qqch de relativement correct,
    mais je me suis trompé.

    Hormis cet exemple un peu poussé il est vrai ;) , je vais régulièrement
    au ciné et je suis quand même assez souvent déçu.
  • # Qualité des produits...

    Posté par  . En réponse au journal Des dérapages du piratage.... Évalué à 3.

    Il y a vraiment un autre phénomène qu'ils ne comprennent pas,
    c'est que les gens en ont marre de raquer 20 euros pour un CD, 7-8
    euros pour voir un film au ciné (et ne parlons même pas des prix des
    DVD), alors qu'on a strictement aucune garantie sur la qualité!

    Qui ne s'est jamais fait avoir à acheter un CD où sur les 15 pistes,
    on s'aperçoit qu'il y a 2 ou 3 chansons sympa et le reste est de la
    daube ? Qui n'a jamais payé le prix fort pour un DVD pour s'apercevoir
    après que le film était un navet de compétition ?

    Dernièrement j'ai été voir Braïce de Naïce au ciné, ben j'ai vraiment
    eu l'impression de m'être fait voler.
  • [^] # Re: vs POSIX shared memory, X, nouvelles threads

    Posté par  . En réponse à la dépêche PTT : un outil de trace pour la NPTL. Évalué à 3.


    de toute façon la mmu x86 ne sait pas gérer plsu de 4096 segments partagés


    ???? Ca n'a strictement rien à voir.

    Le principe même du segment de mémoire partagée est de mapper
    les mêmes adresses physiques dans des tables de pages
    différentes (appartenant à des processus différents).

    Les tables de pages, on peut en créer autant qu'on veut (dans la
    limite de la RAM dispo, évidemment). Après, l'OS met ce qu'il veut
    dans les tables de pages.

    Après, ne pas confondre avec la segmentation (avec les registres
    CS, DS, etc.) où un index est codé sur 13 bits (de mémoire), ce qui
    fait 8192 segments possibles.
  • [^] # Re: vs POSIX shared memory, X, nouvelles threads

    Posté par  . En réponse à la dépêche PTT : un outil de trace pour la NPTL. Évalué à 2.


    En fait je suis prêt à faire l'éloge des threads le jour où elle permettront de faire ce qu'on peut faire aujourd'hui avec shm:


    J'ai lu ta discussion avec pasBill sur le sujet. Seulement, les threads
    ça n'a pas le même usage, et ça ne répond pas au même besoin que
    SHM. C'est 2 choses complètement différentes.

    Un thread, c'est un fil d'exécution. Les threads à l'intérieur d'un
    processus se partagent le même espace d'adressage (voir mon
    post un peu plus bas sur le fonctionnement pour i386). Donc quand
    on modifie l'espace d'adressage, c'est valable pour tous les threads.

    Après je ne comprends pas bien la remarque sur le ralentissement
    par rapport aux 3 Go. Tu peux expliciter ?

    Au fait, juste une remarque par rapport aux SHM. Sur un système
    Linux/Unix, tu as des limitations par rapport au nombre et à la taille
    de segments SHM que tu peux créér.

    Par exemple, sous Linux, maximum 4096 segments pour le
    _système_. Tu vas me dire que sous Linux c'est tunable (ce qui est
    vrai), mais c'est pas forcément le cas de tous les Unix.
  • [^] # Re: vs POSIX shared memory, read-only

    Posté par  . En réponse à la dépêche PTT : un outil de trace pour la NPTL. Évalué à 2.

    A mon avis, l'utilisation de mprotect() aura effet sur tous les threads
    du processus.

    Les threads se partagent exactement le même espace d'adressage
    (logique, c'est le principe même). Concrètement, au niveau de la MMU
    ça veut dire mêmes tables de pages ("mêmes" dans le sens
    "partagées", pas recopiées entre threads).

    Vu que les tables de pages sont les mêmes, un appel à mprotect()
    qui modifie justement ces tables de pages impliquera que l'action
    impactera tous les threads.

    Pour info, sur les CPU i386, un changement de tâche se fait à l'aide
    d'un changement de TSS (Task State Segment). Dans ce TSS, on
    trouve le registre CR3 qui indique l'adresse du catalogue de pages
    (lui même pointant vers les tables de pages). Pour toutes les threads
    d'un même processus, le registre CR3 est le même.
  • [^] # Re: vs POSIX shared memory, read-only

    Posté par  . En réponse à la dépêche PTT : un outil de trace pour la NPTL. Évalué à 2.


    Meme remarque que pbpg: boucler sur un spinlock fait rarement gagner du CPU par rapport à un appel système bloquant. Et si oui, un changement d'algo devrait être sérieusement envisagé.


    Je crois surtout que tu n'as rien compris aux spinlocks.

    Un spinlock, c'est fait pour protéger une section critique extrêmement courte.

    Quand il n'y a pas de contention (en principe la plupart du temps),
    le spinlock ne boucle pas: un spinlock consiste juste en une
    instruction "test&set" du processeur et une boucle si le test échoue.
    Quand le test n'échoue pas et que le lock peut être pris, il n'y a pas
    de boucle et pas de CPU consommé.

    A ton avis, pourquoi les spinlocks sont autant utilisés dans le noyau
    Linux ?

    Après, comparer un spinlock à un appel système, c'est n'importe
    quoi. Sur Linux / i386, un appel système s'effectue par interruption
    (int 0x80). Tu regarderas le nombre de cycles que prend une
    instruction de ce genre sur un CPU, associé avec ça à la sauvegarde
    du contexte du processus, je te garantis que ton spinlock aura
    terminé bien avant.
  • [^] # Re: Quelques idées en vrac

    Posté par  . En réponse au journal Quels sont les avantages de Windows ?. Évalué à 4.


    Après, il y a évidemment le fait qu'on peut faire facilement plein de
    choses sous Windows qu'il est très compliqué, voire impossible de faire sous Linux, par exemple :
    - Monter des Lecteur CD/DVD virtuels (pour par exemple Copier un CD sur le disque dur et utiliser l'image ainsi créée comme si le CD original était dans un lecteur CD)


    Tu plaisantes ou quoi ? On peut faire ça depuis des lustres sous Linux
    avec le montage en "loopback":

    mount -t iso9660 -o loop image.iso /mnt

    Et ça marche avec n'importe quel filesystem.
  • [^] # Re: vs POSIX shared memory, X

    Posté par  . En réponse à la dépêche PTT : un outil de trace pour la NPTL. Évalué à 6.

    Effectivement, c'est comme cela que ça se passe.

    Sur i386, sur les 4 Go de l'espace virtuel, c'est réparti ainsi:
    - 3 Go processus utilisateur
    - 1 Go espace noyau

    Les 1 Go de l'espace noyau (commençant à 0xC0000000) sont
    systématiquement mappés dans tous les processus.
  • # Pointeur non initialisé

    Posté par  . En réponse au message passer une struct dans une shared memory POSIX. Évalué à 2.

    Dans ps3.c, tu fais:

    caddr_t shm_ptr1;

    struct transport* transp_shm_ptr1 = (struct transport*) shm_ptr1;
    trajet = *transp_shm_ptr1;

    shm_ptr1 n'est pas initialisé. Tu mets cette valeur dans trans_shm_ptr1;
    Tu accèdes à la zone mémoire pointée par trans_shm_ptr1 ensuite.
    Et *boum*.

    Le code correct serait:

    struct transport* transp_shm_ptr1;

    [...]
    shm_ptr1 = mmap ((caddr_t) 0, 3, PROT_READ, MAP_SHARED,shm_etage1, 0 );
    transp_shm_ptr1 = (struct transport*) shm_ptr1;

    trajet = *transp_shm_ptr1;


    Tout cela n'enlève rien à la très pertinente remarque de pasBill sur le fait
    que tu DOIS tester le code de retour des fonctions.
  • # Erreur de compilation non affichée

    Posté par  . En réponse au message probleme a l'installation de glib 2.2.3. Évalué à 2.

    Tu pourrais faire un copier/coller de ce qui est affiché juste avant ça:

    make[2]: *** [stamp-gmarshal.h] Erreur 1
    make[2]: Leaving directory `/home/noja/Mestéléchargements/glib-2.2.3/gobject'
    make[1]: *** [all-recursive] Erreur 1
    make[1]: Leaving directory `/home/noja/Mes téléchargements/glib-2.2.3'
    make: *** [all-recursive-am] Erreur 2

    Le ./configure n'a affiché aucun warning, rien ?
  • [^] # Re: Expérience perso (sans prétention)

    Posté par  . En réponse au journal FC4T2 is out (i386, amd64, ppc). Évalué à 2.


    C'est une version de test :-)


    Oui c'est pour ça que je ne m'en offusque pas, ça sera surement
    corrigé lors de la version finale :)


    La doc en ligne c'est man, info, etc...
    Pour yum, c'est "yum --help" ou "man yum".
    Je ne pense pas qu'il soit dans l'esprit de Fedora d'avoir plein de doc. Le but est le "just works".
    Mais tu voulais quoi comme doc ?
    Un lien utile pour utiliser Fedora (ici c'est FC3) :
    http://www.fedorafaq.org/(...)(...)


    J'aurais voulu avoir une doc sur le WEB expliquant comment gérer
    proprement les packages avec rpm/yum, tout bêtement.
    Merci pour ton lien, je vais y jeter un coup d'oeil.


    Fais une mise à jours :
    - yum update


    C'est ce que j'avais fait juste après l'installation, il y a eu
    effectivement pas mal de packages mis à jour (une centaine
    je crois).


    Yum, en tant qu'outil en ligne de commande marche bien. Je l'apprécie beaucoup. Par contre il est lent. Mais je le préfère à apt par exemple.


    Je le trouve vraiment horriblement lent. C'est mon reproche principal.
    Après, j'ai pas eu le temps d'en faire le tour :)
    Sinon, par curiosité, qu'est-ce que tu reproches à apt ?
  • [^] # Source

    Posté par  . En réponse à la dépêche Linus développe un remplaçant original à BitKeeper. Évalué à 8.

    Pour ceux qui sont intéressés par le source:

    http://www.kernel.org/pub/linux/kernel/people/torvalds/(...)

    La dernière version est la 0.04.
  • [^] # Re: précisions ?

    Posté par  . En réponse à la dépêche Linus développe un remplaçant original à BitKeeper. Évalué à 6.

    Pareil, j'ai à peu près compris le README de Git, par contre je ne vois
    pas du tout comment c'est censé être utilisé de manière distribuée
    par les développeurs du noyau (ça cause en réseau ?). Le README
    explique comment fonctionne l'outil, pas comment il est utilisé.

    On lit que Linus a testé plusieurs SCM, oui mais il en a retenu un ou
    pas ? si oui lequel, et si non pourquoi, quels sont les manques des
    outils actuels ?