Vous êtes sur la page 1sur 15

J. Harms, Université de Genève, 27. 4.

2001

1. Introduction
Chapitre 1 :

Introduction

Résumé :

☛ But du cours sur UNIX


Version 2.3 - 2000 / 01

☛ Concepts particuliers

☛ Caractéristiques du système

☛ Evolution historique
/user/u2/harms/cours/unix/web/1.fm

Systèmes informatiques I - UNIX - 1.1 - Introduction


Buts (du cours, du présent document)
J. Harms, Université de Genève, 27. 4. 2001

☛ Buts du cours
➔ Unix = outil de travail
• Programmation en langage C
• Connaissance des outils existant sur la “plate-forme UNIX”

➔ Unix = objet pour l’étude des moyens mis en oeuvre dans un système d’exploitation

• Concepts sous-jacent à l’interface - utilisateur
• Méthodes et structures utilisées pour l’implantation d’un système
• Intégration d’un système individuel dans un environnement “distribué”
• Méthodes d’installation et gestion d’un système de moyenne taille;
Version 2.3 - 2000 / 01

- Avantage du “support” UNIX : caractéristiques d’un “grand système”,


- sans l’inconvénient d’une complexité prohibitive,
- bonne documentation et riche littérature.

➔ Unix = élément mandataire dans le bagage professionnel d’un informaticien


/user/u2/harms/cours/unix/web/1.fm

• Système “standard” répandu de plus en plus et sur une large gamme de machines
• Concepts déployés par UNIX présents dans une multitude de systèmes

Systèmes informatiques I - UNIX - 1.2 - Introduction


☛ Ce cours enseigne les concepts et l’implantation d’un système UNIX
J. Harms, Université de Genève, 27. 4. 2001

Ce cours n’est pas:


✘ une introduction “comment utiliser UNIX”,
✘ un “cours du langage C” ➔ Apprentissage des aspects pratiques en parallèle au
cours
• Importance du travail personnel de l’étudiant
(travaux pratiques) !
✘ le cours est non plus une ➔ Concentration de la présentation sur ☛
vue d’ensemble des diffé- • Berkeley UNIX (4.3 BSD)
rents “idiomes” de UNIX • System V
• C-shell

☛ Le présent document propose:


Version 2.3 - 2000 / 01

- une documentation de base en support aux leçons (éviter distraction “prendre des notes”)
- une documentation technique supplémentaire “à prendre à la maison”.
Ce document n’est pas:
✘ le remplacement d’un livre
/user/u2/harms/cours/unix/web/1.fm

✘ un “polycopié” traditionnel

Systèmes informatiques I - UNIX - 1.3 - Introduction


☛ Ce document est disponible sur le serveur Web du CUI
J. Harms, Université de Genève, 27. 4. 2001

Navigation par lien ‘hypertext’

➔ références par mots clé (accès par ou la marque ‘liste de références’)


➔ liens dans la table des matières (accès par ☛ ou la marque ‘table des matières’),
➔ parcours séquentiel de pages sans limite de chapitre:
- = avancer une page, = reculer une page;
- = avancer au début du chapitre, = reculer à la fin du chapitre; ☛
- = recharger à la dernière page visitée.

Version pour utilisation locale http://cui.unige.ch/tios/cours/asm/slides.pdf


➔ un seul fichier d’environs 2 Mbytes
Version 2.3 - 2000 / 01

➔ liens ‘hypertext’ sans contraintes

Version pour accès par liaison à faible débit http://cui.unige.ch/tios/cours/asm/slides.pdf


➔ un fichier par chapitre (chacun environs 200 Kbytes)
➔ liens ‘hypertext’ restreints (pas de parcours séquentiel d’un chapitre à l’autre,
/user/u2/harms/cours/unix/web/1.fm

changement de chapitre = recherche d’un nouveau fichier par le réseau).

Systèmes informatiques I - UNIX - 1.4 - Introduction


Evolution des systèmes Unix, situation actuelle
J. Harms, Université de Genève, 27. 4. 2001

Développement historique
Débuts (AT&T)
1969 Ken Thompson et Dennis Ritchie : projet isolé sur PDP-7, développement d’un système
d’exploitation bien adapté aux besoins de la recherche
Buts visés : ➔ système interactif,
➔ système de fichiers hiérarchique, ☛
➔ entrée / sortie généralisée et compatible (fichiers, équipements péri-
phériques, communication entre processus),
➔ système multi-utilisateurs, processus asynchrones,
➔ langage de contrôle choisi par l’utilisateur,
Version 2.3 - 2000 / 01

➔ riche choix de sous-systèmes (“boîte à outils”).


1970 Nom “UNIX” par Brian Kernighan (“Multics” !).
1971 Le système devient opérationnel ... “1st edition”.
1972 Introduction du langage C (Dennis Ritchie) (programmes utilitaires).
/user/u2/harms/cours/unix/web/1.fm

1973 Ré-écriture du système en C.


1975 “6th edition”, première version largement répandue.
1979 “7th edition”, optimisation et portabilité.

Systèmes informatiques I - UNIX - 1.5 - Introduction


