(en format power point)
description
Transcript of (en format power point)
Technologies informatiquesUE 102 (M1.IST-IE 2009/10)
cours n°3Par :Sahbi SIDHOM, MCF. Nancy Université / Nancy2Équipe de Recherche KIWI / LORIAe-Mail : [email protected] / [email protected] : http://www.loria.fr/~ssidhom/
2
Parties de l’ UE 102 (Promos. : M1. IST-IE & Computer Science)
a. Composants matériels avec exemples
b. Périphériques
c. Système d’exploitation : modules et fonctions
d. Administration de système
3
UE 102 .c :
Système d’exploitation : modules et fonctions
4
Plan de l’ UE 102 .c :
Introduction Historique Principes d’un système d’exploitation (OS) Aperçu des fonctionnalités OS Conclusion
5
1. Introduction
Définitions : un système d'exploitation (en englais : Operating System ou
OS) est un ensemble de programmes responsables de la liaison entre les ressources matérielles (Hardware, ie. processeur, DD, RAM, ROM, périphériques, etc.) et les ressources logicielles (Software, ie. les applications de l'utilisateur : traitement de texte, jeu vidéo, plate-forme de programmation, etc.) d'un ordinateur.
Il fournit aux programmes applicatifs des points d'entrée génériques pour les périphériques.
6
Rôles d’un OS :
C’est le “maître d’orchestre” pour l’utilisation de toutes les ressources de l’ordinateur.
L’OS s’occupe de la gestion de : Mémoire centrale Processeur(s) : temps de calcul entre plusieurs programmes qui
s’exécutent simultanément (parallélisme) Périphériques : U I/O Fichiers sur les mémoires (ROM, RAM, EPROM, etc.) Ressources : allocations/tâches Exécution d’un programme sans empiétement Utilisateurs : sans interférences
7
Composition d’un OS :
Un OS est composé de : noyau (ie. Kernel) bibliothèques dynamiques (ie. Libraries) ensemble d'outils système (ie. utilitaires / shell) programmes applicatifs de base
8
OS : deux visions
End user
1ere vision sur un OS
(ingénieur en informatique)
2e vision sur un OS
(autres)
9
OS : ses couches
10
2. Historique
Évolution des OS : >1980
Unix (sur les grosses machines) CP/M MS-DOS Mac OS
>1990 - 2000 Interface graphique Windows Mac OS X Linux avec GUI Compatibilités OS
11
Historique de Unix :
Unix est un OS portable codé en langage C, multi tâches développé à l'origine par AT&T Bell Labs au début des années 1970 C. L'utilisation du langage a permis à UNIX d'être de plus en plus utilisé dans de nombreuses applications. Il fut largement utilisé à partir de 1990.
Unix fut le premier OS écrit en langage compilé. Unix fournit un des premiers accès au protocole de communication TCP/IP.
De nouvelles versions Open Source furent mises sur le marché en parallèle ; ce qui créa des incompatibilités entre versions Unix.
En 1984, un groupe de fournisseurs inventa le concept de OPEN SYSTEM. Ces systèmes ouverts doivent adhérer à certaines spécifications et standards définis par Open Group.
En 1993, AT&T Bell Labs vendent ses laboratoires Unix à Novell. En 1995, l'Open Group racheta les systèmes UNIX de Novell. Depuis, tous les OS Unix adhèrent aux spécifications et standards de l'Open
Group.
12
13
Historique DOS :
MS DOS (1981)OS 16bits en ligne de commande
Windows 1.0 (1985) et Windows 2.0 (1987) Interface graphique inspirée des ordinateurs APPLE.
Windows 3.0 (1990) et Windows 3.1 (1992)Fonctionnalités réseaux. Interface graphique fonctionnant au dessus du système MS DOS
Windows 95 (1995) volonté de Microsoft de transférer des fonctionnalités de MS-DOS dans Windows; cependant le MS DOS 16-bits est encore utilisé
Windows 98 (1998) et Windows 98 SE (2000) intégration native d’autres fonctionnalités de MS DOS
Windows millenium (2000) fonctionnalités multimédia et réseaux supplémentaires par rapport à Windows 98
14
Windows NT : Windows NT 3.1 (1993), 3.5 (1994), 3.51 (1995), Windows 4.0 (1996)
véritable essor de Windows NT Windows NT TSE (1998)
premier système Windows permettant d’utiliser l’architecture client/serveur. Windows NT 5.0 ou Windows 2000 (2000)
Système entièrement 32 bits avec les caractéristiques de Windows NT. Prise en
charge des périphériques USB et firewire. Windows XP ou Windows NT 5.1 (2001)
convergence des systèmes précédents Windows server 2003 ou Windows NT 5.2 (2003)
Système OS dédié pour les serveurs. Windows Vista (2007)
Introduction d’un nouveau noyau le NT6. Système d’adressage mémoire dynamique. Versions système 32 Bits ou 64 bits disponibles.
15
Comparaison des OS
Système Codage
(bits)
Mono- / Multi-utilisateurs
Mono- / Multi-tâches
DOS 16 mono mono
Win. 3.1 16/32 Mono Non préemptif
Win. 95 32 mono Coopératif
Win. NT/2000 32 multi Préemptif
Win. XP 32/64 multi Préemptif
Unix/Linux 32/64 multi Préemptif
Mac/OS X 32 multi Préemptif
16
Terminologie OS :
Multitâche : OS est dit multitâche lorsqu'il permet de faire fonctionner plusieurs applications simultanément.
coopératif : se dit d'un système multitâche quand ce dernier doit attendre qu'une application lui rende la main avant de pouvoir la donner à un autre programme.
Préemptif : se dit d'un OS multitâche lorsque celui-ci peut arrêter à tout moment n'importe quelle application pour passer la main à la suivante.
Programme : Suite d'instructions permettant de réaliser une ou plusieurs tâche(s), de résoudre un problème, de manipuler des données. Le programme est l'expression d'un algorithme dans un langage donné pour une machine donnée.
17
3. Principes
noyau (ie. Kernel) bibliothèques dynamiques (ie. Libraries) ensemble d'outils système (ie. utilitaires / shell) programmes applicatifs de base
18
Le Noyau (Kernel) :
Le noyau de l’OS assure des fonctionnalités diverses, essentiellement les suivantes :
La gestion des périphériques (au moyen de pilotes) ; La gestion des files d'exécution (ou processus) :
L’attribution de la mémoire à chaque processus L’ordonnancement des processus (ie. La répartition du temps
d'exécution entre les processeurs) La synchronisation et la communication des processus (ie. Les
services de synchronisation, d'échange de messages, de mise en commun de segments de mémoire, etc.)
La gestion des fichiers (ie. le systèmes de fichiers) La gestion des protocoles réseaux (ie. Les familles de
Protocoles de 1à5 : X25, TCP/IP, IPX, etc.).
19
Au lancement d’un OS : Boot / Bootstrap :
le programme qui initialise l’ordinateur il permet aux premiers services d’accéder aux applications
système : gestion de la mémoire, accès aux disques durs et accès aux périphériques
Allocations : répartition des besoins en Mémoire centrale Mémoire réservée pour le système Mémoire réservée pour les applications
Ressources : assure une indépendance entre les applications et le matériel
20
noyau (ie. Kernel) bibliothèques dynamiques (ie. Libraries) ensemble d'outils système (ie. utilitaires / shell) programmes applicatifs de base
21
Les Bibliothèques dynamiques :
ie. Libraries, qui regroupent : les opérations souvent utilisées, selon des fonctionnalités
(I/O, fichiers, …) les opérations sont disponibles pour être appelées et
exécutées par d’autres programmes
22
noyau (ie. Kernel) bibliothèques dynamiques (ie. Libraries) ensemble d'outils système (ie. utilitaires / shell) programmes applicatifs de base
23
Le système de fichiers :
Définition :Un système de fichiers est une structure de données permettant de stocker des informations puis de les organiser dans des fichiers sur des mémoires secondaires (disque dur, disquette, CD-ROM, clé USB, etc.)
Caractéristiques : structure hiérarchique
sur: \\waly\web-serveurs\siie2010\htdocs on dispose de: \\waly\web-serveurs\siie2010\htdocs\contact.htm et de: \\waly\web-serveurs\siie2010\htdocs\logo_nu206.jpg
le stockage de l'information est persistant une telle gestion des fichiers permet de :
traiter les données conserver des quantités importantes de données partager les données entre plusieurs programmes informatiques
offre à l'utilisateur une vue abstraite sur ses données et permet de les localiser à partir d'un chemin d'accès (ex. un montage réseau facilité)
24
L’ Interface homme-machine :
via une ligne de commande : Shell DOS etc.
via une interface graphique : Xterm Linux Windows Macintosh …GUI (Graphical User Interface)
25
Shell : (Shell = coquille par opposition au Noyau / Kernel)
ou l'interpréteur de commande permettant la communication avec l’OS par l'intermédiaire d'un langage de commandes
permettant à l'utilisateur de piloter les périphériques en ignorant toutes les caractéristiques du matériel qu'il utilise, sa gestion, ses ressources physiques, etc.
sur l’OS Unix ou Linux : cshell, tcshell, …Comme exemple de commandes :
ls : (ie. list) lister les s/répertoires et les fichiers du répertoire courant
mv x y : (ie. move) changer le nom de fichier / répertoire x en y
26
noyau (ie. Kernel) bibliothèques dynamiques (ie. Libraries) ensemble d'outils système (ie. utilitaires / shell) programmes applicatifs de base
27
Les programmes applicatifs de base : applications et services installés ensembles avec l’OS Exemples :
calculatrice, éditeur de texte, navigateur web, etc.
28
Multi-utilisateurs et multi-tâches :
Multi-utilisateurs Permet à plusieurs utilisateurs d’utiliser le même ordinateur en même temps
Multi-tâches Permet à un utilisateur de lancer plusieurs applications
Gestion de temps et ressources Processus: exécuter, suspendre, détruire
# ps –a (ou # ps –a ssidhom)PID TTY TIME CMD10057 ? 00:00:00 sshd10059 pts/0 00:00:00 tcsh10061 ? 00:00:00 pkboost10105 pts/0 00:00:00 xterm10107 pts/1 00:00:00 tcsh25753 pts/1 00:00:00 ps
29
4. Aperçu des fonctionnalités d’un OS Étude de cas : Principes de base UNIX
Un OS Unix est un ensemble de programmes chargé de faire l'interface entre l'utilisateur et le matériel.
Quand un utilisateur tape une commande au niveau d'une application (ou logiciel ), l’application interprète la commande, la transmet au système d'exploitation qui la transmet au matériel dans un format compréhensible.
Un exemple :vous ouvrez un fichier dans votre traitement de texte favori, vous avez appuyé sur l'icône qui va bien, votre traitement de texte interprète l'action d'ouverture de fichier et transmet l'ordre au système d'exploitation. Ce dernier va alors commander au contrôleur du disque dur de chercher les pistes correspondantes sur la mémoire qui correspondent au fichier en question.
Normalement un logiciel ne devrait jamais " discuter " avec le matériel le système d'exploitation se place entre les deux pour transmettre et éventuellement rejeter des commandes illicites.
30
Les fonctions principales
Les tâches principales d’Unix :
1. Partage des ressources équitables : UNIX veille à ce que toutes les ressources de
l'ordinateur (imprimante, mémoire, ...) soient partagées équitablement entre tous les processus.
Le fait de pouvoir exécuter plusieurs process ou tâches en même temps, en parallèle, est appelé multitâches. UNIX est multitâches.
31
2. Interface avec le matériel UNIX par définition des systèmes d'exploitation fait en
sorte qu'aucun process accède directement à une ressource matériel (disque dur, lecteur de disquette,...)
Pour accéder à ces ressources on passe par l'intermédiaire de fichiers spéciaux : un fichier spécial est vu pour un utilisateur comme un fichier classique
Exemple : pour écrire sur une disquette dans le lecteur de disquette, on n'a qu'à écrire dans le fichier spécial du lecteur de disquette.
32
3. Gestion de la mémoire il existe deux types de mémoire : la mémoire volatile et la mémoire statique :
quand on éteint et rallume l'ordinateur, toutes les données présentes dans la première ont disparu, alors que les données dans la seconde sont toujours présentes
dans le vocabulaire Unix, quand on parle de mémoire, on sous entend la mémoire volatile (ou RAM)
pour UNIX, la mémoire est vue comme une ressource matérielle : il doit donc vérifier qu'aucun process n’accède à la mémoire directement ou ne se réserve une zone de la mémoire.
33
4. Gestion des fichiers Unix fournit les outils nécessaires pour stocker les
données et pour pouvoir les récupérer rapidement et facilement
il fournit les outils pour pouvoir visualiser l'ensemble des fichiers de manière simple
les fichiers se trouvent sur le disque dur, on nomme cela un système de fichiers (ou File System).
Chaque utilisateur du système dispose de ses fichiers : UNIX lui donne le moyen de :
1. protéger ses fichiers2. accorder le droit ou non à d'autres utilisateurs3. accéder à ses fichiers
34
Structure du système UNIX
35
Unix est lui aussi un ensemble de programme et de sous programmes regroupés dans ce qu'on appelle un noyau (kernel)
les process passent par le noyau pour accéder aux ressources matérielles : pour cela ils disposent d'un ensemble de commandes appelées " appels système " UNIX
les appels systèmes commandent deux composantes principales du noyau : le gestionnaire de processus (scheduler)et le système de gestion de fichiers
36
5. Le shell Pour faire marcher l'ordinateur, l'utilisateur dispose des
logiciels (ou d'un utilitaire) qui lui permet la saisie directe de commandes : On appelle cet utilitaire le shell (coquille).
Son rôle est d'interpréter les commandes de l'utilisateur avant de les transmettre au noyau : on parle aussi d'interpréteur de commandes.
Il existe plusieurs types de shell, ils se différencient par la syntaxe et la richesse des commandes.
Le plus communs sont : le Bourne-Shell, on trouve aussi le C-Shell qui s'apparente au langage de programmation C le Korn Shell, le Posix Shell, et sous Linux le bash-shell
37
Projet à faire (3/4)
Par groupe de travail : Un thème d’étude : liste de sujets Une étude comparative Un plan d’action comme chargé d’études dans une
entreprise
Étude sur la partie c de l’UE
Un exposé : présentation & évaluation