Comienza Ya. Es Gratis
ó regístrate con tu dirección de correo electrónico
Rocket clouds
Topico pos-com por Mind Map: Topico pos-com

1. Linguagens de programação

1.1. Linguagens Funcionais

1.1.1. Avaliação de funções matematicas

1.1.2. linguagens puramente funcionais

1.1.3. Funções podem ser parâmetros ou valores de entrada para outras funções e podem ser os valores de retorno ou saída de uma função

1.1.4. Não há alocação explícita de memória, nem declaração explícita de variáveis.

1.1.5. Não existe laços

1.1.6. Não possui

1.1.7. Resultado da função será o mesmo para um dado conjunto de parâmetros não importando onde, ou quando, seja avaliada

1.2. Linguagens Imperativas

1.2.1. C, Pascal

1.2.2. Laços

1.2.3. sequência de comandos para o computador executar

1.3. Programação lógica

1.3.1. faz uso da lógica matemática

1.3.2. cálculo de predicado é a notação usada na programação lógica.

1.4. Tipos

1.4.1. Verificação

1.4.1.1. Analise

1.4.1.1.1. Lexica

1.4.1.1.2. Semantica

1.4.1.1.3. Sintatica

1.4.1.2. Tipos

1.4.1.2.1. Dinamica

1.4.1.2.2. Estatica

1.4.1.3. Atividade de assegurar que os operandos de um operador sejam de tipos compatíveis.

1.4.2. Variaveis

1.4.2.1. Estatica

1.4.2.1.1. Vinculadas a células de memória antes que a execução do programa se inicie.

1.4.2.2. Dinamicas

1.4.2.2.1. são células de memória sem nome (abstratas) alocadas e desalocadas por instruções explícitas em tempo de execução

1.5. Blocos básicos

1.5.1. são encadeados em um fluxo de execução

1.5.1.1. Cada seqüência de execução dos blocos básicos é um potencial fluxo de execução do programa

1.5.2. Qualquer instrução de desvio encerra um bloco

1.5.3. O inicio de um novo bloco determina o fim do anterior

2. Estrtuturas de arquivos

2.1. Dados Não Estruturados

2.1.1. Sequencia de Bytes

2.1.2. Maxima flexibilidade

2.2. Dados Não Estrtuturados

2.2.1. Arvores

2.2.1.1. Arvore B

2.2.1.2. Arvore de registros de tamanho variavel

2.2.2. Sequencia de Registros

2.2.2.1. Tamanho

2.2.2.1.1. Fixo

2.2.2.2. Agrupam campos

2.3. Acesso

2.3.1. Sequencial

2.3.2. Direto

2.3.2.1. Acesso nivel de hardware

2.3.2.2. essencialmente copia um bloco de memória de um dispositivo para outro.

2.3.3. Aleatorio

2.3.3.1. Acessar um elemento arbitrário de uma seqüência em tempo igual

2.3.4. Associativo

2.3.4.1. Tipo de acesso aleatório

2.3.4.2. Compara certo número de bits de uma palavra com todas as palavras da memória

2.3.4.3. Uma palavra é buscada com base em parte de seu conteúdo,

2.3.4.4. Memoria Cache

2.3.4.4.1. Mapeamento

2.4. Alocação

2.4.1. Contigua

2.4.1.1. Sistema identifica arquivo pelo endereço do primeiro bloco

2.5. Hierarquia de memoria

2.5.1. Mais alto para mais baixo

2.5.2. Registrador → Cache → Memória RAM → Memória secundária

2.6. Thrashing

2.6.1. Processos Não tem páginas suficientes

2.6.2. Aumenta page fault

2.6.3. Processos ficam ocupado apenas fazendo Swaping

2.6.4. Excesso de processos executando no sistema

3. LISP

3.1. Linguagem formal matematica

3.2. Lista é a estrutura de dados fundamental

3.2.1. Dados e programas são listas

4. Circuitos Logicos

4.1. Portas logicas

5. Memoria virtual

5.1. O espaço de endereço virtual é dividido em unidades chamadas páginas.

5.2. unidade correspondentes a páginas na memoria fisica são chamadas de quadros

5.2.1. paginas e quadros tem o mesmo tamanho

5.3. Existe um bit que monitora quando uma pagina tem um quadro

6. Comunicação entre Processos

6.1. Regiões Críticas

6.2. Race Conditions

6.2.1. Exclusão mútua

6.2.1.1. Um processo não terá acesso à uma região crítica quando outro processo está utilizando essa região

6.2.1.2. mutex

6.2.1.2.1. evitar que dois processos ou threads tenham acesso simultaneamente a um recurso compartilhado,

6.3. Semáforos

6.3.1. Pode ter valor 0 quando não há sinal armazenado ou um valor positivo referente ao número de sinais armazenados;

6.3.2. Sinais

6.3.2.1. Down

6.3.2.1.1. Verifica se o valor do semáforo é maior do que 0; se for, o semáforo é decrementado; se o valor for 0, o processo é colocado para dormir sem completar sua operação de down;

6.3.2.2. Up