J. Harms, Université de Genève, 27. 4. 2001

Versions initiales … version largement répandue


USG/USDL PWB BSD
(UNIX Support Group, (Programmer’s Bell Research (Berkeley Software Distrib.)
UNIX Syst. Dev. Lab.) Work Bench)
1969 prototype (PDP-7)
ATT / University of California
1971 Bell Laboratories 1st Edition (PDP-11) Berkeley

1976 6th Edition (PDP-11) ☛

1977 XENIX 1 BSD (PDP-11)

1978 7th Edition 2 BSD (PDP-11)


Version 2.3 - 2000 / 01

3 BSD (VAX) 2.xBSD


1979 (PDP-11)
3.0 4.0 BSD (VAX)
1980
/user/u2/harms/cours/unix/web/1.fm

4.1 BSD (VAX)


1982 System III 5.0

1983 System V 5.2 8th Edition © J. Harms

Note : VAX: Importante machine de “laboratoire” et des “intellectuels de l’informatique”


PDP-7, PDP-11: mini-ordinateur de Digital Equipment Corp., “ancêtres” de la VAX
Systèmes informatiques I - UNIX - 1.6 - Introduction
Développement ultérieur
J. Harms, Université de Genève, 27. 4. 2001

7th Edition XENIX

System V 5.2 8th Edition 4.1 BSD (VAX)

1984 System V, Rel. 2 4.2 BSD (VAX) MINIX


