La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Systèmes dexploitation et programmation de systèmes -GPA435- Cours #2: Systèmes dexploitation UNIX / Linux Enseignant: Jean-Philippe Roberge Jean-Philippe.

Présentations similaires


Présentation au sujet: "Systèmes dexploitation et programmation de systèmes -GPA435- Cours #2: Systèmes dexploitation UNIX / Linux Enseignant: Jean-Philippe Roberge Jean-Philippe."— Transcription de la présentation:

1 Systèmes dexploitation et programmation de systèmes -GPA435- Cours #2: Systèmes dexploitation UNIX / Linux Enseignant: Jean-Philippe Roberge Jean-Philippe Roberge - Mai 2014

2 Planification du cours #2 Petite révision du cours #1: Évolution des systèmes dexploitation (S.E.) Historique des S.E. Structure des S.E. modernes Tendance des S.E. modernes (aujourdhui) Vos intérêts et attentes Théorie du cours #2 - Systèmes dexploitation UNIX / Linux Terminal de commande et syntaxe des commandes Documentation standard Structure des fichiers Quelques (petits) exercices 2 Jean-Philippe Roberge - Mai 2014

3 3 Introduction à la matière (1) Système dexploitation: Une suite de programmes qui gère lutilisation des ressources dun ordinateur (ou système ordiné) et qui fournit des services aux applications. Famille de systèmes dexploitation: Unix, Linux, Windows NT, Mac OS Exemples de S.E.: Ubuntu 10.04, Mac OS X v10.5, Windows Vista… Systèmes dexploitation mobiles: Android Vx.x (Noyau Linux), iOS Vx.x, Windows Phone 7, etc… mb/e/e1/Operating_system_placement.svg/165px- Operating_system_placement.svg.png

4 Jean-Philippe Roberge - Mai Évolution de S.E. (1) 1-Traitement en série: Un programme à la fois, généralement écrit en langage machine. Inefficace car lordinateur est monopolisé par un seul programmeur. 2-Traitement par lots: Concept de « moniteur »: un programme qui veille sur les programmes (jobs) des utilisateurs. Chaque utilisateur soumet leur tâche à lopérateur de lordinateur: cartes perforées, rubans magnétiques; regroupement des tâches; exécution séquentielle des regroupements. Par contre, une tâche peut monopoliser longtemps le processeur. Attendre la fin des opérations E/S; Les rubans magnétiques avaient un temps daccès très long. Pour augmenter le rendement de lordinateur récupérer ce temps perdu!

5 Jean-Philippe Roberge - Mai Évolution de S.E. (5) 3-Traitement par lots multiprogrammé: Multiprogrammation exécuter une autre tâche dans les portions de temps où le processeur est inactif. (Plus dun programmes) Exige cependant la coopération du matériel: Coopération du matériel interruptions matérielles. Création dun module MM (Memory Management). Création dun module dordonnancement des tâches. 4-Traitement en temps partagé: Exemple: le CTSS (Compatible Time-Sharing System) de MIT Idée de base le blocage et le redémarrage périodique des tâches à laide dune interruption cadencée par une source stable. Tour à tour, le moniteur passe le contrôle à chacune des tâches en mémoire. Chaque tâche bénéficie alors du même temps d'utilisation du processeur. Permet à plusieurs utilisateurs de démarrer des tâches sur un même ordinateur, au moyen de terminaux, et réduit le temps de réponse interactive.

6 Jean-Philippe Roberge - Mai Évolution de S.E. (9) 5- Systèmes multi-tâches et multi-utilisateurs: Environnement multiprogrammé + linteractivité des systèmes en temps partagé. Multitâche multiprogrammation & Multi-utilisateur temps partagé. MULTICS (MULTiplexed Information and Computer Service) du MIT, Bell, General Electric en MULTICS avait introduit plusieurs innovations: découplage entre le S.E. et le matériel mémoire virtuelle: Pagination de la mémoire; liaison dynamique. système de fichiers hiérarchique. MULTICS avait introduit le concept de processus: 1) programme exécutable; 2) données associées au programme; 3) contexte dexécution du programme.

