1
Un bref historique d’Unix
(et quelques anecdotes !)
Evolution :
70 : Ken Thompson, Davi Ritchie (Bell tel ; ATT)
75 : Unix V6 (multiprogrammation, C) ; V7 (commercialisation)
situation en 84 : système V (Bell), BSDC (Berkeley) université
Années 90 :
_ efforts de normalisation
_ système ouvert Il est facile de rajouter des choses et de savoir où sont les sous-
programmes.
_ unix, TCP/IP, X-windows système de fenétrage
_ Linux (91)
(V6 = 1E système multitaches : plusieurs ordinateurs qui ont accès à tour de rôle)
Efforts de normalisation :
93 : Novel (important distributeur de services réseaux) vend Unix à X/Open :
X/Open donne le label « unix » mais impose des tests
93 : « un nouveau pas vers un Unix unifié » (01 informatique) :
3 organismes (X/Open, OSF, Unix International) soutenus par 60 fournisseurs
s’accordent sur un ensemble d’API communes normes POSIX (pas de
normalisation au niveau du noyau)
95 : HP et Sun s’accordent sur un Windows manager (gestionnaire de fenêtres :
graphique + souris) commun.
Effort de normalisation : situation
Pas de standard
Pas de normalisation du noyau
Mais : _ efforts de convergence, de compatibilité
_ norme POSIX
_ amélioration de l’interface utilisateur
OSF (organisme dont le seul but est de faire des normes)
_ Open Software Foundation
_ Créé en 88 par 7 constructeurs
_ Rôle : « interface » des application, évolution du système, standards publics
_ Domaine : réseau, OS, langage de programmation, UI (User Interface), graphique,
BD
_ Intérêts : OSI, TCP/IP, ftp, telnet, POSIX, X/Open, C, Cobol, Basic, Fortran, Ada,
Pascal, Common-Lisp, X_Windows, GKS, PHIGS, ANSISQL.
Différents UNIX :
Sun (Solaris) un des meilleurs unix proffessionnel payant
Hewlett Packard
2
Silicon Graphics
MINIX (le 1E logiciel Unix gratuit)
Linux (http://www.linux.org/)
_ Linux is Unix ; tendance : sur ensemble d’Unix
_ Créé par Linux Torvalds en 91, amélioré par messages dans les news
_ Initialement : pour PC (Intel 386), actuellement (2.2) :
X 86, SPARC, Alpha, Ultra, m68k, Pwer PC, Palm Pilot, bientôt : « pour
presque tout »
_ De nombreux logiciels de développement gratuit (freeware) emacs, latex, gcc
GNU(stallmann : http //www.gnu.org)
_ Distributeurs : Redhat (Mandrake), slackware, Debian..
operating system = système d’exploitation
multitasking = multitaches
Pourquoi apprendre Unix (Linux) ?
Au pire apprentissage d’un système « pro » : boîte de verre
Au « mieux » : Linux OS de demain
Abandon de Windows par MS : mythe ou réalité ?
Quelques faits « techniques »
_ Unix intrinsèquement adapté au réseau ( remote sous windows)
_ Retard de convivialité pratiquement comblé : Star Office, KDE, Borland,
environnements de programmation
_ Linux embarqué (auto-radio à l’ESSI)
_ sources permettent la recompilation d’un petit noyau spécialisé
_ même SE pour développement et embarquement
Quelques faits « financiers » et industriels :
Ventes de Linux : 50% des serveurs Internet sous Appache
HP maintient Linux
Redhat : investissement, accords, valeur boursières
Investissement de Intel dans RedHat
Gros clients : chaîne d’hotels américaines, gestion Ikea
Nouveaux amis : Netscape, Orade, IBM, Novell..
Voire la tirelire 1998 sous http://Iwn.net
3
Les systèmes d’exploitation en général
1) Introduction
2) Les communication inter-processus
3) Le système de fichiers
4) Gestion de la mémoire
5) Les entrées / sorties
6) Langages de commande (le shell, bash étudié en TP)
Introduction :
1) qu’est-ce qu’un SE ?
Un système d’exploitation pour quoi faire ?
pour contrôler les ressources (ex : mémoire, périphérique)
pour fourbir le base des programmes d’application
une machine virtuelle pour :
cacher la complexité du bas niveau
faciliter la programmation
une répartition des ressources pour :
l’allocation des mémoires
le partage et l’échange d’information
la protection des individus
l’élaboration de statistique, de mesures, ..
Réservation jeux
Compilateur éditeur interpréteur de commande
Système d’exploitation
Langage machine
Micro programme
Dispositif physiques
Composition d’un ordinateur
2) différents types de SE :
les systèmes mono-utilisateurs
une machine virtuelle pour un ordinateur
le process Control
contrôle d’un processus industriel
les systèmes d’interrogation de fichiers
interrogation de grands ensembles de données
les systèmes transactionnels
mise à jour très fréquente de données
les systèmes généralistes
4
grands nombre d’utilisateurs
3) Concepts :
communication entre SE et programmes effectuée par des appels systèmes
appels système modifient
les processus
les fichiers
_ Un processus est un programme en exécution qui peut :
être interrompu par le SE
créer un ou plusieurs processus fils
communiquer avec d’autres processus
_ Les fichiers peuvent être :
classés dans des répertoires
créés , modifiés, déplacés, effacés ,
en accès protégé
_ les appels systèmes permettant de :
créer des processus
gérer la mémoire
lire, écrire des fichiers
réaliser des entrées/sorties
_ l’interrupteur de commandes assure :
la communication entre utilisateur et SE
la réalisation des appels systèmes
Expressions régulières :
_ grep trombe /etc/passwd
motif fichier
trombe : X : 167 : 100
_ man regexp
Expression atomiques : (un seul caractère)
caractère non spécial remplacé par lui-m^me
‘.’ n’importe quel caractère sauf fin de la ligne
[x12(] n’importe quel caractère dans l’ensemble entre [ ]
[^x12] ... de [ ]
\<caractère_spécial> <caractère_spécial>
[ :digit :]
[ :upper :] (une lettre majuscule)
5
Expression régulières II
Soit : _ une expression atomique
_ une expression atomique suivre de * : [12]*
remplacement de A de 0 à + fois
Language de commande sous Unix :
_ mode interactif ou langage de programmation
_ 2 grandes catégories :
bourne-shell système V (sh, ksh, zsh, bash)
C-shells de Berkeley (csh, tcsh)
_ différences sur l’utilisation des commandes (options) plus que sur les commandes
spécifiques aux langages (structures de contrôle : while)
_ Liste dans /etc/shells
Expressions régulières : caractères spéciaux
_ certains caractères ont un sens particulier au sein d’un motif . Ce sont les caractères
spéciaux ou méta-caractères : [ .*
_ D’autres ont une interprétation spéciale selon le contexte :
Car
Rôle
Contexte spécial
]
] ou fin d’ensemble
Derrière un [
-
- ou intervalle
Entre[ ]..
^
^ ou début de ligne ou
complément ensembliste
Début de motif ou après
$
$ ou fin de ligne
Fin de motif
\
\ ou annulation
Partout sauf entre [ ]
Expression régulières atomiques :
_ Expression qui remplace un seul caractère
un caractère non spécial
un caractère spécial précédé de \
le caractère spécial . : remplace tout motif d’un caractère
une expression de la forme [ :<class> :] par ex : [ :digit : ] (chiffres)
[ :uppers :] (majuscules) ; [ :alnum :] (chiffres + lettres)
Expression régulières (ER)
_ expression régulière atomique
_ ER atomique suivie de * : 0 ou n occurrences de l’ER atomique en question
_ concaténation (mettre bout à bout, à la suite) de 2 expressions régulières
_ \(<sous-expr>\) : moyen de repérage de la sous-expression sous-expr dans l’ER
d’appartenance
_ \<entier> : : désignation de la <entier> -ième sous-expression entre \(\) avec
<entier> [1..9]
_ <expr-atomique>\{<i>,<j>\} : k occurrences de <expr-atomique> avec k [<i>,<j>]
1 / 6 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !