Anotações, resumos, trabalhos, provas e problemas de Computação

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" »

ISO/IEC 12207: processos e classes do ciclo de vida de software

ComputaçãoAtualizado em 3,15 KB

1. Qual o objetivo e as características da ISO/IEC 12207?

O principal objetivo da norma ISO/IEC 12207 é estabelecer uma estrutura comum de processos para servir como referência em negócios de engenharia de software relacionados a produtos e serviços. A norma defende que o desenvolvimento e a manutenção de software devem ser conduzidos com a mesma disciplina da engenharia tradicional.

A estrutura utiliza uma terminologia padronizada, composta por processos, atividades e tarefas aplicáveis a todo o ciclo de vida: aquisição, fornecimento, desenvolvimento, operação ou manutenção. Além disso, permite integrar o software ao ambiente de engenharia de sistemas (hardware, pessoal e práticas de negócio).

Características

A norma inclui um...

Continue lendo "ISO/IEC 12207: processos e classes do ciclo de vida de software" »

Guia de perguntas e respostas: Windows Server e Active Directory

ComputaçãoAtualizado em 3,73 KB

1. O que é herança de permissão NTFS?

Toda permissão aplicada em uma pasta será refletida em todos os objetos membros da mesma (outras pastas e arquivos).

2. Qual a quantidade padrão de tentativas de login inválidas antes do bloqueio?

Não existe limite configurado por padrão.

3. Comportamento das permissões NTFS em cópias e movimentações

  • Cópia: As permissões são herdadas da pasta pai de destino.
  • Mover (mesma partição): Mantém as permissões originais.
  • Mover (partição diferente): Herda as permissões da pasta de destino.

4. Cenário: Tufão (Membro de RH e Financeiro)

Na Pasta1, Financeiro possui Controle Total (Permitir) e RH possui Leitura (Permitir). Tufão possuirá Controle Total (Permitir).

5. Cenário: Permissões combinadas

Na...

Continue lendo "Guia de perguntas e respostas: Windows Server e Active Directory" »

Tipos de Computadores: Analógicos, Digitais e Classificações por Poder de Computação

ComputaçãoAtualizado em 4,07 KB

1) Computadores Analógicos

Estas são máquinas para processamento de informação que lidam com sinais elétricos. Sua finalidade é medir grandezas, como temperaturas. Elas permitem representar a informação numérica, que é definida pela faixa de tensões com que podem lidar.

Sua programação está ligada a circuitos eletrônicos que são integrados nestas máquinas.

Algumas destas máquinas são usadas para aplicações científicas em laboratórios de pesquisa. Outros exemplos comuns são: o tacômetro de um carro, um termômetro eletrônico e um sismógrafo.

2) Computadores Digitais

Essas são máquinas para o processamento de dados que suportam a programação através de linguagens e gestão de um alfabeto binário, no qual sequências...

Continue lendo "Tipos de Computadores: Analógicos, Digitais e Classificações por Poder de Computação" »

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" »

Padrões de Projeto Estruturais: Builder, Proxy e Wrapper

ComputaçãoAtualizado em 2,36 KB

Padrões Estruturais

Os Padrões Estruturais lidam com a organização de classes e objetos, facilitando a comunicação entre suas entidades e utilizando conceitos de Orientação a Objetos (OO) como herança, agregação e composição.

Wrappers

Um Wrapper envolve um objeto, adicionando uma fina camada que modifica ou estende seu comportamento. Problema: Em Java, não é possível adicionar tipos primitivos (int, char) diretamente nas estruturas de dados do pacote Collections, pois o framework exige objetos.

Padrão Builder

O padrão Builder é ideal para a criação de objetos complexos passo a passo, especialmente quando são necessárias diversas lógicas antes da instanciação ou diferentes representações do mesmo objeto.

  • Director: Constrói
...
Continue lendo "Padrões de Projeto Estruturais: Builder, Proxy e Wrapper" »

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" »

Engenharia de Software: processos, ciclo de vida e qualidade

ComputaçãoAtualizado em 2,46 KB

Engenharia de Software e seus Pilares

A Engenharia de Software baseia-se em quatro pilares fundamentais: Ferramentas, Métodos, Processos e Qualidade.

Melhores Práticas de Desenvolvimento

  • Desenvolvimento iterativo e componentizado;
  • Modelagem visual;
  • Verificação contínua da qualidade;
  • Gerenciamento de requisitos e mudanças.

Conceitos de Processos de Software

O termo processo (do latim Pro+Cedere) significa avançar. Na engenharia de software, é um conjunto de ações para entregar um produto de forma eficiente, eficaz e previsível. Define-se por: quem faz, o que faz, como faz e quando faz.

Componentes de um Processo

  • Atividade: Conjunto de ações para um resultado final.
  • Produto de trabalho (Artefato): Resultado final de uma atividade.
  • Papel: Comportamento
...
Continue lendo "Engenharia de Software: processos, ciclo de vida e qualidade" »

Sistemas de Tipos e Verificação de Tipos em Programação

ComputaçãoAtualizado em 5,11 KB

Definição de Tipo

Tipo pode ser definido como um conjunto de termos de uma linguagem, que possuem várias características em comum, permitindo-lhes interagir e serem sujeitos a alterações aplicadas a eles devido a essas características.

Sistemas de Tipos

Um Sistema de Tipos trata-se da teoria básica de associar um tipo a cada elemento de uma linguagem declarativa.

Construtores de Tipos

Exemplos de construtores de tipos incluem:

  • Estruturas
  • Uniões
  • Objetos
  • Ponteiros: referências de tipo
  • Tipos de soma (sum types)

Analisador Semântico e Sistemas de Tipos

Cada analisador semântico implementa um sistema de tipos, que pode envolver testes estáticos e dinâmicos:

  • Estático: Verificação em tempo de compilação.
  • Dinâmico: Verificação em tempo de
...
Continue lendo "Sistemas de Tipos e Verificação de Tipos em Programação" »

Interconexão de Redes: Conceitos e Equipamentos

ComputaçãoAtualizado em 10,21 KB

Ampla Área de Redes


1.1 Rede de Interconexão
Interconectividade (Internetworking) pode ser definida como "a comunicação entre duas ou mais redes" ou "processo de comunicação que ocorre entre duas ou mais redes que estão interligadas de alguma forma."
Por que a Interconexão de Redes é Importante?

  • Compartilhamento de recursos
  • Acesso instantâneo aos bancos de dados compartilhados
  • Insensibilidade à distância física e limitação do número de nós
  • Gerenciamento centralizado da rede dá uma vantagem estratégica no mercado global competitivo

Quais são os Desafios Técnicos Existentes?

  • Equipes de diferentes fabricantes
  • Arquiteturas, plataformas, sistemas operacionais, protocolos diferentes
  • Mídias diferentes
  • Limitações na distância e no tamanho
...
Continue lendo "Interconexão de Redes: Conceitos e Equipamentos" »