15
CHAPITRE 1 Architecture des ordinateurs Avant d’attaquer la programmation à proprement parler, il est bon d’avoir quelques connaissances sur l’architecture d’un ordinateur. C’est pourquoi, ce premier cours d’informatique a pour objectif d’aborder la structure interne des machines. Il existe différents types d’ordinateurs : fixe, portable, netbook, ultrabook, serveur…. Ils se distinguent par les performances de leurs composants, c’est ce qui limite leurs domaines d’utilisation. Dans ce cours, nous allons prendre comme exemple l’unité centrale d’un PC de bureau classique et expliquer dans le détail la structure de cet ordinateur. 1. Le hardware 1.1. La boîte noire Commençons par regarder l’extérieur de l’unité centrale de l’ordinateur :

CHAPITRE1) - csvinternational.frcsvinternational.fr/Physique/Informatique_files/Chapitre 1.pdf · 2!!!!! !! ! ! ! ! ! ! !!!!!Chapitre1!:Architecture!des!ordinateurs! 1.2.)Lesportsde)communicationexternes)

  • Upload
    ngophuc

  • View
    233

  • Download
    0

Embed Size (px)

Citation preview

Page 1: CHAPITRE1) - csvinternational.frcsvinternational.fr/Physique/Informatique_files/Chapitre 1.pdf · 2!!!!! !! ! ! ! ! ! ! !!!!!Chapitre1!:Architecture!des!ordinateurs! 1.2.)Lesportsde)communicationexternes)

CHAPITRE  1    

 

Architecture  des  ordinateurs      Avant  d’attaquer   la  programmation  à  proprement  parler,   il  est  bon  d’avoir  quelques  connaissances  sur   l’architecture   d’un   ordinateur.   C’est   pourquoi,   ce   premier   cours   d’informatique   a   pour   objectif  d’aborder  la  structure  interne  des  machines.  Il   existe   différents   types   d’ordinateurs  :   fixe,   portable,   netbook,   ultrabook,   serveur….   Ils   se  distinguent  par  les  performances  de  leurs  composants,  c’est  ce  qui  limite  leurs  domaines  d’utilisation.  Dans   ce   cours,   nous   allons   prendre   comme   exemple   l’unité   centrale   d’un   PC   de   bureau   classique   et  expliquer  dans  le  détail  la  structure  de  cet  ordinateur.  

1. Le  hardware  

1.1.  La  boîte  noire  Commençons  par  regarder  l’extérieur  de  l’unité  centrale  de  l’ordinateur  :  

 

Page 2: CHAPITRE1) - csvinternational.frcsvinternational.fr/Physique/Informatique_files/Chapitre 1.pdf · 2!!!!! !! ! ! ! ! ! ! !!!!!Chapitre1!:Architecture!des!ordinateurs! 1.2.)Lesportsde)communicationexternes)

2                                                        Chapitre  1  :  Architecture  des  ordinateurs  

1.2.  Les  ports  de  communication  externes  

Les  équipements  qui  sont  raccordés  à  l’unité  centrale  sont  appelés  périphériques.  Ils  existent  deux  types  de  périphériques  :  -­‐  les  périphériques  d’entrées  :  micro,  clavier,  souris,  tablette  graphique…  -­‐  les  périphériques  de  sortie  :  haut-­‐parleurs,  écran,  imprimante…  Les   ports   de   communications   externes   sont   les   emplacements   permettant   de   brancher   les  périphériques.  Ils  se  trouvent  généralement  à  l’arrière  de  l’unité  centrale.  

 On  distingue  deux  grandes  familles  de  connections  suivant  la  méthode  de  transmission  :  -­‐ les  ports  séries  (RS232,  RS432,  RS485,  USB,  firewire…),  qui  envoient  le  signal  sur  une  ligne  de  communication,  chaque  bit  les  uns  après  les  autres  et  encadrés  par  des  bits  de  contrôle.  Le  port  série  permet  un   transfert   simultané  entre   les  deux  équipements.  Le  port   série  utilise  deux   fils  conducteurs,  et  au  moins  un  fil  de  tension  de  référence  et  un  fil  de  masse.  

-­‐ les  ports  parallèles,  où  les  données  sont  transférées  en  parallèle  par  octets,  soit  8  bits  en  même  temps,   voire   par   paquet   d’octets   (8,16,24,32…   bits   en   même   temps).   Le   port   parallèle   est  bidirectionnel  (c’est-­‐à-­‐dire  qu’il  peut  émettre  et  recevoir  des  informations)  mais,  contrairement  au  port  série,  ne  permet  pas  de  transferts  simultanés.  

Même   si   le   transfert   de   données   par   port   parallèle   semble   plus   rapide,   le   port   série   présente   de  nombreux   avantages  :   réduction   du   nombre   de   fils,   vérification   des   données   envoyées   plus   fiable,  mode  de  communication  moins  sujet  aux  perturbations  électromagnétiques…    

•  Port  USB  

Le   port   USB   (pour   Universal   Serial   Bus)   est   un   port   série   qui   a   révolutionné   les   connectiques  ordinateur   -­‐   périphériques,   en   instaurant   un   environnement   tout   USB   uniformisant   les   modes   de  communication   avec   l’ordinateur.   Aujourd’hui,   c’est   sans   doute   le   port   de   communication   le   plus  utilisé.  Ses  principaux  concurrents  sont  désormais  les  protocoles  de  communication  sans  fil  (Bluetooth  et  WiFi).  

Version   USB  1.0   USB  1.1   USB  2.0   USB  3.0  Débit   0,19  Mo/s   1,5  Mo/s   60  Mo/s   600  Mo/s  

 

Page 3: CHAPITRE1) - csvinternational.frcsvinternational.fr/Physique/Informatique_files/Chapitre 1.pdf · 2!!!!! !! ! ! ! ! ! ! !!!!!Chapitre1!:Architecture!des!ordinateurs! 1.2.)Lesportsde)communicationexternes)

  Chapitre  1  :  Architecture  des  ordinateurs                              3  

•  Ports  de  sortie  vidéo  

Il  existe  trois  types  de  ports  vidéo  :  -­‐  port  VGA  (Video  Graphics  Array),  port  de  type  analogique  -­‐  port  DVI  (Digital  Visual  Interface),  port  de  type  numérique  non  HD  apportant  une  amélioration  en  

terme  de  réduction  du  bruit  par  rapport  au  connecteur  VGA  analogique  -­‐  port  HDMI  (High  Definition  Multimedia  Interface),  port  permettant  la  transmission  des  signaux  au  

format  HD.  

Les   ports   de   communications   sont   généralement   désignés   par   IO   (ou   I/O   pour   Input/Output)   en  programmation.  

1.3.  L’intérieur  de  la  boîte  noire  Ouvrons  maintenant  le  boîtier  :  

 

1.4.  L’alimentation  et  le  refroidissement  

