computador (alto custo). Visa diminuir o tempo de resposta. A capacidade de processamento da maquina cresce exponencialmente. Garante maior tolerancia a falhas. Sistemas Multiprocessados Fracamente Acoplados: duas ou mais CPU compartilhando apenas alguns recursos da maquina. Sistemas Multiprocessados Fortemente Acoplados: duas ou mais CPU compartilhando a mesma memoria, o mesmo sistema operacional e os mesmos recursos de perifericos (drivers, monitor, impressora etc.) Sistemas Independentes: onde cada CPU tem seus proprios recursos de memoria, Sistema Operacional e perifericos (I/O). Sao como duas maquinas distintas interligadas. Processamento Paralelo Simultaneo exige duas CPU Simetrico as duas CPU podem realizar as mesmas funcoes, ficando com a "Master" algumas funcoes especiais como o "boot" da maquina. Assimetrico cada CPU e dedicada a servicos diferentes (Ex.: uma atende a recursos da maquina e outra atende aos pedidos do usuario). Niveis de Paralelismo De Instrucoes duas instrucoes de uma programa executadas ao mesmo tempo. De Vetores dois blocos de comandos de diferentes alocacoes na memoria sendo executados ao mesmo tempo. De Sub-rotinas duas sub-rotinas executadas simultaneamente. De Programas dois programas inteiros executados simultaneamente. Diferenciacao Por "Encadeamento" (Pipelining) quando uma instrucao comeca a ser executada e, antes do seu termino, a Segunda instrucao comeca a ser executada tambem. Estas devem ser instrucoes independentes. As vezes comparado a uma linha de montagem. Por Vetor o multiprocessamento e acionado por uma interrupcao (geralmente do Sistema Operacional) que gera uma rotina de tratamento em paralelo. Processamento Paralelo quando o programa ja e dividido em duas partes para processamento simultaneo. Processamento Processamento em Lote (Batch) grupos de programas e tarefas executados do comeco ao fim, um apos outro, sem interferencia humana. Ex.: antigo sistema bancario, arquivos .bat, arquivo Autoexec.bat. Processamento em Tempo Real (On-Line) acesso direto e instantaneo aos dados. Pode-se usar o recurso de "spooling". Antigamente spooling era a gravacao de programas e seus dados (um job) em fita para posterior processamento em lote. Hoje spooling e a gravacao em disco de dados para posterior impressao. Processamento Centralizado onde dados e programas ficam centralizados em um unico computador. O computador central deve ser robusto, altos gastos com comunicacao, perigo de pane central. Apresenta maior facilidade de manutencao de dados (backup e programas) e de maquina. Processamento Distribuido quando dados e programas sao distribuidos em varios computadores (nos) interligados que se comunicam por mensagens. Potencialmente mais confiavel. Menor gasto com maquinas e comunicacao. Dificuldade em manutencao de dados e maquinas. Dificuldade em compartilhamento de soft. Software Como ja vimos, o software e a parte logica do sistema. E onde a inteligencia humana entra em acao. Lembre-se que o computador e uma maquina, extremamente burra. A sua aparente inteligencia vem do software. Os softwares podem ser divididos em dois grupos: os basicos e os aplicativos. Dentre os softwares basicos temos os Sistemas Operacionais e as Linguagens de Programacao. Os softwares aplicativos abrigam uma grande gama de programas como: utilitarios, bancos de dados, processadores de texto, educativos, editoracao eletronica, planilhas eletronicas, graficos, suites, antivirus, CAD/CAM, games entre muitos outros. Linguagens de Programacao O objetivo de um programa e ensinar o computador a como trabalhar. Um programa