Sistemas Operacionais e Programação

1161 palavras 5 páginas
Composição dos Grupos: até 3 pessoas

Material a entregar

Objetivo
O objetivo deste trabalho é:
- Parte 1: adquirir conhecimentos práticos sobre a manipulação de pipes e redirecionamento de entrada e saída padrão
- Parte 2: adquirir experiência em desenvolver um programa que executa em paralelo no
Linux usando threads Java com sincronização.

PARTE 1 [3 pontos]
Vocês deverão estender nossa querida bgsh de forma que ela aceite a criação de pipes entre processos na linha de comando. Um Pipe criado na linha de comando permite o redirecionamento da saída padrão de um processo para a entrada padrão de outro processo. A bgsh passará a suportar a criação de Pipes utilizando-se o operador | , conforme o exemplo a seguir: bgsh % comando1 [params] | comando2 [params]

Assim, a saída padrão do processo criado para executar o “comando1 [params]” será redirecionada para um Pipe. Esse mesmo Pipe será usado como entrada padrão para o processo criado para executar o comando “comando2 [params]”. Para simplificar a tarefa de vocês, no caso da bgsh só poderá ser criado um Pipe entre processos (apenas um operador | na linha de comando), e os processos serão de background (nas linhas de comando com o uso do operador | nuca serão encontrados operadores #).

PARTE 2 [7 pontos]
Você deverá desenvolver um programa em Java para resolver o seguinte problema:
Suponha um sistema que permite a utilização de sete recursos – R0, R1, R2, R3, R4, R5, R6 – de naturezas distintas (por exemplo, R1 = HD, R2 = impressora, etc). Só existe uma instância de cada recurso. Considere cinco threads concorrentes – Ta, Tb, Tc, Td e Te – que só podem começar a executar suas atividades uma vez garantida a posse dos recursos que necessitam para a execução das mesmas. A tabela de recursos para cada thread é apresentada a seguir:
R0

R1

R2

Ta

Sim

Sim

Tb

Sim

R3

R4

R5

R6

Sim

Tc

Sim
Sim

Td

Sim

Te

Sim

Sim

Sim

Sim
Sim

Relacionados

  • sistemas operacionais e linguagem de programação
    1588 palavras | 7 páginas
  • Programação concorrente - sistemas operacionais -
    1775 palavras | 8 páginas
  • programaçao CONCEITOS DE SISTEMAS OPERACIONAIS
    2198 palavras | 9 páginas
  • Sistema operacional linux com programação em shell
    1156 palavras | 5 páginas
  • Ciência da computação
    1204 palavras | 5 páginas
  • middleware
    1936 palavras | 8 páginas
  • PROCESSAMENTO DE DADOS
    1787 palavras | 8 páginas
  • computação
    1437 palavras | 6 páginas
  • sistema operacional
    2070 palavras | 9 páginas
  • Ceramica
    3697 palavras | 15 páginas