Une rétrospective des décisions passées qui affectent notre présent et affecteront l'avenir



La taille de la croupe d'un cheval il y a deux millénaires déterminait la taille des moteurs de fusée aujourd'hui.



Vous êtes-vous déjà demandé comment chacune de nos décisions détermine l'avenir? Parfois pas pendant un an, des dizaines, des centaines, des milliers d'années. Pourquoi ne pouvons-nous pas agrandir les moteurs de fusée? Pourquoi un octet est-il exactement 8 bits et non 7 ou 16, ou peut-être même 48? Mais c'était égal à ces chiffres avant! Pourquoi le terminal virtuel Linux a-t-il toujours la vitesse du port de connexion? Parlons de la façon dont une décision prise dans le passé détermine notre présent et comment nous pouvons influencer notre avenir.



Largeur de la navette spatiale et de la croupe de cheval





Il s'agit d'un vélo assez connu qui s'est répandu sur Internet. Pourquoi pensez-vous que la taille du booster, fixé sur les côtés du réservoir de carburant principal, est si petite? Il s'agit de propulseurs de fusée à propergol solide ( accélérateur latéral MTKK Space Shuttle (anglais Solid Rocket Booster, SRB)) , qui ont été fabriqués dans une usine de l'Utah. D'un point de vue technique, il serait bien préférable de rendre ce moteur un peu plus épais, mais il fallait les transporter par train de l'usine au site de lancement. Et le chemin de fer traverse un tunnel dans les montagnes.

En conséquence, ces accélérateurs devaient passer par ce tunnel. Le tunnel lui-même est légèrement plus large que la voie ferrée. L'écartement standard des rails américains (espacement des rails) est de 4 pieds 8 ½ pouces (1435 mm).



D'où vient ce nombre? Les États-Unis ont hérité de cette norme des premiers chemins de fer d'Angleterre. Les chemins de fer en Angleterre ont été construits selon les mêmes normes que le tramway pré-ferroviaire, appelé tramway à chevaux, et ils utilisaient également un écartement de 4 pi 8 1/2 po (1435 mm).



Cette distance entre les roues de la voiture a été choisie de manière à ce qu'elles tombent dans l'ornière sur les routes anglaises, de sorte que les roues s'usent moins et que la distance entre les pistes en Angleterre soit exactement de 4 pieds et 8,5 pouces. Mais pourquoi est-ce ainsi? Pourquoi exactement ce nombre?

L'Angleterre faisait autrefois partie de l'Empire romain, et depuis que les premiers chars de guerre ont été fabriqués par la Rome impériale, ils avaient tous la même largeur entre les roues.





Piste au passage pour piétons de la voie romaine de Pompéi.





Un autre exemple d'ornière sur une ancienne voie romaine.



Cette largeur a été choisie car elle correspondait à la taille d'un char de guerre romain à deux chevaux.





Un exemple de la taille d'un char romain.



Étonnamment, le summum du progrès - l'astronautique encore aujourd'hui est étroitement liée à la taille de deux larges croupes de chevaux, tout comme il y a deux mille ans!



Il faut comprendre qu'il s'agit en fait d'un vélo . En voici une bonne démystification, je recommande de la lire. Mais la taille de la largeur du lit de la voie ferrée détermine l'écartement du rail. Et il détermine la taille maximale de la cargaison qui peut être transportée par chemin de fer.



Taille d'octet et codes ASCII





Aujourd'hui, beaucoup de gens de l'école savent encore quelle est la taille d'un octet, et pour nous c'est évident: 8 bits. Mais vous êtes-vous déjà demandé pourquoi cette taille avait été choisie? À quoi est-il lié?



Vous serez probablement surpris, mais un octet n'a pas toujours une taille de huit bits! Auparavant, un octet pouvait être compris entre 4 et 60 bits! Par exemple, les ordinateurs BESM utilisaient des caractères de 6 bits dans des mots machine de 48 ou 60 bits.



Mais pourquoi exactement 8 bits? L'une des raisons est le système de codage binaire, car les plus pratiques pour le traitement sont les nombres qui sont des multiples de puissances de deux. Eh bien, dites-vous, pourquoi pas 4, 16 ou 32 alors? Et vous aurez raison.



Il ne faut pas non plus oublier qu'en 1963, l'American Standard Code for Information Interchange, ou ASCII en abrégé, a été adopté. Cette norme a été développée à partir du code télégraphique et sa première utilisation commerciale a été un code télétype à sept bits pour l'envoi de messages télégraphiques. Basé à l'origine sur l'alphabet anglais, ASCII encode 128 caractères donnés en entiers de sept bits. Quatre-vingt-quinze caractères codés peuvent être imprimés: ils comprennent les chiffres de 0 à 9, les lettres minuscules de a à z, les lettres majuscules de A à Z et les caractères de ponctuation. De plus, la spécification ASCII originale comprenait 33 codes de contrôle non imprimables générés à l'aide de téléscripteurs; la plupart d'entre eux sont déjà obsolètes, même si certains d'entre eux sont encore largement utilisés,par exemple, retour chariot, saut de ligne et code de tabulation.





Tableau ASCII à sept bits du manuel de l'imprimante avant 1972.



Ici, deux branches se croisent à la fois, l'histoire du télégraphe, qui a influencé le développement de l'industrie informatique. Nous en parlerons dans le chapitre suivant et, en fait, de la représentation même de l'octet.



Dans les années 1960, IBM, qui a également participé à la normalisation ASCII, a introduit un code d'échange décimal codé binaire étendu (EBCDIC) à huit bits pour sa gamme d'ordinateurs System / 360. Veuillez comprendre que EBCDIC et ASCII sont différents. L'importance de l'ordinateur IBM System / 360 a conduit à l'adoption généralisée de l'octet de huit bits.



Le développement des microprocesseurs à huit bits dans les années 1970 a popularisé cette taille de mémoire. Les microprocesseurs tels que l'Intel 8008, un prédécesseur direct des 8080 et 8086 utilisés dans les premiers ordinateurs personnels, pouvaient également effectuer une petite quantité d'opérations avec des paires d'octets de quatre bits.



Revenons à la norme ASCII, que nous utilisons maintenant à un degré ou à un autre tous les jours, même ce texte inclut en quelque sorte cette norme.



L'American Standard Code for Information Interchange (ASCII) a été développé sous les auspices du comité de l'American Standards Association (ASA) appelé comité X3, son sous-comité X3.2 (plus tard X3L2) et plus tard X3 de ce sous-comité. Groupe de travail 2.4 (maintenant INCITS). L'ASA est devenue le United States of America Standards Institute (USASI) et finalement l'American National Standards Institute (ANSI).



Le sous-comité X3.2 a développé l'ASCII sur la base de systèmes de codage de télétype antérieurs. Avant le développement de l'ASCII, les encodages utilisés comprenaient 26 lettres, 10 chiffres et 11 à 25 caractères graphiques spéciaux. Plus de 64 codes ASCII ont été nécessaires pour encoder toutes ces données, ainsi que des caractères de contrôle conformes aux normes internationales de l'alphabet télégraphique (ITA2) de 1924. ITA2, à son tour, était basé sur le code télégraphique à 5 bits qu'Emile Baudot a inventé en 1870 et breveté en 1874.



Ressentez-vous ce lien entre les générations, que d'une manière ou d'une autre encore aujourd'hui nous utilisons l'héritage du code télégraphique, qui a été inventé il y a 150 ans?!


