Théorie des Systèmes d'exploitation : Introduction



Documents pareils
MODULE I1. Plan. Introduction. Introduction. Historique. Historique avant R&T 1ère année. Sylvain MERCHEZ

Institut Supérieure Aux Etudes Technologiques De Nabeul. Département Informatique

Concept de machine virtuelle

Introduction aux Systèmes et aux Réseaux, Master 2 CCI

CH.3 SYSTÈMES D'EXPLOITATION

Systèmes en réseau : Linux 1ère partie : Introduction

Éléments d'architecture des ordinateurs

SYSTÈME DE GESTION DE FICHIERS

SYSTÈME DE GESTION DE FICHIERS SGF - DISQUE

Retrospect 7.7 Addendum au Guide d'utilisation

Les avantages de la virtualisation sont multiples. On peut citer:

Aperçu rapide de PC BSD 1.2.

Systèmes d exploitation

VMWare Infrastructure 3

Module : Virtualisation à l aide du rôle Hyper-V

Linux 1: Présentation

Installation et Réinstallation de Windows XP

HISTORIQUE DES SYSTEMES D'EXPLOITATION (S.E.)

Service Informatique et Télématique (SITEL), Emile-Argand 11, 2009 Neuchâtel, Tél ,

Découverte des Logiciels Libres. Gilles Dequen

Virtualisation de Windows dans Ubuntu Linux

Informatique industrielle A Systèmes temps-réel J.F.Peyre. Partie I : Introduction

Qu'est-ce que c'est Windows NT?

Plan de la conférence. Virtualization. Définition. Historique. Technique. Abstraction matérielle

Cours 3 : L'ordinateur

Introduction aux environnements de virtualisation d'oracle Solaris 11.1

GESTION DE L'ORDINATEUR

Installation et prise en main

Présentation d HyperV

Annexe : La Programmation Informatique

Symantec Backup Exec Remote Media Agent for Linux Servers

But de cette présentation

Exécutif temps réel Pierre-Yves Duval (cppm)

Chapitre 1 : Introduction aux bases de données

Module 0 : Présentation de Windows 2000

À propos de Parallels Desktop 9 pour Mac

Parallels Transporter Lisez-moi

MS 2615 Implémentation et support Microsoft Windows XP Professionnel

Acer erecovery Management

Serveur Acronis Backup & Recovery 10 pour Linux. Update 5. Guide d'installation

Programmation C. Apprendre à développer des programmes simples dans le langage C

A. Sécuriser les informations sensibles contre la disparition

Installation de Windows 2000 Serveur

Diffusion d'images en multicast avec Clonezilla en établissement

Virtualisation CITRIX, MICROSOFT, VMWARE OLIVIER D.

Séance 0 : Linux + Octave : le compromis idéal

IV- Comment fonctionne un ordinateur?

Serveur d application WebDev

Les générations d'ordinateurs de 1945 à nos jours

PROGRAMME DU CONCOURS DE RÉDACTEUR INFORMATICIEN

Tutorial Ophcrack. I) Ophcrack en API. (ou comment utiliser Ophcrack pour recouvrir un mot de passe sous Windows XP et Windows Vista)

Guide de prise en main Symantec Protection Center 2.1

Installation de Windows 2003 Serveur

Commandes Linux. Gestion des fichiers et des répertoires. Gestion des droits. Gestion des imprimantes. Formation Use-IT

Virtualisation de serveurs Solutions Open Source

Clé Flash USB2.0 Acer

HP Data Protector Express Software - Tutoriel 3. Réalisation de votre première sauvegarde et restauration de disque

Chapitre V : La gestion de la mémoire. Hiérarchie de mémoires Objectifs Méthodes d'allocation Simulation de mémoire virtuelle Le mapping

Processus! programme. DIMA, Systèmes Centralisés (Ph. Mauran) " Processus = suite d'actions = suite d'états obtenus = trace

HP Data Protector Express Software - Tutoriel 4. Utilisation de Quick Access Control (Windows uniquement)

IBM Tivoli Monitoring, version 6.1

ésylog, direction technique Esylog_PeerBackup outil de sauvegarde individuelle mails & fichiers personnels documentation technique

FICHE PEDAGOGIQUE. Questions à poser. - Avant de démarrer l ordinateur,

