Linux est un système d`exploitation Qu`est ce qu`un système d

publicité
Linux est un système d'exploitation
Qu'est ce qu'un système d'exploitation ?
L'histoire de Unix
La Philosophie d'Unix
L'architecture de Linux
Qu'est ce qu'un système d'exploitation ?
C'est un programme qui sert d'intermédiaire entre
le matériel et l'utilisateur :
- Il masque la complexité (grandissante) de
fonctionnement du matériel
- Il permet le partage des ressources
- Il protège l'accès aux ressources
Exemples de systèmes d'exploitation :
OpenBSD
● FreeBSD, NetBSD
● Mac OS 8, 9,..., X.3
● BeOS
● Windows 2000, XP
● Solaris (Sun)
● AIX (IBM)
● HP-UX (HP)
●
--> Sont des “OS”
(Operating Systems ou Systèmes d'exploitation)
Histoire de Unix
●
●
●
Né en 1969 dans les laboratoires d’AT&T
créé principalement par Ken Thompson et Dennis
Ritchie.
Les trois améliorations majeures qu'apportait Unix :
l'interactivité, l'échange des données et le multiusagers.
La philosophie d'Unix :
●
●
●
Tout est fichier
Chaque programme fait une seule chose, mais le
fait bien
Faire des programmes qui peuvent travailler
ensemble
Et Linux ?
●
C'est un Logiciel Libre
●
Apparu en 1991 Linus Torvalds (LInux is Not UniX
●
●
●
Issu d'une communauté de développeurs (sous sa forme
actuelle)
En perpétuelle mutation :
“Linux is a process” --Yann Murdock (fondateur du
projet Debian)
Mais Linux seul ne sert pas à grand chose : ce n'est que
le “noyau”. Il manque toutes les applications...
Avantages de Linux :
●
●
multi-tâche et multi-utilisateurs
préemptif ( d'origine pour le noyau 2.6.x, patch pour
2.4.x)
●
robuste, haute disponibilité
●
sécurité “ouverte” : le code source est disponible
●
●
une grosse partie de l'Internet fonctionne grâce à Linux
et/ou les OS de type BSD.
pas d'impératifs commerciaux (une distribution Debian
“sort” quand elle est prête :-) )
Inconvénients de Linux
●
●
●
●
Non uniformité d'une distribution à l'autre : frein pour le
développement d'applications commerciales
manque de convivialité, ce qui fait passer Linux pour un
système de “spécialistes”
pas de circuit commercial (ou très peu), mais les choses
changent vite en ce moment
la documentation est gigantesque, mais pas toujours
“organisée”
Architecture Unix : les couches d'interaction
●
●
●
Aucun programme n'utilise la
machine (le "hardware")
directement.
Il doit passer par le noyau qui gère
toutes les interactions avec
l'ordinateur, ceci est fait par
l'intermédiaire d'appels systèmes
("System Calls").
L'exécution des applications ou des
commandes par l'usager se fait par
l'intermédiaire de l'interpréteur de
commande ou du système de fenêtre
("Windowing System").
Appels systèmes :
Les demandes de service faites au système d'exploitation sont faites à
l'aide des appels systèmes (“OS calls” ou “System calls”).
Les services demandés peuvent :
●
contrôler l'execution d'un processus
●
faires des accès et de la gestion sur le système de fichiers
●
faire et contrôler des accès réseau
●
créer et gérer de l'espace mémoire
●
envoyer et recevoir des messages entre processus
●
gérer ou s'informer sur l'état du système
●
contrôler des permissions d'accès...
L'interpréteur de commandes :
●
L'utilisateur peut faire exécuter des commandes, de manière
interactive, par le shell
Syntaxe : nom_de_la_commande [- option(s)] [liste d'arguments]
●
●
●
●
Une commande est formée d'une suite de "mots" séparés par un ou
plusieurs séparateurs. N.B. : voir IFS --> man bash
Un mot est constitué d'une suite finie de caractères et qui ne
contient pas de séparateurs.
Un séparateur du shell est soit un espace, soit une tabulation ou
soit un caractère défini par l'utilisateur.
Le "Retour Chariot" termine une ligne de commande.
Le système de gestion de Fichiers
<<Tout est fichier>>
●
●
Les informations (données, programmes, images, courriers...) sont
stockées dans des fichiers qui sont enregistrés dans des catalogues
appelés répertoires (directory).
Structure de données d'UNIX a la forme d'un arbre inversé
racine /
/
/usr
/usr/bin
/home
/var
Arborescence :
●
un point d'entrée appelé racine (root) et noté / (slash)
●
des répertoires (noeuds)
●
des fichiers constituent les feuilles de l'arbre
Types de fichiers :
1) les fichiers ordinaires, qui contiennent des données
2) les répertoires, qui contiennent une liste de références à d'autres
fichiers Unix
3) les fichiers spéciaux : pilotes de périphériques, sockets...
4) les liens symboliques
Remarque : la vision uniforme de l'arborescence est possible grâce à
la notion d'“inode”
Inode = descripteur associé à chaque entrée et contenant le nom du
propriétaire, les droits, sa taille, différentes dates + des attributs....
Téléchargement