2 sessions:
Rappel: La défaillance fait obstacle au calcul de la moyenne et implique l'ajournement. La présence de l'étudiant étant obligatoire en TP [...], plus d'une absence injustiée dans un enseignement peut entraîner la défaillance de l'étudiant dans l'enseignement concerné
Quelques systèmes:
Qu'est-ce qu'un système d'exploitation ?
Quelles sont les ressources d'une machine?
1965 | MultICS: Multiplexed Information and Computing Service (Bell & MIT) |
1969 | Unix: 1ère version en assembleur (AT&T) |
1972-73 | Unix réécrit en C |
1976 | Invention de TCP/IP |
1977 | Berkeley Software Distribution (BSD) |
1985 | Unix System V |
1988 | Minix |
1992 | Linux |
Applications | |
Interface utilisateur | Services |
Noyau (kernel) | |
Micro-code | |
Matériel |
Applications | |
Bibliothèques
(libc , DirectX , OpenGL , …)
|
Appels systèmes |
Noyau
pilotes de périphériques
ordonnanceur (gestion du temps CPU)
gestionnaire de mémoire système de fichier |
Matériel |
Exemple de session shell:
$ ls
Documents Downloads Public Person
$ cd Documents
$ ls
compte_rendu.txt
$ mv compte_rendu.txt cr.txt
$ ls
cr.txt
Un fichier est une collection d'infromations numériques réunies sous un même nom et enregistrée sur un support de stockage
Ne pas confondre:
Nom | |
Propriétaire | utilisateur qui possède ce fichier |
Groupe | groupe d'utilisateurs qui possède ce fichier |
Emplacement | localisation du fichier sur le support physique |
Taille | en octet (peut être la taille réelle ou la taille occupée sur le support) |
Permissions | « qui a quel droit » sur le fichier (lecture, écriture, exécution, …) |
Type | |
Dates | dernier accès, dernière modification, création, … |
Usuellement, les fichiers sont regroupés en répertoires. Les répertoires sont imbriqués les uns dans les autres de manière a former une arborescence.
Sous Unix il y a un répertoire racine, « / »
(slash) qui contient toute l'arborescence du système.
Chaque utilisateur possède aussi un répertoire personnel
Un chemin est une liste de répertoire à traverser pour
atteindre un fichier ou répertoire donné.
Sous Unix, le séparateur de chemin est le « / »
Les chemins absolus commencent par un /
et
dénotent des fichiers à partir de la racine. Exemple:
/home/kim/Documents/ProgInternet/cours01.pdf
Les chemins relatifs dénotent des fichiers à partir du
répertoire courant. Exemple:
Documents/ProgInternet/cours01.pdf
si on se trouve dans le répertoire /home/kim
Les noms spéciaux: « . » dénote le répertoire
courant,
« .. » le répertoire parent, « ~ » le répertoire de
l'utilisateur et « ~toto
» le répertoire de l'utilisateur
toto
Le shell affiche un invite de commande
(prompt). Exemple:
kim@machine $
On peut alors saisir une commande:
kim@machine $ ls *.txt
Le shell affiche la sortie de la commande:
fichier1.txt fichier2.txt
Certains caractères doivent être précédés d'un « \ » (échappés):
kim@machine $ ls mon\ fichier\#1.txt
Une ligne de commande a la forme:
prog item1 item2 item3 item4 …
Certains caractères sont interprétés de manière spéciale par le shell. Ces caractères sont « expansés » selon des règles. Si la forme expansée correspond a un ou plusieurs fichiers existants, alors leurs noms sont placés sur la ligne de commande. Sinon la chaîne de caractère de départ garde sa valeur textuelle.
Règles d'expansion:
* n'importe quelle chaîne
? n'importe quel caractère
[ab12…] un caractère dans la liste
[^ab12…] un caractère absent de liste
[a-z] un caractère dans l'intervalle
[^a-z] un caractère absent de l'intervalle
{m1, m2}
motif m1 ou m2
?(m1|…|mn)
@(m1|…|mn)
*(m1|…|mn)
+(m1|…|mn)
k motifs parmi mi
?: 0 ≤ k ≤ 1
@: k = 1
*: k ≥ 0
+: k ≥ 1
!(m1|…|mn):
ni m1, …, ni mn
ls !(*[aeiouy]?)
La chaine « !(*[aeiouy]?) » est remplacée par la liste de tous
les fichiers dont l'avant dernière lettre du nom n'est pas une
voyelle. S'il n'y a pas de tel fichier, la chaîne
« !(*[aeiouy]?) » est passée à la commande ls.
ls [0-9]* affiche la liste des fichiers commençant par un
chiffre
ls +(abc) affiche la liste des fichiers dont le nom est une
répétition de « abc ».
Sous Unix un utilisateur est identifié par son login (ou nom
d'utilisateur). Chaque utilisateur est dans un groupe
principal.
Chaque fichier appartient à un utilisateur et à un groupe.
Chaque fichier possède 3 permissions pour son propriétaire, son groupe
et tous les autres. Les permissions sont lecture, écriture, exécution
(plus d'autres non abordées dans ce cours).
Permission | fichier | répertoire |
---|---|---|
lecture (r) | lire le contenu du fichier | lister le contenu du répertoire |
écriture (w) | écrire dans le fichier | supprimer/renommer/créer des fichiers dans le répertoire |
exécution (x) | exécuter le fichier
(si c'est un programme) |
rentrer dans le répertoire |
$ ls -l
drwxr-x--- 9 kim prof 4096 Sep 7 21:31 Documents
chmod permissions chemin1 … cheminn
modifie les permissions des fichiers 1 à n. La chaîne
permissions est soit une suite de modifications de
permissions symbolique soit l'ensemble des permissions données
de manière numérique:
chmod 755 fichier.txt
chmod u-w,a+x,g=w fichier.txt
On groupe les bits de permissions par trois puis on convertit
en décimal:
Utilisateur | Groupe | Autres | ||||||
---|---|---|---|---|---|---|---|---|
r | w | x | r | w | x | r | w | x |
1 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 |
6 | 4 | 0 |
cible modifieur permission
Exemple:
chmod u+rw,u-x,g+r,g-wx,o-rwx fichier.txt