L'informatique générale

alain Adelmar
aadelmar@numericable.fr beuuh c est quoi ca

Voyons voir, l'informatique Générale c'est quoi ? C'est l'étude du fonctionnement de l'ordinateur, de son système de fichier et de tout ce qui peut y être raccordé, autant du point de vue technique que du point de vue logiciel. Autant dire que c'est un très gros morceau, mais comme disait l'autre "ce que vous ne savez pas ne vous feras pas trop de mal" (quoique, je souffre tout les jours de mes lacunes et de mes oublis aussi). Ces quelques pages sont un peu comme le reste, c'est à dire "une vulgarisation de l'à peu prés" donc juste pour ce faire une idée.


Bon en gros il y a :

le processeur

qui fait le travail brut (les opérations et contrôles) il prend plusieurs valeurs les stockent, effectue l'opération ou le test et stocke le résultat en mémoire en leur allouant à chacun une adresse (pour pouvoir les retrouver). Suivant le type de machine que vous avez il sera plus ou moins rapide (la cadence qui est en hertz, pour le processeur en Méga-hertz ou Giga)
Pour donner un ordre approximatif/historique/ordre de grandeur (tout a fait subjectif):
    286(8bits), Atari ST, Amstrad, années < 94-95,
    386(16bits), PC, Windows 3.1/95, années < 96-97,
    486(16-32bits), PC (pentium75-100 et AMD K6), Windows 95, années < 97-98,
    586(32bits), PC (PentiumII 500 - III 650 et AMD K6 II - Athlon 750, Cyrix), W95-98-NT, Linux2.0-2.2, années < 98-01,
    686(64bits), platine Alpha, WinNT, Linux2.1 & 2.2, maintenant pour les veinards
(cette petite liste est totalement subjective, incomplète et juste pour ce faire une idée, pardon les Mac)

pour plus d'info sur le processeur http://

le noyau

qui dépend du système utilisé, il est le chef d'orchestre et dirige le bon déroulement des flux, bus, process c'est lui qui gère la machine, il est en quelque sorte l'intermédiaire entre les logiciels et le processeur.
C'est lui qui gère les trois flux :
    STDIN = Standard In qui est le flux standard d'entrée
    SDTOUT = Standard Out qui est le flux de sortie standard
    SDTERR = Standard Erreur qui est le flux d'entré d'erreurs système standard
