EMSI-CASABLANCA A.AHMADI 2009/2010 A. AHMADI Unix 1 UNIX Chap 1 Présentation d’
EMSI-CASABLANCA A.AHMADI 2009/2010 A. AHMADI Unix 1 UNIX Chap 1 Présentation d’UNIX A. AHMADI Unix 2 I- Introduction Le système d’exploitation UNIX est issu du milieu universitaire ; Il s’est imposé dans le milieu industriel : tous les constructeurs informatiques le proposent à leur catalogue, parfois en alternative à leur propre SE ; UNIX est le seul SE disponible sur : • Les micro-ordinateurs ; • Les stations de travail ; • Les mini-ordinateurs ; • Les mainframes ; • Les supercalculateurs. Le succès d’UNIX est justifié par : •Portabilité du savoir ; •Portabilité des programmes ; II- Historique 1969 : naissance d’UNIX, dans les Bell Laboratories (AT&T) par Ken Thompson et Dennis Ritchie ; Objectif : fournir un environnement de développement aux programmeurs maison ; 1973 : nouvelle version d’UNIX a été réécrite, en grande partie (90%) en C et en assembleur (10%) ; 1974 : Développement de la version IV d’UNIX par l’université Berkeley (Californie) ; Début d’une divergence entre les 2 versions d’UNIX : AT&T et BSD Grand succès d’UNIX dans les universités américaines : adopté par les départements « Computer Sciences» pour la formation des étudiants en « Informatique Système » ; Le nombre d’experts UNIX croît à une grande vitesse ! 1977-1979 : Thompson et Ritchie réécrivent UNIX pour le rendre réellement portable ; 1980 :1ères licences de distribution d’UNIX d’AT&T délivrées aux constructeurs ; A. AHMADI Unix 3 A. AHMADI Unix 4 1984 : Création du groupe X/Open. But : Normaliser les différentes versions ; Création de la norme X-Window (système de fenêtrage graphique) par MIT 1987 : Alliance entre AT&T et SUN visant la convergence entre les 2 systèmes ; 1988 : Création des consortiums : OSF (Open Software Foundation) et UNIX International : OSF : DEC, HP, IBM,… Normalisation d’un nouvel UNIX : OSF1 ; UNIX International : AT&T, SUN, … UNIX System V ; 1992 : DEC/OSF1 : 1ère version commerciale d’OSF proposée par DEC ; SystemV+BSD : 1ère version commerciale proposée par SUN ; Il y a plusieurs UNIX, avec quelques petites différences. Exple : LINUX ; II- Historique A. AHMADI Unix 5 Le grand succès d’UNIX est dû aux facteurs suivants : • Son adoption par les universités américaines formation de plus d’experts • Besoin d’un standard exprimé par les utilisateurs finals et les développeurs : système ouvert permettant une évolution en douceur ; • UNIX est le seul SE multiutilisateurs disponible à faible coût. Il existe de nombreuses versions dérivées d’UNIX qui peuvent être classées en 2 groupes : • Les UNIX Based : dérivées des sources AT&T et/ou Berkeley, comme : Ultrix (DEC), HP-UX (HP), AX (IBM), SOLARIS (SUN), LINUX ; • Les UNIX Like : Systèmes UNIX mais contenant un noyau totalement réécrit visant des applications bien précises (temps réel, transactionnelles, etc) ; Remarque : UNIX-Based tendent à faire disparaître les UNIX-Like. II- Historique A. AHMADI Unix 6 II- Historique Création de groupes d’utilisateurs afin d’exprimer une indépendance vis-à-vis des constructeurs : • Le groupe X/Open (1984) : Européen au début et international après ; • Le groupe POSIX : fait partie de IEEE. Ses travaux sont plus déterminants. A. AHMADI Unix 7 II- Historique A. AHMADI Unix 8 -Définition (Wikipedia) e système d'exploitation (SE, en anglais Operating System ou OS) est un ensemble de programmes responsables de la liaison entre les ressources matérielles d'un ordinateur et les applications de l'utilisateur (traitement de texte, jeu vidéo…) ; l fournit aux programmes applicatifs des points d'entrée génériques pour les périphériques. III- Notion de Système d’Exploitation A. AHMADI Unix 9 2- Rôle d’un Système d’Exploitation C’est le maître d’orchestre : indispensable pour utiliser les ressources de la machine. Ses principales fonctions sont : Gestion de la mémoire centrale ; Gestion des processeurs : ordonnancement ; Gestion des périphériques : E/S ; Gestion des fichiers : sur les mémoires de masse ; Gestion des ressources : attribution des ressources nécessaires ; Gestion des permissions et privilèges ; III- Notion de Système d’Exploitation A. AHMADI Unix 10 1- Caractéristiques d’UNIX UNIX est un système d’exploitation : Multiutilisateurs ; Multitâches ; possède un système de gestion de fichiers à arborescence unique, même avec plusieurs périphériques de stockage ; les entrées/sorties et la communication interprocessus sont compatibles avec la notion de fichier ; IV- Le Système d’Exploitation UNIX A. AHMADI Unix 11 Unix est un SE, constitué d’un noyau, d’un interpréteur de commandes et d’un grand nombre d’utilitaires. a- Noyau Il assure la gestion des ressources physiques (processeur, mémoire, périphériques) et logicielles (processus, fichiers, etc) ; Il accepte et traite les instructions du shell ; Il gère les permissions d’accès dans le système de fichier ; Il est constitué d’un ensemble de procédures et de fonctions écrites en C et en Assembleur (entre 10 et 90 Ko) ; La structure du noyau est monolithique (pas de couches comme les autres SE). III- Le Système d’Exploitation UNIX 2- Composants d’UNIX a- Noyau A. AHMADI Unix 12 A. AHMADI Unix 13 - Interpréteur de commandes (Shell) ’utilisateur d’Unix communique indirectement avec le noyau via le Shell ; nix possède plusieurs Shell (Bourne Shell, C-shell, Korn shell, …) : richesse mais aussi une confusion ; ’interface utilisateur d’Unix est donc constituée : • d’une bibliothèque de programmes exécutables : les commandes ; • Du shell lui-même, interpréteur de commandes et langage de commandes permettant de réaliser des scripts ; nterprète les commandes ; dite les commandes en ligne ; éfinit des environnements de travail spécifiques ; III- Le Système d’Exploitation UNIX 2- Composants d’UNIX A. AHMADI Unix 14 - Utilitaires Assembleurs et éditeurs de liens ; ompilateurs pour différents langages : C, Pascal, Ada, Fortran, … utils de bureautique : messagerie, traitement de textes ; diteurs de texte (ed, vi, emacs) ; utils pour le Web (Apache, Netscape). III- Le Système d’Exploitation UNIX 2- Composants d’UNIX A. AHMADI Unix 15 III- Le Système d’Exploitation UNIX 3- Structure d’UNIX Utilisateur Application Noyau (Kernel) Matériel Shell A. AHMADI Unix 16 IV- Le concept ”Open source” Richard Stallman (chercheur au MIT, auteur de gcc, Emacs ...) énonce clairement le concept de logiciel libre (« free ») : « ... un savoir scientifique doit être partagé en le distribuant, ... les codes sources doivent être libres d'accès ... » Démarre le projet GNU (1984). But : recréer un système d'exploitation complet (Unix-like), composé uniquement de logiciels libres. Crée la FSF (Free Software Fundation, 1985) pour gérer le projet GNU. Remarque : « Free » dans la culture hacker signifie « libre », pas nécessairement « gratuit » ou « non commercial » A. AHMADI Unix 17 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. Richard Stallman décrit dans le Manifeste GNU les quatre libertés fondamentales que doit respecter un logiciel pour être qualifié de logiciel libre (free software en anglais) : i. liberté d'exécution : tout le monde a le droit de lancer le programme, quel qu'en soit le but ; ii. 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 ; iii. liberté de redistribution : tout le monde a le droit de rediffuser le programme, gratuitement ou non ; iv- liberté d'amélioration : tout le monde a le droit de redistribuer une version modifiée du programme ; 1- Principe de base du projet GNU A. AHMADI Unix 18 Autorise l'utilisateur à copier et à distribuer à volonté le logiciel qu'elle protège, pourvu qu'il n'interdise pas à ses pairs de le faire aussi ; Requiert aussi que tout dérivé d'un travail placé sous sa protection soit lui aussi protégé par elle ; Quand la GPL évoque les logiciels libres, elle traite de liberté et non de gratuité (un logiciel GPL peut être vendu) ; Remarque : en anglais « free » = gratuité et liberté 2- La licence GPL (General Public licence) www.gnu.orgcopyleft/gpl.html A. AHMADI Unix 19 3- Le copyleft de la licence GPL www.gnu.org/copyleft Créé par Stallman en 1984 Garantit les 4 libertés fondamentales pour tous les utilisateurs (artistes, informaticiens, ou quiconque produisant un travail soumis au droit d'auteur) ; évite de mettre les logiciels GNU dans le domaine public (pas de protection) ; Spécifie que quiconque redistribue le logiciel, avec ou sans modifications, doit aussi transmettre la liberté de les copier et de les modifier ; Encourage et aide les programmeurs (entreprises, universités) qui veulent ajouter et/ou contribuer à des améliorations des logiciels libres ; Un logiciel copyleft est d'abord déclaré sous copyright, puis on ajoute les conditions de distribution et les libertés légalement indissociables. 1991 : Linus Torvalds uploads/Litterature/ cours-unix-emsi-2009.pdf