Introduction :
Système d’exploitation Unix
Page 1
1. Qu'est ce qu'un système d'exploitation ?
Malgré les différences (de point de vue, de forme, de taille et de type )
les ordinateurs se composent de matériel et de logiciels,
Le système d'exploitation est donc une composante logicielle très
importante.
C’est le logiciel le plus important de la machine
Page 2
1. Qu'est ce qu'un système d'exploitation ?
• Un système d'exploitation est un programme qui doit
permettre aux utilisateurs d'utiliser les fonctionnalités
d'un ordinateur.
• Il doit aussi aider le programmeur à développer des
logiciels de la façon la plus efficace possible.
• Un système d'exploitation est mis en route dès qu’on
met en marche l'ordinateur.
• Il est toujours en exécution.
• Le système constitue donc une interface entre
l'utilisateur et la machine physique.
Page 3
Le matériel d'un système informatique est composé de :
• processeurs qui exécutent les instructions,
• la mémoire centrale qui contient les données et les
instructions à exécuter
• la mémoire secondaire qui sauvegarde les
informations,
• Les périphériques d'Entrées/Sorties (clavier, souris,
écran, modem, etc.) pour introduire ou récupérer des
informations.
Page 4
Les logiciels sont à leur tour divisés en :
• programmes système qui font fonctionner l'ordinateur :
le système d'exploitation et les utilitaires (compilateurs,
éditeurs, interpréteurs de commandes, etc.)
• programmes d'application qui résolvent des problèmes
spécifiques des utilisateurs.
Page 5
1.1 Le système d'exploitation
• Le système d'exploitation gère et contrôle les
composants de l'ordinateur.
• Il fournit à l’utilisateur une base appelée machine
virtuelle, sur laquelle seront construits les programmes
d'application et les utilitaires au moyen d’appels
système.
• Le but d'un système d'exploitation consiste donc à
développer des applications sans se soucier des
détails de fonctionnement et de gestion du matériel.
• Exemple, on peut effectuer la lecture d'un fichier par un simple appel
système : read(…, nomFichier, …..); et peu importe l’endroit où se
trouve le fichier en question
Page 6
Principales fonctions d’un SE:
Les systèmes d'exploitation ont comme fonctions principales:
- Chargement et lancement des programmes
- Gestion des processeurs, de la mémoire, de
périphériques
- Gestion des processus (programmes en cours
d'exécution) et des fichiers
- Protection contre les erreurs et la détection des erreurs,
etc.
Page 7
Page 8
Page 9
Page 10
Page 11
Page 12
Page 13
Page 14
Page 15
Page 16
Page 17
Page 18
Page 19
Logiciel libre/Logiciel propriétaire
Les logiciels propriétaires sont donc les logiciels dont une licence,
souvent payante, ne donne qu'un droit limité d'utilisation. On n'a la
plupart du temps accès qu'aux binaires de ces logiciels. Certains
logiciels propriétaires sont gratuits, on les appelle alors des freewares.
(Windows est un OS propriétaire dont le code source est
jalousement gardé par Microsoft.
On ne peut donc pas le modifier ou regarder comment il
fonctionne à l'intérieur.)
Page 20
Logiciel libre/Logiciel propriétaire
L’accès libre au code source accélère le progrès en matière d'informatique
car l'innovation dépend de la diffusion du code source.
Les quatre libertés fondamentales :
• Liberté d'exécution : tout le monde a le droit de lancer le programme, quel
qu'en soit le but ;
• Liberté de modification : tout le monde a le droit d'étudier le programme et
de le modifier, ce qui implique un accès au code source ;
• Liberté de redistribution : tout le monde a le droit de rediffuser le
programme ;
• Liberté d‘amélioration : tout le monde a le droit de redistribuer une version
modifiée du programme ;
Page 21
Présentation de Linux : Historique
1969 : Première version d’Unics sur PDP 7 aux Bell Labs par
K. Thompson & D. Ritchie entièrement en assembleur.
1970: B. Kernigham( Bell Labs) donna le nom Unix (% à multics
qui existait avant) le temps unix commence au 01/01/1970 (
évalué en seconde).
1971: création d'un nouveau langage le C pour porter leur
système sur un PDP 11.
1973: maturité du langage C, unix est reécrit entièrement en C.
1977: AT&T le diffusèrent aux universités et centres de recherche
pour un coût modique.
Présentation de Linux : Historique
1979 : Première version d’Unix commercialisée
Unix Système V
Puis Unix BSD par l’université de Berkeley
1992 : Sortie de Solaris
Dérivée de Unix Système V
L’Unix de Sun
Unix est un système payant et non libre
L’alternative est le projet GNU/Linux
Présentation de Linux : Historique
Projet GNU est un projet lancé par Richard Stallman, un
chercheur du MIT.
Le but est de développer un OS complet, libre et qui se base
sur Unix afin de contrer le développement croissant des
logiciels propriétaires (le prix Unix devenait de plus en plus
payant).
Cependant, en 1991, le projet GNU n'avait toujours pas de
noyau et tournait sur des Unix propriétaires.
2424
Page
Présentation de Linux : Historique
En 1991, Linus Torvalds, un étudiant de l’université de
Helsinki, développe un noyau en s'inspirant des principes
du système d'exploitation UNIX.
Le OS prend le nom de Linux ( en référence à son créateur).
Le projet GNU (programmes
Project GNU Project LINUX libres) et Linux (noyau d'OS) ont
fusionné pour créer GNU/Linux.
GNU/LINUX
Page 25
Présentation de Linux : Distributions de linux
Il existe une très grande variété de distributions, ayant chacune
des objectifs et une philosophie particulière.
Les éléments différenciant principalement les distributions
sont :
La convivialité (facilité de mise en œuvre).
L'intégration (taille du parc de logiciels validés distribués).
La notoriété (communauté informative pour résoudre les
problèmes). L’environnement de bureau (Gnome, KDE, ...).
Le point commun est le noyau (kernel) et un certain nombre de
commandes.
Page 26
Noyau et distribution
Linux est architecturé autour d’un noyau
Ce noyau est appelé « Kernel »
Il contient toutes les fonctions de base d’un OS
• Accès aux périphériques matériels standards
– Disque dur, carte graphique, …
• Accès aux périphériques spécifiques
– A l’aide de pilotes
• Gère les processus et la communication entre les processus
Linux est un système multitâche préemptif
Le noyau gère l’exécution de chaque processus
• Le processus peut être interrompu à tout moment
Une distribution est un noyau auquel des logiciels ont été ajoutés
Possibilités de créer des distributions dédiées à un usage particulier
Linux sous licence GPL
La licence GPL : General Public Licence
Concerne les modalités de distribution du noyau
Le code source est ouvert (Open Source)
Chacun peut le modifier et le revendre
• Le code source modifié doit alors rester sous licence GPL
Le noyau Linux est sous licence GPL
Une distribution Linux est un ensemble noyau + logiciels sous
licence GPL ou mixte
L’utilisation et la copie de Linux sont gratuites
Certaines distributions contiennent des logiciels non GPL
Exemple de distrib. 100% GPL : Debian
Exemple de distrib. Mixte : Red Hat
Le noyau reste entièrement sous GPL
Les distributions Linux
Une distribution est constituée :
Du noyau Linux
De « packages » contenant des logiciels additionnels
Certaines distributions sont spécifiques à un domaine particulier
Sécurité des réseaux (IPCOP)
Piratage (Backtrack)
Systèmes embarqués ou temps réel (RTLinux, μCLinux)
Demodulateurs satellite ( Dreambox)
Pour les distrib. généralistes, la liste est longue
Debian, Red Hat ou Cent OS,Ubuntu, Mandriva, Suse
Il existe des distrib. basées sur d’autres distrib.
Exemple : Ubuntu basée sur une Debian
Architecture GNU/Linux
Divisée en 3 couches distinctes
La couche physique : Périphériques et BIOS
La couche système : Gérée par le noyau
La couche interface : le Shell et/ou le système X-Window
X-Window
Shell
Noyau (Kernel)
BIOS
Périphériques
Le shell
Le shell est un interpréteur de commandes
Permet à l’utilisateur d’interagir avec le système
Il lit et exécute les commandes de l’utilisateur
C’est aussi un véritable langage de programmation
Il sera possible d’écrire des scripts exécutant des commandes
répétitives
Il en existe plusieurs
Le shell « bash » est le plus courant
Mais aussi les shells « csh », « ksh », « tcsh »
Contexte
root@Nom:~# pwd
Commande à exécuter
Résultat de la /home/root
commande
root@Nom:~#
X-Window : Interface graphique
C’est l’environnement graphique de tous les systèmes Unix et
Linux
Basée sur la relation client-serveur
Le serveur X peut accepter un client distant afin de déporter
l’affichage sur une autre machine
Pour Linux, le serveur X se nomme XFree86
Le serveur X fonctionne avec un « gestionnaire de fenêtrage »
Il en existe plusieurs (Kde, Gnome, …)
Définit l’aspect du bureau, des fenêtres et des menus
Exemple avec Gnome
Pour quelle plate-forme matérielle ?
Linux existe pour la plus majeure partie des plates-formes
matérielles :
Pour l’architecture Intel i386 et AMD des ordinateurs PC
Sun Sparc
ARM
RISC
…
Le noyau prend en charge une grande variété de périphériques
matériels
Cartes de communication Wifi, Bluetooth, Zigbee, …
Support des cartes vidéos orienté « chipset »
Que faut-il pour réussir sous Linux ?
Maîtriser le shell
Un serveur sous Linux n’a pas toujours d’environnement X-Window
Les commandes de base permettent beaucoup de choses
Il faut savoir utiliser le manuel des commandes (man)
Bien connaître le système de fichiers
Sous Linux « tout est fichier » (même les périphériques et les
processus)
Configurer un logiciel passe souvent par l’édition d’un simple fichier
texte
Savoir lire les fichiers de journalisation
Lorsqu’un logiciel ne fonctionne pas, il laisse des traces
Fichiers « log » stockés dans le « file system »
LINUX est sensible à la casse (case sensitive)
Majuscules et minuscules sont interprétés différemment