Un système informatique (SI) est composé de deux parties : le matériel (hardware) et le logiciel (software). Un SI permet de traiter des informations reçues en entrée, et retourne d'autres informations en sortie.

Par exemple, deux nombres et un opérateur d'addition sont fournis par un opérateur via un clavier et le SI retourne sur un écran, le résultat d'un traitement applicatif qui est la somme des deux nombres. Dans ce cas, en parfaite symbiose, le logiciel et le matériel ont concouru à la saisie de données d'entrée, au traitement des informations et à l'affichage de données de sortie.

Le matériel est un ensemble de composants destiné à acquérir des informations extérieures (clavier, souris, webcam, scanner, etc.), à accomplir des traitements internes (processeur, CPU : Central Processing Unit, etc.), à stocker des informations dans des mémoires de masse (disque dur, disquette, cédérom, DVD ROM, etc.) et à restituer le résultat des traitements (écran, imprimante, carte son, etc.).
Le matériel est une machine possédant des entrées et des sorties, permettant le traitement de données.

Les données convergeant vers des entrées et divergeant vers des sorties sont des informatons compréhensibles par un être humain. Par exemple, un paragraphe saisi au clavier, ou une page numérisée sont directement interprétables par l'homme, de même que des paroles émises par l'intermédaire de moyens phoniques ou un document web affiché sur un moniteur. Par contre, ces informations sont converties dans un langage compréhensible par le matériel et en particulier le processeur ou unité de traitement. En l'occurrence, ces informations sont des données binaires, soit une suite de bits dont chacun peut prendre la valeur 0 ou 1 (false ou true, faux ou vrai, fermé ou ouvert) que l'ensemble du système périphérique convertit au gré des besoins.

La plus petite information binaire est un bit. Les bits sont regroupés dans des octets (bytes), soit des groupes de huit bits. Les octets constituent des mots de un, deux, quatre ou huit octets directement soumis au processeur. Un processeur 32 bits pourra traiter un mot de 64 bits en utilisant deux temps d'horloge. En effet, l'unité de traitement synchronise ses opérations par rapport à une horloge (quartz) envoyant des signaux à intervalles réguliers, il s'agît en fait, de la fréquence du processeur. Plus, cette fréquence est élevée, plus rapidement seront effectués les calculs et les échanges d'informations entre le système périphérique et l'unité de traitement. Différentes mémoires sont mises à la disposition du CPU afin de stocker les différentes informations relatives au fonctionnement du système informatique (ROM : Read Only Memory, mémoire permanente) et de conserver des informations provenant de différentes sources comme le système périphérique ou le processeur lui-même (RAM : Random Access Memory, mémoire volatile) d'accélérer le traitement des données (mémoire cache) et de charger des mots binaires avant traitement (registres intégrés au processeur).

Le CPU commande tout le système informatique via un circuit électrique appelé bus système. Toutes les mémoires sont connectées à ce bus possédant également une certaine fréquence. L'ensemble des périphérique est également relié à ce circuit par l'intermédiaire de dispositifs d'intégration appelés interfaces. Ces dernières fonctionnent comme des mémoires pour le processeur, dans lesquelles il peut lire et écrire des données binaires.

Le CPU est capable de faire des opérations élémentaires telles que l'addition, la soustraction, la multiplication, les décalages, des opérations logiques ET, OU, NON, etc.. Lorsqu'un calcul est éffectué par le processeur, plusieurs informations binaires lui sont d'abord transmises, comme des opérandes droite et gauche ainsi qu'une instruction d'addition (par exemple), puis en fonction de ces données, un résultat est produit et est retourné à l'utilisateur.

Toutes les opérations élémentaires précitées que le processeur est capable de faire, sont désignées chacune par une information binaire spécifique stockée en mémoire centrale. Ces instructions constituent le langage machine, en quelque sorte le logiciel de programmation le plus prôche du processeur. Chacune de ces instructions déclenche une commande de base du processeur comme dans l'exemple précedent : rechercher des valeurs dans la mémoire pour charger des registres, puis additionner les deux registres et stocker le résultat dans un autre registre avant utilisation.
Le langage machine n'est pas universel puisque des systèmes informatiques Macintosh ou PC (Personal Computer) ne gère pas les instructions de la même façon si bien que ces machines sont incompatibles entre elles à moins de posséder un émulateur manquant souvent de performances.

Le système d'exploitation (OS : Operating System) de tout système informatique s'appuie sur le langage machine pour accomplir la moindre de ses actions. L'OS est un logiciel chargé des opérations de bas niveau, c'est-à-dire au plus près du matériel. Les données et les instructions sont décomposées en unité élémentaires par le système d'exploitation avant de les soumettre à l'unité de traitement.

