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 d’exploitation et programmation de systèmes -GPA435- Cours #2: Systèmes d’exploitation UNIX / Linux Enseignant: Jean-Philippe.

Présentations similaires


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

1 Systèmes d’exploitation et programmation de systèmes -GPA Cours #2: Systèmes d’exploitation 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 d’exploitation (S.E.) Historique des S.E. Structure des S.E. modernes Tendance des S.E. modernes (aujourd’hui) Vos intérêts et attentes Théorie du cours #2 - Systèmes d’exploitation UNIX / Linux Terminal de commande et syntaxe des commandes Documentation standard Structure des fichiers Quelques (petits) exercices Jean-Philippe Roberge - Mai 2014

3 Introduction à la matière (1)
Système d’exploitation: Une suite de programmes qui gère l’utilisation des ressources d’un ordinateur (ou système ordiné) et qui fournit des services aux applications. Famille de systèmes d’exploitation: Unix, Linux, Windows NT, Mac OS Exemples de S.E.: Ubuntu 10.04, Mac OS X v10.5, Windows Vista… Systèmes d’exploitation mobiles: Android Vx.x (Noyau Linux), iOS Vx.x, Windows Phone 7, etc… Jean-Philippe Roberge - Mai 2014

4 Évolution de S.E. (1) 1-Traitement en série: 2-Traitement par lots:
Un programme à la fois, généralement écrit en langage machine. Inefficace car l’ordinateur 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 à l’opérateur de l’ordinateur: 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 d’accès très long. Pour augmenter le rendement de l’ordinateur  récupérer ce temps perdu! Jean-Philippe Roberge - Mai 2014

5 É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 d’un programmes) Exige cependant la coopération du matériel: Coopération du matériel  interruptions matérielles. Création d’un module MM (Memory Management). Création d’un module d’ordonnancement 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 à l’aide d’une 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. Jean-Philippe Roberge - Mai 2014

6 Évolution de S.E. (9) 5- Systèmes multi-tâches et multi-utilisateurs:
Environnement multiprogrammé + l’interactivité 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 1969. 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 d’exécution du programme. Jean-Philippe Roberge - Mai 2014

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

8 Structure des systèmes d’exploitation modernes (2)
1 -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 l’illusion au programme, qu’il travaille avec de la mémoire contigüe. Protection contre la corruption des données Interruption logicielle Jean-Philippe Roberge - Mai 2014

9 Structure des systèmes d’exploitation 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 d’un répertoire racine; système de fichiers hiérarchique  un répertoire peut contenir d’autres répertoires. chemin absolu chemin relatif parcours non linéaire Pi Pn Jean-Philippe Roberge - Mai 2014

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

11 Structure des systèmes d’exploitation modernes (8)
GPA435 - Systèmes d'exploitation et programmation de système Structure des systèmes d’exploitation modernes (8) 4a - Transfert des données entre processus: mémoire partagée; tuyaux (pipes); messages. Une plage de mémoire (physique ou virtuelle) partagée entre plusieurs processus 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. Structure de données FIFO. Leurs accès sont gérés par le S.E. Jean-Philippe Roberge - Mai 2014 ETS - GPA, (c) Tony Wong, Ph.D., ing.

12 Structure des systèmes d’exploitation modernes (9)
GPA435 - Systèmes d'exploitation et programmation de système 4b Synchronisation des processus: fonctions attendre() et signal(); variables sémaphores; instructions atomiques. Des instructions exécutées en séquence sans interruption par aucune autre instruction du processeur. Variable entière n’admettant 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. Fonctions de synchronisation qui modifient une variable sémaphore Jean-Philippe Roberge - Mai 2014 ETS - GPA, (c) Tony Wong, Ph.D., ing.

13 Structure des systèmes d’exploitation modernes (11)
GPA435 - Systèmes d'exploitation et programmation de système Structure des systèmes d’exploitation modernes (11) 5 - Modèle des processus: Processus prêt pour l’exécution Processus créé mais pas encore exécutable Processus en exécution dans le processeur Arrêt du processus: fin de son exécution ou causé par une condition d’erreur Processus en suspension: attendant l’arrivée d’un événement ou la fin d’une opération Jean-Philippe Roberge - Mai 2014 ETS - GPA, (c) Tony Wong, Ph.D., ing.

