MC504 - Sistemas Operacionais
Implementação de (pseudo) device drivers
Todo device driver é um driver, mas nem todo driver é um device
driver... :-)
Sistemas de arquivos podem ser implementados como módulo que podem ser
adicionados dinamicamente ao kernel. Veja os seguintes exemplos:
- LWNFS: Texto
didático, primeira versão escrita em 2002. O sistema
de arquivos proposto é bastante simples e contém
apenas 4 arquivos que funcionam como contadores do número de
acessos. Veja o código atualizado
em lwnfs.tar.xz e teste, após fazer a
instalação, seguindo os seguintes passos:
$ dd if=/dev/zero of=rep bs=1k count=4
$ mkdir -p mnt
$ mount -t lwnfs -o loop rep mnt
$ cd mnt
$ ls
$ cat counter0
0
$ cat counter0
1
$ echo 200 > counter1
$ cat counter1
200
- islenefs: Código desenvolvido por Glauber de
Oliveira Costa em 1s2008 para um projeto da disciplina MC514. É
um sistema de arquivos simples que armazena os arquivos em
memória. Veja a versão atualizada
em islenefs.tar.xz e teste como a
seguir:
$ dd if=/dev/zero of=rep bs=1k count=4
$ mkdir -p mnt
$ mount -t islenefs -o loop rep mnt
Se for utilizar o QEMU, coloque a implementação do sistema de arquivos
em fs e não é necessário fazer o passo de instalação do
módulo.