L’alimentation  fournit  la  puissance  nécessaire  au  bon  fonctionnement  des  différents  composants  de  l’ordinateur.  Selon  le  format  de  la  carte  mère,  les  tensions  à  fournir  peuvent  varier  (±  12  Volts,  5  Volts,  3,3  Volts…).  

Les  différents  composants  d’un  ordinateur  dissipent  de   la  chaleur  par  effet   Joule  qu’il   faut  évacuer  par  un  système  de  refroidissement.  Il  existe  trois  méthodes  :  -­‐  les  radiateurs  à  ailettes  -­‐  les  ventilateurs  -­‐  les  systèmes  de  refroidissement  liquides.  

�����������������/

��������

4���������������������������

�������

��������

=�2

�����C����

������������!���������

��� ������

Page 4: CHAPITRE1) - csvinternational.frcsvinternational.fr/Physique/Informatique_files/Chapitre 1.pdf · 2!!!!! !! ! ! ! ! ! ! !!!!!Chapitre1!:Architecture!des!ordinateurs! 1.2.)Lesportsde)communicationexternes)

4                                                        Chapitre  1  :  Architecture  des  ordinateurs  

1.5.  La  carte  mère  

La   carte  mère   (ou  MB   pour  Mother   Board)   est   l'élément   central   de   l'architecture   d'un   ordinateur.  C’est  sur  cet  élément  que  sont  soudés  les  composants  essentiels  :  -­‐  le  BIOS  -­‐  le  chipset  -­‐  le  microprocesseur  -­‐  la  mémoire  vive  (RAM)  -­‐  l'horloge  interne  -­‐  la  mémoire  CMOS  -­‐  une  carte  graphique  intégrée  -­‐  une  carte  son  intégrée  -­‐   un   ensemble   de   contrôleurs   d'entrées/sorties   aux   rôles   divers   (communications   avec   le   disque  

dur,  les  ports  d'entrée/sortie…  )  -­‐  des  cartes  d'extensions  Il  existe  de  nombreuses  tailles  de  carte  mère  ;  les  formats  obéissent  à  des  standards  qui  définissent  les  dimensions  et  l’agencement  des  composants.  Au  cœur  du  système  PC,  la  carte  mère  doit  assurer  la  communication  entre  les  divers  constituants  de  la  machine.  Voici  l'architecture  standard  :  

 

•  Le  BIOS  

La  carte  mère  est  pilotée  par  un   logiciel   interne  qui  gère   le  bon   fonctionnement  de  celle-­‐ci,   c’est   le  BIOS   (Basic   Input/Output   System).   Le   BIOS   s’exécute   lors   de   la  mise   sous   tension   de   la   carte  mère,  indépendamment  de  la  présence  d’un  système  d’exploitation  (ou  OS  pour  Operating  System).  A   la   mise   sous   tension,   le   BIOS   effectue   le   POST   (Power-­‐On   Self   Test),   c’est-­‐à-­‐dire   qu’il   vérifie  l’intégrité  des  différents  composants  avant  le  démarrage  (boot)  d’un  système  d’exploitation  et  informe  l’utilisateur   en   cas   d’anomalie.   Un   fois   le   POST   effectué,   le   système   va   chercher   un   processus   de  démarrage   sur   les   périphériques   de   stockage   indiqué   dans   le   BIOS   pour   pouvoir   démarrer   sur   un  système  d’exploitation.  

Page 5: CHAPITRE1) - csvinternational.frcsvinternational.fr/Physique/Informatique_files/Chapitre 1.pdf · 2!!!!! !! ! ! ! ! ! ! !!!!!Chapitre1!:Architecture!des!ordinateurs! 1.2.)Lesportsde)communicationexternes)

  Chapitre  1  :  Architecture  des  ordinateurs                              5  

•  Le  chipset  

Comme   le   présente   le   schéma   ci-­‐dessus,   le   centre   névralgique   de   la   carte   mère   est   constitué   du  chipset.  Celui-­‐ci  est  constitué  de  deux  entités  :  le  North  Bridge  et  le  South  Bridge.  Leurs  rôles  respectifs  sont  résumés  dans  le  tableau  ci-­‐dessous.  

Chipset   Description  

North  Bridge   Gère   les   échanges   entre   le   processeur,   la  mémoire  et  le  bus  graphique.  

South  Bridge  

Gère   les   échanges   avec   les   disques   durs,   le   lecteur  DVD,  les  cartes  d’extension  (par  exemple,  carte  son  ou   carte   graphique   non   intégrées),   l’horloge,   la  mémoire  CMOS,  les  ports  USB,  FireWire,  le  réseau.  

Les   circuits   North   Bridge   et   South   Bridge   sont   reliés   entre   eux   par   un   bus   très   rapide   (en  informatique,   on   désigne   par   bus   un   ensemble   de   fils   support   de   l’information).   Ces   deux   circuits  peuvent  être  séparés  dans  deux  circuits  différents  ou  rassemblés  dans  une  seule  puce.  

 

•  Le  microprocesseur  

Le   microprocesseur   (ou   CPU   pour   Central   Processing   Unit)   est   le   cœur   de   l’ordinateur   puisqu’il  assure   la   fonction  unité  de   traitement   en   exécutant   les  programmes   stockés  en  mémoire  principale.  Les   programmes   sont   structurés   en   une   séquence   d'instructions.   Pour   exécuter   ces   programmes,   le  microprocesseur  :  -­‐  charge  les  instructions  -­‐  décode  les  instructions  -­‐  exécute  séquentiellement  les  instructions.  

Un    microprocesseur  est  composé  :  -­‐  d’une  unité  de  commande  qui  joue  le  rôle  de  chef  d’orchestre  :  elle  va  chercher  les  instructions  

dans  la  mémoire  principale,  puis  les  charge  et  les  décode  -­‐  d’une  Unité  Arithmétique  et  Logique  (UAL)  qui  exécute  les  opérations  -­‐  de  registres  mémoires,  petites  mémoires  rapides  utilisées  par  l’UAL,  qui  permettent  de  stocker  

les   résultats   temporaires   et   des   informations   de   commande.   L'intérêt   de   disposer   d'une   mémoire  interne  au  microprocesseur  est  que,  du  fait  de  sa  proximité  et  de  son  intégration  dans  la  même  puce,  les   accès   à   cette   mémoire   sont   extrêmement   rapides.   Elle   participe   donc   à   l'amélioration   des  performances  du  microprocesseur,  donc  du  système  lui-­‐même.  -­‐   d’une   unité   d’entrée/sortie,   qui   permet   la   communication   avec   la   mémoire   principale   de  

l’ordinateur,  le  disque  dur  et  les  différents  périphériques.  

 

 

Page 6: CHAPITRE1) - csvinternational.frcsvinternational.fr/Physique/Informatique_files/Chapitre 1.pdf · 2!!!!! !! ! ! ! ! ! ! !!!!!Chapitre1!:Architecture!des!ordinateurs! 1.2.)Lesportsde)communicationexternes)

