manuel
Partie 3
Dans cette nouvelle partie nous aborderons tout ce qui est logiciel.
I/ Acquisition de la notion de logiciel
Un logiciel, (=application) est quelque chose d’enregisté et qui
est composé d’octets. Un logiciel se présente sous forme
logique, il n’a aucune réelle consistance, ça n’est pas
matériel.
II/ Exemple de logiciels
Vous pouvez utiliser Windaube (= Windows), c’est un logiciel, comme
système d’exploitation. Vous pouvez utiliser Word comme logiciel
d’écriture, Excel comme tableur, Paintbrush comme logiciel de
dessin, Freecell comme logiciel de jeux de carte…
1) Les systèmes d’exploitation
Il y a plusieurs systèmes d’exploitation.
Commençons par Unix, car c’est le système d’exploitation
qui a servi de base à tous les autres, il à
été conçu par des américains du MIT (lexique). Il date de 1976.
Pour Linux ; il a été inventé par Linus Torvalds.
En 1991 il sort sa première version qu’il appelle 0.99 pour bien
montrer qu'elle restait à améliorer. D’ailleurs de nos
jours, des mises à jour faites par des programmeurs, sont
distribuées sur internet en quantité. L’avantage de ce
sytème d’exploitation est d’être entièrement
gratuit. De plus l’utilisateur peut modifier le programme (le logiciel)
Linux lui même. Ce système d’exploitation ne plante que
très rarement du à ces applications stables car c'est un
OS de serveur.
Linux peut se présenter de deux manières, sous forme de
ligne de commande, (lexique) ; ou sous forme
de système d’exploitation graphique à la Macintosh.
Ce système d’exploitation à été pendant
longtemps très compliqué a installer mais les versions
récentes sont des merveilles de convivialité.
1.1) Notion du système d’exploitation
Un système d’exploitation est un ensemble de programmes et de
sous-programmes qui ont pour rôle de gérer le
matériel, pris dans son sens le plus large. C’est
l’intérmédiaire entre les applications et le
matériel, c’est lui qui reçoit les demandes des
applications et les transmet au matériel. Un système
d’exploitation digne de ce nom n’acceptera jamais qu’une application
fasse appel directement au matériel. C’est le système
d’exploitation qui trie ces commandes et dépiste les erreurs de
manipulation et les demandes absurdes.
il doit aussi organiser la mémoire de l'ordinateur de
manière a ce que tout le monde y trouve son compte: les
utilisateurs, les logiciels, et lui même.
1.2 Ce qu’il doit faire
1.2.1 :Il doit gérer la mémoire de manière
à ce qu’aucun programme ne puisse dépasser sa zone
réservée.
1.2.2 :Intercepter tous les accès aux
périphériques.
1.2.3 :Gérer le disque dur et les espaces stoquages: lecteurs
etc...
1.2.4 :Offrir aux applications une gestion correcte des programmes. Il
s’agit en particulier de permettre aux diverses applications de
fonctionner de manière totalement indépendante. Un
programme ne doit jamais empiéter sur une zone qui a
déjà été allouée à un autre
programme.
1.2.5 :Il doit protéger les données enregistrées
contre tout accès non autorisé.
etc...
1.2 DOS
Microsoft a entièrement tiré son système sur Xenix
3 (qui etait lui meme une copie de Minix, lui meme une copie d'Unix),
donc ses utilisateurs ne seront pas perdus, cependant, il est plus
simple que ce dernier et ne gère pas les aspect complexes des
reseaux et des utilisateurs, de plus il est monotache. Il se
présente sous forme de ligne de commande.
1.3 Windows
Les premiers systèmes d'exploitations Windows etaient
basés sur DOS et n'apportait en plus qu'une interface graphique.
Les Windows avec "noyau" NT (network) sont bien plus stables car
utilisent un mode protégé bien plus efficace pour
prévenir des mauvaises operations que les applications peuvent
effectuer (une erreur peut faire planter tout un système).
Le dernier Windows: dit "XP" comme experience est en fait le même
que Windows 2000 (NT 5) et est donc bien plus puissant et stable que
Windows 4 soit: Windows 95, 98 et Me.
2) Le BIOS :
Il n'est pas vraiment logiciel , puisque il est enregisté dans
une puce de mémoire morte (ROM) ou plutot EEPROM de nos jours (lexique)
. Il est l'interprète entre tout ce qui est logiciel et
matériel. Il est possible d'effectuer différents
réglages importants pour la détection correcte du
matériel ou son fonctionnement de manière optimale. Par
exemple, dans le bios, il est possible d'effectuer le réglage du
port parallèle. Si il est réglé sur SPP (lexique) , il sera plus lent que si il est
réglé sur ECP (lexique), ou
EPP; mais en EPP (lexique), les imprimantes
ne sont pas prises en compte. Le réglage des paramètres
est réservé aux personnes un peu initiées car il
règle des paramètres de base qui peuvent influer
grandement sur le fonctionnement correct de la machine.
Donc toutes ces restrictions d'accès seront comprises
très facilement. Un bios doit détecter au
démarrage plusieurs choses, il doit détecter chaque
périphérique connecté. Il commence par initialiser
les cartes d'extension en commençant par les PnP, (lexique) ou Plug and Pray tellement ça
ne fonctionne jamais, puis termine par les cartes branchées sur
des ISA (lexique). Ensuite il détecte
le microprocessur, la mémoire vive, la mémoire cache,
puis les périphériques branchés sur des IDE (lexique) en commençant par le primary
master, j'usqu'au secondary slave en passant par le primary slave et le
secondary master. Il est possible de définir manuellement les
caractéristiques des ports IDEs dans le bios, ce qui augmente la
vitesse de détection au démarrage, il est aussi possible
de brancher les périphériques qui sont habituellement sur
des IDE, sur des cartes d'extension SCSI (lexique)
(périphs = HDD, lecteur CD/DVD, graveurs, ZIP...) ou encore de
brancher le lecteur de CD et /ou pas DVD sur une carte son qui les
prend en charge. Dans les deux cas, le matériel sera alors
géré par la carte d'extention et non plus par le bios ce
qui peut accélérer les performances. Le bios continue sur
sa lancée et pour certaines versions de bios affiche les
caractéristiques qu'il a pu détecter j'usqu’ ici.
(quantité de cache, fréquence du microprocesseur,
présence de coprocesseur mathématique ou non ...) Dans le
bios des cartes mère jumperless il est possible de régler
les paramètres de configuration du coefficient multiplicateur et
de la fréquence externe directement dans le bios. Par exemple
les cartes mères Abits intègrent dans le bios le «
cpu soft menu ». Le bios est contenu dans une puce d’eeprom (lexique) qui contient 128 Ko d’informations.
Il est possible de copier un bios en achetant une puce d’ eeprom (lexique) et de mettre le bios en
mémoire vive par l’option video bios shadow ou bios shadowing,
puis d’insérer la puce vierge à la place du bios original
ordinateur allumé et à partir d’ici, si votre carte
mère n’est pas cour-circuitée par l’opération
réenregistrez le bios en CMOS (lexique)
en changeant quelques paramètres puis redémarrez
l’ordinateur.
Si il redémarre correctement l’opération a bien
fonctionné. Si il ne s’allume même pas, alors
l’opération est à refaire. Réinsérez la
puce du bios d’origine. Remarque : CETTE OPERATION EST TRES DANGEUREUSE
POUR LE MATERIEL , ET NE DOIT PAS ÊTRE EFFECTUEE PAR UNE PERSONNE
D'EXPERIMENTATION BASSE DANS L'ELECTRONIQUE.
Songez aussi que votre garantie ne rembourse pas en cas de
dégats!
Attention, le courant est invisible. Ne vous inquiétez pas pour
vous car c'est du 5 Volts, 12 au maximum. Inquiétez vous
plutôt pour votre ordinateur, qui lui ne résistera pas
à un court-circuit, même de 5 Volts.
Il existe en ce moment des projets pour changer le concept du BIOS au
profit d'un mini systeme d'exploitation, appelé EFI je crois, ce
serait lié au projet palladium. (je ne suis sur de rien pour ca)
3) La programmation:
Quand on débute en informatique on ne sais pas et on ne se
préocupe pas de savoir comment sont fait les logiciels mais
quand on se le demande il n'y a pas toujours quelqun en face pour nous
répondre alors je vais l'expliquer:
Il faut utiliser ce qu'on appelle la Programmation, c'et ce qui tient
en fait toute l'informatique, en effet c'est grâce à elle
que nous pouvons automatiser et accélérer des
tâches qui pouvaient être astronomiques auparavant en
utilisant des logiciels.
La programmation repose sur le principe d'algorithmie en se servant de
boucles et de conditions et de commandes de base on peut créer
des logiciels et donc commander l'ordinateur (lui dire quoi faire).
3.1 Le concept original:
Au début, le 1èr ordinateur (1945) ne se programmait pas
de la manière que l'on connait, mais de manière peu
souple avec des switchers ou des bandes perforées et autre... et
il nous retournait les informations sur des LEDs ou sur papier...
Plus tard sont arrivés le clavier et l'ecran, appelés
périphériques CON.
Et à partir de là, une interface dite Homme-machine
beaucoup plus conviviale est apparue. La programmation dite machine
était utilisée, elle consiste à entrer en base
binaire ou Octale (à l'époque, maintenant on utilise
seulement l'Hexadecimal) les instructions que devait suivre le
microprocesseur de type SISC ou CISC (le type dépend de la
complexité du processeur).
Cependant, ce n'etait que très peu visuel, et il nous fallait
sans arrêt une ressource à portée de main.
Alors est apparu l'assembleur, le même langage de programmation,
mais au lieu d'écrire 4C,5H,8E,9A on écrit ADD (AX +
DX),CX ce qui est beaucoup plus parlant (relativement). Mais à
ce niveau, pour passer de ADD a 4C, il fallait un compilateur. La
compilation est le fait de traduire une syntaxe en langage machine.
comme ici la traduction est très simple ce compilateur s'appelle
un assembleur (d'où le nom du langage).
Puis d'autres langages ont été créés pour
simplifier la programmation.
Tous basés sur le langage machine, par exemple le cobole, on a
commencé à parler de Haut niveau, oui, car une
instruction correspondait à une dizaine de lignes machines. On
ne s'occupe plus des déclarations de registres et autres
contraintes comliquées...
De nos jour le langage le plus haut niveau est le BASIC (Beginners All
Puprpose Symbolic Intruction Code).
3.2 Quest-ce qu'un algorithme ?:
On utilise souvent ce mot, normal, la programmation est une suite
d'instructions qui créént un effet particulier. On dit
par exemple que pour trier une liste de nombres, il faut un algorithme
de tri.
3.3 Bas niveau, haut niveau ?:
Un langage de bas niveau est très difficile à utiliser.
par exemple, vous devez créer vous même l'algorithme qui
fera la racine carrée à partir de divisions ou encore
utiliser des soustractions et des pointeurs pour verifier une
égalité!etc...
Tandis que par exemple le Basic, lui, offre des fonctions d'un niveau
extrêmement élevé comme le sinus ou le cosinus, ou
encore la possibilité d'afficher de demander une phrase à
l'utilisateur en une seule ligne de programmation, chose qui est
très longue à réaliser en assembleur.
III/ Les données en informatique:
1) Intro:
Ce chapitre est important vu que c'est une des fonctions pour laquelle
a été inventée l'informatique.
A la base pour stocker des informations on utilisait le papier et on
écrivait. Plus tard sont arrivées d'autre
méthodes, mais la meilleure solution qu'ait trouvé
l'humanité c'est: le premier calculateur programmable
(ordinateur, de la signifcation étymologique "dieu qui met en
ordre le monde"). On a voulu plus tard utiliser ce support pour
enregistrer d'autres types d'informations que des résultats de
calculs sur bandes perforées.
Alors, on a mis au point la puce électronique qui pouvait
enregistrer: la mémoire vive. (il en existait deja pour les
retenues d'operations)
son fonctionnement est assez simple.
Des transistors conservent l'état (fermé/ouvert) pendant
6nano secondes (pour les mémoires DIMM (SDRAM)) et la restituent
si on leur demande. Bien sûr pour ne pas que les données
s'effacent il faut rafraîchir, alors à chaque cycle
d'horloge (externe) on refait une passe, et les transistors
précedemment chargés se rechargent à bloc, les
vides restent vides : sauf en cas de changement de la zone de
mémoire.
De cette manière on stocke une information binaire c'est
à dire composée de 1 ou de 0. Dans une mémoire de
128Mo il y a 1.093741824*10^9 (milliards) de bits, donc autant de
transistors, d'où si l'on fait le calcul, le prix toujours plus
en baisse du transistor. Ils sont rangés en ligne (Row) et en
colonnes(Columns).
2) Le binaire:
Le binaire, comme dit ci-dessus, sert donc à stocker des
informations dans les ordinateurs, car il représente, un niveau
de tension ou rien.
Vous me direz, pour augmenter la vitesse, on pourrait faire 10 niveaux
de tension pour nous éviter des conversions incessantes de la
base 10 (décimal) en base 2 (binaire); je répondrai:
"Bonne idée, mais déjà étudiée et
n'a pas abouti, car même standardisées, il y aura toujours
des petites différences de voltages qui créeront des
incompatibilités et beaucoup d'erreurs. Déjà
qu'avec tout ou rien on a parfois des erreurs !"
Pour palier à l'effet d'erreurs hyper rare qui peut intervenir
dans des systèmes binaires, on a mis au point un système
de code binaire GRAY, qui ne peut changer que un digit à la
fois. Et avec ça, une détection d'erreurs ECC (lexique)
qui permet d'éviter certains problèmes de restitutions de
données.
Concrètement le binaire marche comme ceci:
(code natuel)
Binaire: --- Décimal:
0 = 0
1 = 1
10 = 2
11 = 3
100 = 4
101 = 5
110 = 6
111 = 7
1000 = 8
1001 = 9
GRAY: (ou code réflechi, nom utilisé pour une raison d'effet de miroir vertical si tout les nombres sont en colonne):
0000 = 0
0001 = 1
0011 = 2
0010 = 3
0110 = 4
0111 = 5
0101 = 6
0100 = 7
1100 = 8
1101 = 9
ainsi de suite...
Compris ?
on remarque que, à chaque fois que le nombre est rond
(10,100,1000,...), on tombe sur une puissance de 2
(2,4,8,16,32,64,128,256,512,1024,2048,4096,8192,16384,32768,655536,131072,...)
vous remarquez que j'ai mis 1024 en gras, oui, car c'est la fin de mon
nom!
on peut donc dire que avec 4 digits binaires (4 chiffres) on peut faire
2^4 (16) possibilités.
3) L'octet:
"L'octet" vient du mot octal qui signifie huit. Dans un octet on met 8
digits binaires, ce qui donne (c'est important) 2^8 (256)
possibilités.
4) Le stockage d'informations diverses:
4.1 Le texte:
Commencons par les caractères. Les caractères se codent
sur un octet, parce que la table ASCII (lexique)
comporte 256 caractères, elle tient donc dans un octet (de 0 a
255). voilà la table ASCII:
Regular ASCII Chart (character codes 0 - 127)
000 (nul) 016 (dle) 032 sp 048 0 064 @ 080 P 096 ` 112 p
001 (soh) 017 (dc1) 033 ! 049 1 065 A 081 Q 097 a 113 q
002 (stx) 018 (dc2) 034 " 050 2 066 B 082 R 098 b 114 r
003 (etx) 019 (dc3) 035 # 051 3 067 C 083 S 099 c 115 s
004 (eot) 020 (dc4) 036 $ 052 4 068 D 084 T 100 d 116 t
005 (enq) 021 (nak) 037 % 053 5 069 E 085 U 101 e 117 u
006 (ack) 022 (syn) 038 & 054 6 070 F 086 V 102 f 118 v
007 (bel) 023 (etb) 039 ' 055 7 071 G 087 W 103 g 119 w
008 (bs) 024 (can) 040 ( 056 8 072 H 088 X 104 h 120 x
009 (tab) 025 (em) 041 ) 057 9 073 I 089 Y 105 i 121 y
010 (lf) 026 (eof) 042 * 058 : 074 J 090 Z 106 j 122 z
011 (vt) 027 (esc) 043 + 059 ; 075 K 091 [ 107 k 123 {
012 (np) 028 (fs) 044 , 060 < 076 L 092 \ 108 l 124 |
013 (cr) 029 (gs) 045 - 061 = 077 M 093 ] 109 m 125 }
014 (so) 030 (rs) 046 . 062 > 078 N 094 ^ 110 n 126 ~
015 (si) 031 (us) 047 / 063 ? 079 O 095 _ 111 o 127
Extended ASCII Chart (character codes 128 - 255)
128 € 144 160 176 ° 192 À 208 Ð 224 à 240 ð
129 145 ‘ 161 ¡ 177 ± 193 Á 209 Ñ 225 á 241 ñ
130 ‚ 146 ’ 162 ¢ 178 ² 194 Â 210 Ò 226 â 242 ò
131 ƒ 147 “ 163 £ 179 ³ 195 Ã 211 Ó 227 ã 243 ó
132 „ 148 ” 164 ¤ 180 ´ 196 Ä 212 Ô 228 ä 244 ô
133 … 149 • 165 ¥ 181 µ 197 Å 213 Õ 229 å 245 õ
134 † 150 – 166 ¦ 182 ¶ 198 Æ 214 Ö 230 æ 246 ö
135 ‡ 151 — 167 § 183 · 199 Ç 215 × 231 ç 247 ÷
136 ˆ 152 ˜ 168 ¨ 184 ¸ 200 È 216 Ø 232 è 248 ø
137 ‰ 153 ™ 169 © 185 ¹ 201 É 217 Ù 233 é 249 ù
138 Š 154 š 170 ª 186 º 202 Ê 218 Ú 234 ê 250 ú
139 ‹ 155 › 171 « 187 » 203 Ë 219 Û 235 ë 251 û
140 Œ 156 œ 172 ¬ 188 ¼ 204 Ì 220 Ü 236 ì 252 ü
141 157 173 189 ½ 205 Í 221 Ý 237 í 253 ý
142 Ž 158 ž 174 ® 190 ¾ 206 Î 222 Þ 238 î 254 þ
143 159 Ÿ 175 ¯ 191 ¿ 207 Ï 223 ß 239 ï 255
ceux qui ne sont pas reconnus () sont des caractères inconnus
de votre police ou de windows.
Les tables ASCII étendues (de 128 a 255) dépendent de la
page de codes (850 ou 437, etc...).
Expliquons les 13 premiers caractères:
00 = NUL Null rien
01 = SOH Start Of Heading début d'en tête
02 = STX Start Of text début de texte
03 = ETX End Of Text fin de texte
04 = EOT End Of Transmission fin de transmission
05 = ENQ Enquiry Interogation
06 = ACQ Acknowledge accusé de reception
07 = BEL Bell cloche
08 = BS Backspace retour (fleche au dessus de entrée)
09 = HT Horizontal Tabulation tabulation ->
10 = LF Line Feed Saut de ligne
11 = VT Vertical Tabulation tabulation |
12 = FF Form Feed saut de page
13 = CR Carriage Return retour chariot (touche entrée)
ce sont des caractères invisibles ce qui explique que dans les
fichiers, au début, il y a ce qu'on appelle une "en-tête"
qui donne des infos sur le fichier. un fichier ASCII (.txt) de 15
lettres (espace compris) prendra 15 octet+en tete.
4.2 Les images:
4.2.1 Le format Bitmap
Ce format enregistre les images en 24 bits, un octet par composante de
la synthèse additive (Rouge Vert Bleu, RVB ou RGB (Red Green
Blue)).
exemple de couleur en 24 bits:
-R V B-
125 230 56 (un vert un peu clair brillant)
255 255 255 (blanc)
0 0 0 (noir)
128 128 128 (gris 50%)
0 255 255 (bleu clair)
0 0 255 (bleu normal)
255 0 0 (rouge normal)
255 255 0 (jaune)
255 0 255 (violet-rose)
le 24 bits propose comme cela 16.777216*10^6 (millions) de couleurs, on
les appelle couleurs réelles car l'oeil humain ne décerne
pas de différence entre 2 tons directement juxtaposés.
de cette manière, point par point, en balayant une image on
l'enregistre.
mais on voit tout de suite l'inconvénient de sa grande taille,
alors on a inventé des compressions comme le RLE (lexique) ou le JPG (lexique)
etc...
4.2.2 Le GIF
et d'autres formats, font eux, une palétisation en 256 couleurs,
ce qui réduit grandement la taille, mais inflige une perte de
qualité dans les dégradés en particulier.
index
définitions