Vous êtes sur la page 1sur 22

Cours n 1

Introduction au Noyau

Master Informatique - Noyau - 2007-2008

PLAN DU MODULE

Objectifs

Mcanismes internes du noyau (UNIX)


Processus, Ordonnancement Fichiers, Mmoire virtuelle

Master Informatique - Noyau - 2007-2008

PLAN DU MODULE

Organisation

Sur 10 semaines Dbut TD/TME : La semaine du 24 septembre Note finale = 40 % CC + 60 % Examen

Equipe enseignante
Cours : Pierre Sens Pierre.Sens@lip6.fr TD/TME :Emmanuelle Encrenaz, Sebastien Monnet, Gael Thomas {Nom.Prenom}@lip6.fr

Master Informatique - Noyau - 2007-2008

INTRODUCTION

Bibliographie Programmation systme


J.M. Rifflet, La Programmation sous UNIX, J.M. Rifflet, Les communications sous UNIX, C. Blaess, Programmation systme en C sous Linux

Mcanismes internes du noyau UNIX


M.J. Bach, Conception du systme UNIX, S.J Leffler & al. , Conception et implmentation du systme 4.4 BSD, U. Vahalia, Unix internals --the new frontiers Noyau Linux :
D. P. Bovet, M. Cesari, Le noyau Linux R. Love, Linux Kernel Development R. Card & al., Programmation Linux 2.0 Linux Magazine Sept./Octobre 2003 - Voyage au centre du noyau

Mcanismes internes Windows Inside Windows 2000, 3rd Edition Liens web : voir sur la page du module
http://www.infop6.jussieu.fr/lmd/2004/master/ue/noyau-2004oct

Master Informatique - Noyau - 2007-2008

INTRODUCTION

Vue dune machine Ensembles de composants organises autours de bus


Composants de base: mmoire, CPU, I/O, bus systme
MMOIRE MMOIRE

CPU CPU

IO IO IO IO IO IO

BUS SYSTME I/Os standard: cartes SCSI et/ou IDE, clavier, souris, hautparleurs, etc. La vitesse du bus systme devient le facteur prdominant pour la performance dun ordinateur.
5
Master Informatique - Noyau - 2007-2008

INTRODUCTION

Vue dune machine : Accs aux priphriques CPU CPU Bus ddi (isolated I/O)
systme systme I/O I/O mmoire mmoire

CPU CPU Adresses partags (shared I/O)

mmoire mmoire systme systme I/O I/O

E/S mappe en mmoire (memory-mapped I/O)


6

CPU CPU
bus dadresses bus de donnes bus de contrle

mmoire mmoire

systme systme I/O I/O


Master Informatique - Noyau - 2007-2008

INTRODUCTION

Vue dune machine : E/S mappes en mmoirebus

dadresses

bus de donnes bus de contrle espace des adresses physiques

CPU CPU

ROM1 ROM1

RAM RAM

port port I/O I/O

port port I/O I/O

priphrique priphrique

Master Informatique - Noyau - 2007-2008

INTRODUCTION

Vue dune machine : Les niveaux de caches


Processeur registres

Temps accs < 1ns

Cache L1 Inst / donne Cache L2

Temps accs ~1ns Temps accs 2-3 ns Temps accs 10-50 ns Disque : 10 ms (x106 RAM !)

Mmoire RAM

Master Informatique - Noyau - 2007-2008

INTRODUCTION

Vue dune machine : Multi-processeur SMP


Processeur 1
registres

Processeur 2
registres

Architecture Symmetric Multiprocessor (SMP) Processeurs distincts, pas de partage de caches

Cache L1 Inst / donne Cache L2

Cache L1 Inst / donne Cache L2

Partage de la RAM + Gestion de flux indpendants - Maintien de la cohrence des caches - Conflit daccs au bus mmoire (nb de processeurs limits)

Mmoire RAM 9
Master Informatique - Noyau - 2007-2008

INTRODUCTION

Vue dune machine : Multi-core


Processeur 1
registres

Processeur 2
registres

Architecture Multi-core (ex. Intel Dual/Quad core, Cell) Deux curs de processeurs distincts sur un mme support, partage de cache possible (L2 ou L3) Partage de la RAM

Cache L1 Inst / donne

Cache L1 Inst / donne

Cache L2 + Gestion de flux indpendants + Moins coteux que SMP + Moins de pb de cohrence Mmoire RAM 10 - Moins de cache disponible
Master Informatique - Noyau - 2007-2008

INTRODUCTION

Vue dune machine

MMOIRE MMOIRE PRINCIPALE PRINCIPALE BUS SYSTME Cache instructions MMU MMU
TLB

IO IO IO IO IO IO

Unit Unitde de contrle contrle Dcodeur PC

Unit Unitde de traitement traitement


ALU

Cache donnes

Unit flottante Registres Registres


Master Informatique - Noyau - 2007-2008

CPU
11

INTRODUCTION

Vue du systme : architectures classiques

Interface Services Noyau

Interface Programmation

Systme de Fichiers

Gestion des
Communications

Gestion des Processus

Gestion du cache disque

