Anotações, resumos, trabalhos, provas e exercícios de Computação de Ensino Médio

Hierarquia e Organização da Memória em Computadores: Cache, RAM e ROM

ComputaçãoAtualizado em 14,13 KB

Prof. Me. Newton Carlos Will [email protected] – coens.dv.utfpr.edu.br

Introdução

  • A memória é a parte do computador onde são armazenados programas e dados.
  • Sem uma memória da qual os processadores possam ler e na qual possam gravar informações, não haveria computadores digitais com programas armazenados.

Hierarquia de Memória (1/3)

  • A solução tradicional para armazenar grandes quantidades de dados é uma hierarquia de memória.

Componentes da Hierarquia

  • Registradores
  • Cache
  • Memória principal
  • Disco magnético
  • Fita
  • Disco óptico

Hierarquia de Memória (2/3)

  • À medida que descemos na hierarquia, três parâmetros aumentam:
  • O tempo de acesso fica maior.
  • Os registradores da CPU podem ser acessados em alguns nanossegundos.
  • Memórias cache demoram um
...
Continue lendo "Hierarquia e Organização da Memória em Computadores: Cache, RAM e ROM" »

Fundamentos da Programação Concorrente e Paralela: objetivos, fluxos e modelos de execução

ComputaçãoAtualizado em 3,91 KB

1. Objetivos da Programação Concorrente

A programação concorrente visa a otimização e eficiência de sistemas através de vários objetivos:

  • Reduzir o tempo total de processamento: Ideal para múltiplos processadores.
  • Aumentar a confiabilidade e disponibilidade: Útil em sistemas com processadores distribuídos.
  • Obter especialização de serviços: Aplicado em sistemas operacionais e simuladores.
  • Implementar aplicações distribuídas: Como sistemas de correio eletrônico.

2. O Que é Programação Concorrente?

Uma unidade concorrente é um componente de um programa que não exige execução sequencial, ou seja, pode ser executado antes, depois ou simultaneamente a outros componentes. O termo programação concorrente é usado de forma abrangente...

Continue lendo "Fundamentos da Programação Concorrente e Paralela: objetivos, fluxos e modelos de execução" »

Sistemas Distribuídos: conceitos, vantagens, desafios e comunicação entre processos

ComputaçãoAtualizado em 9,57 KB

1) Conceitue Sistemas Distribuídos.
Sistema distribuído é aquele no qual os componentes localizados em computadores
interligados em rede se comunicam e coordenam suas ações apenas passando mensagens.
2) Cite vantagens acerca dos Sistemas Distribuídos.
- Compartilhamento de dados - base de dados comum;
- Confiabilidade – se um nó falha os demais poderão continuar operando;
- Escalabilidade – aumento número de nós;
- Economia – melhor relação custo/desempenho
3) Cite alguns exemplos de Sistemas Distribuídos.
Internet, Facebook, Jogos Online, Email,
4) Explique o que quer dizer transparência e cite dois diferentes tipos de transparência.
A transparência é definida como a ocultação, para um usuário final ou para um programador

...
Continue lendo "Sistemas Distribuídos: conceitos, vantagens, desafios e comunicação entre processos" »

Matrizes, funções, passagem de parâmetros e recursão em C

ComputaçãoAtualizado em 5,79 KB

Matriz

Uma matriz é uma estrutura de dados homogênea e bidimensional. Exemplos:

  • Prédio com mais de um apartamento por andar;
  • Conjunto habitacional com várias ruas.

Características da matriz

  • Endereçada por mais de um índice;
  • Tamanho pré-definido — após a compilação não pode ser mudado;
  • Estrutura de dados estática — mantém o mesmo tamanho ao longo de toda a execução do programa.

Exemplo conceitual

Dez elementos inteiros dispostos numa matriz com cinco linhas e duas colunas.

Exemplo em C: leitura e impressão de uma matriz

