Sistemas de Operação

Aula Prática 7: Sistema de Ficheiros

Esta aula tem por objectivo familiarizá-lo com algumas das funções de sistema para programação do sistema de ficheiros. Para tal, deverá implementar pequenos programas que respondam aos requisitos de cada uma das tarefas que se seguem. Para obter mais informação sobre as funções de sistema referidas, consulte as man-pages correspondentes.

  1. Listar o nome das entradas de um directório: o programa aceita como argumento o nome de um subdirectório do directório corrente e lista os nomes de todas as entradas desse subdirectório. Funções a ter em conta: opendir, readdir e closedir.
  2. Listar informação dos inodes relativos às entradas de um directório: estenda o programa anterior para fornecer mais informações sobre cada entrada do subdirectório. Além do nome indique também o tipo (regular, directório, symbolic link, etc.) e o tamanho em bytes. Funções a ter em conta: lstat.
  3. Navegar na estrutura de directórios: o programa aceita como argumento o nome de um ficheiro e procura, a partir do directório corrente, por ficheiros com esse nome. O programa deverá devolver o caminho (relativo ao directório corrente) dos vários ficheiros que encontrar com o nome indicado.
  4. Espaço desperdiçado no sistema de ficheiros: o programa aceita como argumento o nome de um subdirectório do directório corrente e lista o número de blocos utilizados por cada ficheiro regular (S_ISREG) desse directório. No final apresenta um resumo do espaço desperdiçado por esses ficheiros, ou seja, a relação entre o tamanho em bytes dos ficheiros e o espaço físico necessário para os guardar no sistema de ficheiros.