Arquitetura paralela
CONCEITOS BÁSICOS www.harpia.eng.br HISTÓRICO
» Necessidade de escrever o Unix
» Evolução:
BCPL
B
Martin Richards; ainda em uso na
Europa
Ken Thompson
C
www.harpia.eng.br
Dennis Ritchie; concluído na década de 70.
RECURSOS AVANÇADOS
» Hardware
• acesso à porta serial;
• acesso à memória de vídeo (aplicações gráficas); • acesso à memória RAM: manipulação de segmentos e overlays;
• acesso à rede de comunicação;
www.harpia.eng.br
RECURSOS AVANÇADOS
» Software
• criação de processos em multitarefa;
• comunicação inter-processos:
– Semáforos;
– Filas de mensagens;
www.harpia.eng.br
APLICAÇÕES
» Desenvolvimento de software básico;
» Complemento de aplicativos :
• rotinas mais rápidas;
» Aplicações cliente-servidor;
» Rotinas de baixo nível para prover baixo tempo de resposta;
www.harpia.eng.br
UM PROGRAMA EM C
» Uma função principal e zero ou mais funções auxiliares;
» Distribuição:
Função
principal
Função 1
Função principal Função 1
Função 2
Função 2
1 arquivo fonte
www.harpia.eng.br
vários arquivos fonte
UM PROGRAMA EM C
» Tipos de arquivos:
• fonte
– contêm código;
– extensão c ou cpp
• cabeçalho
– definições e declarações - extensão h
– vários são oferecidos pelo compilador
– o programador pode criar os seus
– são incluídos no fonte através do comando
# include www.harpia.eng.br Geração do Programa C
EDIÇÃO
prog.c
aux.c
pré-processamento
Módulo expandido dos fontes compilação prog.obj aux.obj link-edição PROG.EXE www.harpia.eng.br Arquivos da biblioteca
Estrutura do Programa C
/* COMENTÁRIOS */ definições de pré-processamento declarações de funções; declarações de variáveis globais e arrays; main ( )
{
declarações de variáveis locais e arrays; inicializações; /* COMENTÁRIOS */ comandos; chamadas a funções;
}
< código das funções > www.harpia.eng.br Definição de constantes e inclusão de
arquivos