Frequência de Sistemas Operativos

(Lic. em Matemática)

Prática

12 de Fevereiro de 1996

Com consulta Duração:

Leia todo o enunciado antes de começar a responder

1. Escreva um shellscript que calcule o número de bytes e o número de blocos de disco existentes numa subárvore de directórios. Com base nesses valores calcule a percentagem de espaço em disco desperdiçada pelo “file system”. Nota: Não use o comando du(1).

b) Escreva outra versao sem usar o comando find(1) ou “ls -R”.

2. Escreva um programa em C que leia um ficheiro cujo nome lhe seja passado como argumento, ou no caso de não ter argumentos, o “standard input”. Esse ficheiro conterá em cada linha um comando. Estes comandos devem ser executados numa pipeline (o output do primeiro será o input do segundo, etc...).

O status do programa deve ser 0 se todos os comandos da pipeline executarem correctamente. No caso de um ou varios terminarem com erro devem ser escritas mensagens apropriadas.

Se for dada a opção “-s” use o “sh -c” para tratar automaticamente de expansões de nomes de ficheiros e de redireções.

Sintaxe a usar: pipe [-s] [ficheiro]

Nota: Deve usar apenas chamadas ao Sistema Unix, i.e. não usar funções como: sleep, fopen, etc...