Exame de Sistemas Operativos

(Lic. em Matemática)

Prática

13 de Março de 1996

Com consulta Duração:

Leia todo o enunciado antes de começar a responder

1. Escreva um shellscript que procure e apague, numa subárvore de directórios, links simbólicos errados (que apontam para um ficheiro inexistente).

No fim, o programa deve escrever uma mensagem indicando o número de links apagados.

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

2. Escreva um programa em C com sintaxe:

roda -p \underline{n} -t \underline{s}

Estre programa lança \underline{n} processos que comunicam entre si por meio de pipes. O primeiro escreve para o segundo, o segundo para o terceiro, …, o n-ésimo para o primeiro.

Durante \underline{s} segundos os processos executam passando um contador de uns para os outros (este contador é incrementado de cada vez que é passado). Ao fim de \underline{s} segundos os processos terminam, indicando no standard output quantas vezes foi possível passar o contador.

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