O padrao mais comum entre os sistemas de arquivos para CD-ROMsfoi adotado como um Padrao Internacional em 1988 sob o nome ISO 9660[1]. Por este motivo, junto ao sistema FESO, foidesenvolvido um programa servidor capaz de suportar este sistema de arquivos.Os CD-ROMs possuem blocoslogicos de 2048 bytes cada. Essesblocos sao indexados, sendo acessados atraves de um numero. Os primeiros blocosde um CD sao reservados para algumas estruturas utilizadas pelo sistema dearquivos, para que seja possivel identificar a posicao na qual cada arquivoesta.Ao ser iniciado, o servidor le o bloco 16 do disco, onde estalocalizado o descritor de volume primario. Este descritor de volume primario euma estrutura que armazena algumas informacoes sobre o volume. O registro dodiretorio raiz, que e a estrutura que armazena as informacoes necessarias parase encontrar o diretorio raiz do volume, se encontra tambem dentro do descritorde volume primario.Existe ainda, uma outra estrutura que e referenciada pelodescritor de volume primario, chamada de pathtable. A path table e umaestrutura que fornece uma maneira alternativa de realizar a leitura dos dadosem CDROMs com sistemas de arquivos ISO 9660. Ela contem uma lista com todos osdiretorios existentes no volume, como e possivel ver na figura. Entretanto,esta estrutura nao e utilizada pelo servidor, que utiliza apenas os registrosde diretorio. Os diretorios no sistema de arquivos ISO 9660 devem serarmazenados como um arquivo contendo um conjunto de registros que servem paraidentificar um arquivo ou outro diretorio (ECMA, 1987). Isto e, cada diretorioe tratado como um arquivo cujo conteudo e uma lista de registros queidentificam outros arquivos e diretorios dentro do volume. Os arquivos no sistema ISO 9660 (e isto inclui os diretorios)ficam armazenados em blocos logicos continuos. Por este motivo, para ler umarquivo por completo, e necessario apenas conhecer seu bloco inicial e seutamanho. Com estas duas informacoes, basta ler um conjunto de blocos logicos apartir daquele que foi identificado como o inicial que seja grande o suficientepara armazenar todo o arquivo. E desta forma que, nao so os dados dos arquivosconvencionais sao lidos, como tambem os dados de arquivos que representamdiretorios. O servidor realiza uma varredura por todo o sistema de arquivos,comecando pelo diretorio raiz. O registro do diretorio raiz e lido, sua posicaono disco e encontrada e seus dados carregados. Esses dados contem uma lista deregistros de diretorio, que representam todos os arquivos ou diretorioscontidos dentro do diretorio raiz. Todos os registros que representamdiretorios sao adicionados a uma fila, que e utilizada em uma busca em largura.Enquanto essa fila nao estiver vazia, o primeiro registro dela e carregado eanalisado. Caso outros registros que representem diretorios sejam encontrados,estes sao tambem adicionados na lista. O servidor se encarregade criar um no no VFS do sistema FESO para cada arquivo e diretorio encontradono CD-ROM. Desta forma, qualquer processo pode verificar, utilizando aschamadas do proprio VFS, quais arquivos estao contidos dentro do CD-ROM. Alemdisso, o servidor armazena uma tabela com o identificador de cada arquivo noVFS e sua posicao e tamanho dentro do CD-ROM, para que seja possivel carrega-lona memoria quando solicitado por outros processos. [1] TANEBAUM, Andrew S. Sistemas Operacionais Modernos. 3. ed. Sao Paulo: Pearson