14 Structure des systèmes d’exploitation modernes (12)
GPA435 - Systèmes d'exploitation et programmation de système Structure des systèmes d’exploitation modernes (12) 6 - Interpréteur de commandes Un processus utilisateur; Permet l’exécution de programmes; Manipulation des fichiers; Accéder aux périphériques de l’ordinateur; Automatisation des procédures par fichiers de commandes; Langages de programmation « shell ». Jean-Philippe Roberge - Mai 2014 ETS - GPA, (c) Tony Wong, Ph.D., ing.

15 GPA435 - Systèmes d'exploitation et programmation de système
Cours #2 Jean-Philippe Roberge - Mai 2014 ETS - GPA, (c) Tony Wong, Ph.D., ing.

16 Tendances des S.E. modernes (1)
GPA435 - Systèmes d'exploitation et programmation de système Tendances des S.E. modernes (1) Tendances des systèmes d’exploitation modernes: Architecture micro-noyau (microkernel); Exécution multifilaire (multithreading); Traitement parallèle symétrique (symmetric multiprocessing); Système d’exploitation pour processeurs multi-cœurs. Jean-Philippe Roberge - Mai 2014 ETS - GPA, (c) Tony Wong, Ph.D., ing.

17 Tendances des S.E. modernes (2)
GPA435 - Systèmes d'exploitation et programmation de système Tendances des S.E. modernes (2) Noyau: Partie fondamentale du système d’exploitation, il s’agit de la base, c’est- à-dire l’ensemble des processus qui gèrent les ressources de l’ordinateur. Il permet au matériel et au logiciel de communiquer ensemble. 1 - Architecture micro-noyau: changement important dans l’organisation 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 d’un S.E. et le développement des serveurs; Jean-Philippe Roberge - Mai 2014 ETS - GPA, (c) Tony Wong, Ph.D., ing.

18 Tendances des S.E. modernes (3)
GPA435 - Systèmes d'exploitation et programmation de système Tendances des S.E. modernes (3) Comparaison entre noyau « monolithic » et micro-noyau: Jean-Philippe Roberge - Mai 2014 ETS - GPA, (c) Tony Wong, Ph.D., ing.

19 Tendances des S.E. modernes (4)
GPA435 - Systèmes d'exploitation et programmation de système Tendances des S.E. modernes (4) Exemple du concept de micro-noyau: Jean-Philippe Roberge - Mai 2014 ETS - GPA, (c) Tony Wong, Ph.D., ing.

20 Tendances des S.E. modernes (5)
GPA435 - Systèmes d'exploitation et programmation de système Tendances des S.E. modernes (5) 2 - Exécution multi-fils: un processus est divisé en plusieurs chemins d’exécution simultanée; fil d’exécution  unité de travail interruptible et séquentielle; fil d’exécution  ne possède pas de contexte d’exécution mais utilise celui du processus père; Modèle de programmation concourante Mémoire utilisée, l’état de la pile programme, les ports d’E/S associés, l’état des registres du processeur, etc. Jean-Philippe Roberge - Mai 2014 ETS - GPA, (c) Tony Wong, Ph.D., ing.

21 Tendances des S.E. modernes (6)
GPA435 - Systèmes d'exploitation et programmation de système Tendances des S.E. modernes (6) 2 - Exécution multi-fils (suite) : un processus est une collection de fils d’exécution; fil d’exécution principal  père de tous les fils d’exécution créés; Jean-Philippe Roberge - Mai 2014 ETS - GPA, (c) Tony Wong, Ph.D., ing.

22 Tendances des S.E. modernes (7)
GPA435 - Systèmes d'exploitation et programmation de système Tendances des S.E. modernes (7) 3 - Traitement parallèle symétrique: réalisation utilisant l’exé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 d’exécution dans tous les processeurs libres. Jean-Philippe Roberge - Mai 2014 ETS - GPA, (c) Tony Wong, Ph.D., ing.

23 Tendances des S.E. modernes (8)
GPA435 - Systèmes d'exploitation et programmation de système Tendances des S.E. modernes (8) 3 - 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 d’exé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 ETS - GPA, (c) Tony Wong, Ph.D., ing.

