Re: question SWAP

トップ ページ

このメッセージに返信
著者: Francois-Xavier Kowalski
日付:  
To: Dinh-Tuan.Pham
CC: Olivier_Allard-Jacquin, guilde
題目: Re: question SWAP
Dinh-Tuan.Pham@??? wrote:

>Francois-Xavier Kowalski writes:
> > Dinh-Tuan.Pham@??? wrote:
> >
> > >[...] Du
> > >coup je crois que l'accès devrait être aussi (ou presque) rapide que
> > >le swap sur une partition. (et il est probablement impossible de creer
> > >de fichiers swap de grande taille quand le disque est presque plein)
> > >
> >
> > Inexact.
> >
> > Un device "swap" exploite directement le niveau "bloc" des drivers du
> > kernel. Quand tu utilise un fichier de swap, il te faut traverser un
> > premier niveau bloc, puis les niveaux file-system + buffer-cache avant
> > de rejoindre le veritable niveau bloc.
>
>Je ne crois pas que linux accede au fichier swap comme il accede à un
>fichier ordinaire: mkswap crée un "map" pour un device ou pour un
>fichier de la meme facon, pour permet l'acess direct dans le zone de
>swap.
>


C'est exact. Mais meme si le fichier est mmap(2)-e, le point d'entree
pour y acceder (CAD la fonction appellee pour servir l'appel systeme
mmap) est une fonction du file-system qui porte le fichier.

>Je ne suis pas un developpeur du noyau et donc ne suis sur de rien.
>Mais si linux se sert du system de fichier, a quoi sert le mkswap et
>


justement a creer un fichier de taille fixe. Voire la reponse d'Olivier
Allard-Jacquin sur le creation de ce fichier. D'autre part, la
continuite du fichier est assuree de maniere virtuelle par le file-system.

>la condition que le fichier de swap ne doit pas avoir de trous ?
>


Car un fichier swap est cense emuler un device "bloc", comme un disque.
Linux n'etant pas aussi tolerant que de vieux Bull Micral, les "trous"
dans les diques ne sont pas autorises... ;-)

>Et le buffer-cache peut etre dans le swap: pourquoi on veut "cacher"
>le swap puisque lui sert a "cacher".
>


Non, le buffer-cache ne va pas en swap. Sinon il n'a aucun interet,
fichier de swap ou swap reelle.

A+

--
Francois-Xavier 'FiX' KOWALSKI