 |
Unix
|
Les deux cours d'Unix s'appuient sur le shell pour introduire les notions
clés du système:
- Système d'exploitation, séparation espace utilisateur/noyau.
- Appel système
- Processus
- Système de fichiers
- Utilisation des fichiers pour communiquer
Le cours d'initiation reste largement cantonné à l'utilisation du shell,
tandis que le cours avancé montre également la programmation en C utilisant
des appels systèmes.
Exemples shell
Exercices shell
- Ecrire un script qui fait la même chose que la commande which.
Exemples C
- cat5.c, la commande cat, au niveau appels système
- pipe_externe.c,
un exemple complet de programme qui utilise un fork() pour
appeler une commande externe, commande externe elle-même constituée
de deux commandes liées par un pipe().
- server.c
un exemple élémentaire de serveur TCP/IP, en l'occurrence un serveur
de numéros, qui se contente de distribuer des numéros uniques
aux clients qui se connectent.
- client.c
un exemple élémentaire de client TCP/IP, qui se connecte ici au
serveur précédent. Comme indiqué, on reste ici sur l'interface
de rebouclage (loopback), alias localhost.
Exercices C
- Réécrire une version simple de ls, qui affiche le nom, le type,
et la taille de chaque fichier du répertoire courant, ou d'un
répertoire passé en paramètre. On utilisera pour ce faire des fonctions
comme stat(2), opendir(3), readdir(3), closedir(3).
Correction: ls.c
- Utiliser termios pour faire un programme qui lit des caractères
au clavier, un par un. On essaiera de gérer les cas de terminaison
abrupte du programme (réception d'un contrôle C) ou d'arrêt temporaire
(contrôle Z).
Retour page d'accueil
Copyright (C) 2003 Epita
$Id: unix.html,v 1.2 2003/12/11 16:47:53 apache Exp $