INFJ Cours D'informatique Et Bureautique N°1
INFJ Cours D'informatique Et Bureautique N°1
L'objectifs de ce module est d'évaluer les connaissances des étudiants dans le domaine
des technologies de l'information et de la communication (TIC).ce cours peut répondre à
certain questions que l'on peut poser autour de l'utilisation des nouvelles technologies
de traitement automatique de l'information et de son rôle dans le développement de
secteur de tourisme.
Ce cours est destiné aux étudiants de la première année Tronc commun spécialité
Hébergement et Tourisme.
4- Continu pédagogique
1
Cours Informatique : 1ère année Tronc commun
Professeur : Mr SOUSSI HAYMEN. Tous droits réservés
Semestre 1 :
Semestre 2
2
Cours Informatique : 1ère année Tronc commun
Professeur : Mr SOUSSI HAYMEN. Tous droits réservés
1- Définition
Chaque année le forum économique mondial publie un classement des pays les plus
ouvert aux nouvelles Technologies d'Informations et de la Communication .Dans le
classement publié le 30/O3/2006 la France se classe 22 éme au même niveau que
l’Estonie, et l’Etat Unis occupent la première place devant Singapour et le Danmark, la
Tunisie occupe la première place africains et 36 éme place mondial dans le domaine
des TIC
Les Hôtels et les agences des voyages sont les plus concerné par le domaine des
technologies de l'information et de la communication
3
Cours Informatique : 1ère année Tronc commun
Professeur : Mr SOUSSI HAYMEN. Tous droits réservés
4
Cours Informatique : 1ère année Tronc commun
Professeur : Mr SOUSSI HAYMEN. Tous droits réservés
1- Objectifs de chapitre
2- Définition de l'information
3- Définition de l'informatique
A. Présentation de l'ordinateur
1- Définition de l'ordinateur
Un ordinateur est un ensemble de circuits électroniques permettant de manipuler des
données sous forme binaire, c'est-à-dire sous forme de bits. Le mot « ordinateur »
provient de la société IBM France. François Girard, alors responsable du service
promotion générale publicité de l'entreprise IBM France, eut l'idée de consulter son
5
Cours Informatique : 1ère année Tronc commun
Professeur : Mr SOUSSI HAYMEN. Tous droits réservés
6
Cours Informatique : 1ère année Tronc commun
Professeur : Mr SOUSSI HAYMEN. Tous droits réservés
2- Types d'ordinateurs
Toute machine capable de manipuler des informations binaires peut être qualifiée
d'ordinateur, toutefois le terme « ordinateur » est parfois confondu avec la notion
d'ordinateur personnel (PC, abréviation de personal computer), le type d'ordinateur le
plus présent sur le marché. Or il existe beaucoup d'autres types d'ordinateurs (la liste
suivante est non exhaustive) :
• Amiga
• Compact
• Apple Macintosh
• DELL
• stations SUN
• IBM
La suite de ce dossier, aussi générique soit-elle, s'applique ainsi plus particulièrement
aux ordinateurs de type PC, appelés aussi ordinateurs compatibles IBM, car IBM est la
firme qui a créé les premiers ordinateurs de ce type et a longtemps (jusqu'en 1987) été
le leader dans ce domaine, à tel point qu'elle contrôlait les standards, copiés par les
autres fabricants.
Historique
7
Cours Informatique : 1ère année Tronc commun
Professeur : Mr SOUSSI HAYMEN. Tous droits réservés
²
Fig. 1 ENIAC : le premier ordinateur entièrement numérique
a- Calculer
C'est la tâche pour laquelle l'ordinateur a été conçu au départ. D'ailleurs, le nom anglais
de l'ordinateur, « computer », signifie en français « calculateur ».
La fonction de calcul d'un ordinateur ne se limite pas à l'utilisation de la calculette, d'un
tableur ou à l'exécution de programmes de calculs scientifiques.
Il y a en fait du calcul dans toutes les opérations que réalise un ordinateur :
- L'affichage d'une page web ou d'un document réalisé avec un traitement de texte,
- Le codage et le décodage des informations stockées dans les fichiers,
8
Cours Informatique : 1ère année Tronc commun
Professeur : Mr SOUSSI HAYMEN. Tous droits réservés
Par exemple, lorsque l'on rédige une lettre dans un traitement de texte, celui-ci doit être
capable de transformer l'ensemble de son contenu (ici, le texte et sa mise en forme) en
une suite de nombres que l'ordinateur peut ensuite stocker ou manipuler.
Cette opération, appelée « codage de l'information », est l'une des nombreuses
opérations de calcul nécessaires au fonctionnement des différents programmes
.
Lorsque vous utilisez un ordinateur, vous avez souvent besoin de conserver les
résultats de votre travail. C'est par exemple le cas si vous rédigez votre CV, utilisez un
outil de messagerie ou travaillez sur un logiciel de retouche d'image.
Dans toutes ces situations, une fois votre travail terminé, vous souhaitez que l'ordinateur
puisse enregistrer les données correspondantes, et vous les restituer ultérieurement.
Quels que soient les éléments de l'ordinateur où ce stockage aura lieu, il est nécessaire
de mettre en forme ces données et de les organiser, pour que vous puissiez les
retrouver au milieu de l'ensemble des autres données également stockées au même
endroit.
c- Communiquer
Un ordinateur peut communiquer soit avec un utilisateur, soit avec un autre ordinateur.
La fonction de communication ne consiste donc pas uniquement à échanger des
informations sur Internet. Cette utilisation de l’ordinateur est d’ailleurs la plus récente,
puisqu’elle ne s’est réellement développée qu’avec l’essor du Web, dans les années
1990.
En revanche, quelle que soit la tâche que vous réalisez avec votre ordinateur, vous
passez votre temps à interagir avec lui, soit pour lui donner des ordres, soit pour
prendre connaissance des résultats. Dans ce cadre, un grand nombre d’éléments,
matériels et logiciels, font partie de l’interface homme-machine, qui permet la
communication entre l’utilisateur et l’ordinateur.
Les principales notions qui permettent de comprendre en quoi consiste une interface
homme-machine sont définies dans la section « communication avec un ordinateur ».
9
Cours Informatique : 1ère année Tronc commun
Professeur : Mr SOUSSI HAYMEN. Tous droits réservés
spécifiées
La structure d'un ordinateur comprend cinq éléments fondamentaux : une unité centrale
de traitement (microprocesseur), des périphériques d'entrée et de sortie, des unités de
stockage (mémoires externes et internes), et un bus chargé de véhiculer l'information
entre les composants de la machine.
10
Cours Informatique : 1ère année Tronc commun
Professeur : Mr SOUSSI HAYMEN. Tous droits réservés
B. Au cœur de l'ordinateur
Un ordinateur est un ensemble de composants électroniques modulaires, c'est-à-dire
des composants pouvant être remplacés par d'autres composants ayant éventuellement
des caractéristiques différentes, capables de faire fonctionner des programmes
informatiques. On parle ainsi de « hardware » pour désigner l'ensemble des éléments
matériels de l'ordinateur et de « software » pour désigner la partie logicielle
Les composants matériels de l'ordinateur sont architecturés autour d'une carte
principale comportant quelques circuits intégrés et beaucoup de composants
électroniques tels que condensateurs, résistances, etc. Tous ces composants sont
soudés sur la carte et sont reliés par les connexions du circuit imprimé et par un grand
nombre de connecteurs : cette carte est appelée carte mère.
11
Cours Informatique : 1ère année Tronc commun
Professeur : Mr SOUSSI HAYMEN. Tous droits réservés
Comme son nom l'indique, la carte mère est une carte maîtresse, prenant la forme d'un
grand circuit imprimé possédant notamment des connecteurs pour les cartes
d'extension, les barrettes de mémoires, le processeur, etc.
2- Caractéristiques d'une carte mère
Il existe plusieurs façons de caractériser une carte mère, notamment selon les
caractéristiques suivantes :
• le facteur d'encombrement,
• le chipset,
12
Cours Informatique : 1ère année Tronc commun
Professeur : Mr SOUSSI HAYMEN. Tous droits réservés
• Le BIOS,
13
Cours Informatique : 1ère année Tronc commun
Professeur : Mr SOUSSI HAYMEN. Tous droits réservés
14
Cours Informatique : 1ère année Tronc commun
Professeur : Mr SOUSSI HAYMEN. Tous droits réservés
La carte mère possède un emplacement (parfois plusieurs dans le cas de cartes mères
multi-processeurs) pour accueillir le processeur, appelé support de processeur. On
distingue deux catégories de supports :
• Slot (en français fente) : il s'agit d'un connecteur rectangulaire dans lequel on
enfiche le processeur verticalement
• Socket (en français embase) : il s'agit d'un connecteur carré possédant un grand
nombre de petits connecteurs sur lequel le processeur vient directement
s'enficher
Les connecteurs de mémoire vive
Les connecteurs d'extension (en anglais slots) sont des réceptacles dans lesquels il
est possible d'insérer des cartes d'extension, c'est-à-dire des cartes offrant de nouvelles
fonctionnalités ou de meilleures performances à l'ordinateur. Il existe plusieurs sortes de
connecteurs
Les connecteurs d'entrée-sortie
La carte mère possède un certain nombre de connecteurs d'entrées-sorties regroupés
sur le « panneau arrière ».
• Ports USB (1.1, bas débit, ou 2.0, haut débit), permettant de connecter des
périphériques plus récents ;
15
Cours Informatique : 1ère année Tronc commun
Professeur : Mr SOUSSI HAYMEN. Tous droits réservés
mère ;
Donc la carte mère est une plaque électronique ou sont installé les déférentes
composante essentielle de l'ordinateur (Processeur, mémoire, connecteurs ...) .Ces
composantes peuvent communiquer et échanger des données entre eux, cette
opération ce fait à l'aides des bus (outils de transport des données entre les
déférentes composantes de l'ordinateur) par exemple : échange de données entre le
micro-processeur et le carte mère, et les autre périphériques.
3- Introduction à la notion de bus
Les bus ont pour but de réduire le nombre de « voies » nécessaires à la communication
des différents composants, en mutualisant les communications sur une seule voie de
données. C'est la raison pour laquelle la métaphore d'« autoroute de données » est
parfois utilisée.
Les bus ont pour but de réduire le nombre de « voies » nécessaires à la communication
des différents composants, en mutualisant les communications sur une seule voie de
données. C'est la raison pour laquelle la métaphore d'« autoroute de données » est
parfois utilisée.
16
Cours Informatique : 1ère année Tronc commun
Professeur : Mr SOUSSI HAYMEN. Tous droits réservés
volume, exprimé en bits, correspond au nombre de lignes physiques sur lesquelles les
données sont envoyées de manière simultanée. Une nappe de 32 fils permet ainsi de
transmettre 32 bits en parallèle. On parle ainsi de « largeur » pour désigner le nombre
de bits qu'un bus peut transmettre simultanément.
D'autre part, la vitesse du bus est également définie par sa fréquence (exprimée en
Hertz), c'est-à-dire le nombre de paquets de données envoyés ou reçus par seconde.
On parle de cycle pour désigner chaque envoi ou réception de données.
4- Le Processeur
4.1- Présentation
Le processeur (CPU, pour Central Processing Unit, soit Unité Centrale de Traitement)
est le cerveau de l'ordinateur. Il permet de manipuler des informations numériques,
c'est-à-dire des informations codées sous forme binaire, et d'exécuter les instructions
stockées en mémoire.
Le premier microprocesseur (Intel 4004) a été inventé en 1971. Il s'agissait d'une unité
de calcul de 4 bits, cadencé à 108 kHz. Depuis, la puissance des microprocesseurs
augmente exponentiellement. Quels sont donc ces petits morceaux de silicium qui
dirigent nos ordinateurs
4.2- Fonctionnement
Le processeur (noté CPU, pour Central Processing Unit) est un circuit électronique
cadencé au rythme d'une horloge interne, grâce à un cristal de quartz qui, soumis à un
courant électrique, envoie des impulsions, appelées « top ». La fréquence d'horloge
(appelée également cycle, correspondant au nombre d'impulsions par seconde,
s'exprime en Hertz (Hz). Ainsi, un ordinateur à 200 MHz possède une horloge envoyant
200 000 000 de battements par seconde. La fréquence d'horloge est généralement un
multiple de la fréquence du système (FSB, Front-Side Bus), c'est-à-dire un multiple de la
fréquence de la carte mère
A chaque top d'horloge le processeur exécute une action, correspondant à une
instruction ou une partie d'instruction. L'indicateur appelé CPI (Cycles Par Instruction)
permet de représenter le nombre moyen de cycles d’horloge nécessaire à l’exécution
d’une instruction sur un microprocesseur
La puissance du processeur peut ainsi être caractérisée par le nombre d'instructions
qu'il est capable de traiter par seconde. L'unité utilisée est le MIPS (Millions
d'Instructions Par Seconde) correspondant à la fréquence du processeur que divise le
CPI.
17
Cours Informatique : 1ère année Tronc commun
Professeur : Mr SOUSSI HAYMEN. Tous droits réservés
4.3- Instructions
Une instruction est l'opération élémentaire que le processeur peut accomplir. Les
instructions sont stockées dans la mémoire principale, en vue d'être traitée par le
processeur.
Les instructions peuvent être classées en catégories dont les principales sont :
Fig.6 : Le Processeur
4.4 - Les Registres
Lorsque le processeur exécute des instructions, les données sont temporairement
stockées dans de petites mémoires rapides de 8, 16, 32 ou 64 bits que l'on appelle
registres. Suivant le type de processeur le nombre global de registres peut varier d'une
dizaine à plusieurs centaines.
Les registres principaux sont :
18
Cours Informatique : 1ère année Tronc commun
Professeur : Mr SOUSSI HAYMEN. Tous droits réservés
arithmétiques et logiques ;
19
Cours Informatique : 1ère année Tronc commun
Professeur : Mr SOUSSI HAYMEN. Tous droits réservés
b. Le registre d'état.
c. Le registre accumulateur.
4- Une unité de gestion des bus (ou unité d'entrées-sorties), qui gère les flux
d'informations entrant et sortant, en interface avec la mémoire vive du système ;
Le schéma ci-dessous donne une représentation simplifiée des éléments constituant le
processeur (l'organisation physique des éléments ne correspond pas à la réalité) :
20
Cours Informatique : 1ère année Tronc commun
Professeur : Mr SOUSSI HAYMEN. Tous droits réservés
21
Cours Informatique : 1ère année Tronc commun
Professeur : Mr SOUSSI HAYMEN. Tous droits réservés
22
Cours Informatique : 1ère année Tronc commun
Professeur : Mr SOUSSI HAYMEN. Tous droits réservés
b) La mémoire vive
La mémoire vive, généralement appelée RAM (Random Access Memory, traduisez
mémoire à accès direct), est la mémoire principale du système, c'est-à-dire qu'il s'agit
d'un espace permettant de stocker de manière temporaire des données lors de
l'exécution d'un programme.
En effet, contrairement au stockage de données sur une mémoire de masse telle que le
disque dur, la mémoire vive est volatile, c'est-à-dire qu'elle permet uniquement de
stocker des données tant qu'elle est alimentée électriquement. Ainsi, à chaque fois que
l'ordinateur est éteint, toutes les données présentes en mémoire sont irrémédiablement
effacées.
Fonctionnement de la mémoire vive
La mémoire vive est constituée de centaines de milliers de petits condensateurs
emmagasinant des charges. Lorsqu'il est chargé, l'état logique du condensateur est égal
23
Cours Informatique : 1ère année Tronc commun
Professeur : Mr SOUSSI HAYMEN. Tous droits réservés
à 1, dans le cas contraire il est à 0, ce qui signifie que chaque condensateur représente
un bit de la mémoire
Chaque condensateur est couplé à un transistor (de type MOS) permettant de «
récupérer » ou de modifier l'état du condensateur. Ces transistors sont rangés sous
forme de tableau (matrice), c'est-à-dire que l'on accède à une case mémoire (aussi
appelée point mémoire) par une ligne et une colonne.
24
Cours Informatique : 1ère année Tronc commun
Professeur : Mr SOUSSI HAYMEN. Tous droits réservés
c) Le disque dur
Le disque dur est une unité de stockage de l'information sous forme binaire et d'une
façon permanente contrairement à la RAM qui per ces donnée lors de la rupture de
courant électrique
Le disque dur d’un ordinateur se compose d’un ensemble de plateaux circulaires
coaxiaux, recouverts d’une couche de matériau magnétique qui permet l’enregistrement
de données. Un disque dur ordinaire comporte un à huit plateaux tournant à grande
vitesse, ses têtes de lecture / écriture se déplaçant à la surface des plateaux sur un
coussin d’air d’épaisseur comprise entre 0,2 et 0,5 micromètre. Les plateaux et le
mécanisme de lecture sont enfermés dans une coque étanche qui les isole de la
poussière ambiante. Un disque dur offre un accès beaucoup plus rapide qu’une
disquette et peut enregistrer de grandes quantités de données. Les disques durs actuels
ont une capacité de stockage de l’ordre de plusieurs gigaoctets (Go) pour les micro-
ordinateurs et plusieurs téraoctets (To) sur les gros calculateurs
25
Cours Informatique : 1ère année Tronc commun
Professeur : Mr SOUSSI HAYMEN. Tous droits réservés
d) Mémoire flash
La mémoire flash est un compromis entre les mémoires de type RAM et les mémoires
mortes. En effet, la mémoire Flash possède la non-volatilité des mémoires mortes tout
en pouvant facilement être accessible en lecture ou en écriture. En contrepartie les
temps d'accès des mémoires flash sont plus importants que ceux de la mémoire vive.
e) Carte d'extension
On appelle « carte d'extension » un matériel électronique sous forme de carte pouvant
être raccordé à un ordinateur par l'intermédiaire de l'un de ses connecteurs d'extension
(ISA, PCI, AGP, PCI Express, etc.).
Il s'agit de composants connectés directement à la carte mère et situés dans l'unité
centrale, permettant de doter l'ordinateur de nouvelles fonctionnalités d'entrée-sortie.
Les principales cartes d'extension sont notamment :
1- La carte graphique ;
2- La carte son ;
3- La carte réseau
6- Les Périphériques
On appelle « périphérique » un matériel électronique pouvant être raccordé à un
ordinateur par l'intermédiaire de l'une de ses interfaces d'entrée-sortie (port série, port
parallèle, bus USB, bus firewire, interface SCSI, etc.), le plus souvent par l'intermédiaire
d'un connecteur. Il s'agit donc des composants de l'ordinateur externes à l'unité
26
Cours Informatique : 1ère année Tronc commun
Professeur : Mr SOUSSI HAYMEN. Tous droits réservés
centrale.
On distingue habituellement les catégories de périphériques suivantes :
1- périphériques d'affichage : il s'agit de périphériques de sortie, fournissant
une représentation visuelle à l'utilisateur, tels qu'un moniteur (écran).
2- périphériques de stockage : il s'agit d'un périphérique d'entrée-sortie
capable de stocker les informations de manière permanent (disque dur,
lecteur de CD-ROM, lecteur de DVD-ROM, etc.) ;
3- périphériques d'acquisition. Ils permettent à l'ordinateur d'acquérir des
données telles particulières, telles que des données vidéo, on parle alors
d'acquisition vidéo ou bien d'images numérisées (scanner) ;
4- périphériques d'entrée : ce sont des périphériques capables uniquement
d'envoyer des informations à l'ordinateur, par exemple les dispositifs de
pointage (souris) ou bien le clavier.
27
Cours Informatique : 1ère année Tronc commun
Professeur : Mr SOUSSI HAYMEN. Tous droits réservés
1. Définition
Un programme informatique est une liste d'ordres indiquant à un ordinateur ce qu'il
doit faire. Il se présente sous la forme d'une ou plusieurs séquences d'instructions,
comportant souvent des données de base, devant être exécutées dans un certain ordre
par un processeur ou par processus informatique (cas des systèmes multitâches).
2. Fonction
Un ordinateur sans programme ne fait absolument rien, il attend des instructions. En
fait, la capacité à suivre un programme enregistré sert même souvent, d'un point de vue
historique, à distinguer un ordinateur d'une simple machine à calculer. Avec cette
définition, le premier ordinateur est le Manchester Mark I, premier calculateur à
programme enregistré.
3. Conception
À l'origine d'un programme, il y a un code source écrit par un programmeur dans un
langage de programmation compréhensible par le dit programmeur.
28
Cours Informatique : 1ère année Tronc commun
Professeur : Mr SOUSSI HAYMEN. Tous droits réservés
2.1 - Différences
Selon le langage utilisé, ce code est ensuite soit :
• Traduit avec un jeu d'instructions spécifique à un processeur par un compilateur,
ensuite le programme obtenu peut alors être exécuté directement par l'ordinateur.
• Ou bien est pris en charge par un interpréteur (autre programme), qui décode à
la volée les instructions du langage évolué en instructions spécifique au
processeur et qui les lui transmet directement pour exécution.
Parfois le langage de programmation se réduit à un ensemble de symboles
correspondant aux instructions en code machine. C'est le langage assembleur et, dans
ce cas, un programme appelé assembleur est utilisé pour faire la traduction en langage
machine.
Le terme « programme informatique » est souvent improprement, utilisé comme
synonyme de logiciel, les logiciels actuels étant souvent composés de plusieurs
programmes. Les logiciels incluent souvent en plus, des fichiers de ressources
contenant des données de toutes sortes, celles-ci ne font pas à proprement parlé partie
du programme. Par exemple, Microsoft Internet Explorer, Mozilla Firefox, etc. sont des
logiciels plutôt que des programmes, car il sont le fruit de la concaténation de multiples
programmes exécutant différentes actions et fonctions.
Un programme simple et souvent abstrait est souvent appelé algorithme. Les
programmes d'ordinateur sont aujourd'hui souvent les sujets de la logique et des
mathématiques : voir les méthodes formelles, la sémantique des langages de
programmation, etc.
4. Logiciel
Un logiciel ou application est un ensemble de programmes, qui permet à un ordinateur
ou à un système informatique d'assurer une tâche ou une fonction en particulier
(exemple : logiciel de gestion de la relation client, logiciel de production, logiciel de
comptabilité, logiciel de gestion des prêts).
On distingue en général, dans un système informatique, la partie matérielle (l'ordinateur
et ses périphériques) et la partie logicielle, immatérielle (les programmes « écrits » sur le
disque dur).
Le terme logiciel est souvent employé pour désigner un programme informatique, et
inversement, bien qu'un logiciel puisse être composé d'un seul ou d'une suite de
programmes.
Ce dernier cas est d'autant plus fréquent que la capacité réduite de calcul de l'ordinateur
oblige à une segmentation des tâches en plusieurs modules séparés ; cependant, les
énormes capacités des micro-ordinateurs actuels en regard des applications typiques
de la bureautique ont permis la réalisation d'applications monolithiques.
Généralement, les programmes sont accompagnés d'un ensemble de données
29
Cours Informatique : 1ère année Tronc commun
Professeur : Mr SOUSSI HAYMEN. Tous droits réservés
permettant de les faire fonctionner (par exemple, un jeu viendra avec de nombreuses
images, animations, sons, etc.).
Pour fonctionner, un logiciel nécessite l'utilisation d'un ordinateur (micro-ordinateur,
station de calcul, mainframe, supercalculateur, etc.) sur lequel existe à l'origine un
« logiciel-moteur » (système d'exploitation) qui accepte le « logiciel-application ».
Le tout a besoin d'une alimentation électrique.
4.1. Les licences
Le droit d'utilisation du logiciel est généralement règlementé par une licence d'utilisation
et le droit d'auteur.
Les grandes familles de licences les plus connues sont :
• Les licences autour du logiciel libre (free software en anglais ex: Projet GNU) ;
• Le gratuiciel (freeware ex: icq.com) ;
• Le partagiciel (shareware ex: 6def.com) ;
• D’autres types de licences, telles que les licences monoposte ou multiposte ;
• Certains logiciels enfin sont internes à des entreprises et leur diffusion est
interdite.
4.2. Diverses présentations de logiciels
Les programmes peuvent être de différentes formes :
• Exécutables : ils peuvent être exécutés directement par l'ordinateur ;
30
Cours Informatique : 1ère année Tronc commun
Professeur : Mr SOUSSI HAYMEN. Tous droits réservés
31
Cours Informatique : 1ère année Tronc commun
Professeur : Mr SOUSSI HAYMEN. Tous droits réservés
coûteuse en hommes et en temps. Plus les anomalies sont détectées tôt au long du
développement du logiciel, moins leur correction est coûteuse.
4.5. Ouverture du code source
On classe les logiciels d'après la disponibilité du code source et de la licence qui régit la
distribution du programme :
• code ouvert : tout le monde peut lire le code source. Ce terme n'est pas
synonyme de logiciel libre ;
• code fermé : le code source n'est disponible que pour une minorité de
personnes ;
• Logiciel libre : tout le monde peut étudier, copier, modifier et distribuer des
versions modifiées du logiciel (définition de la free software foundation). Les
logiciels libres sont protégés pour la plupart par une licence d'utilisation ; Pour
autant cela ne signifie pas que le logiciel est gratuit.
• Logiciel propriétaire : au moins un de ces droits n'est pas rempli pour les
utilisateurs. La plupart du temps, acquérir une licence d'utilisation nécessite le
paiement d'une certaine somme aux créateurs du logiciel ;
• Logiciel commercial : logiciel destiné à la vente, il peut être libre ou propriétaire.
4.6. Développeurs
Un bon développeur ou un bon programmeur c’est bon mathématicien
32
Cours Informatique : 1ère année Tronc commun
Professeur : Mr SOUSSI HAYMEN. Tous droits réservés
Sommaire
33
Cours Informatique : 1ère année Tronc commun
Professeur : Mr SOUSSI HAYMEN. Tous droits réservés
34
Cours Informatique : 1ère année Tronc commun
Professeur : Mr SOUSSI HAYMEN. Tous droits réservés
• Le système de fichiers (en anglais «file system», noté FS), permettant d'enregistrer les
fichiers dans une arborescence.
4. Système multitâches
Un système d'exploitation est dit «multi-tâche» (en anglais multithreaded) lorsque
plusieurs «tâches» (également appelées processus) peuvent être exécutées
simultanément.
Les applications sont composées en séquence d'instructions que l'on appelle
«processus légers» (en anglais «threads»). Ces threads seront tour à tour actifs, en
attente, suspendus ou détruits, suivant la priorité qui leur est associée ou bien exécutés
séquentiellement.
Un système est dit préemptif lorsqu'il possède un ordonnanceur (aussi appelé
planificateur), qui répartit, selon des critères de priorité, le temps machine entre les
différents processus qui en font la demande.
Le système est dit à temps partagé lorsqu'un quota de temps est alloué à chaque
35
Cours Informatique : 1ère année Tronc commun
Professeur : Mr SOUSSI HAYMEN. Tous droits réservés
5. Système multi-processeurs
6. Systèmes embarqués
Les systèmes embarqués sont des systèmes d'exploitation prévus pour fonctionner sur
des machines de petite taille, telles que des PDA (personal digital assistants ou en
français assistants numériques personnels) ou des appareils électroniques autonomes
(sondes spatiales, robot, ordinateur de bord de véhicule, etc.), possédant une
autonomie réduite. Ainsi, une caractéristique essentielle des systèmes embarqués est
leur gestion avancée de l'énergie et leur capacité à fonctionner avec des ressources
limitées.
Les principaux systèmes embarqués «grand public» pour assistants numériques
personnels sont :
• PalmOS
• QNX.
36
Cours Informatique : 1ère année Tronc commun
Professeur : Mr SOUSSI HAYMEN. Tous droits réservés
• VxWorks.
9.1. Présentation
Windows, interface graphique multifenêtre, également appelée interface utilisateur
graphique GUI (Graphical User Interface), développée par la société américaine
Microsoft.
9.2. Historique
Les premiers travaux sur les interfaces remontent aux années 1960 et portent
notamment sur la création de fenêtres et de dispositifs de pointage. c’est à partir de
1984, avec l’arrivée du Lisa puis du Macintosh d’Apple, que les interfaces graphiques et
les concepts de « look and feel » (affordance) et « WIMP » (Window, Icon, Menu,
Pointing) commencent véritablement leur expansion.
37
Cours Informatique : 1ère année Tronc commun
Professeur : Mr SOUSSI HAYMEN. Tous droits réservés
b- Game Windows 9x
c- Game Windows NT, 2000, XP, 2003
Bill Gates
38
Cours Informatique : 1ère année Tronc commun
Professeur : Mr SOUSSI HAYMEN. Tous droits réservés
39
Cours Informatique : 1ère année Tronc commun
Professeur : Mr SOUSSI HAYMEN. Tous droits réservés
O Interfaçage direct
O Utilisation d'une interface de plus haut niveau (par ex. : Vidéo BIOS)
O Utilisation d'un autre pilote de plus bas niveau (par ex. : les pilotes de
systèmes de fichiers)
O Mettre en œuvre une interface pour logiciel sans pilote (par ex. : TWAIN)
40
Cours Informatique : 1ère année Tronc commun
Professeur : Mr SOUSSI HAYMEN. Tous droits réservés
sans affecter le reste du système, un bug dans un pilote peut mener à des
dysfonctionnements du système, et dans de plus rares cas sévèrement endommager
les données voire le matériel lui-même.
11 - Les applications
Application (informatique), programme informatique conçu pour aider un utilisateur à
réaliser un travail déterminé. Une application diffère d'un système d'exploitation dont le
rôle est de gérer le fonctionnement de base de l'ordinateur, d'un utilitaire qui est chargé
d'une fonction de maintenance ou à caractère général, ou d'un langage qui sert à la
création de programmes. Selon la fonction pour laquelle elle a été conçue, une
application peut opérer sur un texte, des nombres, des images graphiques ou toute
combinaison de ces éléments.
Le domaine de la bureautique regroupe de nombreuses applications courantes, comme
le traitement de texte, le tableur, le logiciel de dessin ou le logiciel de courrier
électronique. D'autres applications spécialisées permettent d'effectuer des retouches
photographiques, la mise en page de documents pour la publication assistée par
41
Cours Informatique : 1ère année Tronc commun
Professeur : Mr SOUSSI HAYMEN. Tous droits réservés
42
Le système d'exploitation, abrégé SE (en anglais operating system, abrégé OS), est l'ensemble de
programmes central d'un appareil informatique qui effectue les opérations de manipulation du matériel.
Il sert à coordonner, optimiser et uniformiser l'utilisation du matériel informatique par les logiciels
applicatifs.
Les systèmes d'exploitation sont utilisés dans tout les appareils informatique: ordinateur, assistant
personnel, ainsi que console de jeu, téléphone portable ou GPS.
Divers logiciel utilitaires sont fournis avec le système d'exploitation. Ils permettent à l'utilisateur de
régler des paramètres de configuration du système d'exploitation, ou d'effectuer des opérations basiques
de manipulation des fichiers.
Les premiers systèmes d'exploitation ont été créés dans les années 1960, il en existe aujourd'hui plus de
100 sur le marché, ils sont souvent vendus avec les appareils informatique. En 2009 les familles de
systèmes d'exploitation les plus populaires sont Unix et Windows, la famille Windows détient le quasi-
monopole, avec plus de 90% de part de marché depuis 15 ans.
Sommaire
1 Typologie
2 Histoire
o 2.1 1960, La multiprogrammation
o 2.2 1975, Les micro-ordinateurs
o 2.3 1990, Les systèmes d'exploitation sous licence libre
3 Composition
o 3.1 Interface de programmation
o 3.2 L'ordonnanceur
o 3.3 La mémoire virtuelle
o 3.4 Pilotes
o 3.5 Système de fichiers
o 3.6 Réseau
o 3.7 Contrôle d'accès
o 3.8 Interface utilisateur
3.8.1 L'interface utilisateur graphique
o 3.9 Logiciels utilitaire
4 Architecture
o 4.1 Le noyau
4.1.1 Noyau monolithique
4.1.2 Micro-noyau
4.1.3 Noyau hybride
4.1.4 Exo-noyau
5 Quelques exemples
6 Le marché
o 6.1 Concurrence, compatibilité et interopérabilité
6.1.1 La guerre des Unix et le Open Group
6.1.2 Microsoft et la concurrence
6.1.3 Les réseaux informatique
7 Bibliographie
8 Notes et références
9 Voir aussi
o 9.1 Articles connexes
o 9.2 Liens externes
9.2.1 Systèmes d’exploitation à but éducatif
Typologie
Un système d'exploitation est typiquement composé d'une large palette de programmes. La composition
exacte dépend de l'usage cible pour lequel le système d'exploitation est destiné : ordinateur personnel,
serveur, superordinateur ou encore système embarqué.
Un système d'exploitation est conçu pour fonctionner avec une gamme particulière de machines (type de
processeur, constructeur, architecture). Si un système d'exploitation est disponible pour plusieurs
gammes machines différentes, alors le même code source est compilé [1] et adapté à chaque gamme de
machine. La liste exacte des machines sur lesquelles il peut être utilisé dépend aussi de la palette de
pilotes inclus dans le système d'exploitation.
Selon sa construction, un système d'exploitation peut être multi-tâches ou alors monotâche, multi-
utilisateurs ou alors mono-utilisateur, il peut aussi être multiprocesseurs et/ou en temps réel.
Il est dit multi-utilisateurs quand il est conçu pour être utilisé simultanément par plusieurs
usagers, souvent à travers un réseau informatique. De tels systèmes d'exploitation sont
typiquement utilisés pour des serveurs ainsi que des mainframe ou des superordinateurs, ils sont
multi-tâches et sont souvent sécurisés c'est-à-dire qu'il vont refuser toute opération pour laquelle
l'usager n'a pas préalablement reçu la permission.
Il est dit multi-processeurs quand il est conçu pour exploiter un ordinateur équipé de plusieurs
processeurs. Dans de tels systèmes d'exploitation plusieurs programmes sont exécutés
simultanément par les différents processeurs.
Il est dit temps réel quand les opérations sont garanties d'être effectuées dans un temps très court,
et ce quelles que soient les conditions d'utilisation. De tels systèmes d'exploitation sont utilisés
dans l'industrie, l'aéronautique ou l'électronique grand public pour créer des systèmes temps réel.
par exemple OS/2 est un système d'exploitation multitâches mono-utilisateur pour les ordinateurs
personnels à l'architecture compatible PC, alors que Solaris est un système d'exploitation multi-
utilisateurs et multiprocesseurs pour les stations de travail, les serveurs et les superordinateurs construits
par Sun Microsystems. voir plus loin d'autres exemples.
Histoire
Dans les années 1940 les ordinateurs étaient programmés par manipulation d'interrupteurs à bascule,
puis plus tard en perçant des trous dans des cartes perforées et en introduisant une pile de cartes dans un
lecteur à la mécanique similaire aux pianos mécaniques.
Les ordinateurs, très coûteux, des années 1940 à 1960 étaient la propriété des entreprises et des
institutions. Chaque utilisateur avait le droit d'utiliser l'ordinateur pendant un temps donné. Le temps
était souvent déterminé par une horloge murale ou une pointeuse, l'utilisateur avait alors à disposition la
totalité du matériel de l'ordinateur. Il apportait avec lui une pile de cartes perforées qui contenait les
instructions du ou des programmes à exécuter.
Les ordinateurs de cette époque effectuaient une seule tâche à la fois, au service d'un seul utilisateur. Les
programmes pour ces ordinateurs contenaient toutes les instructions nécessaires pour manipuler le
matériel de l'ordinateur. Si la logithèque pour cet ordinateur comportait 50 programmes, les instructions
nécessaires pour manipuler le matériel se retrouvaient dans tout les 50 programmes.
Avec l'agrandissement de la logithèque, l'idée est venue d'isoler les instructions routinières dans un
programme séparé. Un programme qui réside continuellement dans la mémoire, quel que soit le
programme en cours d'exécution.
1960, La multiprogrammation
Les ordinateurs des années 1960 étaient typiquement équipés d'un lecteur de carte perforée, d'une
imprimante et d'un disque dur. Les ingénieurs ont constaté que les ordinateurs passaient plus de temps à
attendre qu'un périphérique termine son travail qu'à exécuter des instructions.
Les systèmes d'exploitation ont alors été construits de manière à permettre l'exécution de plusieurs
programmes à la fois. Un premier programme est exécuté, puis, dès que le premier attend sur un
périphérique, le système d'exploitation enchaîne sur l'exécution d'un deuxième programme, voire un
troisième et ainsi de suite. Cette technique dite de multiprogrammation est le précurseur du multitâche
des systèmes d'exploitation d'aujourd'hui, proche du multitâche coopératif qui a été utilisé jusque dans
les années 1990.
Les premiers systèmes d'exploitation multi-utilisateurs sont apparus dans les années 1970. Sur le
principe de la multiprogrammation, le système d'exploitation exécute des programmes au service d'un
des utilisateurs pendant une durée déterminée (quelques millisecondes), puis sert un autre utilisateur. Ce
temps - très court par rapport au délai entre chaque frappe au clavier - donnait à l'utilisateur l'illusion
que la machine travaillait uniquement pour lui - une illusion qui existe encore avec les systèmes
d'exploitation contemporains.
La possibilité pour un ordinateur de servir simultanément plusieurs personnes augmentait le retour sur
investissement de l'achat de matériel très coûteux par les entreprises et les institutions.
Sorti en 1975, le Altair 8800 était le premier micro-ordinateur du monde. Un appareil livré en kit au prix
approximatif de 400 $, et qui se programmait en inversant une série d'interrupteurs à bascule situés sur
la face avant de l'appareil. Le prix du Altair 8800 le rendait accessible pour une personne seule. Mais
son utilisation compliquée (qui rappelle les ordinateurs centraux des années 1940) limitait son utilisation
à des passionnés et des hobbyistes.
En 1975 les micro-ordinateurs n'avaient pas une puissance de calcul suffisante pour être équipés d'un
système d'exploitation comme Unix ou OS/360. Gary Kildall, ingénieur pour Intel crée CP/M, le
premier système d'exploitation pour micro-ordinateur.
En 1980, IBM prend contact avec Gary Kildall, pour lui demander d'adapter CP/M à son nouveau
micro-ordinateur, le Personal Computer (abrégé PC). Gary Kildall refuse de signer le contrat, et IBM se
tourne alors vers Microsoft. La startup de Bill Gates, qui n'a encore jamais développé de système
d'exploitation prend six mois pour créer MS-DOS sur la base de QDOS - un système d'exploitation
quick-and-dirty pour les processeurs Intel 8086[4].
C'est à la même époque que Steve Jobs et Steve Wozniak fondent la startup Apple Computer, avec
comme optique de faire du micro-ordinateur un produit grand public aussi facile d'usage que n'importe
quel appareil électrique.
Xerox, une des sociétés majeures de l'époque s'intéresse à l'optique de Steve Jobs, réunit une poignée de
scientifiques et d'ingénieurs dans son centre de recherche de Palo Alto, et, sur la base de thèses et
d'études effectuées les années auparavant, développe le premier micro-ordinateur équipé d'une interface
utilisateur graphique. Le résultat des recherches, le Xerox Star ne sera jamais commercialisé et c'est
Apple, dix ans plus tard, avec le Macintosh, qui popularise les recherches effectuées par Xerox[5].
en 1987, Andrew Tanenbaum, professeur à l'Université libre d'Amsterdam crée le système d'exploitation
Minix, dont le code source est destiné à illustrer son cours sur la construction des systèmes
d'exploitation. La totalité du code source se trouve dans son livre Operating Systems: Design and
Implementation. Inspiré — mais peu convaincu[6] — par les travaux de Tanenbaum, Linus Torvalds,
étudiant à l'université d'Helsinki se lance dans le développement de son propre système d'exploitation:
Linux.
En même temps, Richard Stallman du Massachusetts Institute of Technology lance l'idée d'un système
d'exploitation sous licence libre, qu'il appelle GNU. Il développe des programmes destinés aux
programmeurs, des logiciels utilitaires, et crée la GNU General Public License - un contrat de licence
exempt de droits d'auteur.
De l'autre côté des États-Unis, les étudiants et les rechercheurs de l'université de Berkeley créent des
logiciels utilitaire pour Unix. Ces logiciels sous licence libre sont vendus avec le noyau Unix de AT&T,
lui-même sous licence propriétaire, sous le nom Berkeley Software Distribution (traduction: la suite de
logiciels de Berkeley) - abrégé BSD.
Cette double licence de BSD est à l'origine de plusieurs années de litiges entre l'Université de Berkeley
et AT&T[7]. Les étudiants de l'université travaillent à remplacer des programmes développés par AT&T
par leurs propres programmes, sous licence libre, afin de résoudre le litige. Cette situation dura jusqu'à
la sortie de 4.4BSD en 1994. Quelque temps après l'université de Berkeley abandonne le développement
de BSD[8].
C'est à la suite des initiatives et travaux de Linus Torvalds et Richard Stallman, aidés par des milliers de
bénévoles et à la suite des travaux des étudiants de l'université de Berkeley que GNU/Linux et 4.4BSD
sont devenus les premiers systèmes d'exploitation sous licence libre[9].
Composition
Un système d'exploitation comporte typiquement de nombreux programmes. La palette de programmes
incluse diffère d'un système d'exploitation à l'autre en fonction de l'ordinateur cible pour lequel il est
prévu (ordinateur personnel, serveur, assistant personnel...).
Si le système d'exploitation est destiné à être utilisé sur un ordinateur personnel ou une console de jeu
vidéo, l'interface graphique sera raffinée et ergonomique. S'il est destiné à être utilisé sur un serveur, il
comprendra une large palette de protocoles et de pilotes pour du matériel réseau, sera multitâches et
muni de contrôles d'accès.
Interface de programmation
Le système d'exploitation effectue de nombreuses actions sur demande des logiciels applicatifs. Le point
d'interaction entre un logiciel applicatif et le système d'exploitation est appelé interface de
programmation (anglais Application Programming Interface abrégé API). Ce peut être des fonctions
mises à disposition dans des bibliothèques logicielles, ou des logiciels serveur qui répondent aux
requêtes envoyées par les logiciels applicatifs.
L'utilisation de la même interface de programmation quel que soit le matériel, le protocole ou le système
de fichier concerné assure la portabilité des logiciels applicatifs : un logiciel applicatif donné pourra
fonctionner sur différents ordinateurs, quelle que soit leur configuration, en particulier quel que soit le
matériel, le système de fichier ou le protocole utilisé.
POSIX (acronyme de l'anglais Portable Operating System Interface) est une norme relative à l'interface
de programmation du système d'exploitation. De nombreux systèmes d'exploitation sont conformes à
cette norme, notamment les membres de la famille Unix.
L'ordonnanceur
Les échanges d'informations entre les programmes se font à l'aide de messages stockés en mémoire,
l'ordonnanceur s'occupe de collecter les messages et les mettre à disposition de chaque destinataire. Tout
programme qui attend un message sera interrompu jusqu'à l'arrivée d'un message et l'ordonnanceur
évitera toute commutation de contexte vers le programme en attente.
La mémoire virtuelle
Le mécanisme dit de mémoire virtuelle est destiné à simuler la présence ou l'absence de mémoire
centrale par manipulation de l'unité de gestion mémoire (anglais Memory Management Unit abrégé
MMU). C'est un mécanisme courant dans les systèmes d'exploitation.
L'unité de gestion mémoire est un composant matériel présent dans de nombreux ordinateurs. Il est
branché entre le processeur et la mémoire centrale. Un programme du système d'exploitation manipule
les tables de correspondance de l'unité de gestion mémoire. Ce qui a l'effet suivant: lorsque le processeur
- conformément aux instruction d'un programme - va rechercher des informations à une adresse
mémoire précise (adresse virtuelle), il demande à l'unité de gestion mémoire, qui va alors aller
rechercher cette information à l'emplacement qui correspond selon la table de correspondance (adresse
physique).
L'unité de gestion mémoire possède plusieurs tables de correspondance. Les systèmes d'exploitation
utilisent généralement deux tables: une pour le mode kernel et une pour le mode utilisateur. La table du
mode kernel est arrangée de manière à permettre au processeur d'utiliser la totalité de la mémoire
centrale disponible, cette table est utilisée lors de l'exécution des programmes du noyau du système
d'exploitation. La table du mode utilisateur est arrangée de manière à simuler la présence de mémoire et
protéger le noyau ; cette table est utilisée lors de l'exécution des programmes hors du noyau.
Pour simuler la présence de mémoire (mémoire virtuelle), le système d'exploitation manipule les tables
de correspondance de manière à ce que plusieurs emplacements de la table correspondent tous à un seul
emplacement de mémoire centrale. Lorsque le processeur - conformément aux instruction d'un logiciel
applicatif - va rechercher des information à un de ces emplacements, l'unité de gestion mémoire
déclenche l'exécution d'un programme particulier du système d'exploitation. Ce programme va alors
échanger (anglais swap) le contenu de cet emplacement de mémoire centrale avec une copie du contenu
enregistrée dans un emplacement de mémoire de masse prévu à cet effet - typiquement un fichier ou une
partition de disque dur. Pour le logiciel applicatif tout se passe comme si l'ordinateur avait plus de
mémoire que ce qui est réellement disponible en mémoire centrale.
L'unité de gestion de mémoire est aussi utilisée pour réaliser la protection du noyau du système
d'exploitation. Lorsqu'un logiciel applicatif est en cours d'exécution, la table de correspondance est
arrangée préalablement par le système d'exploitation de manière à ce que les adresses mémoires du
noyau correspondent à un autre emplacement, le noyau est ainsi invisible pour le logiciel en question.
Cette technique est aussi utilisée pour isoler les logiciels applicatifs l'un de l'autre.
Pilotes
Un pilote (anglais driver) est un programme qui contient les instructions à exécuter pour utiliser un
certain périphérique informatique, il assure l'utilisation banalisée du périphérique. Les pilotes sont
fournis par l'auteur du système d'exploitation ou le fabricant du périphérique.
Le système d'exploitation dirige l'utilisation des pilotes par les logiciels applicatifs. Il intervient lorsque
plusieurs logiciels applicatifs tentent d'utiliser le même matériel en même temps, et active ou désactive
les pilotes en fonction du matériel présent dans l'ordinateur.
Lors de chaque événement survenu sur un périphérique (celui-ci a reçu des informations, il a fini de les
envoyer, l'utilisateur a effectué une manipulation...), celui-ci provoque une interruption matérielle, un
mécanisme électronique qui provoque une commutation de contexte; le système d'exploitation
déclenche alors l'exécution des instructions du pilote concerné.
Les logiciels applicatifs ainsi que le système d'exploitation peuvent également, au besoin, déclencher
l'exécution des instructions d'un pilote.
Système de fichiers
Un système de fichier (anglais file system) est une structure en arbre dans laquelle sont stockés des
fichiers ainsi que d'autres informations. Divers programmes du système d'exploitation s'occupent de
répartir les fichiers sur les mémoires de masse tels que les disque durs et de les relier pour former la
structure du système de fichiers.
Il existe diverses manières de disposer les fichiers dans une mémoire de masse. Une mémoire de masse
qui a été remplie avec un système d'exploitation selon une disposition donnée sera reconnue par un autre
système d'exploitation uniquement si celui-ci reconnaît la disposition en question. Les mémoires
amovibles telles que les CD ou les DVD ont une disposition normalisée dont les spécifications sont
publiques, ce qui assure leur reconnaissance par tous les systèmes d'exploitation (voir ISO 9660 et
UDF).
Dans un système d'exploitation multi-utilisateurs, les programmes qui manipulent le système de fichier
effectuent des contrôles pour vérifier qu'aucun fichier n'est manipulé par une personne non autorisée. Le
système d'exploitation refusera toute manipulation non autorisée.
Réseau
Dans un réseau informatique, deux ordinateurs reliés arrivent à communiquer du moment que les
communications se font de part et d'autre selon les mêmes protocoles réseau. Selon le modèle OSI, les
différents protocoles existants sont répartis sur sept niveaux, où un protocole d'un niveau donné peut
être combiné avec n'importe quel protocole des niveaux situés en dessus et en dessous (voir
encapsulation).
Un système d'exploitation contient typiquement plusieurs programmes nécessaires pour des échanges
d'informations dans différents protocoles des niveaux 1 à 4. Tandis que les niveaux 5 à 7 sont pris en
charge par les logiciels applicatifs.
Pour les échanges d'informations selon les protocoles de niveau 1 et 2, le système d'exploitation
demande l'opération au matériel de l'ordinateur par l'intermédiaire d'un pilote informatique, pilote qui
peut faire partie intégrante du système d'exploitation ou être fourni par le constructeur du matériel.
Lors de l'envoi d'informations sur le réseau, un logiciel applicatif crée une information, la met en forme
conformément aux protocoles des niveaux 7 à 5, puis la transmet au système d'exploitation. Divers
programmes du système d'exploitation vont découper cette information en trames, puis vont mettre en
forme les trames et les envoyer conformément aux protocoles des niveaux 4 à 1.
Lors de la réception de trames depuis le réseau, divers programmes du système d'exploitation vont tenter
de les décoder conformément à différents protocoles des niveaux 1 à 4, puis transformer la suite de
trames en un flux continu, qui sera envoyé au logiciel applicatif destinataire. Le logiciel va alors décoder
le flux conformément aux protocoles de niveaux 5 à 7. Le logiciel applicatif effectue préalablement une
connexion, c'est-à-dire une liaison logique par laquelle il va s'associer avec un flux particulier.
Le choix exact des protocoles utilisés dépend de l'ordinateur concerné et des liaisons réseau qui vont
être utilisées. Divers paramètres de configuration permettent d'influencer le choix des protocoles. Ils
permettent par exemple d'empêcher l'utilisation de protocoles interdits sur le réseau concerné.
Contrôle d'accès
Lors de chaque opération demandée par un logiciel applicatif, le système d'exploitation vérifie
préalablement si l'utilisateur qui manipule le logiciel applicatif est autorisé à effectuer cette opération.
La vérification se fait sur la base des règlements ainsi que des listes de droits d'accès introduits par
l'administrateur sécurité. Le système d'exploitation refusera toute opération non autorisée et inscrira le
refus dans un journal d'activité.
Le système d'exploitation va également refuser la mise hors service de programmes centraux tels que les
logiciels serveur ou des programmes du système d'exploitation par tout utilisateur qui n'a pas
préalablement recu le privilège d'effectuer cette opération - selon les règlements introduits par
l'administrateur de sécurité.
Lorsqu'un logiciel autonome (bot informatique) demande des opérations au système d'exploitation, le
logiciel doit préalablement décliner son identité en tant que produit puis, sur la base de cette identité, le
système d'exploitation effectue les mêmes vérifications que pour une personne physique.
Les mécanismes de contrôle d'accès ont aussi pour effet de lutter contre les logiciels malveillants - ceux-
ci effectuent souvent des opérations susceptibles de perturber l'utilisation de l'ordinateur.
Interface utilisateur
Un ensemble de programmes du système d'exploitation réceptionnent les informations envoyées par les
logiciels applicatifs, et les placent sur une image numérique qui sera envoyée au matériel par
l'intermédiaire d'un pilote. En complément un autre ensemble de programmes réceptionnent les
manipulations effectuées par l'usager par l'intermédiaire de pilotes puis les transmettent au logiciel
concerné. Ces deux ensembles créent l'interface homme-machine qui permet à un usager d'interagir avec
la machine.
Le système d'exploitation peut également dialoguer avec un usager par l'intermédiaire d'un autre
ordinateur ou d'un terminal (interface distribuée). Les informations envoyées par les logiciels applicatifs
seront alors envoyées à l'autre ordinateur selon un protocole prévu à cet effet, tandis que l'autre
ordinateur enverra les manipulations effectuées par l'utilisateur. voir SSH, RFB ou X Window System.
Lorsque l'interface est en mode texte, l'image numérique est une grille dans laquelle sont placés des
caractères d'imprimerie, la grille comporte typiquement 80 colonnes et 35 lignes. L'interface se
manipule typiquement avec un clavier. Ce type d'interface, qui existe depuis les début de l'informatique
est aujourd'hui remplacé par les interfaces graphiques.
Lors des manipulations de la souris, le système d'exploitation déplace l'élément d'image qu'est le curseur
et effectue les calculs nécessaires pour déterminer quel est l'élément de l'image qui se trouve juste en
dessous. À chaque élément de l'image peut être associé un programme. Un widget est un programme qui
dessine et anime un élément d'image, cet élément prend typiquement l'aspect d'un bouton poussoir ou
d'une lampe témoin. Divers widgets sont fournis avec le système d'exploitation.
Les programmes pour interface graphique sont aujourd'hui (2009) inclus dans tous les systèmes
d'exploitation contemporains. Le X Window System est l'ensemble des programmes pour interface
utilisateur graphique inclus dans tous les systèmes d'exploitation de la famille Unix.
Logiciels utilitaire
Un logiciel applicatif sert à assister l'utilisateur dans une activité. Les logiciels utilitaires sont des
logiciels applicatifs qui servent à permettre à l'utilisateur d'effectuer des manipulations basiques telles
que démarrer des programmes, copier des fichiers ou modifier des paramètres de configuration. Divers
logiciels utilitaires sont fournis avec les systèmes d'exploitation. exemples:
Un interpréteur de commandes est un programme qui permet d'exécuter d'autres programmes en écrivant
leur nom éventuellement suivi de divers paramètres. Il est accompagné de plusieurs programmes qui
permettent la manipulation des fichiers (copie, changement de nom...). Ce type de programme est utilisé
pour effectuer des manipulations ou exécuter des scripts — suites de manipulations pré-enregistrées
(voir commande informatique).
Un environnement de bureau est un programme dans lequel les différents éléments de l'ordinateur
(programmes, fichiers,disques durs) sont présentés sous forme de pictogrammes sur lesquels il est
possible d'effectuer différentes actions. Il sert typiquement à exécuter des programmes, et à effectuer
différentes opérations sur les fichiers: copie, changement du nom, déplacement ou suppression.
Divers programmes servent à aider l'utilisateur à modifier les paramètres de configuration du système
d'exploitation. Ceux-ci proposent des listes à choix multiples et effectuent des contrôles de validité avant
le modifier les paramètres.
Divers programmes servent à installer des logiciels, c'est-à-dire copier les fichiers dans les
emplacements prévus à cet effet, et effectuer les modifications de configuration nécessaire pour rendre
le logiciel opérationnel. Ces programmes peuvent aussi servir à consulter la liste des logiciels
actuellement installés dans l'ordinateur.
Un système d'exploitation multi-utilisateurs est typiquement fourni avec des programmes permettant de
surveiller l'activité de l'ordinateur — consultation de journaux d'activité — ou modifier les listes de
droits d'accès en vue d'autoriser ou d'interdire un fichier à certains utilisateurs.
Architecture
monolithique ou micronoyau
Le noyau
Le noyau (anglais kernel) est un espace mémoire isolé, dans lequel est placé tout ou partie du système
d'exploitation. Dans le langage courant le terme kernel désigne l'emplacement ainsi que l'ensemble des
programmes qu'il contient et qui forment le cœur rigide du système d'exploitation. Le contenu du noyau
ne peut pas être modifié par inadvertance par les logiciels applicatifs — une modification provoquerait
un crash de l'ordinateur.
Noyau monolithique
L'architecture est dite à noyau monolithique lorsque la totalité des programmes du système
d'exploitation (en particulier les pilotes, le programmes qui traitent le réseau et le système de fichier)
résident dans l'espace du noyau. Dans cette architecture chaque utilisation d'une fonction de l'interface
de programmation provoque une commutation de contexte et le passage en mode kernel (voir mémoire
virtuelle).
Linux, FreeBSD, OpenVMS ou Solaris sont des systèmes d'exploitation à noyau monolithique.
Micro-noyau
L'architecture est dite micro-noyau (anglais microkernel) lorsque le noyau contient le strict minimum,
c'est-à-dire l'ordonnanceur et le programme qui simule la mémoire virtuelle, et que la grande majorité
des programmes se trouvent en dehors: les pilotes, les programmes qui traitent les systèmes de fichiers
ou l'interface graphique, ainsi que les logiciels applicatifs.
Dans cette architecture les nombreux programmes qui se trouvent en dehors du noyau sont isolés les uns
des autres, sont exécutés comme des logiciels applicatifs — en concurrence — et utilisent les
fonctionnalités du noyau pour s'échanger des messages. L'utilisation des fonctions de l'interface de
programmation entraîne l'émission de nouveaux messages.
Noyau hybride
Divers systèmes d'exploitation ont une architecture qui a certaines caractéristiques des micro-noyau et
en même temps des noyaux monolithiques. Cette architecture est appelée noyau hybride macro-noyau
ou micro-noyau modifié.
Dans cette architecture, la totalité des programmes du système d'exploitation résident dans le noyau, à la
façon d'un noyau monolithique. Cependant de nombreux programmes du système d'exploitation sont
exécutés en concurrence comme des logiciels applicatifs, à la manière de l'architecture micro-noyau
(processus noyau).
Pour les processus du noyau, l'ordonnanceur effectue des commutations de contexte entre les processus
de la même manière qu'entre les logiciels applicatifs, ces processus utilisent les fonctions de
l'ordonnanceur pour s'échanger des messages et l'utilisation des fonctions de l'interface de
programmation entraîne l'émission de nouveaux messages.
Exo-noyau
Dans l'architecture exo-noyau (du grec exos = hors de), Il n'y a pas d'emplacement isolé, et le système
d'exploitation est composé de programmes et de bibliothèques logicielles de construction identique à
celles des logiciels applicatifs.
Mac OS, AmigaOS et Oberon sont des systèmes d'exploitation en architecture exo-noyau.
Quelques exemples
Article détaillé : Liste des systèmes d'exploitation.
Comparaison des principaux systèmes d'exploitation
Matérie
Année Multi- Te
Famil l Utilisatio Noy Graph Multit Multiproc
d'appar Nom Éditeur utilisa mps
le support n au ique âche esseur
ition teur réel
é
VAX,
DEC
serveurs,
Alpha,
1977 VMS DEC ordinateur
Hewlett
s centraux
-
Packard
Amstra
d CPC,
ordinateur
1978- Digital Commo
CP/M s
1985 Research dore
personnels
128,
TRS-80
ordinateur
1981- Compat
DOS IBM s
1990 ible PC
personnels
machine serveurs,
1981 Solaris Unix Sun
s de Sun stations de
travail,
superordin
ateurs
compati
systèmes
bles PC,
Quantum embarqués
MIPS,
1982 QNX Software ,
PowerP
Systems automates
C,
industriels
ARM
Apple ordinateur
Mac
1984 Apple Macinto s
OS
sh personnels
Commo ordinateur
dore s
Amiga Commodor
1984 Amiga, personnels
OS e
PowerP et consoles
C de jeu
ordinateur
s
PS/2,
personnels
RS/600
, serveurs, [11]
1986 AIX Unix IBM 0,
stations de
PowerP
travail,
C
superordin
ateurs
machine stations de
1986 Irix Unix SGI s de travail et
SGI serveurs
Compat
ible PC,
1986- NeXTS SPARC, stations de
Unix NeXT
1996 TEP Hewlett travail
-
Packard
PS/2 et ordinateur
1987- IBM et
OS/2 Compat s
2006 Microsoft
ible PC personnels
Compat
Andrew
ible PC, (académiq [13]
1987 Minix Tanenbau
m68k, ue)[12]
m
SPARC
Nokia,
téléphones
Siemens
portables,
,
Symbia Symbian smartphon
1989 Samsun [16]
n OS[14] ltd[15] e,
g,
assistants
Panason
personnel
ic
1991 Linux Unix (communa nombre tous
utaire) ux[17]
serveurs,
stations de
Windo Wind Compat travail,
1991[18] Microsoft
ws NT ows ible PC ordinateur
s
personnels
NetBS (communa nombre
1994[19] Unix tous
D utaire) ux[20]
FreeBS (communa nombre
1994[19] Unix tous
D utaire) ux[21]
ordinateur
Windo Wind Compat
1995 Microsoft s [22]
ws 95 ows ible PC
personnels
smartphon
x86,
Windo Wind e,
1996 Microsoft MIPS, [24]
ws CE ows assistants
ARM[23]
personnels
ordinateur
s
PowerP
Mac personnels
1999[25] Unix Apple C de
OS X , serveurs,
Apple
station de
travail
Le marché
Née en 1985, la gamme des systèmes Windows équipe aujourd'hui 90 % des ordinateurs personnels, ce
qui la place en situation de monopole notamment auprès du grand public. En 2008 ses parts de marché
sont descendues en dessous de 90% pour la première fois depuis 15 ans[26].
Initiée en 1969, la famille de systèmes d'exploitation Unix compte plus de 25 membres[27]. Linux, BSD
et Mac OS X sont aujourd'hui les systèmes d'exploitation les plus populaires de la famille Unix.
La famille Windows équipe aujourd'hui 38 % des serveurs tandis que la famille Unix équipe 31 %, dont
à peu près la moitié avec Linux[28]. La famille Unix anime 60 % des sites web dans le monde[29] et Linux
équipe 95 % des près de 500 superordinateurs du monde[30].
Né en 1990, Symbian OS est – en 2007 – le système d'exploitation le plus répandu sur les téléphones
portables et assistants personnels, avec 67 % de part de marché[31].
De nombreux logiciels applicatifs sur le marché sont construits pour fonctionner avec un système
d'exploitation en particulier, ou une famille en particulier et un système d'exploitation est construit pour
fonctionner avec une gamme de machines donnée. Pour l'acheteur le choix de la famille de machine
limite le choix du système d'exploitation, qui lui-même limite le choix des logiciels applicatifs.
Chaque système d'exploitation, selon la palette de programmes qu'il contient, est construit pour
fonctionner avec certains réseaux informatique. Pour l'acheteur qui possède un réseau informatique
(typiquement les entreprises et les institutions) le choix du système d'exploitation dépend de son
adéquation au réseau existant de l'acheteur.
Ces dépendances, combinées avec un effet de réseau [32]important font que le choix de l'un ou l'autre
système d'exploitation par le consommateur se fait le plus souvent selon des critères pratiques et que le
marché est sujet aux situations de monopole.
Apple, Sun Microsystems et Silicon Graphics sont des marques qui développent des systèmes
d'exploitation pour leur propre matériel informatique.
La compatibilité d'un système d'exploitation est sa capacité à être utilisé à la place d'un autre, en
particulier à exécuter les logiciels applicatifs de l'autre. Le système d'exploitation est dit compatible avec
l'autre. La compatibilité au niveau source est la capacité pour un système d'exploitation A d'exécuter un
logiciel applicatif créé pour B après avoir compilé le code source du logiciel pour la machine A. Et la
compatibilité binaire est la capacité pour un système d'exploitation A d'exécuter un logiciel applicatif
créé pour B tel quel, sans avoir à le recompiler.
L´interopérabilité est la capacité de plusieurs systèmes de pouvoir être utilisés ensemble. Par exemple
dans un même appareil, ou dans un réseau informatique.
Pour être compatibles, deux systèmes d'exploitation doivent avoir des points communs, notamment sur
l'interface de programmation. La compatibilité binaire n'est possible qu'entre deux systèmes
d'exploitation qui fonctionnent avec la même famille de processeur.
La compatibilité et l'interopérabilité entre les systèmes d'exploitation est assurée par les éditeurs par
l'alignement de leur produit à des normes industrielles ainsi que des technologies rendues publiques.
Le système d'exploitation Unix, créé en 1969 a servi de source d'inspiration pour toute une famille de
systèmes d'exploitation. Le jeu de la concurrence, très vive dans les années 1980, a amené les différents
membres de la famille Unix à se distancier, et perdre la compatibilité l'un avec l'autre. Des organismes
de normalisation tels que le Open Group se sont penchés sur le problème et ont édictés des normes qui
garantissent la compatibilité à travers toute la famille Unix.
Entre 1995 et 2007, Microsoft, éditeur de la suite de systèmes d'exploitation Windows a été l'objet de
plusieurs procès pour des pratiques anticoncurrentielles qui nuisent à la concurrence et à
l'interopérabilité. La société a été condamnée par le département de la justice des États-Unis pour
violation du Sherman Antitrust Act ainsi que par la Commission Européenne pour violation des traités
relatifs à la concurrence dans l'Union Européenne.
La popularisation d'Internet dans les années 1990 a contribué à améliorer l'interopérabilité entre les
systèmes d'exploitation.
Le système d'exploitation Unix a été développé par AT&T en 1969. Plus tard d'autres éditeurs s'en sont
inspirés pour créer des systèmes d'exploitation semblables, notamment l'université de Berkeley, avec sa
Berkeley Software Distribution (BSD). Puis ceux-ci ont servi de source d'inspiration pour d'autres
systèmes d'exploitation, et ainsi de suite. En 2009, la famille Unix compte plus de 25 systèmes
d'exploitation.
Le jeu de la concurrence a amené chaque éditeur à ajouter ses propres améliorations et ses propres
fonctionnalités à son système d'exploitation optimisé pour un matériel en particulier. Ce qui a amené les
différents membres de la famille Unix à se distancier, et perdre la compatibilité l'un avec l'autre.
En 1987, dans le but de réunifier la famille Unix, AT&T conclut un accord avec Sun Microsystems (un
des principaux éditeur de système d'exploitation basé sur BSD). Les autres éditeurs ne voient pas cet
accord d'un bon œil, et créent la fondation Open Software Foundation (abrégé OSF). En même temps le
Open Group, un consortium de normalisation, publie des normes relatives aux systèmes d'exploitation
de la famille Unix[33]. Les deux institutions sont aujourd'hui fusionnées.
POSIX est le nom donné aux normes IEEE 1003. Cette famille de normes appartenant à l'Open Group a
été lancée en 1988 et concerne l'interface de programmation. La conformité d'un système d'exploitation
à cette norme assure la compatibilité au niveau source. En 2009, de nombreux systèmes d'exploitations
sont conformes à cette norme, y compris en dehors de la famille Unix[34].
POSIX fait partie de la Single Unix Specification, une norme lancée en 1994 par le Open Group, qui
concerne les systèmes de fichiers, les logiciels utilitaires, ainsi que 1 742 fonctions de l'interface de
programmation[35]. Le nom Unix appartient à l'Open Group et tout système d'exploitation doit être
conforme à la Single Unix Specification pour être reconnu comme faisant partie de la famille Unix[36].
Microsoft et la concurrence
En 1995, conformément au Sherman Antitrust Act, le département de la justice des États-Unis interdit à
Microsoft certaines de ses pratiques considérées comme nuisibles à la concurrence. Deux ans plus tard,
un procès est ouvert pour non respect des interdictions de 1995 : Microsoft obtient l'annulation du
procès sur l'argument que « la justice n'est pas équipée pour juger du bien fondé du design des produits
de haute technologie (sic) ».
Entre 1999 et 2001 une enquête est ouverte concernant la position de Microsoft. L'enquête, menée par
les juges Thomas Jackson et Richard Posner amène à la conclusion que Microsoft utilise sa position de
monopole pour exclure des rivaux, nuire à ses concurrents et détruire l'innovation. La société échappe de
peu à la scission, mais est dans l'obligation de publier les spécification de ses technologies, en particulier
les interfaces de programmation et les protocoles réseau ceci afin de préserver l'interopérabilité et la
concurrence[37].
Plus tard, en 2007, Microsoft est condamné par la Commission Européenne à une amende de près de
500 millions d'euros pour violation de l'article 82 du traité CE et l'article 54 de l'accord EEE (textes
relatifs au droit de la concurrence et l'abus de position dominante) après avoir refusé de publier une de
ses spécifications techniques à son concurrent Sun Microsystems [38]. Selon la Commission Européenne
les agissements de Microsoft nuisent à l'interopérabilité des systèmes d'exploitation et à la
concurrence[39].
Chaque système d'exploitation comporte une palette de programmes relatifs à des protocoles réseau. La
composition de la palette dépend du choix de l'éditeur et diffère d'un système d'exploitation à l'autre ; or
deux ordinateurs peuvent communiquer ensemble uniquement à condition d'utiliser les mêmes
protocoles.
La popularisation d'Internet dans les années 1990 a poussé de nombreux éditeurs à inclure dans leur
système d'exploitation des programmes relatifs aux protocoles TCP/IP (les protocoles d'Internet), ce qui
a amélioré l'interopérabilité entre les systèmes d'exploitation.
Bibliographie
Andrew Tanenbaum, Systèmes d’exploitation, Pearson Education France, 2008, 3e éd. (ISBN 978-
2-7440-7299-4)
Laurent Bloch, Les systèmes d’exploitation des ordinateurs. Histoire, fonctionnement, enjeux,
Vuibert, 2003, (ISBN 978-2-7117-5322-2)
Notes et références
1. ↑ "C" est un langage de programmation souvent utilisé pour les systèmes d'exploitation
2. ↑ système d'exploitation
3. ↑ (en)History of operating systems
4. ↑ (en)The Unusual History of MS-DOS
5. ↑ (en)History of the graphical user interface
6. ↑ À vocation académique, Minix comportait de nombreuses limitations techniques. Les éliminer aurait rendu son
code source difficile à lire et à comprendre, A. Tanenbaum s'y opposait.
7. ↑ (en)Unix pioneer ends BSD research
8. ↑ (en)Finding aid to the Berkeley Software Distribution
9. ↑ (en)A brief history of open source software
10. ↑ (en)Kernel: Basic Concepts Part 2
11. ↑ (en)IBM, AIX System management Desktop
12. ↑ Andrew Tanenbaum, enseignant, utilisait le code source de Minix pour illustrer ses cours sur les systèmes
d'exploitation
13. ↑ (en)Introduction to Minix
14. ↑ anciennement appelé EPOC
15. ↑ racheté à Psion
16. ↑ Symbian OS Presentation
17. ↑ Compatible PC, Macintosh, DEC Alpha, Sparc, Itanium, m68k,...
18. ↑ Entre 1986 et 1991, les produits de la famille Windows étaient des environnement graphique pour le système
d'exploitation DOS
19. ↑ a et b Scission du projet 386BSD
20. ↑ Plus de 50 types de machines. [1]
21. ↑ Compatible PC, ARM, MIPS, Macintosh, DEC Alpha, Sparc, Itanium, Sun Microsystems, Xbox
22. ↑ (en)Kernel.exe Describes the Kernel and VxD for Windows 95
23. ↑ (en)Windows CE and Windows Mobile Timeline
24. ↑ Windows CE Kernel services
25. ↑ créé par fusion entre NeXTSTEP et Mac OS
26. ↑ (en)Windows market share drop to 15 years low
27. ↑ (en) Unix flavor list
28. ↑ (en)IDC report, Server market
29. ↑ (en)How to choose a Web Server
30. ↑ (en)The triumph of Linux as supercomputer OS
31. ↑ Canalys, 115 millions de smartphones en 2007
32. ↑ La notoriété d'un système d'exploitation incite les éditeurs à créer des logiciels applicatifs, ce qui accroit encore sa
notoriété
33. ↑ (en) Unix history and timeline
34. ↑ (en)POSIX.1 FAQ
35. ↑ (en) Single Unix specification FAQ
36. ↑ (en)What is UNIX
37. ↑ (en)Microsoft Antitrust, a case study
38. ↑ L'échange de spécification est une pratique courante dans le marché informatique.
39. ↑ procédure d'application de l'article 82 du traité CE et de l'article 54 de l'accord EEE engagée contre Microsoft
Corporation
Articles connexes
Ordonnancement
Pilote informatique
Interruption
Système de fichiers
Environnement graphique
Noyau de système d’exploitation
Liste des noyaux de systèmes d’exploitation
Liste des systèmes d’exploitation
Système d'exploitation temps réel
Catégorie:Système d'exploitation
Liens externes
v·d·m