24 Tendances des S.E. modernes (9)
GPA435 - Systèmes d'exploitation et programmation de système Tendances des S.E. modernes (9) 4 - Système d’exploitation réparti: Système d’exploitation qui gère une grappe d’ordinateurs Complexe, doit gérer la communication et l’allocation des ressources Méta-SE: Système d’exploitation qui gère d’autres 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 ETS - GPA, (c) Tony Wong, Ph.D., ing.

25 Tendances des S.E. modernes (10)
GPA435 - Systèmes d'exploitation et programmation de système Tendances des S.E. modernes (10) En parlant d’une grappe d’ordinateurs: Jean-Philippe Roberge - Mai 2014 ETS - GPA, (c) Tony Wong, Ph.D., ing.

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

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

28 Terminal de commande (1)
Terminal Linux Habitat pour l’interpréteur de commande. L’invite affichée par l’interpréteur de commande. Représentation graphique d’un terminal. 28

29 Syntaxe des commandes (1)
Format des commandes Une convention bien établie. commande [—option] [paramètre] L’invite affichée par l’interpréteur de commande. Une commande peut avoir des options et paramètres. Les options sont toujours précédées d’un tiret (—). Les crochets ([]) signifient qu’ils ne sont pas obligatoires. L’historique des commandes lancées. 29

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

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

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

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

34 Syntaxe des commandes (3)
Exemples Effacer l’écran du terminal par la commande clear.  Démonstration de la commande clear Cette commande n’a pas d’option. Note: clear n’efface 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. 34

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

36 Fichiers et répertoires (2)
Caractéristiques d’un fichier Il possède un chemin de répertoire Un fichier est toujours entreposé sur un support (disque, clé USB, mémoire flash, etc.); L’emplacement d’un fichier est son chemin de répertoire; En voici quelques example: /usr/bin/passwd /bin/ls /etc/rc0.d/S90halt Remarques: Il n’existe pas d’unité 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

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

38 Fichiers et répertoires (4)
Caractéristiques d’un fichier Il possède des permissions d’accès Un fichier peut être lu, écrit et exécuté; Un fichier peut posséder une combinaison de ces permissions; On attribue ces permissions en fonction de nos besoins. Par exemple: Un document text peut avoir les permissions de lecture (read) et écriture (write); La permission d’exé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 d’attribuer la permission d’exécution à un fichier représentant un port USB. 38

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

40 Fichiers et répertoires (6)
Contenu d’un répertoire Utiliser la commande ls(1) (list directory content) pour voir le contenu d’un répertoire 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 l’option --color de la commande ls. Voir man dircolors pour les couleurs utilisées. 40

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

42 Fichiers et répertoires (8)
Permissions des fichiers et répertoires 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 Le caractère « d » de la première colonne indique qu’il s’agit d’un répertoire (directory) Permissions d’accès Groupe Linux Propriétaire (créateur) 42

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

44 Fichiers et répertoires (10)
Changement des permissions d’accès Utilisation de la commande chmod(1) (change mode) Par valeurs octales chmod 664 exemples.desktop Par symboles 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  Démonstration de la commande 44

45 Fichiers et répertoires (11)
Création et destruction de répertoires Utilisation de la commande mkdir(1) (make directory) L’option —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)  Démonstration de la commande 45

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

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

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

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

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

51 Informations utiles (4)
GPA435 - Systèmes d'exploitation et programmation de système Informations utiles (4) Autres concepts: sudo et su, assignation de variable, substitution de commande Ifconfig kill Autres commandes: ssh date echo diff head dmesg tail locate top chown Jean-Philippe Roberge - Mai 2014 ETS - GPA, (c) Tony Wong, Ph.D., ing.

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

53 Exercices (1) 53

54 Exercices (2) 54

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 [4] Tanenbaum, A.S., Systèmes d’exploitation. Pearson Education France, 2008. [5] Stallings, W., Operating Systems : Internals and Design Principals. Upper Saddle River, NJ : Prentice Hall, 1998. [6] Références citées dans le premier chapitre des notes de cours. Jean-Philippe Roberge - Avril 2014


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

Présentations similaires


Annonces Google