7 Structure des systèmes dexploitation modernes (1) Jean-Philippe Roberge - Mai Dabord, cette structure est organisé en couches hiérarchiques: Nous allons approfondir ces couches dans les transparents qui suivent…

8 Structure des systèmes dexploitation modernes (2) Jean-Philippe Roberge - Mai Composants matériels (Processeur, mémoire, périphériques, écran, etc…): Processeurs instructions privilégiées; adressage segmenté; système de signaux. 2- Mémoire virtuelle: Donner lillusion au programme, quil travaille avec de la mémoire contigüe. Protection contre la corruption des données Interruption logicielle

9 Jean-Philippe Roberge - Mai Structure des systèmes dexploitation modernes (3) 3- Système de fichiers organisation cohérente de la mémoire secondaire; système de fichiers hiérarchique arbre inversé; sous-répertoires sont des enfants dun répertoire racine; système de fichiers hiérarchique un répertoire peut contenir dautres répertoires. chemin absolu chemin relatif parcours non linéaire PiPi PnPn

10 Jean-Philippe Roberge - Mai Structure des systèmes dexploitation modernes (6) 4- Communication inter-processus Trois points importants:

11 11 mémoire partagée; tuyaux ( pipes ); messages. Structure des systèmes dexploitation modernes (8) Une plage de mémoire (physique ou virtuelle) partagée entre plusieurs processus Structure de données FIFO. Leurs accès sont gérés par le S.E. Sans liens de communication permanents. Les messages sont déposés dans la queue de message des processus. Peuvent donc réaliser des protocoles autres que le FIFO. 4a - Transfert des données entre processus: Jean-Philippe Roberge - Mai 2014

12 12 4b Synchronisation des processus: fonctions attendre() et signal() ; variables sémaphores; instructions atomiques. Fonctions de synchronisation qui modifient une variable sémaphore Variable entière nadmettant que trois opérations: i) initialisation à une valeur non négative; ii) incrémentation de sa valeur; iii) décrémentation de sa valeur. Opérations réalisées par des instructions atomiques. Des instructions exécutées en séquence sans interruption par aucune autre instruction du processeur. Structure des systèmes dexploitation modernes (9) Jean-Philippe Roberge - Mai 2014

13 Modèle des processus: Processus créé mais pas encore exécutable Processus prêt pour lexécution Processus en exécution dans le processeur Processus en suspension: attendant larrivée dun événement ou la fin dune opération Arrêt du processus: fin de son exécution ou causé par une condition derreur Structure des systèmes dexploitation modernes (11) Jean-Philippe Roberge - Mai 2014

14 Interpréteur de commandes Un processus utilisateur; Permet lexécution de programmes; Manipulation des fichiers; Accéder aux périphériques de lordinateur; Automatisation des procédures par fichiers de commandes ; Langages de programmation « shell ». Jean-Philippe Roberge - Mai 2014 Structure des systèmes dexploitation modernes (12)

15 Jean-Philippe Roberge - Mai Cours #2

16 16 Tendances des S.E. modernes (1) Tendances des systèmes dexploitation modernes: Architecture micro-noyau ( microkernel ); Exécution multifilaire ( multithreading ); Traitement parallèle symétrique ( symmetric multiprocessing ); Système dexploitation pour processeurs multi-cœurs. Jean-Philippe Roberge - Mai 2014

17 Architecture micro-noyau: changement important dans lorganisation interne du S.E.; Réduire le noyau: seulement quelques processus importants sont assignés au noyau; les autres services processus utilisateurs appelés « serveurs »; séparation explicite entre le noyau dun S.E. et le développement des serveurs; Jean-Philippe Roberge - Mai 2014 Tendances des S.E. modernes (2) Noyau: Partie fondamentale du système dexploitation, il sagit de la base, cest- à-dire lensemble des processus qui gèrent les ressources de lordinateur. Il permet au matériel et au logiciel de communiquer ensemble.

