sistemas operacionais - virtual file system
DESCRIPTION
Sistemas Operacionais - Virtual File SystemTRANSCRIPT
Virtual File System
Alain André e Leo Ribeiro
Make the common case fast!
O Que é VFS?
O VFS é uma camada de abstração entre a aplicação e as implementações do sistema de arquivos;
Desenvolvimento motivado pela Sun Microsystems (1986);
Para dar suporte a sistemas de arquivos remotos utilizando o NFS.
Virtual File System
É uma camada de abstração em cima de um sistema de arquivos mais concreto.
Abstrai a parte comum aos diferentes sistemas de arquivos;
Qualquer sistema Unix-like moderno utiliza.
VFS - Aplicações
O propósito de um VFS é permitir que as aplicações clientes tenham acesso a diversos tipos de sistemas de arquivos concretos de uma maneira uniforme.
Camada de software do núcleo que trata de todas as chamadas de sistema relacionadas a um sistema de arquivos Unix
Vantagem
Prover uma interface genérica para diversos tipos de sistemas de arquivos;
VFS permite que chamadas de sistemas genéricas, tais como open( ) e read( ),possam ser executadas independentemente do sistema de arquivos usado ou do meio físico;
Para o VFS e para o resto do Núcleo os Sistemas de Arquivos parecem iguais.
$ cp /floppy/TEST /tmp/test
/floppy é o mount point de um diskette MS-DOS e /tmp é um diretório Ext2 comum;
O programa cp não precisa saber os tipos de arquivo do /floppy/TEST e do /tmp/test
O cp interage com o VFS usando chamadas de sistema comuns conhecidas por qualquer um que já programou em Unix.
Interface inferior
Consiste de algumas chamadas de funções que podem ser realizadas pelo VFS;
Para criar um system file que trabalhe com VFS, deve-se certificar que ele ofereça chamadas requeridas pelo VFS.
Como funciona?
Objeto Superbloco
Utilizado para armazenar informações sobre um sistema de arquivos específico;
Por exemplo, se um Objeto Superbloco se refere a um sistema de arquivos do tipo Ext2, o campo aponta para uma estrutura ext2_sb_info, a qual inclui a máscara de alocação no disco e outros dados irrelevantes para o modelo de arquivo comum do VFS.
Objeto Inode
Um Objeto Inode possui toda informação necessária para que o Sistema de Arquivos possa manipular os arquivos e/ou diretórios.
Cada arquivo é representado por um inode no Sistema de Arquivos.
Objeto Dentry
O VFS trata diretórios como arquivos;
Exemplo: /bin/vi, bin e vi são arquivos, ambos representados pelo objeto inode.
Para facilitar a realização de operações específicas sobre diretórios, o VFS usa o conceito de "entrada de diretório" (dentry).
No exemplo, /, bin e vi são objetos dentry;
O VFS instancia estes objetos "on the fly”.
Objeto File
A representação dos arquivos abertos pelos processos é feita pelo File Object;
Um File Object descreve como um processo interage com o arquivo que foi aberto;
A informação mais relevante guardada em um file object é file pointer, que indica a posição no arquivo em que a próxima operação se iniciará.
Como funciona?
FIM