Pilotes de priphriques (drivers) Priphriques

MACHINE
12
Master Informatique - Noyau - 2007-2008

INTRODUCTION

Vue du systme : architectures modulaire (Windows NT)

13

Master Informatique - Noyau - 2007-2008

INTRODUCTION AU SYSTEME UNIX

Gnralits (1)
Interface utilisateur

Utilisateurs Programmes Utilitaires Standard Bibliothque Standard Systme d'exploitation UNIX Matriel shell,vi,cc

Interface bibliothque Interface appels systme

open, read, fork

SG process,SGF,SG E/S UC, Mmoire,Disques,

14

Master Informatique - Noyau - 2007-2008

INTRODUCTION AU SYSTEME UNIX

Gnralits (2) Systme interactif en temps partag, MultiUtilisateurs et Multi-Tches Principes


Systme de gestion de fichiers hirarchis Entres/Sorties Cration dynamique de processus (Pre / Fils ) Communication inter-processus (Pipes, Sockets)

Langage de commande extensible (Shell) Noyau monolithique portable


Le noyau est crit en C 95%. UNIX existe sur de nombreuses machines (PC, Stations RISC, CRAYYMP, Hypercubes, ...)

15

Master Informatique - Noyau - 2007-2008

INTRODUCTION AU SYSTEME UNIX

Les objectifs Simplicit et efficacit (par opposition aux gros systmes MULTICS ...):
Efficacit dans la gestion des ressources

Fournir des services dexcution de programmes


Charger, Excuter, Grer les erreurs, Terminaison Entres / Sorties partir de priphriques (Crer, Lire. Ecrire, ...). Dtecter les erreurs (CPU, mmoire, E/S, ...).

Fournir des services dadministration


Allocation des ressources systme. Gestion des utilisateurs. Comptabilit et statistiques (accounting) Configuration. Protection des ressources. Ajout et retrait de gestionnaires de priphriques (drivers). 16
Master Informatique - Noyau - 2007-2008

INTRODUCTION AU SYSTEME UNIX

Tentatives de Normalisation
POSIX : Compromis entre BSD et Systeme V
Proche de V7 de Bell Labs + signaux + gestion des terminaux

O.S.F (Open Software Fundation) : IBM, DEC, HP,


Conforme aux normes IEEE + outils X11 : systme de fentrage, MOTIF : interface utilisateur DCE : calcul rparti DME : gestion rpartie

U.I (UNIX International) : AT&T, Sun,


Systme V release 4.0

mais aussi ...


AIX (IBM), Spix (Bull), Ultrix (Digital), HP-UX (HP), SCO-UNIX (SCO), SunOS & Solaris(Sun Microsystems), LINUX, FreeBSD, ...

17

Master Informatique - Noyau - 2007-2008

INTRODUCTION AU SYSTEME UNIX

Historique (1)
A l origine UNICS (UNIplexed information and Computing System) 1969 UNIX/PDP-7 Ecrit en assembleur sur un PDP-7 pour dvelopper un traitement de texte aux Bell Labs 1973 UNIX V5 Langage C (90%) 1976 UNIX V 6 (coopration de Bell Labs/universits amricaines)

Berkeley
1977 1978 1979 1980 1981 1982 1984 1986 1989 1993 1991 18 1.0 BSD 2.0 BSD 3.0 BSD 4.0 BSD 4.1 BSD 4.2 BSD 4.3 BSD 4.4 BSD

Bell Labs
V7 V8 V 10 Linux

AT&T
System III System VR2 System VR4

Master Informatique - Noyau - 2007-2008

INTRODUCTION AU SYSTEME UNIX

Historique (2)

19

Master Informatique - Noyau - 2007-2008

INTRODUCTION AU SYSTEME UNIX

Historique (3) POSIX (Portable Open System Interface eXchange)


1993 - Compromis entre BSD et Systeme V 1003.0 Guide et prsentation 1003.1 Appels Systmes 1003.2 Shell et Utilitaires 1003.3 Mthodes de tests et conformit 1003.4 Extensions temps rel 1003.6 Scurit 1003.7 Administration systme 1003.8 Accs commun aux fichiers 1003.9 Appels Fortran-77 1003.10 Interface pour les supercalculateurs 1003.11 Extensions pour le transactionnel 1003.12 Extensions communications inter processus ...

20

Master Informatique - Noyau - 2007-2008

INTRODUCTION AU SYSTEME UNIX

Types dAPI

Contrler l'excution d'un processus, Faire des accs et de la gestion sur le systme de fichiers, Faire et contrler des accs rseau, Crer et grer de l'espace mmoire, Envoyer et recevoir des messages entre les processus, Grer ou s'informer sur l'tat du systme, Contrler des permissions d'accs, Allouer et grer des ressources diverses

21

Master Informatique - Noyau - 2007-2008

INTRODUCTION AU SYSTEME UNIX

Limites dUnix Complexit de certaines versions => problmes de robustesse Interface utilisateur Prolifration des versions => situation chaotique Approche monolythique => difficilement extensible

22

Master Informatique - Noyau - 2007-2008

Vous aimerez peut-être aussi