vendredi 27 décembre 2019 - par Desmaretz Gérard

L’ordinateur démystifié

Le 4 juin 1996, la fusée Ariane 5 explose peu après son décollage. Un nombre codé sur 64 bits dans la centrale inertielle a été converti en un nombre entier sur 16 bits, valeur bien supérieure aux possibilités de 2^16 (65.536) et cause de l'overflow (l'anglais est indissociable de l'informatique et mieux vaut utiliser un langage commun). Un microprocesseur ne connait que deux états logiques, l'état haut « 2  » Volts (la tension a diminué avec la miniaturisation) et l'état bas 0 V, le courant passe c'est 1, il ne passe pas c'est 0. Si une case mémoire (adresse) contient 1011, cela signifie qu'un transistor est à l'état haut, le suivant à l'état bas et les deux derniers à l'état haut. Le nombre de transistors placés sur la puce dépend de la taille de la gravure (l'échauffement augmente avec la réduction de la gravure).

 

L'unité d'information élémentaire traité par le Central Processing Unit est le bit (binary digit) groupé en octet afin d'uniformiser la longueur des données et des instructions. Lorsque vous saisissez la touche « A » sur votre clavier, cela correspond à 01000001 en binaire (code ASCII), l'UNICODE permet d'utiliser de nombreux alphabets étrangers, la lettre A correspond à 0041, valeur hexadécimale. Un octet égal 8 bits, soit un décalage 2^8 = 2 x 2 x 2 x 2 x... 256 (valeur comprise entre 0 et 255). L'octet se lit de droite à gauche, on ajoute des 0 devant les bits les plus significatifs, le chiffre 15 par exemple, est codé 00001111 (8+4+2+1), les quatre premiers bits sont non significatifs. La quantité d'informations s'exprime en octets : 1 ko = 10^3 et non 2^10 (1024) - 1 Mo = 10^6 - 1 Go = 10^9 - 1 To = 10^12. Avec 64 bits, 64^2 adresses sont accessibles, un plus grand nombre de données peut être traité simultanément et le calcul de grands nombres s'en trouve facilité.

Le CPU communique avec la mémoire centrale du système via un réseau de connexions câblées. Un bus fait référence à des fils en nappe et aux conducteurs gravés sur le circuit imprimé chargés d'interagir avec : le système d'adressage, l'acheminement des données, la synchronisation (contrôle) et permettre l'ajout de matériel (imprimante, scanner, lecteur CD, carte son, etc) via un port série, parallèle, un slot, prise USB, etc. Le chipset fait office de « station d'aiguillage » entre les différents bus(es) et le CPU. Un processeur multi-cœurs (cores) permet d'accomplir une tâches pendant qu'un autre un cœur en accomplit une autre, et l'hyper-threading divise chaque cœur en deux espaces virtuels afin d'optimiser la vitesse d'exécution.

L'algorithme s'apparente à une recette de cuisine, les données et instructions suivent pas à pas les lignes du programme rédigé (code source), et la programmation consiste à modifier les données à l'aide d'opérateurs logiques : AND, NAND, OR, NOR, XOR, etc. Chaque donnée placée dans une case (adressage) est traitée par le microprocesseur qui calcule les données délivrées en sortie. Les données en attente de traitement sont stockées dans une mémoire, les premières entrées sont les premières sorties (First In, First Out), dans la pile (stack) c'est l'inverse, la dernière empilée sort en premier (Last In, First Out). Le traitement des données est pris en charge par des portes logiques symétriques (vrai/faux, oui/non), l'activation de l'une bloque l'autre ; la multiplication est en fait une suite d'additions et la division une suite de soustractions et de décalages. Chaque instruction est précédée de son OPCODE. Un cycle machine correspond à l'exécution d'une instruction élémentaire, il peut nécessiter de 1 à 10 cycles d'horloge selon le type de microprocesseur. Un ordinateur tournant à 3 GHz effectue trois milliards de cycles par seconde. Le turbo boost augmente momentanément la vitesse d'horloge (overclocking), et réduire la vitesse d'horloge permet de gagner en autonomie.