Manuel d installation De la Cryptolib CPS Dans un environnement client/serveur TSE/CITRIX

Les messages d erreur d'applidis Client

Livre blanc Mesure des performances sous Windows Embedded Standard 7

Sauvegarde et restauration d'un système d'exploitation Clonezilla

Activité 1 : Création et Clonage d'une première machine virtuelle Linux OpenSuSE.

Mise à jour, sauvegarde et restauration de logiciels

Délivrer des postes de travail virtuels et des applications virtuelles en utilisant des technologies Open Source

Virtual PC Virtual PC 2007 Page I

LE MICRO ORDINATEUR. Introduction Architecture Les supports amovibles Les composants Le système d exploitation Les portables

Licences Windows Server 2012 R2 dans le cadre de la virtualisation

Gérer ses fichiers et ses dossiers avec l'explorateur Windows. Février 2013

Systèmes informatiques

Anatomie d'un cloud IaaS Représentation simplifiée

Sage 50 Version 2014 Guide d installation. Sage Suisse SA

Certificat Informatique et internet Niveau 1 TD D1. Domaine 1 : Travailler dans un environnement numérique évolutif. 1. Généralités : Filière

Instructions d'installation de IBM SPSS Modeler Server 16 pour UNIX

Démontage d'un ordinateur

Tester Windows 8 sans l'installer avec Virtualbox

Acronis Backup & Recovery 10 Advanced Server Virtual Edition. Guide de démarrage rapide

VD Négoce. Description de l'installation, et procédures d'intervention

Utilisation de matériels industriels avec des outils de virtualisation open source. Open Source dans le monde industriel

"! "#$ $ $ ""! %#& """! '& ( ")! )*+

Unix/Linux I. 1 ere année DUT. Université marne la vallée

Généralités sur les systèmes d Exploitation

ORTIZ Franck Groupe 4. Terminal serveur pour administrer un serveur Windows à distance, client rdp linux.

Base de l'informatique. Généralité et Architecture Le système d'exploitation Les logiciels Le réseau et l'extérieur (WEB)

laissez le service en démarrage automatique. Carte de performance WMI Manuel Désactivé Vous pouvez désactiver ce service.

Système de Gestion de Ressources

Cours 420-KEG-LG, Gestion de réseaux et support technique. Atelier 1. Installation de Windows Server 2003 Standard Edition (pour le serveur)

Extrait de uvrez/technique.mspx UREC MMSH (S. ZARDAN) 1

LES FONCTIONS DE SURVEILLANCE DES FICHIERS

GESTION DE LA MEMOIRE

Installation de IBM SPSS Modeler Server Adapter

Comment installer la configuration des salles sur son ordinateur personnel?

1. Systèmes d entrée/sortie 2. Systèmes de fichiers 3. Structure de mémoire de masse (disques)

Transcription:

Théorie des Systèmes d'exploitation : Introduction Quelques systèmes d'exploitation... 3 Architecture des ordinateurs... 4 Schéma simplifié :... 4 Les concepts des systèmes d'exploitation... 5 Les 2 principales fonctions d'un systèmes d'exploitation... 5 Les «appels système», ou API système... 6 Architecture en couches des systèmes d'exploitation... 7 Schéma simplifié... 7 Architecture de MSDOS... 7 Architecture d'unix...8 Pour approfondir : mode utilisateur ou mode noyau... 9 P. Trégouët A. Schaal Groupe esaip Groupe esaip 1 TSE 1 Introduction.doc

Groupe esaip 2 TSE 1 Introduction.doc

Quelques systèmes d'exploitation MsDos Windows 3.11 (multitâche coopératif) Windows 95 / 98 / millenium Windows NT4 Windows NT5 ou NT2000 Windows XP MacOS 9 MacOS X (dérivé de Free BSD) Unix system V SCO Unix Open Server (Caldera) Soaris (ex Sun OS) HP-UX Xenix(Microsoft et SCO) Linux (RedHat, Mandrake, SuSE, Debian, slackware...) Free BSD MVS (IBM) OS400 (IBM AS400) VMS (DEC: Digital Equipment Corporation) GCOS/8 (BULL) CPM86 OS/2 Vxworks OS/9 QNX Windows CE Linux RT ecos (RedHat Linux) Groupe esaip 3 TSE 1 Introduction.doc