18 Jean-Philippe Roberge - Mai Comparaison entre noyau « monolithic » et micro-noyau: Tendances des S.E. modernes (3)

19 19 Exemple du concept de micro-noyau: Jean-Philippe Roberge - Mai 2014 Tendances des S.E. modernes (4)

20 Exécution multi-fils: un processus est divisé en plusieurs chemins dexécution simultanée; fil dexécution unité de travail interruptible et séquentielle; fil dexécution ne possède pas de contexte dexécution mais utilise celui du processus père; Mémoire utilisée, létat de la pile programme, les ports dE/S associés, létat des registres du processeur, etc. Modèle de programmation concourante Jean-Philippe Roberge - Mai 2014 Tendances des S.E. modernes (5)

21 Exécution multi-fils (suite) : un processus est une collection de fils dexécution; fil dexécution principal père de tous les fils dexécution créés; Jean-Philippe Roberge - Mai 2014 Tendances des S.E. modernes (6)

22 Traitement parallèle symétrique: réalisation utilisant lexécution multifilière; système à n processeurs (n 256); mémoire commune accessible par tous les processeurs; tous les processeurs sont gérés de la même façon et jouent le même rôle; ordonnancement des fils dexécution dans tous les processeurs libres. Jean-Philippe Roberge - Mai 2014 Tendances des S.E. modernes (7)

23 Traitement parallèle symétrique (suite) : Nouvelle exigence «extensibilité» du S.E.; Application du concept de micro-noyau; S.E. décentralisé; Ordonnancement des fils dexécution réalisé localement par chacun des processeurs; Collaboration entre les processeurs; Une réalisation plus complexe du S.E. Jean-Philippe Roberge - Mai 2014 Tendances des S.E. modernes (8)

24 Système dexploitation réparti: Système dexploitation qui gère une grappe dordinateurs Complexe, doit gérer la communication et lallocation des ressources Méta-SE: Système dexploitation qui gère dautres SE, sur des machines locales 5 - Conception orientée des SE: Profiter des avantages de la programmation orienté-objet Concept d héritage et de spécialisation Jean-Philippe Roberge - Mai 2014 Tendances des S.E. modernes (9)

25 Jean-Philippe Roberge - Mai En parlant dune grappe dordinateurs: Tendances des S.E. modernes (10)

26 Génie de la production automatisée GPA435 Système dexploitation et programmation de système Systèmes dexploitation Linux 2014

27 Systèmes dexploitation Linux (1) Commandes LINUX Commandes LINUX Des programmes écrits en C; Des programmes écrits en C; Des fonctions internes à linterpréteur de commandes. Des fonctions internes à linterpréteur de commandes. Pourquoi les apprendre? Pourquoi les apprendre? Elles représentent un système logique rigoureux; Elles représentent un système logique rigoureux; Elles exigent une démarche systématique tout comme la maîtrise dune langue; Elles exigent une démarche systématique tout comme la maîtrise dune langue; À travers elles, nous solutionnerons des problèmes en ingénierie dune façon logique et systématique. À travers elles, nous solutionnerons des problèmes en ingénierie dune façon logique et systématique. 27

28 Terminal Linux Terminal Linux Habitat pour linterpréteur de commande. Habitat pour linterpréteur de commande. 28 Linvite affichée par linterpréteur de commande. Représentation graphique dun terminal. Terminal de commande (1)

29 Format des commandes Format des commandes Une convention bien établie. Une convention bien établie. commande [option] [paramètre] 29 Linvite affichée par linterpréteur de commande. Lhistorique des commandes lancées. Une commande peut avoir des options et paramètres. Les options sont toujours précédées dun tiret ( ). Les crochets ( [] ) signifient quils ne sont pas obligatoires. Syntaxe des commandes (1)