6                                                        Chapitre  1  :  Architecture  des  ordinateurs  

Le  rôle  des  différents  composants  du  microprocesseur  est  résumé  sur  la  figure  ci-­‐dessous  :  

 On  peut  caractériser  les  performances  d’un  microprocesseur  grâce  aux  éléments  suivants  :  -­‐  la  fréquence  d’horloge  (les  fameux  GHz)  -­‐  le  nombre  de  cœurs  qui  travaillent  en  parallèle  (les  fameux  multi-­‐core)  -­‐  la  taille  de  sa  mémoire  cache    -­‐  la  consommation  électrique  -­‐  le  mode  de  connexion  à  la  carte  mère  

La   loi   de  Moore,   établie   par   Gordon  Moore   (cofondateur   d'Intel)   en   1965,   prévoit   que   la   densité  d'intégration   des   transistors   doublera   tout   les   18   mois   et   ce   jusqu'en   1975.   La   courbe   ci-­‐dessous  donne   l'évolution   de   la   densité   d'intégration   sur   les   40   dernières   années.   Par   là-­‐même,   elle   définit  également  l'évolution  de  la  puissance  des  processeurs  mais  également  de  la  mémoire.  

 

•  La  mémoire  vive  (RAM)  

La  mémoire  vive  (RAM)  de  l’ordinateur  est  constituée  de  barrettes  placées  directement  sur  la  carte  mère.  Ces  barrettes  permettent  de  stocker  le  flux  de  données  que  le  microprocesseur  doit  traiter  et  se  caractérisent  par  une  très  grande  rapidité  d’accès.  Néanmoins,  ce  stockage  est  volatile,  dans  le  sens  où  toutes  les  données  de  cette  mémoire  sont  perdues  dès  que  l’ordinateur  n’est  plus  sous  tension.  

����������������� �����������

������� ��

� E������2����

E��������2����%��� �������D������2�����"�������������!�����%���������

��(�������$����5>IH%��������� ��������������!�������������������������

��� �������������5:�����������&�� �!���5>KH�

E����� ����(���������������!������������������������!������������������

G8�����������������

4� � �'(J�% � ���� � ������� � ���� � �!��������� � �� � � � �������� � ���

����������������������������������

1��+����2����������(�34-,� 5<678

Page 7: CHAPITRE1) - csvinternational.frcsvinternational.fr/Physique/Informatique_files/Chapitre 1.pdf · 2!!!!! !! ! ! ! ! ! ! !!!!!Chapitre1!:Architecture!des!ordinateurs! 1.2.)Lesportsde)communicationexternes)

  Chapitre  1  :  Architecture  des  ordinateurs                              7  

On  nomme  la  RAM  mémoire  "vive"  par  opposition  à  la  mémoire  dite  "morte",  ou  ROM.  

Type  de  mémoire   Définition   Caractéristiques  

ROM  

 

Read  Only  Memory  

(mémoire  en  lecture  seule)  

Dans   les   mémoires   ROM,   le   contenu  perdure   malgré   l'absence   d'alimentation.  Elles  sont  donc  très  utiles  pour  stocker  les  programmes  et  informations  de  démarrage  (BIOS,  Setup  CMOS,  POST).    Temps   d’accès  :   quelques   dizaines   de  nanosecondes.  Capacités  :  plusieurs  To  

RAM  

 

Random  Access  Memory  

(mémoire  à  accès  aléatoire)  

Les   mémoires   de   type   RAM   sont   des  mémoires   dont   le   contenu   disparaît   en  absence  d'alimentation.  Elles   sont   utilisées   comme   mémoire   de  travail   du   système.   Les   mémoires   Cache  sont  également  des  RAM.  Temps  d'accès  :  quelques  nanosecondes.  Capacité  :  de  l'ordre  de  quelques  Go.  

1.6.  Le  disque  dur  

•  Le  disque  dur  magnétique  

Le  disque  dur  (ou  HDD  pour  Hard  Disk  Drive)  doit  son  nom  à  sa  technologie,  à  l'époque  où  existaient  encore  les  disques  souples,  ou  disquettes.  Sa  constitution  est  détaillée  de  façon  simplifiée  sur  la  figure  annotée  ci-­‐dessous.  

 

����������������� �����������

������� ��

�*���1'1����&�&�

E������������"�=�2�$�����!����������������������������������� ���������B�����

����������������������������������������������������������������"�=B2�$�

�40� �'3� ���� ������'�����2���

��#

���� %4#�1��4

"�2����������������

������$

?������ �����% � ��� �=B2 �������

������������ � ��� � ������ � ��

������� � ������ � E��� � ������

�������������� � ��� �=�2���� � ��

���� � ������� � ������� � ����

�! ����� � �!���������� � A����

������ � ���� � �� � �#���� � ����

������ � ���� � ����0�� � ���

������� � �� � ���������� � ��

�������"�9�B-%�-������2B-%���

4B-,�"���*�������+�)��$�$��2����������������������������������

'������(���

�����������% � �� � ������� � �� � ����

������������AA4=B2�"�A����������

A�� ���4���� ���=B2�$�

E�������������=B2�.

-� � �!��������� � =B2 � ������� � ��

������������������������������"