C'est le noyau qui envoi le fichier que vous voulez ouvrir en double-cliquant dessus, dans une zone tampon en RAM, et donne les instructions nécessaires au Gestionnaire d'affichage XWindow pour qu'il affiche une image de ce fichier ouvert, vous donnant l'impression d'être devant une lettre physique, modifiable, que l'on peut décorer (presque parfumer).
Sur les systèmes UNIX-like tout les périphériques, les partitions, les dossiers sont géré comme des fichiers, c'est le noyau qui rend ceci possible. La versions du noyau détermine les possibilités de la distribution ainsi que son numéro, en ce moment 2.2 pour une version stable.
Sur Windows ce que l'on nomme noyau est plutôt le résultat de plusieurs processus interdépendant, nous nous cantonnerons au système de fichier et a l'interpréteur de commande qui est le MS-DOS (pour lancer la programmation). Le MS-DOS étant le seul accès possible pour lancer un langage de programmation sur Windows (à part VisualBasic, et quelques autres langages intégrés directement refondu par MicroSoft et qui utilisent les api de Windows mais c'est un autre sujet (et puis il font assez de pub comme ça pour que je n'ai pas à vanter les qualités de ces logiciels de programmations, qui ne sont compatibles que sur une très petite durée et qu'ils faut constamment mettre à jours avec des brevets privés que l'on a pas besoins mais nécessaire au bon fonctionnement, non merci j'ai déjà donné !!!))

la mémoire

ou plutôt les mémoires  qui est l'endroit ou sont stockés vos données, Disque Dur, barrette de Ram, zip etc...
suivant le support elle se subdivise en plusieurs cylindres, tracks, secteurs d'une grandeurs différentes, suivant le type de machine que vous avez et le système présent sur votre machine. En effet chaque système à son type de partition et sa façon de les agencer.
La ROM (read only memorys) qui est de la mémoire en lecture seule, est stocké sur Les disques Dur, les cartouches ZIP, les CDROM dans des fichiers en lecture seule. Par extension et en général on considéré aussi que tout votre espace Disque Dur est de la ROM.
Lorsque vous traité un fichier, son intégralité est stocké en zone Tampon ou Buffer qui eux fait partie de la RAM.
La RAM (Random Access Memory) c'est elle qui va jouer ce rôle d'espace de stockage que le le processeur à besoin pour traiter les données. La RAM est logée sur les barrettes qui s'enfichent (les branleuses) sur la Carte Mère.
La RAM est par nature l'endroit idéal pour stocker des données modifiable, car sous tension et stockées sous forme binaire, donc accessible instantanément par le processeur. DRAM, SDRAM, EDO son des types de mémoires et des façon de gérer l'espace mémoire.
Pour en savoir plus voir ici.

La Swap

La Swap est une partition qui gère la mémoire virtuelle sur les système UNIX-LIKE. Pour + d'info ici.

Le clavier

qui est considéré comme l'organe d'entrée par défaut, c'est lui qui vous permet (avec la souris) de communiquer avec votre machine quelque soit le système utilisé.

l'écran

qui est considéré comme le périphérique de sortie (par défaut), c'est lui qui vous fait mal aux yeux :))
mais aussi vous donne le résultat que vous êtes en droit d'exiger, soit sur une console (xterm ou COMMAND.COM pour voir les retours de vos programmes en mode texte) ou en mode graphique grâce à X et ses bibliothèques ou au api de Windows et ses form.

le CD-ROM

autre périphérique de stockage en lecture seule. Accessible sur votre ordinateur en tant que :


lettre sur Windows D:\ ou E:\ ou 
comme périphérique sur Linux: /dev/hdc lié au dossier /mnt/cdrom

le

Le Lecteur de Disquette

ou Floppy : qui est le plus petit périphérique stockeur de données, souvent utilisé comme organe de secours, disquette de boot, sauvegarde légère et très spécifique des fichiers personnels.
A:\ ou /dev/fd0 lié /mnt/floppy

Tout les autres périphériques gères aussi les données pour afficher comme l'imprimante, communiquer le modem, écouter les baffles via la carte son, etc ... 
Pour Linux tout est considéré comme des fichiers, dossiers spéciaux qui ont leurs propres moyens (protocoles) pour gérer leurs données ou les données qu'ils véhicules, mettent en scènes, stockent. 
L'avantage d'un système comme Linux pour un programmeur est qu'il peut intervenir à tout les niveaux et ce d'une manière naturelle (une console ou un éditeur suffit) sur tous ces périphériques sans pour cela a avoir la version adéquate (compatible) du logiciel propriétaire (payant) qui ne lui permettra que de faire se que le programmeur de ces dit logiciel propriétaire à cru bon d'envisager de faire. C'est à dire que votre créativité sur MS ne pourra qu'égaler ce qui à été envisagé par les programmeurs MS (le reste No Way Men).

Système de fichier:

Suivant sur quel OS (operating System) on ce trouve, le système de fichier sera différant.
Un système de fichier est un agencement matériel et logiciel de l'espace Disque de l'OS installé. C'est à dire que suivant l'OS installée le Disque Dur sera partitionné différemment et les dossiers et fichiers classés dans un ordre différents.
Sur Linux la partition primaire (le Disque Dur) ce nomme /dev/hda1 sur Windows xx) c'est C:\  (si IDE pour Linux).
Deux systèmes rigoureusement différant prédomine UNIX et Microsoft, et de la l'incompatibilité et les problèmes de portages.
Sur UNIX la racine du Disque Dur est / et l'arborescence des répertoire ce présente comme ceci:

Comparaison de l'arborescence du System de fichier UNIX par rapport à Microsoft
UNIX description Microsoft description
/ racine C:\ racine
/bin binaire C:\Windows\command ce qui reste du MS DOS
/dev périphérique, device C:\Windows\system\*.drv (pas t'équivalant) les accès aux périphèriques dll, vxd, drv, cpl, dep, cpl ,ocx
/etc fichier de configuration C:\Windows\control.exe (pas t'équivalant) panneau de configuration
/boot noyau Linux C:\msdos.ini system.ini window.ini msconfig.sys
/home/pipo compte utilisateur C:\Documents and settings compte utilisateur
/usr/share programmes installés C:\Program Files programmes installés
/usr/lib bibliothèques C:\Windows\system et system32 bibliothèques
/usr/X11R6        AffichageX neant(voir drivers carte graphique) . . .!
/usr/local A disposition des users ou ajout à distribution neant rien
/root Super utilisateur C:\Documents and settings\Administrateur pas pareil
/var Paramètres par session neant neant

On ne peut pas comparer ce qui n'est pas comparable,  sur UNIX, Linux tout est considéré comme fichiers que ce soit les dossiers, les applications, les périphériques, les partitions ... tout, certains on des propriétés spéciales, ils ont des droits d'accès pour:
l'utilisateur, propriétaire   U          en lecture, écriture, exécutable  .........rwx
le groupe d'utilisateur      G          en lecture, écriture, exécutable  .........rwx
les autres                        O         en lecture, écriture, exécutable  .........rwx
Ils ont un propriétaire, un groupe
ont une date de création, de dernière modification, de dernier accès.
    path                    droits ugo      UP    grp        taille            date de création       date de der Modif        date de der Accès
/home/al/mon_doc  rwxr-xr-x alain.wkgrp 1203octets 12.06.01 15:23:05 | 14.06.01 14:34:09 | 12.02.02 00:24:06

Toutes ces tentatives d'explication sont justes citée à titre d'exemple.

La donnée

Et oui la donnée, le contenu de la mémoire, ils ont fait fort pour arriver à stocker des données avec de l'électricité, à la base y avait que allumé et éteint (deux états, le binaire, 0 et 1). grâce à des procédés électromécaniques (un tore traversé de plusieurs fils, qui comme dans un va-et-vient élaboré pouvait stocker un état, le lire, l'écrire, le contrôler) de ce fait il fallait beaucoup de tores pour stocker de quoi faire quelque chose d'exploitable. Mais cette mémoire était réutilisable pas comme les carte perforées 80 colonnes (comme j'ai connu au début en 73-74 ... nostalgie). Juste à titre de comparaison on avait un IBM 360 (dans la boite ou je travaillé) avec 2 lecteurs de bandes magnétiques, une lectrice de carte perforées et une imprimante qui pesé plusieurs tonnes et occupaient plus de 100m² et pourtant étaient 100 fois moins puissant que n'importe quel ordinateur de bureau, et on traité la moitié des payes et de la compta de Bordeaux avec. Les programmes étaient écris au plus juste aussi. après y a eu les disquettes pour l'informatique de bureau et les disques durs internes (un Atari que mon frère avait gonflé à 2Mo de ROM) puis les PC processeur 8088 et les cdrom (énorme avancées). Les AMD et Pentiums 75,100,133,250,500,etc.. Maintenant chaque fois que je rentre dans un magasin d'informatique je suis largué. Mais je m'égare... Les données sont stocker en binaire sur 8, 16, 32, 64bits suivant les systèmes. Y a plein de doc la dessus. Il y aurai de quoi remplir des livres entre la façon dont est stocké et traité les données, les protocoles de connexion et les couches réseaux.

les Langages utilisés

:

Il y en a plusieurs sur chaque système. Chacun rempli sont rôle et gère ce pourquoi il a été conçu.
La plupart de ses langages sont utilisées directement depuis/par les applications qui constituent votre bureau, ceci à votre insu, lorsque vous cliquer sur un icône ou valider en appuyant sur Enter. Tous les logiciels (programmes) utilise un langage.
Le langage informatique est un lien entre l'homme et la machine (même si parfois ça ne semble pas si évidant que ça).
Il est fait de commandes et de conventions d'écriture, c'est à dire que certaines commandes dans un ordre donnés, par l'intermédiaire de l'interpréteur, communiqueront avec le processeur afin de lui faire faire un certain nombre de choses.
Cet ordre s'appelle le code, (le source ou le code source) qui peut être interprété directement ou compilé (suivant le langage).
Le fichier qui contient ce code s'appelle le programme, il est exécutable et prévient dés la première ligne par qui il doit être lu (exécuter).
Le langage dans lequel est écrit un programme ou un script a souvent le même nom que l'interpréteur qui exécute ce script.
L'interpréteur de commande du système (MS-DOS pour Windows ou Bash, Ash, sh, csh pour Linux et UNIX) est en mesure de lire la première ligne du programme, qui en général lui indique quel interpréteur de langage utiliser et ou le trouver.
Bon, je sais tous cela n'est pas très clair mais je reviendrai dessus, car je ne peut faire de généralité, tout dépend du langage.

Appel à la réflexion: Avec la loi sur la propriété logicielle que veulent imposer les USA, qui n'est autre que de recenser toutes les routines, pour les acheter, puis dénier les relouer en demandant leurs bakchichs au passage, ou même tout simplement les contrôler. Et c'est la que vous vous rendez compte que les programmes que vous avez construits petit à petit ne sont pas de vous.
Et qu'il va falloir soit tout réécrire d'une autre maniéré ou que vous demandiez la permission aux avocats de ces personnes. 
Imaginé un piano et chaque note que vous joué est une violation de droit d'auteur. 
Bon, ils ont des sous et parlent de garantir les droits de chacun, mais les brevets c'est eux qui les ont, ils n'ont pas écrits une ligne de code et c'est eux qui vous traînerons devant les tribunaux, ils sont avocats et on la puissance de l'argent pour eux ... 
n'attendons pas le verdict du faucher contre le trust, rien n'est fait encore alors ne leur donnons pas le droit de nous pourrir la vie. 
alain