Le comité a discuté de la possibilité d'utiliser une fonction de décalage (comme dans ITA2) qui représenterait plus de 64 codes dans un code à six bits. Dans un code décalé, certains codes de caractères déterminent le choix entre les options pour les codes de caractères suivants. Cela permet un codage compact, mais est moins fiable pour la transmission de données, car une erreur dans la transmission du code de décalage rend généralement une longue partie de la transmission illisible. Le comité de normalisation a abandonné la transition et, par conséquent, l'ASCII nécessitait au moins un code à sept bits.



Le comité a envisagé un code à huit bits car huit bits (octets) permettraient à deux modèles de quatre bits de coder efficacement deux chiffres en utilisant un nombre décimal binaire. Cependant, lors de la transmission de toutes les données, huit bits sont nécessaires lorsque sept sont suffisants. Le comité a voté pour l'utilisation d'un code à 7 bits pour minimiser les coûts de transfert de données. Puisqu'à ce moment-là, la bande perforée pouvait enregistrer huit bits dans une position, le bit de parité pourrait être utilisé pour vérifier les erreurs si on le souhaite.





Table ASCII 8 bits moderne.



Ainsi, plusieurs facteurs ont convergé à la fois en faveur de la taille de l'octet de 8 bits. Mais, à mon avis, le principal est la possibilité d'encoder et de stocker des informations textuelles dans le minimum d'un octet et la possibilité de stocker des chiffres décimaux dans chaque quartet.



Périphérique terminal Linux



Sur votre système domestique, vous ouvrez un terminal virtuel Linux, qui s'exécute généralement dans une fenêtre et a une représentation complètement virtuelle. Mais il est toujours compatible avec les anciens terminaux.



Vous pouvez ouvrir un terminal et entrer stty, puis vous pouvez constater que ce programme a une vitesse de connexion, comme le port COM. Et en général, il a un tas de paramètres termios pour le port COM.

Je me suis déjà attardé suffisamment en détail dans mes articles sur le travail du port COM dans l'article " UART et avec ce qu'il est mangé " et ce qui a été dit là-bas:



UART (Universal asynchronous receiver/transmitter) , -, ( ) — . UART RS-232 ( – COM-, ). , , . .



, , ( ). . , ASCII, . 60- 8- ASCII, , .



1971 , , PDP Western Digital UART WD1402A. 80- National Semiconductor 8520. 90- , . , , .


Notez que certains télégraphes anciens rendent à nouveau le travail de la console Linux! Et pourquoi? Tout est assez simple pour que pour les E / S, ils utilisaient ce qui était à portée de main, à savoir les télétypes, qui vous permettaient de saisir du texte à partir du clavier et de le sortir en tapant sur papier.





Télétype, qui est connecté via UART et peut être utilisé pour entrer et sortir des informations.



En conséquence, les E / S sous Linux sont le contrôle réel du TTY. Même les normes de terminaux les plus modernes sont rétrocompatibles avec ce type de téléimprimeur. De plus, je peux vous dire en toute confiance que si vous connectez ce télétype à un ordinateur moderne et configurez la sortie du terminal sur un port COM physique, cela fonctionnera sans modifications logicielles (du matériel sera nécessaire, car il existe des normes de tension légèrement différentes, mais insignifiantes).

Plus de détails sur le travail avec le port COM et la configuration du périphérique de fichier terminal peuvent être trouvés dans mon article " Travailler avec le port COM en C sous Linux " et / ou regarder mes vidéos à la fin de l'article.



conclusions



J'avais envie de donner beaucoup plus d'exemples, de références au passé. Par exemple, à propos des dispositions de clavier, qui datent de l'époque hirsute des machines à écrire, ou des références à la forme des téléphones mobiles modernes. Cependant, l'article est déjà devenu une feuille de fou, et j'ai quand même réussi à exprimer l'idée.





La disposition QWERTY, inventée en 1888 pour les machines à écrire, est toujours utilisée aujourd'hui.



L'idée de mon article est assez simple: même les plus petites choses que vous mettez en œuvre aujourd'hui peuvent avoir le plus grand impact sur notre avenir.










All Articles