�����������(�������$% �����������

�� �����.

(�������(=B2%������C�(=B2

1��+����2����������(�34-,� 5G678

=�2���������-EB,- 9����������=�2�����������-EB,

����������������� �����������

������� ��

(�����9��������������=B2( � ��� ���� ��� ����� � ���� ���� �=B2"�����������������$(�����--�����������=B2( � ��� � ����� � 3-9 � ���� � ��� � =B2"������������$

��10� ����5�6 4��� � ��� � ����=B2 ��� � ���� � �� � ������ � �����������������9�B-�������2B-%���������!�������������!��������� ��� �����Q���������������������0����'�6� ������ � ����� � ��������� � ��������� � " � ����% � --�%�����$�

��#

�� �1������#�1��4

"�2������'�������������$

E�� ������� ��� � ���� �=�2� �����������������������������%��!���' ����� ����� � �� �������� ������S���� �������!����������A���� � ���� ���������� � ���(�)� ������� � 4� � �� � ����� � �������������������� � ��� � ����� � �������������������E�������������������������������=�2�3���������������������������������=B2��������������� ��������������������� � " � �� � �� � �����!���� �$ ���� �=�2��E� ��� ���������������������������=�2�������������� ������������������ �� � ���� � � � =B2� � E � �������������� ��� ���� � ��� ��������������������������������������10� ����5�6� ��� �����������������0����'6 ����!��������� ��� ���D��

1��+����2����������(�34-,� 5H678

����������������� �����������

������� ��

�7�����2����

�7�������2����1�, '��2��

E����� �������"�?���.�?������0����������������$�������������'��������������' � �!��� ����T��#����� ������� � ��� ���� ��� ��������% ������ �������- � ������������ � ��� � �������� � �� � �+�� � ��������� � ��� � � � ���������������(��������B� � ������� � ������� � �� � ��� �� � ��� � �� � ����� � �� � ���% � �����������������������=�2��� ���� � ����� �' � � ������������ ���������M���� ��� ���� ������ � �� � �!������������ � �������������

1��+����2����������(�34-,� 5I678

�%�����8��2��9

�:��1�����

�;���%������

�� ����������

�� ��������%�1� �����

4��������� ��� ���� ����� ����������%� ��������������� ��� 7� �J���� ��� �������6���������������������U�����������V�

��������� ������������������ ���-�,�����'���������������

Page 8: CHAPITRE1) - csvinternational.frcsvinternational.fr/Physique/Informatique_files/Chapitre 1.pdf · 2!!!!! !! ! ! ! ! ! ! !!!!!Chapitre1!:Architecture!des!ordinateurs! 1.2.)Lesportsde)communicationexternes)

8                                                        Chapitre  1  :  Architecture  des  ordinateurs  ����������������� �����������

������� ��

� 4������������������������

���������(������%������� ���������������������������������������#��������������

���� ��%����������������������������������S����������������������������E���

�����������������������������������������������������"�HG88�=42%�K788�=42%�58�888�=42%

5H�888�=42�$�

�� �����������������������"�������������$��!����������������"� ��� �����������$

����0������������������ ��������E����J�������������������� ��������������!�����'

���������������

� ������������������������ ��������

������������������������ ���������

��#<�=>?<��0����'6�%������#�

��0����' � '� !�-��2�� � #�5%� ���%%�

G�,� 7855 ?����� KWG888 <%H!!

<�,� 7858 -���� <%H!!

7�,� 788> /������������� �����D�����/�78A��- <%H!!

5�,� 788K ?����� ���0����KW5888 <%H!!

H88�D� 788H ?����� <%H!!

7H�D� 5>>: �92 ���0����7H�D4 K%8!!

5�87�D� 5>:7 ?����� ?:H>: 5G!!

7:�2� 5>I7 �92 2������5<85

H�2� 5>HI �92 <8H�=�2�� 7G!!

1��+����2����������(�34-,� 5K678

On  désigne  souvent   le  disque  dur  par  mémoire  de  masse,  en  comparaison  avec   la  mémoire  RAM.  Il  est  relié  à  la  carte  mère  par  un  contrôleur  de  disque  dur  qui  l'interface  avec  le  processeur.  

Principe   de   fonctionnement  :   Le   disque   dur   magnétique   est   constitué   de   plusieurs   plateaux  superposés  (en  céramique,  en  verre  ou  en  métal).  Ils  sont  entraînés  en  rotation  par  un  moteur,  à  des  vitesses  de  plusieurs  milliers  de  tours  par  seconde  (5400  à  15  000  RPM).  Chaque  plateau  est  recouvert  (recto  et  verso)  d’une  fine  couche  (à  peine  quelques  microns)  stockant  des  informations  binaires.  Les  têtes  de  lecture  magnétique  permettent  l’accès  à  ces  informations.  Capacités  actuelles  des  disques  durs  :  Nous  sommes  loin  des  premiers  disques  durs…  

 

Capacité   Année   Fabriquant   Taille  4  To   2011   Hitachi   3,5  "  3  To   2010   Seagate   3,5  "  2  To   2009   Western  Digital   3,5  "  1  To   2007   Hitachi   3,5  "  500  Go   2005   Hitachi   3,5  "  25  Go   1998   IBM   7,0  "  1  Go   1982   Hitachi   14  "  28  Mo   1962   IBM   20  "  5  Mo   1956   IBM   24  "  

 

•  Le  disque  dur  SSD  

Le  disque  dur  SSD  (pour  Solid  State  Drive)  est  basé  sur  la  technologie  des  mémoires  flash.  Le  SSD  est  en  voie  de  démocratisation  et  constitue  a  priori  l'avenir  du  stockage  de  masse  pour  plusieurs  raisons.  Le  tableau  ci-­‐dessous  propose  un  comparatif  sommaire  :  

Caractéristiques   Disque  HDD   Disque  SSD  Temps  d’accès   ~  12  ms   ~  0,1  ms  

Poids   400  à  700  g   10  à  50  g  Consommation  en  veille   ~  1  W   ~  100  mW  Consommation  en  activité   ~  4  W   ~  900  mW  

Bruit   0  dB   ~  40  dB    

Les   chiffres   sont   donc   sans   appel  :   le   SSD   représente   l'avenir.   Trois   critères   sont   néanmoins   en   sa  défaveur  :  

-­‐  son  prix  (presque  10  fois  plus  cher  au  Go  que  le  disque  mécanique)  -­‐  certaines  technologies  de  SSD  présentent  une  usure  rapide  -­‐  leurs  technologies  sont  limitées  en  nombre  de  cycles  lecture/écriture  

2. Le  software  On   a   décrit   jusqu’ici   le   fonctionnement   du   matériel   constituant   un   ordinateur.   Ce   dernier   sert   à  exécuter  un  programme  ;  il  stocke  des  données  et  les  instructions  du  programme  dans  la  mémoire  de  masse.   Or,   en   pratique,   on   n’utilise   pas   un   mais   plusieurs   programmes,   souvent   simultanément   :  navigateur   internet,   logiciel   de   courrier   électronique,   traitement   de   texte,   tableur,   outil   de  présentation,   lecteur   de   vidéos,   jeux...   Si   différents   outils   doivent   stocker   des   informations   sur   le  disque   dur,   il   convient   qu’ils   le   fassent   de   façon   coordonnée,   afin   que   chacun   sache   où   aller   lire   et  écrire  les  données  le  concernant.  

Page 9: CHAPITRE1) - csvinternational.frcsvinternational.fr/Physique/Informatique_files/Chapitre 1.pdf · 2!!!!! !! ! ! ! ! ! ! !!!!!Chapitre1!:Architecture!des!ordinateurs! 1.2.)Lesportsde)communicationexternes)

  Chapitre  1  :  Architecture  des  ordinateurs                              9  

Comment   la   machine   fait-­‐elle   pour   savoir   où   les   programmes   sont   stockés   ?   Et   pour   les   lancer   ?  Comment  ces  programmes  savent-­‐ils  ensuite  où  stocker  leurs  données  ?  Répondre   à   ces   questions   est   le   rôle   du   système  d’exploitation.   Il   s’agit   d’un  programme   chargé   en  mémoire  vive  dès  le  démarrage  de  l’ordinateur  et  qui  y  reste  jusqu’à  l’extinction  de  la  machine  et  qui  a  pour  but  de  lancer  les  différents  logiciels  de  l’utilisateur.  Le  terme  software  représente  à  la  fois  les  systèmes  d’exploitation  et  les  logiciels.  

2.1.  Le  système  d’exploitation  

Un   système   d’exploitation   est   un   ensemble   de   programmes   qui   dirige   l’utilisation   des   capacités  d'un  ordinateur  par  des  logiciels  et  gère  l’organisation  du  disque  dur  et  de  ses  fichiers.  Il  reçoit,  de  la  part  des  logiciels,  des  demandes  d'utilisation  des  capacités  de  l'ordinateur  :  capacité  de  stockage  des  différentes  mémoires,  capacité  de  calcul  du  processeur…  Le  système  d'exploitation  accepte  ou  refuse  de   telles  demandes,   puis   réserve   ces   ressources  pour   éviter  que   leurs  utilisations  n'interfèrent   avec  d'autres  demandes  provenant  d'autres  logiciels.  Le  système  d’exploitation  identifie  et  gère  également  les  différents  utilisateurs,  leurs  dossiers  personnels  et  leurs  droits  en  lecture,  écriture,  exécution.  

En  pratique  :  Il  existe  deux  grandes  familles  de  systèmes  d’exploitation  :  1.  Les  systèmes  d’exploitation   issus  d’Unix  (Mac  OS  X,   iOS,  GNU/Linux,  Android…).  Dans  tous  les  domaines  (sauf  celui  des  ordinateurs  personnels)  les  systèmes  issus  d’Unix  sont  majoritaires.  Et  parmi  eux,  Linux  se  taille  la  part  du  lion  :  depuis  sa  création  il  y  a  20  ans,  Linux  s’est  imposé  comme   un   système   universel   puisqu’il   équipe   aussi   bien   les   téléphones   portables   que   les  boîtiers   prêtés   par   les   fournisseurs   d’accès   à   Internet   (Freebox,   Livebox,   Neufbox),   les  ordinateurs  personnels  (notamment  sous  la  forme  Ubuntu/GNU  Linux),  les  serveurs  web  et  les  supercalculateurs  (plus  de  90  %  des  calculateurs  du  TOP  500).  2.  Les  systèmes  d’exploitation  de  la  famille  Microsoft  Windows.  Ils  se  sont  imposés  grâce  aux  pratiques  commerciales  très  agressives  de  Microsoft  et  sont  en  situation  de  quasi-­‐monopole  sur  les  ordinateurs  personnels  depuis  près  de  deux  décennies  puisqu’ils  en  équipent  près  de  90  %.  

Le  système  d’exploitation  a  les  responsabilités  suivantes  :  •  donner  l’illusion  que  l’ordinateur  est  multitâche  •  identifier  les  utilisateurs  •  gérer  l’organisation  du  disque  dur  et  de  ses  fichiers  •  contrôler  l’accès  aux  données  du  disque  et  aux  autres  ressources  de  l’ordinateur  •  gérer  le  lancement  des  différentes  applications  utilisées  •  servir  de  garde-­‐fou  en  cas  de  tentative  de  mauvaise  utilisation  des  ressources  de  l’ordinateur  

•  Le  multitâche  

On   a   vu   qu’un   ordinateur   ne   peut   exécuter   qu’une   instruction   à   la   fois.   Pourtant,   le   système  d’exploitation   permet   d’exécuter   plusieurs   programmes   en  même   temps.   Plus   exactement,   il   donne  l’illusion  que  l’on  exécute  plusieurs  programmes  en  même  temps.  

En  pratique  :  Certains  ordinateurs  exécutent  réellement  plusieurs   instructions  simultanément.   Ils  sont  dotés  de   plusieurs   processeurs   capables   d’accéder   indépendamment   à   la   mémoire   et   aux  périphériques.  Les  fabricants  de  processeurs  proposent  même  des  processeurs  qui  contiennent  plusieurs  cœurs  (dualcore,  quadricore),  c’est-­‐à-­‐dire  que  plusieurs  processeurs  ont  été  regroupés  en  un  seul.  

 

Page 10: CHAPITRE1) - csvinternational.frcsvinternational.fr/Physique/Informatique_files/Chapitre 1.pdf · 2!!!!! !! ! ! ! ! ! ! !!!!!Chapitre1!:Architecture!des!ordinateurs! 1.2.)Lesportsde)communicationexternes)