Il existe différents types d'OS sur le marché comme DOS, Unix, Mac OS, Windows, OS/2 et Linux. Tous n'ont pas les mêmes caractéristiques, et ne sont pas tous employés dans les mêmes domaines. Par exemple la famille Unix (AIX, Digital Unix, HP-UX, NetBSD, OpenBSD, SCO, Solaris, SunOS), sans conteste la plus mature, est utilisée dans le domaine des serveurs professionnels, Mac OS se positionne dans la sphère de la PAO (Publication Assistée par Ordinateur), du graphisme ou du multimédia, et Windows s'éparpillant dans tous les secteurs, équipe les particuliers comme les entreprises.

Les systèmes d'exploitation se démarquent les uns des autres par certaines capacités de fonctionnement interne de leur noyau (kernel). Par exemple, DOS est mono-utilisateur et monotâche, la gamme des Windows XX destinée aux particuliers sont de types mono-utilisateur et multitâches, tandis qu'un Unix est multi-utilisateurs et multitâches. Les termes mono/multi-utilisateurs et mono/multitâches signifient respectivement que l'OS est capable d'accepter sur un même SI un ou plusieurs utilisateurs et exécuter une ou plusieurs opérations simultanément. D'autre part, certains OS seront excellents dans des secteurs précis car leur jeu d'instructions élémentaires et leur architecture seront plus ou moins bien adaptés à l'utilisation qui en sera faite.

Les interfaces utilisateurs selon les systèmes d'exploitation diffèrent entre eux. Acutellement, l'interface graphique utilisateur (GUI : Graphic User Interface) propose une ergonomie sans conteste efficace et conviviale. Quasiment tous les OS possèdent une inteface fenêtrée pilotable à la souris, permettant une navigation visuelle jusqu'au coeur du système. Néanmoins, le mode console (ligne de commandes) des anciens Unix, DOS ou Linux demeurent encore aujourd'hui incontournable dans le secteur des réseaux et de la sécurité informatique.

Divers programmes exécutables intégrés dans les systèmes d'exploitation permettent de configurer l'OS et le matériel (make, lsmod, menuconfig sous Linux, regedit, ipconfig sous Windows), de renseigner les utilisateurs (help, perfmon, setver sous Windows, history, diff, hdparm sous Linux, ) ou d'effectuer diverses tâches (edit, notepad, calc sous Windows, tar, tty, sh sous Linux).

Le système de fichiers est un composant extrêmement important d'un OS puisque c'est à lui que revient l'organistation des mémoires de masses. Dans un premier temps, les différents supports physiques tels que les disques durs ou les disquettes doivent subir un formatage spécifique déterminant la manière dont sera structurée les données binaires. Un disque dur sera ainsi divisé en secteurs, pistes et cylindres et une table d'allocation de fichiers située en général dans le premier secteur servira à repérer la localisation de chaque fichier et dossier.

Les fichiers sont une collection d'octets avec une structure particulière dépendant de son type (Feuille de calcul, document texte, image, programme source, exécutable, bibliothèque, etc.). Leur taille dépend de leur contenu, un fichier texte comprend des caractères pesant chacun un octet, tandis qu'un exécutable peut contenir des instructions binaires pesant chacune de un à huit octets. L'utilisation des fichiers passent obligatoirement par leur chargement en mémoire centrale (RAM). Seulement à ce moment, ils pourront être exécutés, consultés, ou encore modifiés. Les fichiers possédant en général un nom et une extension (identificateur.ext) sont regroupés dans des répertoires, lesquels peuvent être également placés dans d'autres répertoires, formant ainsi une arborescence parfaitement connue par la table d'allocation. Tous les fichiers y compris les fichiers systèmes sensibles peuvent être exploitables par des utilisateurs quelconques comme sous Windows 9X ou une segmentation des mémoires de masse est créée afin que les utilisateurs n'accèdent qu'aux fichiers autorisés par rapport à leurs droits d'accès à l'image de Unix, Linux, Windows NT, 2000...

Un système informatique est une combinaison hautement interdépendante de matériels (processeur, périphériques, etc.) et de logiciels (langage machine, système d'exploitation). Les OS proposent une interface en mode graphique ou parfois en ligne de commandes garantissant une compréhensibilité entre l'utilisateur et la machine pour finalement exploiter au mieux l'ensemble des possiblités qu'offrent un système informatique. A partir de l'interface utilisateur (UI : User Interface), le développeur sera en mesure de programmer des applications qui viendront se greffer sur le SI et ainsi enrichir ce dernier d'une nouvelle couche applicative améliorant substantiellement l'UI.

Sommaire