30 Comment connaître les options et paramètres des commandes? Comment connaître les options et paramètres des commandes? Laide enligne est divisée en sections: Laide enligne est divisée en sections: 30 SectionSujets 1Commandes et programmes 2Interfaces de programmation (API) 3Fonctions des bibliothèques du langage C 4Interfaces des périphériques et du réseau 5Formats de fichiers 6Jeux et application de démonstration 7Divers (ensemble de macros, etc.) 8Commandes pour ladministration du système GPA435 Documentation standard (1)

31 Certains noms de commande apparaissent dans plus dune section Certains noms de commande apparaissent dans plus dune section Par exemple la commande rmdir (remove directory) apparaît dans la section 1 et dans la section 2 de laide enligne; Par exemple la commande rmdir (remove directory) apparaît dans la section 1 et dans la section 2 de laide enligne; o rmdir de la section 1 est une commande de linterpréteur de commande; o rmdir de la section 2 est une fonction de linterface de programmation du système LINUX. Pour pouvoir faire la distinction, on écrira parfois: Pour pouvoir faire la distinction, on écrira parfois: o rmdir(1) pour indiquer la commande rmdir expliquée dans section 1; o rmdir(2) pour indiquer la fonction de programmation rmdir expliquée dans la section Documentation standard (2)

32 Utiliser laide enligne via man Utiliser laide enligne via man man est elle-même une commande! man est elle-même une commande! Il existe une page daide enligne sur man; Il existe une page daide enligne sur man; man possède donc des options et des paramètres man possède donc des options et des paramètres man [option] [paramètre] nom_commande Quelques options: o s num_section num_section est le numéro de section (1 à 8) o M chemin Indique le chemin du répertoire contenant les pages daide enligne 32 Démonstration de la commande Démonstration de la commande Analogie: le mot « dictionnaire » est expliqué dans un dictionnaire Documentation standard (3)

33 Exemples Exemples Changement de mot de passe par la commande passwd. Changement de mot de passe par la commande passwd. 33 passwd q Loption q signifie silencieux (quiet). On demande à la commande passwd de réduire au minimum son affichage à lécran. Syntaxe des commandes (2)

34 Exemples Exemples Effacer lécran du terminal par la commande clear. Effacer lécran du terminal par la commande clear. 34 clear Cette commande na pas doption. Note: clear nefface pas vraiment lécran du terminal. Elle ne fait que défiler vers le haut les lignes affichées en dehors de la région visible de lécran. Démonstration de la commande Démonstration de la commande Syntaxe des commandes (3)

35 Les fichiers sont des éléments importants de tout système informatique Les fichiers sont des éléments importants de tout système informatique Linux étend le concept des fichiers aux éléments périphériques dun ordinateur Linux étend le concept des fichiers aux éléments périphériques dun ordinateur Linux traite les imprimantes, les ports USB, les ports réseaux, les caméras WEB, etc. comme des fichiers. Linux traite les imprimantes, les ports USB, les ports réseaux, les caméras WEB, etc. comme des fichiers. Caractéristiques dun fichier Caractéristiques dun fichier Il possède un nom Il possède un nom o Linux distingue les caractères majuscules et minuscules. Ainsi, MonDoc.texte et mondoc.texte représentent deux fichiers différents. 35 Fichiers et répertoires (1)

36 Caractéristiques dun fichier Caractéristiques dun fichier Il possède un chemin de répertoire Il possède un chemin de répertoire o Un fichier est toujours entreposé sur un support (disque, clé USB, mémoire flash, etc.); o Lemplacement dun fichier est son chemin de répertoire; o En voici quelques example: /usr/bin/passwd/bin/ls/etc/rc0.d/S90halt o Remarques: Il nexiste pas dunité de disque comme préfix (pas de c:, d:, e:, etc.) Les répertoires menant vers le fichier sont séparés par la barre oblique « / » Le répertoire de base (racine) est représenté par « / » 36 Fichiers et répertoires (2)