(Tanenbaum)
1986 5.3 ☛
4.3 BSD (VAX)
1987 System V, Rel. 3 9th Edition 6 )
x 8
x
1988 5.4 SUN OS (x
PC
Version 2.3 - 2000 / 01

System V, Rel. 4

1990 Standard “POSIX” (IEEE 1003.1)


Open Systems Foundation (“OSF”)
/user/u2/harms/cours/unix/web/1.fm

1992 X/Open manufacturer group Linux


1994 Free BSD
© J. Harms
Note : POSIX ainsi que les standards produits par les organisations OSF et X/OPEN sont des spécifi-
cations d’une interface entre un programme et son environnement
➔ ils ne sont donc pas une standardisation formelle de UNIX.
Systèmes informatiques I - UNIX - 1.7 - Introduction
Distributions de Linux
J. Harms, Université de Genève, 27. 4. 2001

Cette ‘généalogie’ des systèmes Unix décrit l’évolution du système d’exploitation, du “kernel”.
‘Distribution’ de Linux: mise en paquet du kernel avec des programmes de bibliothèque et
d’outils de gestion, entretien d’un serveur par une institution responsable.
Ces distributions se distinguent par
➔ l‘interface-utilisateur (langue, documentation)
➔ les bibliothèques de programmes utilitaires entourant le kernel (contenu, outils de gestion)
➔ l’interface graphique à disposition en support des applications ☛
A présent, plusieurs distributions sont fortement déployées
Debian Organisation de volontaires, s’appuyant sur des contributions de volontaires
(principe du “free software”: limitation stricte aux logiciels non-commerciaux).
voir http://www.debian.org
Version 2.3 - 2000 / 01

Mandrake Dérivé de Red Hat, mais soigné pour des utilisateurs-novices


voir http://www.mandrake.com
Red Hat Entreprise avec siège en US. Profil international et anglophone. Demande passa-
blement de travail de configuration (et laisse de la flexibilité à l’ingénieur).
voir http:/www.redhat.com
/user/u2/harms/cours/unix/web/1.fm

SuSE Entreprise avec siège en Allemagne. Profil germanophone, mis en ensemble de


l’installation bien finalisée.
voir http://www.suse.de
autres http://www.linux.org/dist/english.html, distributions anglophones
http://www.linux.org/dist/nonenglish.html distributions non-anglophones

Systèmes informatiques I - UNIX - 1.8 - Introduction


Concepts fondamentaux
J. Harms, Université de Genève, 27. 4. 2001

Système de fichiers
➔ Accès à l’information à l’aide d’un “nom”

➔ Sécurité contre l’accès non-autorisé

➔ Simplicité
• transparence vis-à-vis du système d’exploitation (pas de “déclarations obscures” - p.ex. ☛
de “blocs de contrôle”)
• transparence vis-à-vis des équipements d’entrée / sortie
• contenu = séquence de bytes sans structure

➔ Banalisation de l’interface programme - système


Version 2.3 - 2000 / 01

• fichiers “normaux” (données)


• fichiers “catalogues”
• fichiers “spéciaux” (équipements)
• “sockets” (communication)
/user/u2/harms/cours/unix/web/1.fm

Systèmes informatiques I - UNIX - 1.9 - Introduction


Processus
J. Harms, Université de Genève, 27. 4. 2001

➔ Processus = seul mécanisme pour l’exécution d’un programme

➔ Création d’un processus = création d’une copie du processus “parent”


= “fork”

➔ Changement du code à exécuter par un “remplacement” de “l’image” du


processus ☛
= “execv”

Shell
➔ Interpréteur pour le langage de contrôle
Version 2.3 - 2000 / 01

• source = terminal-console
ou
• source = contenu d’un fichier

➔ Implantation comme un programme-utilisateur


/user/u2/harms/cours/unix/web/1.fm

➔ Enchaînement des commandes = “pipes”

Systèmes informatiques I - UNIX - 1.10 - Introduction


Suite du développement
J. Harms, Université de Genève, 27. 4. 2001

☛ Utilisation systématique du langage C

☛ Symbiose avec l’infrastructure de télécommunication (logiciels IP, “socket”)


standards “Internet”

☛ Evolution vers une standardisation


indépendance du matériel

acceptation comme un quasi-standard


Version 2.3 - 2000 / 01

promotion par groupes de constructeurs


/user/u2/harms/cours/unix/web/1.fm

standards IEEE et ISO (“POSIX”)

Systèmes informatiques I - UNIX - 1.11 - Introduction


Rôle du langage C
J. Harms, Université de Genève, 27. 4. 2001

Langage d’implantation pour la plupart des composantes du système (prend la place de l’assem-
bleur des systèmes classiques).
Le langage C et l’implantation d’UNIX (milieu des années 1990):

~ 5 % divers ☛

~ 80 % C et C ++ ~ 5 % Assembleur
Version 2.3 - 2000 / 01

~ 10 % Shell

Importance grandissante du langage C++


/user/u2/harms/cours/unix/web/1.fm

➔ Langage défini par Ritchie (1972)


➔ Standardisation ANSI (“ANSI C”) 1989 (ANSI X3.159)
➔ Standardisation internationale 1990: ISO/IEC 9899

Systèmes informatiques I - UNIX - 1.12 - Introduction


Utilisation actuelle
J. Harms, Université de Genève, 27. 4. 2001

☛ Implanté sur un grand nombre de machines


• du PC au super-ordinateur,
• de plus en plus supporté par les constructeurs (e.g. Cray, Hewlett-Packard).

☛ Différents profils d’utilisation


• utilisation traditionnelle (applications d’ingénieur),

• de plus en plus, utilisation en support d’applications commerciales,
• système standard “toute application”,
• support portable pour systèmes “clé-en-main”.

☛ Combinaison avec systèmes de fenêtres


Version 2.3 - 2000 / 01

(en particulier X-Windows, respectivement les systèmes de gestion de fenêtres correspondants.


Amélioration importante de l’interface utilisateur:
• Relégation effective de UNIX au rôle d’une simple couche de logiciel de bas niveau, en
grande partie cachée par le système de fenêtrage.
/user/u2/harms/cours/unix/web/1.fm

• Tendance à la “dé-standardisation” de l’interface-utilisateur.


• Remplacement de “commandes” classiques de UNIX par des outils conçus pour un envi-
ronnement de fenêtrage.

Systèmes informatiques I - UNIX - 1.13 - Introduction


J. Harms, Université de Genève, 27. 4. 2001

☛ Utilisation progressive comme le “système officiel” par les constructeurs


• Solution prépondérante pour les machines de type “poste de travail personnel”.
• Alternative attractive à Windows-NT en tant que “serveur”

☛ Impact important de Linux - développement ultérieur?


• Utilisation grandissante en tant que poste individuel.

☛ Utilisation progressive comme le “système officiel” par les constructeurs”


☛ Evolution vers un standard international


• différents “idiomes” du quasi standard (BSD, AT&T System V, ...),
• efforts de standardisation internationale:
Version 2.3 - 2000 / 01

- IEEE 1003.1 (“POSIX”) ⇒ ISO SC22 WG15


- promotion par groupements de constructeurs :
Groupe X/OPEN (au début seulement en Europe)
Groupe “Open Systems Foundation” (OSF).
/user/u2/harms/cours/unix/web/1.fm

Systèmes informatiques I - UNIX - 1.14 - Introduction


Appréciation succincte de la situation de UNIX
J. Harms, Université de Genève, 27. 4. 2001

☛ Système bien mature et stable

☛ Conception relativement cohérente et transparente

☛ Interface utilisateur puissant mais non-trivial


• interaction par commandes (Unix “brut”) - difficile pour l’utilisateur non-averti:
- noms des commandes plutôt “exotiques”, ☛
- tendance à une utilisation abusive “d’options”.
➔ inconvénient de plus en plus caché par l’interface graphique (X-Windows)
• la limite entre le système et le programme-utilisateur est à un niveau relativement bas:
- flexibilité et facilité pour la programmation de logiciel de bas-niveau,
Version 2.3 - 2000 / 01

- facilité pour la conception de systèmes clés en main.

☛ Riche choix d’applications dans certains domaines


• développement de programmes,
• évolution vers applications en gestion d’entreprises,
/user/u2/harms/cours/unix/web/1.fm

• grande importance des logiciels du domaine publique (facilité de l’accès par Internet).

☛ Relativement mal adapté au support d’applications temps-réel


☛ Support efficace pour la répartition d’applications sur plusieurs machines

Systèmes informatiques I - UNIX - 1.15 - Introduction

Vous aimerez peut-être aussi