Matériels, systèmes et logiciels
Architectures matérielles
Architectures matérielles
- Depuis le début des années 2010, les smartphones et les tablettes constituent de véritables systèmes informatiques.
- Quelles que soient leurs formes, tous ces appareils sont dérivés d’une architecture imaginée à la fin de la Seconde Guerre mondiale.
- C’est John von Neumann qui a conceptualisé en 1945 un ordinateur stockant un programme en mémoire, inspiré des machines de Turing.
- L’ordinateur de von Neumann est présenté comme un « système de calcul numérique automatique à très haute vitesse » et est composé de cinq élements :
- l'unité de traitement qui permet d'effectuer des calculs ;
- l'unité de contrôle qui pilote les suites d'instructions ;
- la mémoire qui stocke les programmes et les données de travail ;
- les mécanismes d'entrées-sorties qui permettent de communiquer avec l'ordinateur ;
- la mémoire de stockage externe qui conserve durablement les programmes et les données.
- Plus tard, les transistors puis les premières puces électroniques apporteront davantage de puissance et de fiabilité.
- Ces évolutions permettront aussi une miniaturisation croissante des appareils.
- Moore constate que les progrès de la miniaturisation permettent de doubler chaque année le nombre de transistors sur une surface donnée.
- Cette tendance exponentielle est connue sous le nom de loi de Moore.
- Un micro-ordinateur est construit sur la base d'un grand circuit imprimé : la carte mère qui rassemble l'ensemble des composants nécessaires au fonctionnement de l'ordinateur.
- La carte mère d'un micro-ordinateur moderne comporte un micro-processeur, une mémoire vive, une mémoire non volatile, différents connecteurs, des bus de données qui véhiculent les données entre les composants.
- L'essor des usages multimédia et des réseaux a conduit à l'intégration de bon nombre de fonctionnalités en standard sur les cartes mères modernes (fonctionnalités audio, accès au réseau, port USB etc.)
- L'architecture d'un smartphone est construite autour d'un système sur puce : il s’agit d’un circuit intégré réunissant les composants habituellement séparés d’un appareil électronique.
- Ils sont désignés sous le sigle SoC (pour System on Chip en anglais) et comporte généralement :
- au moins un processeur ;
- éventuellement des co-processeurs ;
- de la mémoire, qui peut être de différents types ;
- des fonctions de traitement du signal ;
- des interfaces d'entrées-sorties.
- Certains ordinateurs sont, eux aussi, construits autour d’un système à puce.
Systèmes d’exploitation
Systèmes d’exploitation
- Le système d’exploitation est un système logiciel qui gère les ressources et fonctionnalités des ordinateurs et smartphones.
- Sur les ordinateurs personnels, le principal système d'exploitation est Microsoft Windows (8 ordinateurs sur 10).
- Les autres ordinateurs personnels sont majoritairement équipés du MacOs d'Apple ou des distributions Linux.
- Les serveurs web sont majoritairement équipés de systèmes d'exploitation de la famille UNIX, notamment des distributions Linux.
- Sur les smartphones, le principal système d'exploitation est Google Android (7 smartphones sur 10).
- Les autres smartphones sont majoritairement équipés d'Apple iOS.
- Le système d'exploitation constitue une couche d'abstraction par rapport aux ressources matérielles de l'appareil.
- Il coordonne l'usage et les accès aux différentes ressources de l'appareil (mémoire, processeur, périphériques).
- Il assure le bon fonctionnement du système (gestion des fichiers et sécurité).
- Différents composants assurent le bon fonctionnement du système d'exploitation :
- le noyau (kernel en anglais) ;
- le système de fichiers (file system) ;
- la gestion des entrées-sorties ;
- l'interface utilisateur (shell) ;
- Les systèmes d'exploitation modernes sont multitâches, multi-utilisateurs , multi-processeurs.
- L'ordonnancement des processus consiste à organiser et contrôler les différents processus et leur bascule d'un état à un autre.
- Les processus en cours d'exécution peuvent prendre trois états :
- prêt (le programme attend l'autorisation pour fonctionner) ;
- actif (le programme utilise ponctuellement le processeur ou la ressource demandée) ;
- bloqué (le programme attend un événement externe pour pouvoir poursuivre son exécution).
- On peut avoir un phénomène d’interblocage lorsque deux processus attendent mutuellement après une ressource dépendant d’un autre processus.
- On cherchera alors à optimiser l’exécution des processus en minimisant les « temps morts ».
- En l'absence de mécanisme permettant l’évitement du blocage, il pourra perdurer indéfiniment.
- C’est pourquoi les systèmes d'exploitation intègrent des mécanismes de détection ou de prévention des interblocages.
- Les systèmes d'exploitation proposent des interfaces, accessibles à l'utilisateur ou à l'administrateur de l'appareil.
- Les deux catégories d'interfaces sont :
- la ligne de commande (CLI en anglais, pour Command Line Interface) ;
- l'interface graphique (GUI en anglais, pour Graphical User Interface).