10                                                      Chapitre  1  :  Architecture  des  ordinateurs  

Pour  donner  cette  illusion,   le  système  d’exploitation  stocke  en  mémoire  les  différentes  applications  que   l’on   veut   exécuter.   Il   lance   l’exécution   d’une   première   application.   Dès   qu’il   se   produit   une  entrée/sortie   ou,   à   défaut,   lorsqu’un   certain   temps   est   écoulé   (de   l’ordre   de   la   centaine   de  millisecondes),   le   noyau   du   système   d‘exploitation   reprend   la  main   et   lance   l’exécution   d’une   autre  application.   En   pratique   le   temps   d’exécution   d’une   tâche   dépasse   rarement   la   dizaine   de  millisecondes.  De  façon  schématique,  voici  ce  qui  se  passe  lorsque  l’on  tape  un  texte  sur  un  ordinateur  tout  en  lui  faisant   jouer   une   fugue   de   Bach   à   l’aide   d’une   application   de   lecture   audio.   Le   noyau   du   système  d’exploitation   commence   par   exemple   à   exécuter   l’application   de   lecture   audio,   qui   envoie   sur   le  périphérique  son  quelques  notes.  Pendant  que  les  données  sont  écrites,  le  noyau  passe  la  main  à  une  autre  application.  Survient  alors  un  événement  :  l’utilisateur  vient  de  taper  sur  une  touche  du  clavier.  Le  noyau  reprend  alors  le  contrôle.  Il  sait  que  le  traitement  de  texte  était  en  attente  de  cet  événement  :  il   lui   passe   donc   la  main.   Celui-­‐ci   affiche   la   lettre   tapée   à   l’écran   et   se   remet   en   attente   d’un   autre  caractère.   Le   noyau   reprend   donc   la  main   pour   la   passer   à   une   autre   application   en   attente.   Après  quelques   instants,   survient   alors   un   nouvel   événement   :   le   périphérique   son   signale   que   toutes   les  données  ont  été  écrites.  Le  noyau  passe  alors  de  nouveau  la  main  à  l’application  de  lecture  audio,  qui  envoie  de  nouveau  quelques  notes  de  la  fugue  sur  le  périphérique.  De  nouveau  le  noyau  passe  la  main  à  une  autre  application,  etc.  Tout  cela  s’est  déroulé  en  quelques  dizaines  de  millisecondes  tout  au  plus.  

•  L’identification  des  utilisateurs  

