Escolar Documentos
Profissional Documentos
Cultura Documentos
System (VFS)
Exemplo
write (f, &buf, len);
? O VFS foi construído para trabalhar com sistemas de
arquivos do Linux, que implementam naturalmente
os conceitos já na organização das informações no
disco: informações de um arquivos são armazenados
em um bloco específico em separado (INODE),
diretórios são tratados como arquivos, informações
de controle são centralizadas no Superbloco.
? Exemplo: /bin/vi
bin e vi são arquivos, ambos representados pelo
objeto inode.
struct dentry_operations {
int (*d_revalidate) (struct dentry *, int);
int (*d_hash) (struct dentry *, struct qstr *);
int (*d_compare) (struct dentry *, struct qstr *,
struct qstr *);
int (*d_delete) (struct dentry *);
void (*d_release) (struct dentry *);
void (*d_iput) (struct dentry *, struct inode *);
};
O Objeto File
? Assim como o objeto dentry, o objeto file não corresponde
realmente a um dado salvo em disco.
? É usado para representar um arquivo que foi aberto por um
processo, fazendo parte da representação daquele arquivo
carregada em memória.
? Representa a visão de um processo sobre o arquivo aberto.
Como um arquivo pode ser manipulado por vários processos, ao
mesmo tempo, é natural haver vários objetos file associados a
um único arquivo.
? O objeto file possui um ponteiro (f_dentry) para um objeto
dentry, o qual por sua vez possui um ponteiro para um objeto
inode, que representa na realidade o arquivo que fôra aberto.
Obviamente, os objetos dentry e inode são únicos para um
arquivo.
andrey@ufrj.br
acoppie@centroin.com.br