main()
{
    float m[3][4];
    int i, j;
    for (i = 0; i < 3; i++)
        for (j = 0; j < 4; j++)
            scanf("%f", &m[i][j]);
    for (i = 0; i < 3; i++)
    {
        for (j = 0; j < 4; j+
...
Continue lendo "Matrizes, funções, passagem de parâmetros e recursão em C" »

Protocolos de rede: DNS, UDP, TCP, ICMP, DHCP e FTP, resumo de estudo

ComputaçãoAtualizado em 4,04 KB

*Camada de Aplicação - DNS
*Camada de Transporte - UDP
*Camada de Internet - ICMP
*Camada de Acesso à Rede - WLAN

CAP7

**Desenho tela chata (qual etapa em uma sessão TCP) - Término de sessão
**Flag TCP / Etapa correta na sequência de estabelecimento de sessão - 1ª etapa: SYN, 2ª etapa: SYN + ACK, 3ª etapa: ACK
**Qual a vantagem do UDP com relação ao TCP? - A comunicação UDP requer menos sobrecarga
**O TCP é um protocolo mais seguro e usa números de sequência para realinhar os pacotes que chegam fora de ordem no destino.
**Como o cabeçalho UDP possui menos bytes e o UDP não confirma o recebimento dos pacotes, o UDP possui menos sobrecarga do que o TCP.
**Quais aplicativos usam UDP como protocolo de camada de transporte? - Consultas
...
Continue lendo "Protocolos de rede: DNS, UDP, TCP, ICMP, DHCP e FTP, resumo de estudo" »

Classificação de Flynn e modelos de computação paralela

ComputaçãoAtualizado em 179,23 KB

Os modelos de arquitetura de computadores são classificados pelo fluxo de instruções e dados que se apresentam.

Essa classificação é definida como a Taxonomia (classificação) de Michael Flynn. Ela é dividida em quatro categorias principais:

  • SISD - Single Instruction Single Data stream;
  • SIMD - Single Instruction Multiple Data stream;
  • MISD - Multiple Instruction Single Data stream;
  • MIMD - Multiple Instruction Multiple Data stream;

Single Instruction Single Data stream (SISD)

Um único fluxo de instruções que manipula um único fluxo de dados. Isto corresponde ao processamento sequencial característico da máquina de Von Neumann e que compreende os computadores pessoais e estações de trabalho. Apesar de os programas estarem organizados...

Continue lendo "Classificação de Flynn e modelos de computação paralela" »

Processos, Threads, Sincronização e Escalonamento em Sistemas Operacionais

ComputaçãoAtualizado em 19,42 KB

Faculdade Anhanguera de Rondonópolis

Av. Ary Coelho, nº 829 – Cidade Salmen – Rondonópolis, MT
CEP 78705-050 – (66) 3411-7600

Atividade Prática Supervisionada: Sistemas Operacionais

2º Bimestre

Rondonópolis – MT
2014

NomeRA
Ellen Priscilla Alves de Oliveira7060006922
Israel Marcos Silva de Almeida8088888616
Joelson Cavalcante Souza8094902267
Júlio Cesar de Oliveira Alves8403105067
Raimundo Nonato da Silva8208990518
Rhalel De Souza Dib9938029436
UnidadeAnhanguera
CursoCiência da Computação
Série1º Semestre
ProfessorPaulo Henrique C. Andrade

Trabalho desenvolvido na disciplina de Sistemas Operacionais apresentado à Anhanguera Educacional, sob orientação do professor Paulo Henrique C. Andrade.

Sumário

  1. Etapa 2 ............................
...
Continue lendo "Processos, Threads, Sincronização e Escalonamento em Sistemas Operacionais" »

Threads e Escalonamento de CPU: Resumo com Tipos e Algoritmos

ComputaçãoAtualizado em 3,39 KB

Threads

  • Divisão dos processos em partes menores.
  • Execução concorrente.
  • Estruturas de dados similares ao bloco de controle do processo.
  • Miniprocessos menos complexos.
  • Podem ser definidos no código do programa.

Uso dos Threads

  • Compartilhamento de espaço de endereçamento.
  • Ideia de processos paralelos.
  • Maior exploração do paralelismo por máquinas multiprocessadores.
  • Mais fáceis e rápidos de serem criados e executados:
    • Aumento do número de atividades executadas.
    • Diminuição do tempo de resposta.
    • Associação de threads a dispositivos de entrada e saída.
  • Sobreposição de operações de I/O e computação.
  • Vantagens:
    • Tempo de criação e destruição de threads é inferior ao de um processo.
    • Chaveamento de contexto entre threads é mais rápido.
    • Permite
...
Continue lendo "Threads e Escalonamento de CPU: Resumo com Tipos e Algoritmos" »

Sistemas Críticos, Confiabilidade e Prototipação de Software: resumo

ComputaçãoAtualizado em 187,98 KB

Introdução aos Sistemas Críticos

A familiarização com a falha de sistema é essencial, pois sistemas podem entrar em colapso sem um motivo aparente. Tais falhas podem causar danos significativos, o que nos leva a tomar medidas para contornar a falta de confiança, como o uso de backups.

  • Quanto maior o grau de confiança, maior o custo.
  • Quanto maior a confiança, menor o desempenho (devido à verificação de estados e recuperação de falhas).
  • A confiança, às vezes, é mais importante que o desempenho.

Definição de Sistemas Críticos

Um sistema é considerado crítico quando uma falha pode causar:

  • Perdas econômicas;
  • Danos físicos ou ambientais;
  • Riscos à vida humana.

Nesses sistemas, o custo de uma falha é grande ou irreparável, tornando...

Continue lendo "Sistemas Críticos, Confiabilidade e Prototipação de Software: resumo" »

Analisador Léxico: funções, conceitos, tokens e lexemas

ComputaçãoAtualizado em 2,8 KB

Analisador Léxico — Funções e Conceitos

Analisador léxico (AL): componente que lê os caracteres do programa-fonte e os agrupa em lexemas, produzindo como saída uma sequência de tokens. O fluxo de tokens é enviado ao analisador sintático (AS) para que a análise sintática seja efetuada.

Função principal

  • Ler os caracteres de entrada do programa-fonte e agrupá‑los em lexemas, produzindo uma sequência de tokens para cada lexema do programa.
  • Enviar o fluxo de tokens ao analisador sintático (AS) para a análise sintática.

Outras funções

  • Preencher a tabela de símbolos com os lexemas (quando o analisador identifica que o lexema é um identificador ou uma constante, por exemplo).
  • Remover espaços em branco e demais marcadores, além
...
Continue lendo "Analisador Léxico: funções, conceitos, tokens e lexemas" »