Approfondissement Système
Cours
TPs
Liens
Sugestions de lecture des enseignants
-
Les explications de R. Gooch sur le fonctionnement du VFS
- Implémentation de malloc par Doug Lea. Décrit une des premières implémentations optimisée de la version GNU de malloc. Plus à jour, mais très instructif quand même.
- Linux Loadable Kernel Module HOWTO
- Différences entre Linux 2.4 et 2.6
- Une version locale de LXR (Références croisées des sources linux) est maintenant disponible. Un outil très utile pour naviguer dans les sources du noyau quand y cherche quelque chose...
Attention : le nouveau serveur sur lequel est installé LXR beaucoup plus puissant, mais il n'est pas directement accessible depuis l'exterieur (serveur intranet, inacessible hors du domaine unice.fr).
Néanmoins, le service LXR de ce serveur peut être accédé depuis une machine hors domaine unice au travers d'un tunnel ssh de la façon suivante :
- Sur votre machine hors domaine unice :
ssh monlogin@sesame-mips.unice.fr
-L 7070:serv304.unice.fr:80
- Utilisez ensuite l'URL suivante dans un navigateur tournant sur votre machine hors domaine unice :
http://localhost:7070/LXR/
(ou http://127.0.0.1:7070/LXR/
)
Attention, le serveur n'est configuré que pour le port 7070, n'essayez pas avec une autre valeur ...
Contributions des étudiants
- Un petit howto sur l'installation de Qemu pour les TP.
- A propos de la politique de numérotation des versions du noyau, JeromePoisson nous propose les liens suivants :
- Le livre "Linux Devices Drivers" de Rubini & Corbet etant sous license FDL, on peut le télécharger gratuitement :
- "The Linux Kernel Module Programming Guide" est un petit guide qui porte bien son nom :
Trucs et astuces
L'image Debian utilisée pour les TPs se trouve ici (préférez une commande telle que
wget
pour le téléchargement) :
VMware Player
- VMware Player Permet d'exécuter des machines virtuelles existantes créées pour vmware (non testé, mais prometteur)
- Distribué gratuitement par vmware (freeware)
- Limitations par rapport à vmware
- Ne permet pas la création de nouvelles vm
- Ne permet pas la création de snapshots
- Mais permet le rechargement d'un snapshot état initial
- Ne permet pas de modifier la conf matérielle de la vm (disques, ...)
- Mais permet le changement de la quantité de mémoire allouée
Transfert de fichiers par tar/ssh
- Pour transférer de grandes quantités de fichiers (par exemple les sources du noyau depuis la machine virtuelle vers une autre machine) entre deux machines sans avoir à créer une volumineuse archive intermédiaire :
(Rappelez vous que la commande tar sait lire/écrire sur son entrée standard en utilisant '-' au lieu du nom d'archive)
tar cvf - /usr/src/kernel-sourceXXX/ | ssh login@autre.machine tar xf - -C /rep/destination
- Si le transfert a lieu sur une liaison à bas débit, vous pouvez compresser/décompresser les fichiers à la volée (-j = format bz2) :
tar jcvf - /usr/src/kernel-sourceXXX/ | ssh login@autre.machine tar jxf - -C /rep/destination
ssh fs
- sshfs est un système de fichiers "exotique" qui permet de travailler sur les fichiers d'une machine distante de façon transparente, au-dessus d'une connexion ssh. Ainsi, dans votre machine virtuelle vmware, vous pouvez faire en sorte que les fichiers et répertoires qui se trouvent dans un répertoire local de la machine virtuelle (par exemple
/mnt/ssh
) soient ceux d'un répertoire de votre compte Unix sur thalie (par exemple $HOME/TPASY
), à l'aide la commande suivante :
sshfs monlogin@thalie.unice.fr:TPASY /mnt/ssh
- Installation
- en tant que root dans la machine virtuelle, lancez
synaptic
:
- Recherchez et installez les paquetages
sshfs
et fuse-source
et fuse-utils
- Décomprimez, compilez et installez
fuse-source
-
cd /usr/src
-
tar jxvf fuse.tar.bz2
-
cd modules/fuse/kernel
-
./configure ; make ; make install
- Utilisation
- Pour reproduire l'exemple d'utilisation donné ci-dessus :
- Assurez-vous que le répertoire TPASY existe sur votre compte sur thalie
- Assurez-vous que le répertoire /mnt/ssh existe bien dans la machine virtuelle
- Assurez-vous que vous arrivez bien à établir une connexion ssh normale entre la machine virtuelle et thalie (je n'ai pas vérifié). Au pire, vous pouvez remplacer thalie par le nom de la machine hôte, qui elle est toujours joignable par ssh.
- sshfs est encore en version beta. Soyez prudents, lancez régulièrement la commande
sync
(en particulier avant de charger un module).
--
OlivierDalle - 24 Sep 2005
to top