37 Caractéristiques dun fichier Caractéristiques dun fichier Il possède un chemin de répertoire Il possède un chemin de répertoire o Enfin, lorganisation des répertoires peut être schématisée graphiquement: /usr/bin/passwd/bin/ls/etc/rc0.d/S90halt 37 Fichiers et répertoires (3)

38 Caractéristiques dun fichier Caractéristiques dun fichier Il possède des permissions daccès Il possède des permissions daccès o Un fichier peut être lu, écrit et exécuté; o Un fichier peut posséder une combinaison de ces permissions; o On attribue ces permissions en fonction de nos besoins. o Par exemple: Un document text peut avoir les permissions de lecture (read) et écriture (write); La permission dexécution (execute) à un document text est possible – il peut être un document contenant des commandes Linux; Le fichier représentant un port USB peut avoir les permissions de lecture et écriture; Il est superflu et illogique dattribuer la permission dexécution à un fichier représentant un port USB. 38 Fichiers et répertoires (4)

39 Parcours des chemins de répertoire Parcours des chemins de répertoire Utiliser la commande cd(1) (change directory) Utiliser la commande cd(1) (change directory) Deux types de chemins Deux types de chemins o Absolu Il faut donner le chemin complet incluant tous les répertoires menant vers le répertoire de destination. o Relatif À partir du répertoire courant donner la portion du chemin menant vers le répertoire de destination. 39 Démonstration de la procédure Démonstration de la procédure Fichiers et répertoires (5)

40 Contenu dun répertoire Contenu dun répertoire Utiliser la commande ls(1) (list directory content) pour voir le contenu dun répertoire Utiliser la commande ls(1) (list directory content) pour voir le contenu dun répertoire 40 La signification des couleurs Bleu: répertoire Bleu pâle: lien (raccourci) Vert: fichier exécutable ou répertoire standard Rose: fichier image Note: Ces couleurs sont générées par loption --color de la commande ls. Voir man dircolors pour les couleurs utilisées. Fichiers et répertoires (6)

41 Contenu dun répertoire Contenu dun répertoire ls –l (format détaillé), ls –R (fouille récursive), ls -lR ls –l (format détaillé), ls –R (fouille récursive), ls -lR 41 Démonstration de la commande Démonstration de la commande Fichiers et répertoires (7)

42 Permissions des fichiers et répertoires Permissions des fichiers et répertoires 42 drwxr-xr-x 2 twong twong 4096 Dec 17 20:13 Desktop drwxr-xr-x 2 twong twong 4096 Dec 17 20:13 Documents drwxr-xr-x 2 twong twong 4096 Dec 17 20:13 Downloads -rw-r--r-- 1 twong twong 8445 Dec 17 19:56 examples.desktop drwxr-xr-x 2 twong twong 4096 Dec 17 20:13 Music drwxrwxr-x 2 twong twong 4096 Dec 18 22:52 MyShare drwxr-xr-x 2 twong twong 4096 Dec 17 20:13 Pictures drwxr-xr-x 2 twong twong 4096 Dec 17 20:13 Public drwxr-xr-x 2 twong twong 4096 Dec 17 20:13 Templates drwxr-xr-x 2 twong twong 4096 Dec 17 20:13 Videos Permissions daccès Propriétaire (créateur) Groupe Linux Le caractère « d » de la première colonne indique quil sagit dun répertoire (directory) Fichiers et répertoires (8)

43 Permissions des fichiers et répertoires Permissions des fichiers et répertoires 43 rw-r--r-- 1 twong twong 8445 Dec 17 19:56 examples.desktop Quelles sont les permissions de ce fichier pour les trois types dutilisateur? Fichiers et répertoires (9)

44 Changement des permissions daccès Changement des permissions daccès Utilisation de la commande chmod(1) (change mode) Utilisation de la commande chmod(1) (change mode) o Par valeurs octales chmod 664 exemples.desktop o Par symboles o u (propriétaire), g (groupe Linux), o (autres), a (all, u et g et o) chmod u+r+w-x,g+r+w-x.o+r-w-x exemples.desktop 44 Démonstration de la commande Démonstration de la commande Fichiers et répertoires (10)

