- Defina o conceito de stream.
- Dê exemplos de dispositivos que gerem streams.
- Dê exemplos de dispositivos que consumam streams.
- Quais são os streams padrão de um processo?
- Quais os propósitos de cada stream padrão?
- Que tipo de dados streams de processos transportam?
- Escreva um programa (em sua linguagem de preferência) que leia
do stream da entrada padrão uma sequência de números
inteiros e produza no stream da saída padrão uma sequência
com os valores multiplicados por 2. O stream da entrada deve
ser lido até o fim. O programa deve também notificar o
usuário, via stream padrão de erro, sempre que um número
negativo for lido, imprimindo a mensagem
AVISO: valor
negativo (N) (onde N é o valor negativo lido).
- Explique o que são pipeline e pipe?
- Qual a diferença entre pipes e redirecionamentos?
- O que quer dizer que um pipe é bufferizado?
- Escreva um pipeline usando seu programa acima para compor
um “sistema” que leia um stream de inteiros e produza um
stream dos mesmos valores multiplicados por 8.
- Reescreva o pipeline acima para que os dados sejam lidos de
um arquivo de texto, contendo os números e para que o
resultado final seja armazenado no arquivo
vezes8.txt.
- Faça uma pesquisa na internet sobre a sintaxe de
redirecionamento do stream da saída padrão de erro (lembre
que é preciso saber a sintaxe específica para o seu shell).
Escreva um pipeline com o programa que você criou que
redirecione a saída padrão de erro para o arquivo
‘erros.txt’. A saída padrão normal deve ser direcionada para
o terminal, normalmente.
- Escreva um pipeline, usando apenas ferramentas Unix de
linha de comando, que conte quantos arquivos há nos
diretórios de sua conta que tenham a extensão
.java (ou
qualquer outra extensão).