Les   systèmes   d’exploitation   (Unix   comme   Windows®)   sont   multi-­‐utilisateurs   :   chaque   utilisateur  dispose  d’un  identifiant  auprès  du  système  (et,  en  général,  d’un  mot  de  passe  associé),  correspondant  à  un  compte  utilisateur.  Un  utilisateur  est  de  plus  membre  d’un  ou  plusieurs  groupe(s)  d’utilisateurs,  ce  qui  lui  confère  certains  droits  vis-­‐à-­‐vis  du  système  informatique.  Après  avoir  démarré  l’ordinateur,  l’ordinateur  présente  un  écran  de  connexion.  L’utilisateur  inscrit  alors   son   identifiant,   puis   son   mot   de   passe.   Le   système   d’exploitation   le   reconnaît   comme   un  identifiant  valide,  vérifie  que  le  mot  de  passe  correspond  à  cet  identifiant  et  lance  un  programme  (ou  un  ensemble  de  programmes)  qu’on  appelle  parfois  shell.   Sur   les   systèmes  d’exploitation  récents,   ce  shell   se   présente   sous   forme   d’une   interface   graphique   permettant   à   l’utilisateur   de   lancer   les  applications   qu’il   veut   utiliser   (navigateur   web,   gestionnaire   de   fichiers,   suite   bureautique,  environnement  de  développement  Python,  l’application  qu’il  a  programmée  en  Python...).  Il  existe  aussi  des  shells  en  mode  texte,  qu’on  appelle  interprètes  de  commandes  :  ces  programmes  attendent   une   commande   de   l’utilisateur   sous   forme   d’une   ligne   de   texte,   l’exécutent,   attendent   de  nouveau   une   commande,   l’exécutent,   etc.   Ils   étaient   historiquement   utilisés   sur   des   terminaux   en  mode   texte,   c’est-­‐à-­‐dire  une   combinaison  d’un   clavier   et   d’un   écran   incapable  d’afficher   autre   chose  que  du  texte  (généralement  en  vert  sur  fond  noir).  Aujourd’hui,   ils  ont  quasiment  disparu,  mais  tous  les  systèmes  Unix  proposent  des  émulateurs  de  terminaux.  

•  Système  de  fichiers  

La   mémoire   de   masse   est   généralement   organisée   en   un   système   de   fichiers   qui   permet   aux  utilisateurs  d’enregistrer  leurs  données  et  leurs  programmes.  Le   nombre   de   fichiers   est   généralement   très   élevé   :   plusieurs   centaines   de   milliers   pour   les  programmes  installés  sur  un  ordinateur  de  bureau.  Ils  sont  organisés  en  une  structure  arborescente  de  répertoires.   Du   point   de   vue   de   l’utilisateur,   un   répertoire   est   un   ensemble   de   fichiers   et   de   sous-­‐répertoires,  désignés  par  des  noms.    

 

Page 11: CHAPITRE1) - csvinternational.frcsvinternational.fr/Physique/Informatique_files/Chapitre 1.pdf · 2!!!!! !! ! ! ! ! ! ! !!!!!Chapitre1!:Architecture!des!ordinateurs! 1.2.)Lesportsde)communicationexternes)

  Chapitre  1  :  Architecture  des  ordinateurs                          11  

SAVOIR-­‐FAIRE  :  Utiliser  un  système  de  fichiers  

Dans  un  système  de  fichiers  préexistant,  il  faut  savoir  :  • se  repérer  dans  l’arborescence  • se  déplacer  dans  l’arborescence,  au  moyen  des  fenêtres  ou  d’un  commande  (cd  dans  la  plupart  des  systèmes  d’exploitation).  Selon  l’endroit  où  l’on  souhaite  se  rendre,  il  faudra  descendre  dans  des  sous-­‐répertoires  ou  au  contraire  remonter  dans  un  répertoire  parent.  

Dans   les   systèmes   d’exploitation   Windows®,   les   différents   disques   (C:,   D:,   etc.)   ont   chacun   leur  propre  système  de  fichiers,  et  pour  séparer  un  nom  de  fichier  du  répertoire  qui  le  contient  on  utilise  la  notation  a\b.  À  l’intérieur  de  chaque  disque,  le  principe  d’organisation  sous  forme  d’une  arborescence  de  répertoires  reste  le  même.  

2.2.  Logiciels  

Un  logiciel  ou  application  est  un  programme  destiné  à  réaliser  des  actions  précises.  Par  exemple,  le  bloc-­‐  notes  de  Windows®  est  un  petit   logiciel  qui  permet  d'éditer  du  texte.   Il  a  été  codé  (c'est-­‐à-­‐dire  conçu)  spécifiquement  pour  ce  système  d'exploitation  dans  le  but  de  réaliser  cette  tâche.  

SAVOIR-­‐FAIRE  :  Lancer  des  applications  

Pour  lancer  une  application  (un  programme),  on  a  deux  possibilités  :  • cliquer  sur   l’icône  de   l’application  (sur   le  bureau  ou  dans   la  barre  des   tâches).  Cette  méthode  offre  l’avantage  d’être  très  intuitive.  

• Taper  une  commande  dans  un  shell  en  mode  texte.  Dès  que  l’on  veut  exprimer  des  commandes  plus  complexes,  cette  méthode  s’avère  quasi  incontournable.  

 Le  shell  graphique  rend  transparentes  pour  l’utilisateur  les  étapes  du  lancement  d’une  application.  Pour  démarrer  par  exemple  Open  Office,   l’utilisateur  clique  sur  un  bouton  pour  faire  apparaître  un  menu  dans  lequel  il  choisit  l’application.  Le  shell  graphique  "sait"  que  le  programme  OpenOffice.org  est  installé.  Plus  précisément,  il  sait  qu’un  certain  fichier  (nommé  ooffice)  est  exécutable  par  le  système.  Il  demande  donc  au   système  d’exploitation  d’exécuter   ce  programme.  Ensuite,   tout   se  passe   comme  si  l’utilisateur  avait  tapé  directement  la  commande  ooffice  dans  l’interprète  de  commandes.  Le  système  commence  par  vérifier  que  l’utilisateur  a  le  droit  d’exécuter  le  programme.  Ensuite,  le  système  réserve  un  espace  dans  la  mémoire  vive  de  l’ordinateur  pour  stocker  les  instructions  du  programme,  ainsi  que  ses  données.   Il   copie   le  contenu  du   fichier  exécutable  en  mémoire.  Celui-­‐ci  n’est  qu’une  suite  de  bits  qui   codent   les   instructions   dans   le   langage   du   processeur   (on   dit   que   le   programme   est   en   langage  machine),   il  peut  donc   les  exécuter  en  effectuant  un  branchement  vers   les  premières   instructions  du  programme.  

3. Langages  de  programmation  

3.1.  Les  différents  langages  de  programmation  

Il  existe  deux  types  de  langage  de  programmation  :  les  langages  interprétés  et  les  langages  compilés.  

•  Les  langages  interprétés  

Les  langages  interprétés  sont  traduits  en  langage  machine,  à  la  volée,  par  un  programme  :  ils  ne  sont  

Page 12: CHAPITRE1) - csvinternational.frcsvinternational.fr/Physique/Informatique_files/Chapitre 1.pdf · 2!!!!! !! ! ! ! ! ! ! !!!!!Chapitre1!:Architecture!des!ordinateurs! 1.2.)Lesportsde)communicationexternes)

12                                                      Chapitre  1  :  Architecture  des  ordinateurs  

donc  pas  exécutés  directement  par  la  machine.  L’avantage  des  langages  interprétés  est  qu’il  n’est  pas  nécessaire  de  compiler  son  code  pour  chaque  système  d’exploitation  ;  il  suffit  d’installer  le  programme  interpréteur   sur   votre   machine   et   votre   code   marchera  !   En   revanche,   un   langage   interprété   est  beaucoup  plus  lent  qu’un  langage  compilé.  Exemples  :  PHP,  JavaScript,  RUBY,  Python…  

•  Les  langages  compilés  

Les   langages   compilés   sont   directement   exécutés   par   la   machine.   Le   code   source   (c’est-­‐à-­‐dire   le  fichier   où   vous   avez   écrit   votre   code)   va   être   compilé   par   un   programme   spécial,   nommé   le  compilateur,   qui   va   générer   un   exécutable,   qui   pourra   fonctionner   tout   seul.   Ici   pas   d’intermédiaire  entre  la  machine  et  le  programme,  le  code  s’exécute  donc  plus  rapidement.  Par  contre,  il  est  bien  plus  compliqué   à   diffuser   car   la   compilation   dépend   de   l’architecture   du   processeur,   du   système  d’exploitation…  Exemples  :  C,  C++,  COBOL,  FORTRAN…  

3.2.  Environnement  de  développement  intégré  

Un  ordinateur  est  donc  une  machine  universelle,  sur  laquelle  tout  utilisateur  a  la  capacité  d’écrire  et  d’exécuter   un   programme,   dans   les   limites   fixées   par   le   système   d’exploitation.   Il   serait   cependant  assez   ardu   de   produire   des   programmes   complexes   s’il   n’existait   pas   des  moyens   adaptés   pour   les  développer.   Cette   section   présente   une   famille   de   logiciels   qui   ont   pour   seul   but   de   faciliter   la  conception  de  programmes,  en  fournissant  dans  un  cadre  unique  la  plupart  des  outils  dont  peut  avoir  besoin  un  programmateur.  

On  appelle  environnement  de  développement  intégré  (abrégé  en  IDE)  un  logiciel  qui  permet  :  • d’écrire  des  programmes  dans  un  éditeur  adapté  au  langage  • d’exécuter  les  programmes  écrits  • de  corriger/débogueur  les  erreurs  dans  ces  programmes  • éventuellement  de  consulter  de  la  documentation  Il  existe  de  nombreux  logiciels  de  ce  type,  chacun  ayant  ses  particularités  :  spécifique  à  un  langage  de  programmation   ou   générique,   léger   ou   complet…   Cependant,   tous   fonctionnent   de   façon   similaire  :  l’essentiel   est   de   comprendre   les   principes   généraux   et   de   choisir   un   IDE   avec   lequel   on   travaille  confortablement.  

Les   outils   ci-­‐après   à   titre   d’exemple   sont   tous   gratuits   et   fonctionnent   sur   le   principe   du   logiciel  libre  :  

• IDLE  :  fourni  avec  la  distribution  standard  de  Python,  il  est  particulièrement  sobre,  donc  suffisant  pour  une  utilisation  basique  de  Python.  

• Eclipse  :  plus  lourd  à  manipuler,  il  possède  des  plugins  pour  à  peu  près  n’importe  quel  langage  de  programmation  et  pourra  donc  intéresser  les  personnes  qui  souhaitent  utiliser  le  même  IDE  dans  différents  contextes.  

• Emacs   ou   Vim  :   ce   sont   des   éditeurs   de   texte   qui   peuvent   être   étendus   pour   exécuter   des  programmes   Python,   ou   même   d’autres   langages.   Si   cette   solution   a   l’avantage   d’être  particulièrement   légère,   elle   est   évidemment   très   dépouillée   et   n’est   pas   forcèment   facile   à  prendre  en  main.  

 

 

Page 13: CHAPITRE1) - csvinternational.frcsvinternational.fr/Physique/Informatique_files/Chapitre 1.pdf · 2!!!!! !! ! ! ! ! ! ! !!!!!Chapitre1!:Architecture!des!ordinateurs! 1.2.)Lesportsde)communicationexternes)

  Chapitre  1  :  Architecture  des  ordinateurs                          13  

Cette  année,  nous  utiliserons  Spyder,  qui  est  l’IDE  fournit  avec  Python(x,y).  L’avantage   le   plus   significatif   de   Spyder   par   rapport   aux   autres   distributions   est   que   les  bibliothèques  utilisées  sont  fournies  directement,  ce  qui  en  simplifie  largement  l’installation.  

 

La  fenêtre  de  Spyder  est  divisée  en  trois  parties  :  • L’éditeur,  à  gauche,  dans  lequel  on  écrit  les  programmes.  • L’explorateur,   en   haut   à   droite,   qui   est   surtout   utilisé   comme   débogueur,   mais   qui   peut  également  servir  de  documentation.  

• La  console  interactive,  en  bas  à  droite,  dans  laquelle  s’exécutent  les  programmes.  

•  La  console  interactive  

Au  démarrage  de  Spyder,  la  console  interactive  affiche  des  informations  sur  la  version  de  Python  utilisée,  ainsi  que  quelques  fonctions  d’aide.  La  dernière  ligne,  qui  commence  par  In  suive  d’un  nombre  entre  crochets,  attend  que  l’on  tape  une  commande  :  c’est   le  mode  interactif  de  Python,  où  chaque   ligne   tapée  est   immédiatement  exécutée.  Ainsi,  si  l’on  tape  une  expression,  sa  valeur  s’affiche  :  

 On   appelle  session  de   travail   une   suite  d’instructions   saisies  dans  une   fenêtre  Python   interactive  avec   les  réponses  correspondantes.   Il  est  possible  d’enregistrer   le  contenu  d’une  session  de  travail  à  l’aide  de  la  commande  Enregistrer  l’historique  accessible  par  un  clic  droit  dans  la  console.          

☛✡✟✠

☛✡✟✠ ☛✡✟✠

☛✡✟✠

Page 14: CHAPITRE1) - csvinternational.frcsvinternational.fr/Physique/Informatique_files/Chapitre 1.pdf · 2!!!!! !! ! ! ! ! ! ! !!!!!Chapitre1!:Architecture!des!ordinateurs! 1.2.)Lesportsde)communicationexternes)

14                                                      Chapitre  1  :  Architecture  des  ordinateurs  