6.3.2.2.1. incrementa o valor do semáforo, fazendo com que algum processo que esteja dormindo possa terminar de executar sua operação

6.3.3. Semáforo binário

6.3.3.1. Garante a exclusão mútua

6.3.3.2. essa técnica pode causar vários efeitos colaterais, como deadlocks,

6.4.  Problema produtor/consumidor:

6.4.1. Usa 3 Semaforos

6.4.1.1. Full

6.4.1.1.1. o número de slots no buffer que estão ocupados

6.4.1.2. Empty

6.4.1.2.1. o número de slots no buffer que estão vazios

6.4.1.3. Mutex

6.4.1.3.1. garante que os processos produtor e consumidor não acessem o buffer ao mesmo tempo

7. Pipeline

7.1. Cada estágio corresponde a uma ação diferente que o processador executa em determinada instrução

7.2. Fluxo de instruções executadas por um processador

7.3. Paralelismo em instrução

7.3.1. Instruções podem ser reordenadas e combinadas em grupos que então são executados em paralelo sem mudar o resultado do programa.

7.3.2. Várias instruções são realizadas de forma simultânea, embora em estágios diferentes.

7.4. Processadores modernos

7.4.1. Multiplos estágios

7.4.1.1. São necessários registradores para armazenar dos dados de cada estagio

7.4.1.2. Possuem o mesmo tempo de duração

7.4.2. processadores supo escalares

7.4.2.1. capacitar a execução de mais de uma instrução por ciclo de cloctk

7.4.2.2. múltiplas instruções no mesmo ciclo de clock.

7.5. Aumentar o througput

7.6. Conflitos de execuação

7.6.1. Não executa a instrução seguinte e interrompe o pipeline:

7.6.1.1. Mas existem soluções para todas esses tipo de conflitos

7.6.2. Extrutural

7.6.2.1. O Processador não pode suportar a combinação de instruções que o pipeline

7.6.3. Dados

7.6.3.1. Ocorre quando o efeito de uma instrução depende do resultado de uma instrução anterior.

7.6.4. Controle

7.6.4.1. A proxima instrução depende do resultado de outra que ainda está em execução

7.6.4.2. Instrução de desvio condicional:

7.7. superPipeline

7.7.1. super pipeline permite a execução e duastExcessodeprocessosexecutandonosistem arefasemumúnicociclodeclockdoprocessador

8. Sistemas Distribuidos

8.1. Sincronização

8.1.1. Fisico

8.1.1.1. Sincronizar clocks dos vários cpus

8.1.1.2. Sistemas de Tempo Real

8.1.1.2.1. Ocorre quando o efeito de uma instrução depende do resultado de uma instrução anterior.

8.1.1.2.2. Usam UTC

8.1.1.2.3. Sem UTC

8.1.2. Logico

8.1.2.1. A sincronização do clocks não precisa ser absoluta

8.1.2.2. O que importa e que os componentes concordem com a ordem em que os eventos ocorram

8.2. RPC

8.2.1. Comunicação entre processos

8.2.2. Um programa pode chamar um rocedimento em outro espaço de endereçamento

8.2.2.1. a chamada se assemelha a chamadas de procedimentos locais.

8.2.3. O programa que chama a função coioloca os argumentos em uma área de memória bem conhecida e transfere o controle para o procedimento em execução, que lê os argumentos e os processa.

8.2.4. linguagem de descrição de interface (IDL)

8.2.4.1. Permite que os servidores sejam acessados por diferentes clientes

8.2.5. Implementção

8.2.5.1. CORBA

8.2.5.2. SOAP

8.2.6. Passagem de parametros nas chamadas

8.2.6.1. Referencia

8.2.6.1.1. Impossivel

8.2.6.2. Valor

8.2.6.2.1. É necessário decidir os parametros de entrada e saida

8.3. Threads

8.3.1. Em Sistemas Monoprocessados threads devem ter sua execução intercalada

9. Algoritmo Genetico

9.1. Soluções para problema de otimização

9.2. População

9.2.1. Criada inicialmente de forma aleatoria

9.3. Geração

9.3.1. Avaliação a cada nova geração

9.3.1.1. Função Fitness

9.3.2. Recombinação ou Mutação

9.4. Probabilistico e não deterministico

9.5. função-objetivo

9.5.1. objeto de nossa otimização

9.6. Seleção

9.6.1. Torneio

9.6.2. Roleta

9.6.3. Usa função fitness

9.7. Reprodução

9.7.1. Recombinação

9.7.1.1. Cross Over

9.7.1.2. Cruzamento

9.7.1.3. Existem vários tipos

9.7.1.3.1. Cruzamento em um ponto

9.7.1.3.2. Cruzamento uniforme

9.7.2. Mutação

9.7.3. Os dois tipos

10. Teoria de linguagem

10.1. Linguagem livre de contexto

10.1.1. gerada por alguma gramática livre de contexto (GLC).

10.1.2. Propriedades de fechamento

10.1.2.1. Concatenação

10.1.2.2. Homomorfismo

10.1.2.3. Reverso