1/39 à UNIX et Windows Thierry Hamon Bureau H202 - Institut Galilée Tél. : 33 1.48.38.35.53 Bureau 150 LIM&BIO EA 3969 Université Paris 13 - UFR Léonard de Vinci 74, rue Marcel Cachin, F-93017 Bobigny cedex Tél. : 33 1.48.38.73.07, Fax. : 33 1.48.38.73.55 thierry.hamon@univ-paris13.fr http://http://www-limbio.smbh.univ-paris13.fr/membres/hamon/iuw-20112012
2/39 Présentation du cours Présentation du cours Objectifs de l enseignement : Connaitre et Manipuler les concepts de base (fichiers, processus) des systèmes d exploitation UNIX et Windows Savoir interagir avec ces systèmes d exploitation
3/39 Présentation du cours Programme des enseignements Pour Windows, puis UNIX : Généralité sur le système d exploitation Description du système de gestion des fichiers Manipulation des fichiers à l aide de commandes et de l interface graphique Processus Utilisation d un Interpréteur de commandes et définition de scripts
4/39 Présentation du cours Répartition des enseignements 8 séances de 3 heures : 8 heures de cours 16 heures de TP Contrôle des connaissances : Contrôle continue (TP noté) Partiel
5/39 Généralités sur les systèmes d exploitation Système d exploitation (SE) Définition En anglais : Operating System (OS) Pas de définition précise Ensemble de programmes permettant à l utilisateur d exécuter ses programmes contrôlant le matériel associé à l ordinateur
6/39 Généralités sur les systèmes d exploitation Système d exploitation (SE) Définition Couche logicielle entre le matériel et l utilisateur de ce matériel Programmes utilisateur Couche graphique (gestionnaire de fenêtres) Système d exploitation Langage machine
7/39 Généralités sur les systèmes d exploitation Système d exploitation (SE) Notions associées Noyau (kernel) d un système d exploitation : le ou les processus gérant les opérations élémentaires (gestion des processus et des communications,...) Un langage de commandes est associé au SE
8/39 Généralités sur les systèmes d exploitation Systèmes d exploitation Familles DOS (Disk Operating System) : Système d exploitation à interface alpha-numérique principalement Le langage de commandes n accepte que des instructions Créé en 1978, c est le premier système pour PC Windows Système d exploitation à interface graphique Beaucoup d évolution du noyau entre la première version et les versions actuelles
9/39 Généralités sur les systèmes d exploitation Systèmes d exploitation Familles Unix : Premier vrai système multi-utilisateurs (datant des années 70) Relativement peu évolué d évolution des principes de fonctionnement Base de tous les systèmes actuels s inspirent Unix est utilisé par tous les gros systèmes d exploitation VMS : Système d exploitation relativement ancien Utilisé sur les gros systèmes
10/39 Généralités sur les systèmes d exploitation Systèmes d exploitation Familles MacOS : Système d exploitation des MacIntosh (Apple) Premier vrai système graphique utilisant souris, icônes et fenêtres Dernière version de Mac OS : basée sur un noyau Unix
11/39 Généralités sur les systèmes d exploitation Evolutions des systèmes d exploitation 4 étapes dans l évolution des systèmes d exploitation quant à l exécution de programmes Mais chaque SE a eu des dizaine de variantes mono-tâche mono-processus : un programme est en exécution. Alternance SE / exécution complète d un programme utilisateur pertinent lorsque : seul le temps d exécution compte et pas le temps d attente (cas de gros programmes) systèmes en mode temps réel un seul utilisateur (premiers systèmes MS-DOS) obsolète
12/39 Généralités sur les systèmes d exploitation Evolutions des systèmes d exploitation (mono-tâche) multi-processus : plusieurs programmes peuvent être en exécution au même instant exécutions entremêlées zone mémoire propre à chaque programme en exécution (appelé processus) relation faible entre processus pas de variable partégée mais possibilité d utilisation de fichiers ou tubes comme intermédiaire entre processus Tous les SE multi-utilisateurs étaient sous cette forme (Unix, VMS,...) Evolution vers le multi-tâches multi-processus
13/39 Généralités sur les systèmes d exploitation Evolutions des systèmes d exploitation multi-tâches (mono-processus) : plusieurs programmes peuvent être chargés bien qu un seul soit en exécution (le changement de tâche est du ressort de l utilisateur) multi-tâches multi-processus : Décomposition d un programme en tâche (ensemble de codes disjoints) et exécution de toutes les tâches (de tous les processus) en même temps Importantes relations entre tâches Tendance actuelle, que ce soit Unix ou Windows
14/39 Généralités sur les systèmes d exploitation Système d exploitation Exécution d un programme Suite d instructions en langage machine (en code binaire) exécutée instruction après instruction par chargement de l instruction courante dans le Registre d Instruction puis exécution de celle-ci incrémentation si nécessaire du numéro d instruction à exécuter. Rôle du système d exploitation : 1 amener un programme en mémoire centrale 2 exécuter le programme 3 en fin d exécution, demander à l utilisateur le prochain programme à exécuter
15/39 Généralités sur les systèmes d exploitation Fonctionnement schématique d un SE 1 Attente d une commande envoyée par l utilisateur, demandant l exécution d un programme Double clic de souris sur un icône avec une interface graphique (système Windows, CDE sous système Solaris, KDE ou Gnome sous Linux) Nom de commande sous interface alpha-numérique (Unix, DOS par exemple) 2 Recherche et réservation d une zone libre en mémoire centrale pouvant contenir le code du programme 3 Chargement (i.e. copie) en mémoire centrale du fichier correspondant à ce programme 4 Saut à l adresse de la première instruction du programme
16/39 Généralités sur les systèmes d exploitation Fonctionnement schématique d un SE 5 Exécution du programme demandé 6 À la dernière exécution d instruction du programme, saut vers le code du système d exploitation (à la place d une instruction STOP) 7 Libération de la place occupée par le programme de l utilisateur en mémoire centrale 8 Retour à la première étape
17/39 Généralités sur les systèmes d exploitation Système d exploitation Fonctionnalités Coordination du fonctionnement des différents composants (matériels et logiciels) Gestion des périphériques (accès) Gestion des fichiers (lecture, écriture) Contrôle de l exécution des programmes Utilisation de programmes de base Quelques systèmes d exploitation : MS-DOS, Windows, Mac-OS, Linux, Solaris
18/39 Généralités sur les systèmes d exploitation Système d exploitation Fonctionnalités Le SE exécute les programmes à la demande des utilisateurs mais aussi offre d autres fonctionnalités : 1 Langages de commandes (ou shells, utilisables en ligne ) : interface entre l utiilisateur etc le système d exploitation (mkdir, cd, dir, list,...). interorétation des commandes un logiciel d interprétation Exemple : sh, csh, bash sous Unix, cmd sous Windows 2 Fonctions système (ou appels système) : utilisées pour écrire des programmes dont l exécution interagira avec le système (read, write, open, close)
19/39 Généralités sur les systèmes d exploitation Système d exploitation Fonctionnalités 3 Gestion des processus et de leurs priorités 4 Gestion de la mémoire centrale 5 Gestion des fichiers, et plus généralement des disques durs, du clavier, de l écran ou de tout type de périphérique 6 Gestion des utilisateurs pouvant se connecter sur la machine (ainsi que leur mot de passe, leurs droits et des mécanismes de sécurité)
20/39 Généralités sur les systèmes d exploitation Système d exploitation Fonctionnalités 6 Définition et contrôle des mécanismes de communication externe Gestion des connexion avec un réseau extérieur et d autres ordinateurs Gestion des imprimantes Seul le point 1 sera abordé en profondeur dans ce cours Le reste sera détaillé plus tard dans votre cursus
21/39 Programmes & Processus Programmes & Processus Suite d instructions écrites dans un langage de programmation (C, Java, Caml...) Compilation : obtention d un exécutable ou code binaire (complet ou non) Interprétation : lecture d un code source et exécution des instruction par un interprêteur (pas de transformation en code binaire) on parle de script
22/39 Programmes & Processus Programmes & Processus Programme exécutable : fichier stocké sur un disque Processus : Résultat du chargement en mémoire d un programme en vue de son exécution Instance d un programme qui s exécute en mémoire Plusieurs processus peuvent être des exemplaires du même programme
23/39 Programmes & Processus Exécution du code (schématiquement) succession d opérations suivante : 1 Réservation en mémoire centrale de 3 zones par le système d exploitation : code, données, pile la zone entre les données et la pile contient le tas où sont stockées les données dynamiques 2 Chargement par le SE, de l exécutable en zone de code 3 Début de l exécution 4 A la fin de l exécution, désallocation des zones Des étapes peuvent être modifiées ou supprimées suivant les SE
24/39 Système de Gestion de fichiers Gestion des fichiers et disques Fichier : Structure permettant de stocker des données Gestion des fichiers par le système d exploitation définit : la structure du stockage les modes de protection (accès) le nommage
25/39 Système de Gestion de fichiers Organisation de l ensemble des fichiers Description des fichiers à partir de certaines informations : emplacement du fichier sur le disque nom taille...
26/39 Système de Gestion de fichiers Organisation de l ensemble des fichiers structure arborescente En général, stockage à l aide d une structure d arbre (arborescence) gestion d un nombre important de fichiers gestion des fichiers sans accès par le contenu Arbre : structure récursive racine unique la racine possède des fils (les nœuds de l arbre) les fils peuvent eux-mêmes avoir des fils (nœud interne) les fils terminaux (ne possèdant pas de fils) sont les feulles
27/39 Système de Gestion de fichiers Organisation de l ensemble des fichiers structure arborescente Organisation des fichiers : Structure arborescente composé de fichiers (feuilles de l arbre) répertoires (nœuds internes) appelés aussi catalogues ou dossiers (directory en anglais)
28/39 Système de Gestion de fichiers Organisation de l ensemble des fichiers Nommage/adresse : Nom unique du fichier dans l arborescence : suite des noms de nœuds à partir de la racine permettant d y accèder (adresse absolu) C:\Documents\MonDocument.doc /home/thierry/mondocument.doc Adressage relatif : suite des noms de nøuds permettant d accèder au fichier depuis le répertoire courant..\..\documents\mondocument.doc../mondocument.doc
29/39 Système de Gestion de fichiers Organisation de l ensemble des fichiers structure arborescente Protection : autorisation accordée par le système, à l utilisateur à se positionner sur un répertoire ou accèder à un fichier
30/39 Système de Gestion de fichiers Exemples UNIX : arborescence unique identification d un fichier par son adresse absolue à partir de la racine ou par son adresse relative à partir du répertoire courant caractère / pour la séparation de deux noms dans la chaîne de noms décrivant le chemin dans l arborescence Un nom : suite de caractères répertoire courant : repéré par le caractère point (. ) le répertoire parent par un double point(.. ).
31/39 Système de Gestion de fichiers Exemples DOS ou Windows : même principe mais caractère de séparation de noms : \ et non / Nécessité de spécifier le nom de la partition en en-tête Partition : disque ou partie physiquement déterminée d un disque NB : il y a un arbre par partition Sous OS/MacIntosh : comme sous Unix mais caractère séparateur :.
32/39 Fichiers Contenu et type des fichiers Pour certains systèmes, le contenu du fichier a une organisation interne (enregistrements) : Système de gestion de bases de données : données structurées stockées en chaîne dans une partition du disque dur Fichier : suite d enregistrements (chaque enregistrement ayant une taille fixe)
33/39 Fichiers Contenu et type des fichiers Pour la plupart des systèmes : pas de structure interne d exploitation Fichiers : simple suite d octets C est le programme qui accède au fichier qui peut y voir une organisation particulière On parle de fichiers ordinaires
34/39 Fichiers Contenu et type des fichiers Autres types de fichiers : Répertoires (directories, catalogues) Contenu : informations liées aux fichiers contenus dans ce répertoire Un répertoire est fait un tableau dont chaque entrée contient les informations et l adresse d un fichier (fichier ordinaire ou répertoire)
35/39 Fichiers Contenu et type des fichiers Fichiers spéciaux caractères : Représentation des entrées/sorties en mode série (terminaux, imprimantes, réseaux) (transfert octet par octet) Fichiers spéciaux blocs : Représentation des entrées/sorties en mode parallèle : disque,... Transfert bloc par bloc (en général 8Ko) NB : l organisation interne d un fichier dépend de son type
36/39 Fichiers Informations décrivant un fichier Informations enregistrées dans une table de description des fichiers (stockée sur disque, etc.) : Nom du fichier Emplacement des données (liste des pages si le disque utilise ce mode de gestion, cf plus loin)
37/39 Fichiers Informations décrivant un fichier Caractéristiques : protection (lecture, écriture, exécution) propriétaire créateur type (ASCII, fichier temporaire, exécutable,...) dates (de dernière modification, de création,...) tailles (actuelle, maximale autorisée)
38/39 Fichiers Informations décrivant un fichier Opérations disponibles : création, positionnement, suppression, renommage ouverture, fermeture, lecture des caractéristiques, modification des caractéristiques lecture, écriture, ajout Opérations disponibles : peuvent différer selon le type du fichier, ou ne pas être autorisées
39/39 Bibliographie Bibliographie Tanenbaum Les systèmes d exploitation, 1994, InterEditions Beauquier, Bérard Systèmes d exploitation, 1990, Ediscience Pelissier UNIX, 1998, Hermès