45 Création et destruction de répertoires Création et destruction de répertoires Utilisation de la commande mkdir(1) (make directory) Utilisation de la commande mkdir(1) (make directory) o Loption p permettre la création de tous les répertoires contenu dans le chemin de répertoire. Utilisation de la commande rmdir(1) (remove directory) Utilisation de la commande rmdir(1) (remove directory) 45 Démonstration de la commande Démonstration de la commande Fichiers et répertoires (11)

46 Affichage du contenu des fichiers Affichage du contenu des fichiers Utilisation de la commande cat(1) (concaténation) Utilisation de la commande cat(1) (concaténation) o Afficher, sans interruption, le contenu des fichiers spécifiés en paramètres. Utilisation de la commande more(1) Utilisation de la commande more(1) Afficher, page par page, le contenu des fichiers spécifiés en paramètres. Afficher, page par page, le contenu des fichiers spécifiés en paramètres. 46 Démonstration de la commande Démonstration de la commande Fichiers et répertoires (12)

47 Manipulation des fichiers Manipulation des fichiers Utilisation de la commande cp(1) (copy) Utilisation de la commande cp(1) (copy) o Copier le contenu des fichiers (ou répertoires) Utilisation de la commande mv(1) (move) Utilisation de la commande mv(1) (move) o Déplacer (renommer) des fichiers Utilisation de la commande rm(1) (remove) Utilisation de la commande rm(1) (remove) o Effacer des fichiers Utilisation de la commande touch(1) (touch) Utilisation de la commande touch(1) (touch) o Créer un fichier de taille zéro; o Mettre à jour la date de modification dun fichier. 47 Fichiers et répertoires (13)

48 Connaître le nom des utilisateurs connectés à un poste Linux Connaître le nom des utilisateurs connectés à un poste Linux who(1) who(1) who am i who am i Connaître le nom et la version du système dexploitation Connaître le nom et la version du système dexploitation uname –a uname –a Connaître lespace disque du système Connaître lespace disque du système df(1) df(1) Connaître lespace disque utilisé par différents fichiers Connaître lespace disque utilisé par différents fichiers du(1) du(1) 48 Informations utiles (1)

49 Connaître le nom du répertoire courant Connaître le nom du répertoire courant pwd(1) pwd(1) Connaître la structure du système de stockage Connaître la structure du système de stockage lsblk lsblk 49 Ce système possède: 20 Go de disque rigide 1 CD-ROM Informations utiles (2)

50 Connaître les commandes lancées Connaître les commandes lancées history(1) history(1) Exécuter une commande déjà lancée Exécuter une commande déjà lancée!5 50 Exécuter la 5e commande de la liste historique Informations utiles (3)

51 Jean-Philippe Roberge - Mai Autres concepts: sudo et su, assignation de variable, substitution de commande Autres commandes: echo head tail top chown Ifconfig kill ssh date diff dmesg locate Informations utiles (4)

52 Fin de la présentation du chapitre 4 – début des exercices en classes

53 53 Exercices (1)

54 54 Exercices (2)

55 Références [1] Présentations PowerPoint du cours GPA435, Tony Wong. [2] Notes de cours, GPA435 [3] Levasseur, Yan, Wiki GPA435: consulté en avril 2014.http://bash.leyan.org/Accueil [4] Tanenbaum, A.S., Systèmes dexploitation. Pearson Education France, [5] Stallings, W., Operating Systems : Internals and Design Principals. Upper Saddle River, NJ : Prentice Hall, [6] Références citées dans le premier chapitre des notes de cours. 55 Jean-Philippe Roberge - Avril 2014


Télécharger ppt "Systèmes dexploitation et programmation de systèmes -GPA435- Cours #2: Systèmes dexploitation UNIX / Linux Enseignant: Jean-Philippe Roberge Jean-Philippe."

Présentations similaires


Annonces Google