Architecture des ordinateurs Schéma simplifié : Groupe esaip 4 TSE 1 Introduction.doc

Les concepts des systèmes d'exploitation Un des concepts principaux des systèmes d'exploitation est la notion de processus: un processus est un programme en cours d'exécution. Un système d'exploitation sera dit multitâche s'il permet à plusieurs processus de s'exécuter de manière concurrente (partage du temps processeur dans une apparente simultanéité), ce que l'on peut représenter sous la forme d'un diagramme de Gantt: Processus ou Tâches P1 P2 P3 Temps processeur Les 2 principales fonctions d'un systèmes d'exploitation 1.Normaliser l'accès aux ressources matérielles, en fournisssant des pilotes de périphériques, ou drivers, utilisables par toutes les applications. Ces pilotes permettront un accès standard et simplifié à l'écran, au clavier, à la souris, aux fichiers sur disque, aux ressources du réseau etc... 2.Partager les ressources de l'ordinateur entre les différents processus (les différents utilisateurs): ce partage implique à la fois une politique d'allocation de ressources, tenant éventuellement compte d'un niveau priorité alloué à un processus et un contrôle des droits d'accès attribués à un processus (ou à un utilisateur) sur les fichiers, la mémoire centrale, les autres processus etc... Groupe esaip 5 TSE 1 Introduction.doc

Les «appels système», ou API système Les API 1 (Application Progammer Interface) rendent accessibles au programmeur les opérations suivantes (liste non exhaustive) Contrôle des Processus créer ou supprimer un processus charger un programme en mémoire démarrer, arrêter l'exécution d'un processus lire ou modifier les attributs d'un processus attendre jusqu'à l'expiration d'un délai attendre un événement ou signaler l'arrivée d'un événement allouer ou libérer de la mémoire Manipulation de fichiers Créer ou supprimer un fichier ouvrir ou fermer un fichier préparer la lecture / écriture à partir d'un numéro d'octet donné lire / écrire des données dans un ficher lire ou modifier les attributs d'un fichier Manipulation de périphériques réserver ou libérer l'accès à un périphérique lire / écrire sur un périphérique lire ou modifier les attributs d'un périphérique monter / démonter un système de fichiers local Informations de maintenance du système lire ou modifier la date ou l'heure du système lire ou modifier les attributs d'un processus, d'un fichier ou d'un périphérique lire ou modifier la date ou l'heure des données du système Communication/réseau Créer / supprimer une connexion réseau envoyer / recevoir un message Envoyer / recevoir des informations sur l'état d'une connexion réseau monter / démonter un système de fichiers réseau 1 http://www.webopedia.com/ API : Abbreviation of application program interface, a set of routines, protocols, and tools for building software applications. A good API makes it easier to develop a program by providing all the building blocks. A programmer puts the blocks together. Groupe esaip 6 TSE 1 Introduction.doc

Architecture en couches des systèmes d'exploitation Schéma simplifié Programmes d'application exemples : openoffice, word, firefox... Système d'exploitation exemples : Windows XP, Linux... HAL (Hardware Adaptation Layer) BIOS masquer aux systèmes d'exploitation les variations de l'architecture matérielle Matériel processeur, mémoire contrôleurs de périphériques unités périphériques Architecture de MSDOS Programmes d'application MsDOS : système résident (interruption 0x21) MsDOS : Pilotes de périphériques (drivers) BIOS : pilotes de périphériques en mémoire ROM Matériel Groupe esaip 7 TSE 1 Introduction.doc

Architecture d'unix Signaux gestion des terminaux E/S en mode caractère Pilotes de terminaux Controleur de terminaux Utilisateur Shells (interpréteurs de commandes) Compilateurs et interpréteurs Bibliothèques système Appels système : interface avec le noyau Systèmes de fichiers Mémoire virtuelle E/S en mode bloc Pilotes de disques et bandes Interface noyau avec le matériel Controleurs de disques et bandes magnétiques Ordonnancement des processus remplacement de pages (mémoire) défaut de pages mémoire viruelle Contrôleur de mémoire Groupe esaip 8 TSE 1 Introduction.doc