Dans   la   console   interactive,   on   peut   utiliser   des   variables   pour   stocker   des   valeurs.   L’affectation  s’écrit  avec  le  symbole  =  et  n’affiche  aucune  valeur,  mais  la  variable  est  mémorisé,  ainsi  que  la  valeur  qu’on  lui  a  donnée.  L’avantage  est  qu’elle  peut  être  utilisée  dans  la  suite  de  la  session.  

 Notons  que  si  l’on  utilise  dans  une  expression  une  variable  à  laquelle  on  n’a  jamais  donné  de  valeur,  une  erreur  se  produit  :  

 La   dernière   ligne   de   ce  message   indique   plus   précisément   d’où   vient   l’erreur,   ici   de   la   variable   b  utilisée  à  tort.    Enfin,  il  est  possible  de  rappeler  une  ligne  tapée  précédemment  à  l’aide  des  flèches  haut  et  bas,  et  de  modifier  cette  ligne  avant  de  relancer  son  calcul  avec  Entrée.  A  chaque  nouvelle  session,  les  valeurs  des  variables  sont  perdues.  Les  sessions  interactives  sont  donc  à  réserver  pour  tester  très  rapidement  l’évaluation  de  quelques  expressions  que  l’on  ne  souhaite  pas  conserver  par  la  suite.  

•  L’éditeur  

Dès  que  l’on  veut  écrire  un  programme,  ou  même  tout  simplement  une  suite  d’instructions  dont  on  veut  garder  une  trace,  on  utilise  l’éditeur.  Voici  un  premier  programme  Python  à  tester  :  

 On  observe  déjà  plusieurs  différences  par  rapport  au  mode  interactif  :  • les  mots-­‐clés  du  langage  (comme  print)  se  colorent  pour  ressortir  sur  le  reste  du  texte  • les  chaînes  de  caractère  (entre  guillemets)  se  colorent  également  • lorsque   l’on   tape   une   parenthèse   ouvrante,   la   parenthèse   fermante   correspondante   se   crée  automatiquement  et  lorsque  l’on  place  le  curseur  à  droite  d’une  parenthèse,  celle-­‐ci  se  colore  en  rouge  s’il  manque  la  parenthèse  correspondante  et  en  vert  sinon.  

Ainsi,  le  programme  écrit  devient  plus  lisible  et  on  évite  de  nombreuses  fautes  de  frappe.  Cependant,  à  ce  stade,  le  programme  n’est  encore  qu’un  texte,  une  suite  de  caractères  qui  n’a  pas  de  sens  pour  l’ordinateur.  Pour  que  la  machine  exécute  (on  dit  aussi  interprète)  les  instructions  que  l’on  a   tapées,   il   faut   le   lui   demander   par   la   commande   Exécution   du   menu   du   même   nom   (ou   par   le  raccourci   clavier   F5).   Les   instructions   sont   alors   lues   et   exécutées   ;   le   résultat,   lorsqu’il   y   en   a   un,  s’affiche  dans  l’interpréteur  interactif.        

Page 15: CHAPITRE1) - csvinternational.frcsvinternational.fr/Physique/Informatique_files/Chapitre 1.pdf · 2!!!!! !! ! ! ! ! ! ! !!!!!Chapitre1!:Architecture!des!ordinateurs! 1.2.)Lesportsde)communicationexternes)

  Chapitre  1  :  Architecture  des  ordinateurs                          15  

SAVOIR-­‐FAIRE  :  Utiliser  un  IDE  

Le   minimum   pour   utiliser   un   environnement   de   développement   intégré   est   de  savoir  :  • lancer  l’IDE  • ouvrir  et  enregistrer  les  programmes  que  l’on  écrit  • exécuter  ces  programmes  • savoir  se  servir  du  débogueur  

•  Le  débogueur  

La  fenêtre  située  en  haut  à  droite  de  Spyder  possède  plusieurs  onglets  :  • l’inspecteur  d’objets  fournit  de  l’aide  sur  un  type  ou  sur  une  fonction  • l’explorateur  de  variables  indique  la  valeur  de  toutes  les  variables  à  tout  moment  • l’explorateur  de  fichiers  parcourt  les  fichiers  Python  du  système  de  fichiers.  

Celui   qui   va   servir   plus   particulièrement   est   l’onglet  Explorateur   de   variables.   Par   exemple,   après  l’exécution  du  programme  écrit  plus  haut,  on  retrouve  dans  l’explorateur  la  variable  𝑥  avec  une  valeur  de  42.  Si  l’interpréteur  interactif  dans  lequel  on  travaille  est  le  même  depuis  le  début,  on  y  retrouvera  également  les  variables  𝑎  et  𝑏  que  l’on  a  affectées  directement  dans  la  console.  Pour   chercher   une   erreur   dans   un   programme,   ou   tout   simplement   pour   mieux   comprendre   son  fonctionnement,   il   peut   être   utile   de   l’exécuter   pas   à   pas.   Si   cela   reste   faisable   de   tête   pour   des  programmes  simples,  il  devient  vite  beaucoup  plus  commode  de  confier  cette  tâche  à  la  machine.  On  prendra  l’exemple  suivant  :  

 Après  avoir   recopié  ce  programme  dans   l’éditeur,   au   lieu  de   l’exécuter  normalement,  on  appelle   la  commande  Déboguer  du  menu  Exécution.   La   première   ligne   du   programme   (x = 10)   est   surlignée   et  recopiée  dans  l’interpréteur,  mais  elle  n’est  pas  encore  exécutée  :  on  peut  le  vérifier  en  constatant  que  x  n’a  pas  la  valeur  10  dans  l’explorateur  de  variables.  Pour  exécuter  cette  ligne,  on  peut  cliquer  sur  le  bouton  Pas  en  avant.  La  ligne  est  alors  exécutée,  x  prend  la  valeur  10  et  c’est  la  ligne  suivante  (y = 7)  qui  est   surlignée.  On  peut   ensuite   continuer   à   exécuter   les   lignes   les   unes   après   les   autres   et   surveiller  l’évolution  des  différentes  variables  dans  l’explorateur.  Comme   il   est  malcommode  de   cliquer   sur   un  bouton  pour   chaque   ligne   alors   que   seules   certaines  posent   problème,   on  peut   fixer   des  points   d’arrêts  dans   le   programme.  Pour   cela,   on   se  place   sur   la  ligne  à  laquelle  on  désire  faire  une  pause  et  on  choisit  Ajouter  un  point  d’arrêt  dans  le  menu  Exécution  (raccourci  F12).  On  peut  également  double-­‐cliquer  dans  la  marge  gauche  du  programme  ;  le  symbole  !   s’affiche   alors   en   face   de   cette   ligne.   Par   exemple,   dans   le   programme   précédent,   il   peut   être  judicieux  de  placer  un  point  d’arrêt  à  la  dernière  ligne,  dans  laquelle  risque  de  se  produire  une  division  par  zéro.  

SAVOIR-­‐FAIRE  :  Utiliser  un  débogueur  

Pour  identifier  une  erreur  dans  un  programme  :  • on  identifie  les  variable  qui  ne  se  comportent  pas  comme  prévue  • on  localise  l’erreur  au  moyen  d’une  exécution  pas  à  pas  • on  place  des  points  d’arrêt  aux  endroits  critiques  du  programme  

 

☛✡✟✠

☛✡✟✠ ☛✡✟✠

☛✡✟✠