Pour interagir avec le microprocesseur il faut passer par un interprète, l'assembleur (code source ->code assembleur ->binaire). Le premier langage inventé par Grace Hopper en 1953 comprenait une dizaine d'instructions : INC (increment), JUMP (saut), MOV (déplacement), ADD, etc., et chaque instruction correspond à une action du microprocesseur. L'assembleur est généralement dédié à un type de processeur, Pentium, AMD, ARM, etc., et ne permet guère la portabilité (fonctionnement sur une autre « bécane »). Un désassembleur fait l'opération inverse permettant d'analyser le langage machine et les instructions en binaire et/ou hexadécimal afin de repérer un bug, une faille, voire la présence d'un malware. L'hexadécimal ou base 16 reste plus maniable que le binaire : 0,1,2,3...,9, A (10), B (11), C (12) D (13), E (14), F (15), soit 16 x 16 valeurs de 0 à 255 ; en binaire 1+1+1+1+1+1+1+1 (128+64+32+16+8+4+2+1). Prenons la lettre A qui correspond à la valeur décimale 65, à 010000010 en binaire et à 41 en hexadécimal, pour traduire 41 en binaire, il suffit de traduire 4 en binaire (0100) puis 1 (0001) et d'assembler les deux quartets (01000001).

Au démarrage, l'ordinateur boot (amorce) l'OS (Windows, Androïde, Linux, Mac) ; le BIOS (Basic Imput Output System) a été remplacé fin 2012 par l'UEFI car il ne permettait plus la gestion de disques durs supérieurs à 2 To, était inadapté au mode à 32 bits, l'espace alloué à la mémoire trop restreint et restait la porte d'entrée à une la prise de contrôle extérieure. L'Unified Extensible Firmware Interface en mode 64 bits est beaucoup plus rapide, elle occupe une mémoire flash et elle peut être exécutée à partir d'une clé USB. Le Secure boot offre un démarrage sécurisé en s'opposant aux chargements de pilotes non autorisés tout en permettant des fonctionnalités réseau dont la prise de contrôle à distance. Il semblerait que BadBIOS puisse le « véroler »... (L'utilisation d'un ancien modèle d'ordinateur couplé avec un MODEM, adressage dynamique, peut rendre bien des services).

Le logiciel sert d'interface entre l'utilisateur et un utilitaire : traitement de texte, navigateur, chiffrement, retouche photographique, etc. Chaque langage de programmation a ses spécificités, le langage interprété exécute les lignes de code une par une, s'il fonctionne sur tous les ordinateurs (portabilité), il doit par contre faire appel à un logiciel (interpréteur). N'importe qui peut prendre connaissance du code source (ce que vous saisissez), le modifier, voire le copier ! Imaginez le désastre pour des transactions financières ou des communications confidentielles...

Le langage compilé (C par exemple) le code source est compilé en binaire pour alimenter directement le système d'exploitation. L'Operating System gère et contrôle le hardware (matériel), le software (logiciel) et le firmware (programme constructeur). Le compilateur génère un fichier exécutable plus difficilement modifiable, chaque modification du fichier source nécessite la recompilation du programme.

Le langage intermédiaire (Java, Python, etc.) est un trait d'union entre ces deux catégories car il peut subir une compilation intermédiaire vers un fichier différent du fichier source non exécutable.

L'ordinateur est étoffé de périphériques, disque dur, clavier, souris, écran, carte WI-FI, imprimante, scanner, etc., qui ont chacun besoin de leur pilote ou driver (petit programme) pour fonctionner correctement. Les plus courants sont généralement livrés avec l'OS. Le kernel (noyau) désigne la couche logiciel de l'OS qui fait office de chef d'orchestre pour gérer les ressources et l'espace mémoire disponible (RAM). Si vous téléchargez un programme, prenez toujours la précaution de créer un fichier pour l'accueillir, sinon il pourrait être dirigé vers l'OS par défaut !

Le patch est un correctif pour corriger un bug (terme popularisé par Grace Hopper en 1946, suite à un dysfonctionnement de l'ordinateur Mark II dû à la présence d'un papillon de nuit dans la machine) qui peut se révéler être une porte ouverte pour un « exploit »... Un script correspond à un petit programme rédigé en langage interprété de très haut niveau (Javascript, active X) chargé d'exécuter une tâche précise, voire d'accéder aux couches inférieures de l'OS... Visual basicscript peut : ouvrir, lire, écrire des fichiers sur le système de fichier local utilisateur. Le risque majeur de VBS est lié à sa capacité à activer des contrôles active X à l'insu de l'utilisateur  ! PatchGuard (Windows 64 bits) est censé rendre moins vulnérable le noyau de l'OS aux rootkits, mais un conflit entre l'antivirus et le kernel est susceptible de déjouer la protection...

Vous souhaitez vous initier au hardware, à la programmation ou conduire à bien un projet quelconque ? Le micro-ordinateur Raspberry à peine plus grand qu'un paquet de cigarettes est tout désigné, vous pouvez acquérir une carte mère pour une vingtaine d'euros et un kit pour moins d'une centaine. Compatible avec GNU/Linux, vous pourrez réaliser un VPN, un serveur Web, piloter un robot, etc. Le Web regorge de projets dans tous les domaines, mêmes les moins avouables, et seule notre imagination en limite les applications.

°°°°°°°°°°°°°°°°°°

 



49 réactions


  • Francis, agnotologue JL 27 décembre 2019 10:00

    Bonjour Desmaretz Gérard,

     

    vous avez publié sur Agoravox de bons articles.

     

    Mais je ne peux que conseiller aux néophytes de ne pas essayer d’apprendre ni de comprendre quelque chose chose ici. C’est, pour le dire dans la couleur locale, imbitable.

     

     Désolé.


    • Fergus Fergus 27 décembre 2019 15:12

      Bonjour, JL

      Entièrement d’accord avec vous : AgoraVox n’est pas 01Net.com !
      Foi d’ex-analyste-programmeur. smiley


    • mmbbb 28 décembre 2019 15:21

      @Fergus un peu la quadrature du cercle , expliquer la codification de l information, le fonctionnement d un ordinateur et des logiciels dans un si court article est ose 


  • foufouille foufouille 27 décembre 2019 10:51

    beaucoup trop de raccourcis et de conneries.

    pour info, les ordinateurs qui vont dans l’espace ne sont pas les mêmes que les nôtres.


    • Francis, agnotologue JL 27 décembre 2019 11:05

      @foufouille
       
      je dois dire que j’ai arrêté ma lecture trop vite. Il y a quand même des choses intéressantes, que je n’avais pas lu avant de rédiger mon commentaire.


    • foufouille foufouille 27 décembre 2019 11:45

      @JL

      un logiciel qui fonctionnerait sur tous les ordinateurs est difficile à trouver.

      UEFI est une daube imposé par microsoft et sur une partition fat32 ..........

      donc quand la partition plante c’est la grosse cata surtout pour windows.


    • mmbbb 28 décembre 2019 15:16

      @foufouille c est il n ont pas de microprocesseur ! 


    • mmbbb 28 décembre 2019 16:12

      @mmbbb c est vrai , ils n ont pas de microprocesseur 


    • Doume65 28 décembre 2019 19:50

      @foufouille
      C’est quoi ta fixette sur l’UEFI ? L’UEFI apporte des fonctionnalités que n’avait pas le BIOS (autre merde imposée par microsoft ?), notamment l’interface graphique à travers la reconnaissance de la souris. De plus UEFI n’est pas obligatoire mais c’est plus commode de l’avoir puisque justement il apporte des fonctionnalités nouvelles.


    • foufouille foufouille 28 décembre 2019 20:07

      @Doume65

      sauf que si la partition est HS, il faut en faire une autre qui a pas le même UIID qui n’est pas changeable avec daube donc faut tout réinstaller.

      la souris c’est pour le haut de gamme ......


    • Doume65 29 décembre 2019 19:54

      @foufouille
      J’ai jamais vu un ordinateur en pleine forme lorsque sa partition système était HS. On ne vit pas la même informatique toi et moi.


    • foufouille foufouille 29 décembre 2019 20:00

      @Doume65

      c’est une partition de boot et pas système. sous linux, il suffit de changer son UIID dans le fichier fstab pour booter ce qui est impossible sous daube.


  • jmdest62 jmdest62 27 décembre 2019 10:58

    D’accord avec JL ,

    votre article est à côté de la plaque vous auriez du commencer par ceci

    Je suis sûr que 99% des visiteurs vont décrocher à la fin de votre intro.

    @+


  • Samson Samson 27 décembre 2019 11:31

    Rappel pertinent pour l’initié ou l’étudiant, mais à moins qu’il n’ait la louable persévérance de recourir pour à peu près chaque terme technique à un bon dictionnaire en ligne, je doute qu’il suffise à éclairer le néophyte,


  • amiaplacidus amiaplacidus 27 décembre 2019 12:17

    Ordinateur démystifié ?

    Un article surtout confus est plein d’erreurs graves, entre autres :

    Le maximum stockable dans 16 bits n’est pas 65536 mais 65535,

    État haut, 1 ; état bas, 0 ; pour les ordi travaillant en logique positive uniquement, pour ceux travaillant en logique négative, c’est le contraire.

    Unicode n’’est pas codé sur 8 bits, mais sur 32,

    « L’octet se lit de droite à gauche,  », faux dans la plupart des architectures (Intel et clone), la lecture se fait de gauche à droite, les octets les plus significatifs ).

    Pour un ordinateur, 1Ko c’est 1024 2**10 et non pas 10**13 comme dans la vie courante. Raison, l’adressage mémoire.

    J’arrête ici, trop d’erreur à relever, vous devriez écrire des articles sur les sujets que vous maîtrisez et ne pas reprendre certaines de vos lectures mal comprises.


    • pemile pemile 27 décembre 2019 18:07

      @amiaplacidus « Unicode n’’est pas codé sur 8 bits, mais sur 32, »

      Le standard c’est plutôt le 16 bits UTF-16, mais y’a aussi du codage en 8 bits UTF-8 et plus rarement 32 bits UTF-32

      "faux dans la plupart des architectures (Intel et clone), la lecture se fait de gauche à droite, les octets les plus significatifs ).« 

      Là, il s’agit de l’ordre de rangement des »mots« machine (composés de plusieurs octets) de 32 ou 64 bits.

       »Pour un ordinateur, 1Ko c’est 1024 2**10 et non pas 10**13 comme dans la vie courante"

      Non, pour la norme le kilo doit rester à 10^3 dans tous les domaines, pour l’informatique le symbole est le Ki pour 2^10, Mi, Gi, etc


    • amiaplacidus amiaplacidus 27 décembre 2019 18:51

      @pemile
      1) Formellement, Unicode est défini sur 32 bits.

      Mais il y a plusieurs implantations :

      UTF-8 : codage d’Unicode sur 1 à 4 octets, c’est le codage pratiquement toujours utilisé. Pour la rétrocompatibilité, le codage sur un octet correspond à l’ASCII. C’est le codage pratiquement toujours utilisé.
      J’ai écrit mes première lignes en FORTRAN en 1964, alors, même à la retraite, Je suis en train de développer un éditeur de texte, sous Linux, en C, en utilisant curses (ce qui permet une utilisation hors mode graphique) et le codage UTF-8.
      UTF-16 : n’est plus utilisé,
      UTF-32 : se confond avec la définition unicode.

      2) Vous dites « Là, il s’agit de l’ordre de rangement des »mots« machine (composés de plusieurs octets) de 32 ou 64 bits. ».
      C’est une autre façon de dire la même chose que moi. Le processeur lit la mémoire de gauche à droite, raison pour laquelle les bits de poids faible sont à gauche.

      3) Définition de kilo, mega, ..., Au temps pour moi, j’avais oublié la norme de 1998 définissant le KiB.

      Ma vie, mon œuvre : j’ai écrit mes première lignes en FORTRAN en 1964, alors, même à la retraite, je continue à m’amuse à programmer.
      Je suis en train de développer un éditeur de texte, sous Linux, en C, en utilisant curses (ce qui permet une utilisation hors mode graphique) et le codage UTF-8.
      Ce n’est pas totalement dans le vide, mon fils a une petite entreprise de développement de logiciel embarqué (les pommes ne tombent pas loin de l’arbre), alors, il a parfois besoin de ce genre de chose sur des micro-calculateurs.

      À part ça, j’ai relu un peu l’article, encore plus foireux que ce que je pensais tout d’abord.


    • pemile pemile 27 décembre 2019 19:14

      @amiaplacidus « C’est une autre façon de dire la même chose que moi »

      Mais ce n’est pas ce dont parle l’auteur dans votre citation, il parle de lecture d’un octet au niveau bit !

      Son « L’octet se lit de droite à gauche » revient, en base 10, à dire que 1984 se lit de droite à gauche smiley


    • HELIOS HELIOS 28 décembre 2019 01:56

      @pemile
      ahhhh big endian & little endian... tout une histoire chez Intel....


  • zygzornifle zygzornifle 27 décembre 2019 12:56

    Quand on est au RSA on ne se pose pas ce genre de problème ....


    • Samson Samson 28 décembre 2019 01:45

      @zygzornifle
      « Quand on est au RSA on ne se pose pas ce genre de problème .... »

      Rien n’empêche !

      Çà remonte à loin, mais c’est durant ma première période de chômage que je me suis initié aux joies du PC (un euro-pc Schneider d’occase avec un processeur 8088 sous MS-DOS 3.4, qui venait de sortir !). smiley

      Et 20 ans plus tard,c’est en réorientation après mon burn-out que j’ai suivi un an de formation intensive à l’administration-système sous Linux et à l’administration de réseaux, tant sous la machine à sous Windows (clic-next-berk !) que sous Linux (nettement plus créatif !). Vu mon âge, ces dernières formations ne m’ont jamais ouvert à un emploi mais subsides €uropéens obligent n’en ont pas moins grandement contribué à ma culture générale. smiley smiley smiley

      Comme quoi, tant qu’à être déclassé et fauché, des goûts et des couleurs, ... ! smiley


    • Samson Samson 28 décembre 2019 02:10

      @Samson
      « ... mais — subsides €uropéens obligent — n’en ont pas moins grandement contribué à ma culture générale. »

      ... Big Brother ou l’œil de Sauron deviennent nettement plus concrets et je les conceptualise un peu mieux, ... juste histoire de mourir un peu moins idiot ! smiley


  • Daniel PIGNARD Daniel PIGNARD 27 décembre 2019 13:22

    Je viens de retrouver une carte mère avec Intel i486 « DX2 »

    avec

    9 barrettes Mémoires

    UM61256AK-15

    9422S

    N41261

     

    Si ça intéresse quelqu’un ?


    • foufouille foufouille 27 décembre 2019 13:40

      @Daniel PIGNARD

      Il faut que tu trouves ce qui va avec et télécharger w95 osr 3 qui est en anglais.

      Bon courage pour trouver les drivers du matériel.


    • Daniel PIGNARD Daniel PIGNARD 27 décembre 2019 14:05

      t@foufouille
      Je parlais seulement des vieilles mémoires qui paraît-il sont recherchées par quelques uns.


    • foufouille foufouille 27 décembre 2019 14:41

      @Daniel PIGNARD

      certains recherchent aussi les vieux ordis complets pour jouer à des vieux jeux.

      la mémoire de cette époque n’est pas compatible avec toutes les cartes mères.

      il y a aussi de l’or sur les contacts des barrettes.


  • HELIOS HELIOS 27 décembre 2019 15:03

    Cher auteur, c’est bien sympa de faire l’effort de publier un document intéressant.

    Hélas, comme toute communication, la votre se heurte à la réalité : quelque soit le message, celui-ci doit être adapté a celui qui le reçoit (*). Vos efforts ne seront pas couronnés de succès cette fois, sur Agoravox, ce message est trop simple ou trop compliqué... et probablement décalé par rapport à la société... allez-vous tenter d’apprendre le cycle de Carnot a ceux qui utilisent une automobile ?

    Rassurez-vous néanmoins, vous êtes loin d’être le seul dans ce cas, il y en a même qui en jouent comme le fait le gouvernement pour faire passer sa réforme.

    Merci quand même, préparez-vous pour le réveillon, nous en avons tous besoin cette année.

    (*) note aux capilotracteurs : je n’ai pas écrit, ci-dessus, que le message doit être faux ou déformé, j’écris simplement que, sur la forme comme sur le fond, son niveau de synthèse doit être cohérent avec celui qui le reçoit.


  • pemile pemile 27 décembre 2019 15:34

    Desmaretz Gérard « Avec 64 bits, 64^2 adresses sont accessibles »

    Ca fait pas beaucoup, 2^64 ça s’rait mieux ?


    • Francis, agnotologue JL 27 décembre 2019 18:40

      @pemile
       
       sauf erreur, 2^64 ça fait 18 milliards de milliards !?


    • pemile pemile 27 décembre 2019 18:56

      @JL « sauf erreur, 2^64 ça fait 18 milliards de milliards !? »

      Oui, c’est le nombre de grains de riz sur la dernière case de l’échiquier de Sissa.

      Pour info, les adresses IP v6 c’est du 128 bits, ils ont prévu de la marge d’adresses !


    • HELIOS HELIOS 28 décembre 2019 01:46

      @pemile
      ...  les adresses IP v6 c’est du 128 bits, ils ont prévu de la marge d’adresses ! ...

      Euh, ce n’est pas exactement ça... il y a un peu moins d’adresses disponibles a cause des reservations dont des blocs complets et des groupes significatifs (routeurs agents dhcp, ensemble d’adresse significatives pour la crypto, etc). Mais dans tous les cas il reste suffisament de place pour adresser tout ce qui doit un jour ou l’autre se connecter sur un reseau.... on a prévu pour l’internet des objets et a la base, pour supprimer les NAT.


    • mmbbb 28 décembre 2019 15:48

      @JL ce sera les ordinateurs quantiques 


  • yvesduc 27 décembre 2019 18:55

    Merci pour cet article.

    Les nouvelles unités (kibi-octet, mébi-octet, etc.) ne sont pas vraiment entrées dans les usages. Windows reste sur l’usage historique et affiche les tailles en kilo-octets, méga-octets, etc., qui sont en réalité des kibi-octets et des mébi-octets (puissances de 2). C’est l’inverse sur macOS, où les kilo-octets, méga-octets, etc. s’alignent sur la nouvelle définition (puissances de 10). J’ai trouvé une bonne synthèse sur cet imbroglio, ici : https://whatis.techtarget.com/fr/definition/Mebioctet-Mio-miB


  • SPQR audacieux complotiste chasseur de complot SPQR Sono Pazzi Questi Romani 28 décembre 2019 07:32

    Il y a les chiens de garde de la république « française » . ( Française dans les apparences parce que les C D G sont plus des monothéistes moyen-orientaux )
    Il existe aussi les chiens de garde d’AGV, « média citoyen » . Prêt à mordre .....

    Je ne crois absolument pas que cet article soit un cours d’informatique même si l’on y aborde quelques notions techniques.

    Par contre le sujet de fond met en lumière le nid d’espions en tout genre présent sur les territoires français, pour faire simple.

    Quant au débordement de mémoire, ne pas confondre avec le débordement de pile ...etc,

    pif paf pouf


  • Jeanlaquille 28 décembre 2019 07:59

    Pour dire la vérité j’ai rien compris, mais néanmoins j’ai trouvé intéressant cet article.... L’homme peut faire vraiment des grandes choses... par contre lui qui l’a fait ?


  • HClAtom HClAtom 28 décembre 2019 10:17

    Merci pour cet article.

    Une note cependant : Javascript n’est pas ce que vous décrivez. Notamment il n’est pas équivalent à Active X. Le javascript est un langage de très bas (et pas haut) niveau, mais en aucun cas il ne peut accéder ni au disque dur du terminal qui l’utilise, ni à sa mémoire, et cela pour des raisons évidentes de sécurité. C’est d’ailleurs cette garantie de sécurité qui a fait abandonner ActiveX pour javascript.


    • pemile pemile 28 décembre 2019 10:25

      @HClAtom "Le javascript est un langage de très bas (et pas haut) niveau, mais en aucun cas il ne peut accéder ni au disque dur du terminal qui l’utilise, ni à sa mémoire, et cela pour des raisons évidentes de sécurité. "

      Là vous parlez de l’interpréteur javascript des navigateurs, mais il y a aussi des interpréteurs javascript coté serveurs.

      Et non, ce n’est pas un langage de très bas niveau.


    • HClAtom HClAtom 28 décembre 2019 12:54

      @pemile, Lorsque vous installez Node.js (javascript côté serveur), ou tout autre langage serveur, vous donnez votre autorisation à cette bibliothèque d’utiliser les périphériques de l’ordinateur. Ce n’est pas le cas lorsque vous consultez une page web, car vous n’installez rien, et donc le javascript, langage naturel du navigateur depuis toujours et bien avant Node, n’est pas autorisé à accéder aux périphériques, sauf certains avec demande d’autorisation préalable et acceptée (vidéo, localisation, notifications, ...), toutes les petites popup qui s’ouvrent et que vous avez sûrement déjà remarquées.

      Quand à dire que le javascript natif (vanillia) est un langage de haut niveau, trouvez-nous la fonction javascript qui va par exemple vous produire un simple menu configurable sur la page HTML. Vous pourrez certainement le faire avec ActiveX, mais jamais en javascript natif. En javascript vous devrez coder vous même une telle fonctionnalité car aucune fonction de haut niveau n’existe, d’où la multiplication des bibliothèques de tous styles qui ont pour but de faciliter ce travail, mais ont le plus grand mal à cohabiter.


    • pemile pemile 28 décembre 2019 17:13

      @HClAtom « vous donnez votre autorisation à cette bibliothèque d’utiliser les périphériques de l’ordinateur. Ce n’est pas le cas lorsque vous consultez une page web, »

      Vous confirmez ce que j’ai dit en me le réexpliquant ??

      "Quand à dire que le javascript natif (vanillia) est un langage de haut niveau, trouvez-nous la fonction javascript qui va par exemple vous produire un simple menu configurable sur la page HTML"

      Vous êtes bien loin de la définition d’un langage bas niveau et l’exemple que vous donnez, d’appel de bibliothèques, n’a aucun sens smiley


    • HClAtom HClAtom 28 décembre 2019 17:33

      @pemile, définitivement c’est vous qui n’êtes pas au niveau. Pour ma part je vais continuer à faire confiance à mes 20 années d’expériences du développement javascript, plutôt qu’à vos sentences vides, ineptes et aigries.


    • pemile pemile 28 décembre 2019 18:18

      @HClAtom « définitivement c’est vous qui n’êtes pas au niveau. »

      Mais bien sûr, vous êtes comme l’auteur, à vous lire, pas besoin d’être au top niveau pour constater que vous utilisez des termes sans en maîtriser le sens !


  • Abou Antoun Abou Antoun 28 décembre 2019 11:13

    On peut compter les trains qui déraillent, les avions qui s’écrasent. Il ne faut cependant jamais oublier de mettre ces chiffres en relations avec tous ceux qui arrivent à bon port.

    Faire le procès de l’informatique sur la base de plantages spectaculaires, ce n’est que pondre des articles à sensation.

    Par ailleurs, les clichés que vous développez sont déjà dépassés, le temps arrive de l’ordinateur dit ’quantique’ où le stade du ’tout ou rien’ est dépassé.

    Bref cet article ne peut intéresser ni les spécialistes ni les néophytes.


  • Abou Antoun Abou Antoun 28 décembre 2019 13:11

    A l’origine de la catastrophe il y a toujours l’humain (ici le programmeur, là l’aiguilleur). Rendre l’outil responsable c’est décharger sa responsabilité.

    Un échec de tir correspond à un programme mal écrit et insuffisamment vérifié, éprouvé, testé, c’est tout.


  • o.man 28 décembre 2019 13:49

    Bonjour ,

    Tout système numérique (binaire, octal, décimal, hexadécimal, et autres) répond à une structure identique , constitué de digits dont les bits de poids fort (MSB = Most Significant Bit) se trouvent à l’extrême gauche et les bits de poids faibles (LSB = Least Significant Bit) à l’extrême droite .

    Prenons une date en décimal par exemple : 1984
    Le nombre est composé de 4 Digits (1,9,8 et 4) et occupe donc 4 rangs , avec 1 en MSB (bit de poids fort) et 4 en LSB (bit de poids faible) .

    Décomposons le : 1 x 1000 + 9 x 100 + 8 x 10 + 4 x 1 = 1984
    ou d’une autre façon : 4 x 1 + 8 x 10 + 9 x 100 + 1 x 1000 = 1984
    Peu importe l’ordre de traitement , l’important c’est que chaque digit garde son poids (son rang) dans le nombre .

    La structure des nombres est la suivante : Digit x Base ^ (Rang – 1)

    En binaire , Base = 2
    En octal , Base = 8
    En décimal , Base = 10
    En hexadécimal , Base = 16

    Reprenons la décomposition décimale du nombre dans cette structure :
    1 x 10³ + 9 x 10² + 8 x 10¹ + 4 x 10⁰ = 1984


    — - Si 1984 avait été de l’hexadécimal , il aurait fallut l’indiquer par un préfixe (&h, 0h, 0x, etc) avec h ou x pour hexadécimal .
    Chaque digit est alors un Nibble (mot de 4 bits) .

    NB : Un octet est composé de deux Nibbles .
    l’IPv6 est composés de Digits notés en Nibbles hexadécimaux (digits de 0 à 9 et A à F) .
    Contrairement à l’IPv4 qui lui est en suites d’Octets décimaux (0 à 255) .

    0x1984 = 0x1 x 16³ + 0x9 x 16² + 0x8 x 16¹ + 0x4 x 16⁰ = 6532
    En binaire décomposer chaque digit par son équivalent Nibble :
    0x1 = 0b0001 = 2⁰ = 1
    0x9 = 0b1001 = 2³ + 2⁰ = 9
    0x8 = 0b1000 = 2³ = 8
    0x4 = 0b0100 = 2² = 4
    soit 0b0001 1001 1000 0100 = 2¹² + 2¹¹ + 2⁸ + 2⁷ + 2² = 6532


    — - Pour convertir 1984 en binaire , il faut créer un décalage de bit vers la droite par une succession de divisions afin de récupérer le modulo (reste de division entière) .
    1984 / 2 = 992,0 => 992 reste 0 à 2⁰
    992 / 2 = 496,0 => 496 reste 0 à 2¹
    496 / 2 = 248,0 => 248 reste 0 à 2²
    248 / 2 = 124,0 => 124 reste 0 à 2³
    124 / 2 = 62,0 => 62 reste 0 à 2⁴
    62 / 2 = 31,0 => 31 reste 0 à 2⁵
    31 / 2 = 15,5 => 15 reste 1 à 2⁶
    15 / 2 = 7,5 => 7 reste 1 à 2⁷
    7 / 2 = 3,5 => 3 reste 1 à 2⁸
    3 / 2 = 1,5 => 1 reste 1 à 2⁹
    1 / 2 = 0,5 => 0 reste 1 à 2¹⁰
    0 / 2 = 0,0 => 0 reste 0 à 2¹¹

    Soit 0b11111000000
    Qu’on décompose comme suit avec ces 11 Digits  :
    1x2¹⁰ + 1x2⁹ + 1x2⁸ + 1x2⁷ + 1x2⁶ + 0x2⁵ + 0x2⁴ + 0x2³ + 0x2² + 0x2¹ + 0x2⁰ = 1984

    ou plus simplement en indiquant juste les poids actifs (bits à 1)  :
    2¹⁰ + 2⁹ + 2⁸ + 2⁷ + 2⁶ = 1984

    NB : Les digits à zéro peuvent être omis dans tous système numérique .

    - Pour faire un décalage de bit à droite , avec une calculatrice ne gérant pas le modulo , lorsque la division se termine par 0,5 , soit la moitié de 1 , on a affaire au bit 1 , dans le cas contraire , lorsque qu’il s’agit du bit 0 , il n’y a pas de décimales .
    Il faut juste penser à reporter la valeur entière (sans les décimales) pour la suite des calculs ,

    — - On aurait tout aussi bien pu décodé le binaire en faisant un décalage de bits à gauche !!!

    Déterminer le bit de limite :
    2^10 = 1024 < 1984 , bit juste en dessous .
    2^11 = 2048 > 1984 , bit juste au dessus .


    Commençons le calcul avec le bit juste au dessus :
    1984 x 2 = 3968 => 3968 ≥ 2048 = Vrai => 0b1 x 2¹⁰ => 3868 – 2048 = 1920
    1920 x 2 = 3840 => 3840 ≥ 2048 = Vrai => 0b1 x 2⁹ => 3840 – 2048 = 1792
    1792 x 2 = 3584 => 3584 ≥ 2048 = Vrai => 0b1 x 2⁸ => 3584 – 2048 = 1536
    1536 x 2 = 3072 => 3072 ≥ 2048 = Vrai => 0b1 x 2⁷ => 3072 – 2048 = 1024
    1024 x 2 = 2048 => 2048 ≥ 2048 = Vrai => 0b1 x 2⁶ => 2048 – 2048 = 0
    0 x 2 = 0
    Quand il reste zéro , il n’y a plus de bits à découvrir , fin du calcul .

    Ou le calcul avec le bit juste en dessous :
    1984 ≥ 1024 = Vrai => 0b1 x 2¹⁰ => (1984 – 1024) x 2 = 1920
    1920 ≥ 1024 = Vrai => 0b1 x 2⁹ => (1920 – 1024) x 2 = 1792
    1792 ≥ 1024 = Vrai => 0b1 x 2⁸ => (1792 – 1024) x 2 = 1536
    1536 ≥ 1024 = Vrai => 0b1 x 2⁷ => (1536 – 1024) x 2 = 1024
    1024 ≥ 1024 = Vrai => 0b1 x 2⁶ => (1024 – 1024) x 2 = 0
    0 ≥ 1024 = Faux => 0 x 2 = 0

    Quand il reste zéro , il n’y a plus de bits à découvrir , fin du calcul .

    J’espère que l’auteur ne se perdra plus dans ses conversions de bases !


  • o.man 28 décembre 2019 14:04

    S’il y a bien un truc de vrai , c’est ....

    Le Raspberry Pi et à l’informatique d’aujourd’hui ce que le SINCLAIR ZX80 / ZX81 était à l’époque des tous premiers ordinateurs low cost .


  • Pierrot 29 décembre 2019 21:09

    Désolé, mais cet article contient bien trop d’approximations, d’inexactitudes et de sauts du coq à l’âne pour prétendre « démystifier » le sujet.

    Pour ne citer que l’introduction :

    « l’état haut « 2 » Volts » —> C’est faux dans la majorité des cas. Quoi qu’il en soit, ce n’est pas la valeur qui est importante, mais le fait qu’on se réfère à un niveau de tension conventionnel (... dont la valeur est fixée pour chaque sous-système numérique avec certaines marges de tolérance). Il convient de ne pas présenter un cas particulier comme s’il s’agissait d’une généralité.

    « le courant passe c’est 1, il ne passe pas c’est 0 » —> C’est faux dans la majorité des cas. Généralement, ce n’est pas l’intensité du courant « qui passe » qui fixe le niveau logique, mais le niveau de tension. Il ne faut pas confondre courant et tension.

    « cela signifie qu’un transistor est à l’état haut... » —> Non. C’est la sortie d’un circuit logique qui peut être à l’état haut ou à l’état bas. Le transistor, lui, peut juste être passant ou bloqué. L’état logique (c’est-à-dire le niveau de tension réalisé) dépend de quels transistors du circuit sont passants ou bloqués.

    « Le nombre de transistors placés sur la puce dépend de la taille de la gravure » —> Non. Le nombre de transistors dépend juste du circuit réalisé. C’est le nombre maximum de transistors réalisables sur une même puce qui dépend de la finesse de gravure. Mais ce nombre dépend également d’autres paramètres, comme la taille maximale de la puce, de la tension d’alimentation, de la fréquence de fonctionnement des circuits, de la proportion de circuits activés simultanément, etc. .

    « l’échauffement augmente avec la réduction de la gravure » —> Avec cette phrase, on risque de comprend l’inverse de ce qui se passe. Dans des conditions d’utilisation identiques, le même circuit numérique MOS réalisé dans des dimensions plus réduites atteindra la même température et dissipera moins de puissance.

    ...


Réagir