Pour approfondir : mode utilisateur ou mode noyau Le système d'exploitation comprend le premier code exécutable chargé en mémoire lors du démarrage. Ce code noyau gère les différentes composantes de l'ordinateur. C'est par son entremise que vous pouvez charger un programme en mémoire et l'exécuter. Sans lui, rien ne peut être fait. 1.Le code noyau possède les privilèges nécessaires pour contrôler le matériel. 2.Le noyau fournit des services aux programmes par l'intermédiaire des appels système. Un programme peut contenir des appels au noyau (ou au système). Les APIs définissent les différentes fonctions disponibles. Le noyau doit comporter des fonctions pour la gestion du CPU (processus), de la mémoire, des entrées/sorties et des fichiers. Des éléments matériels permettent au noyau de contrôler l'allocation du CPU (l'exécution des processus) et d'assurer la protection mémoire. Un programme (processus) ne peut utiliser que la mémoire qui lui a été allouée. Un processus est un programme chargé en mémoire et en train d'être exécuté. Le noyau crée et gère les processus. En plus du noyau, un système d'exploitation comporte de nombreux programmes système. Certains processus système sont créés dès l'amorçage du système et demeurent toujours actifs. D'autres processus (programmes) assurent l'interaction avec les usagers. Un processus "shell" reçoit les commandes de l'utilisateur et permet leur exécution. Il peut au besoin créer un sous processus (par un appel au noyau) pour exécuter une commande. Il y a des programmes système (commandes) pour gérer les fichiers: copier, détruire, renommer un fichier et afficher le contenu d'un répertoire. Processus Le noyau supporte la notion de processus. Pour chaque processus, le noyau garde une structure décrivant son état et les ressources utilisées (mémoire, fichiers, temps CPU). Le processeur (CPU) possède au moins deux modes de fonctionnement: mode utilisateur et mode système ou noyau. En mode noyau, on peut exécuter des instructions privilégiées permettant le contrôle du matériel de protection mémoire, d'interruption et d'e/s. La protection empêche un processus utilisateur d'avoir accès à l'espace mémoire du noyau. Le mécanisme d'appel au noyau permet à un processus utilisateur de transférer le contrôle du CPU au noyau (avec changement de mode) pour qu'il exécute une fonction nécessitant l'utilisation d'instructions privilégiées. Le noyau prend également le contrôle du CPU lors d'interruption matérielle pour exécuter une routine de traitement d'interruption. Lorsqu'il a terminé, le noyau détermine quel processus sera redémarré. Il utilise un algorithme d'allocation du CPU pour faire son choix. L'algorithme peut tenir Groupe esaip 9 TSE 1 Introduction.doc

compte de la priorité, du temps d'utilisation ou d'autres critères. Gestion de la mémoire Le code chargé en mémoire (code exécutable d'un programme) contient des adresses relatives à l'espace logique du programme. Lors de l'exécution, il faut convertir ces adresses logiques en adresses physiques correspondant aux positions réelles occupées dans la mémoire physique. Du matériel dédié (le MMU) assure cette conversion. Le MMU assure également la protection mémoire. Le noyau doit programmer le MMU pour lui indiquer quelle position physique en mémoire occupe le programme. Dans un système paginé, un programme n'occupe pas nécessairement des pages contiguës en mémoire. Il faut une table des pages pour faire la translation d'adresse logique à physique. Dans un système avec mémoire virtuelle, toutes les pages d'un programme n'ont pas besoin d'être en mémoire en même temps. Les pages du programme sont chargées en mémoire lorsque c'est nécessaire (sur demande). Programmation concurrente Lorsque plusieurs processus partagent des ressources, il faut synchroniser leurs accès aux ressources. Par exemple, lorsque deux processus partagent un espace mémoire, il faut éviter qu'ils essaient simultanément de modifier une même position (ou variable), sinon la valeur finale peut être erronée. "L'exclusion mutuelle" signifie qu'un seul processus à la fois pourra exécuter du code qui accède et modifie cette variable commune. La synchronisation de processus signifie que certains processus seront suspendus jusqu'à ce qu'ils obtiennent l'autorisation de continuer. Un sémaphore peut être vu comme un drapeau ou un feu de signalisation indiquant si l'autorisation de continuer est accordée. Liens Internet : http://fr.wikipedia.org/wiki/noyau_%28informatique%29 http://fr.wikipedia.org/wiki/espace_noyau Groupe esaip 10 TSE 1 Introduction.doc