Apontamentos, resumos, trabalhos, exames e problemas de Computação

Ordenar por
Matéria
Nível

Chaves, Normalização e Anomalias em Bancos de Dados

Classificado em Computação

Escrito em em português com um tamanho de 4,64 KB

Conceitos Essenciais de Chaves em Bancos de Dados

Chave Primária, Candidata ou Alternativa

Para esses tipos de chaves, é criado um índice com valores únicos ou não repetidos, tendo em vista que os valores dessas chaves nas tuplas não podem se repetir ou são únicos em cada tupla.

O CPF do candidato é uma chave candidata alternativa, tendo em vista que a matrícula é a chave primária.

Chave Estrangeira

O índice criado para uma chave estrangeira depende da cardinalidade do relacionamento.

  • Relacionamento 1:1: Neste tipo de relacionamento, é criado um índice com valores únicos, tendo em vista que os valores da chave estrangeira que representam um relacionamento 1:1 não podem se repetir.
  • Relacionamento 1:N e N:N: É criado um índice com
... Continue a ler "Chaves, Normalização e Anomalias em Bancos de Dados" »

Processos, Threads e Escalonamento em Sistemas Operacionais

Classificado em Computação

Escrito em em português com um tamanho de 5,75 KB

Estados e Transições de Processos

  • Novo para Pronto: Admitted – Admitido;
  • Pronto para Executando: Scheduler Dispatch – Expedição do escalonador;
  • Executando para Pronto: Interrupt – Interromper;
  • Executando para Terminado: Exit – Sair;
  • Executando para Esperando: I/O or Event Wait – E/S ou espera de evento;
  • Esperando para Pronto: I/O or Event Completion – E/S ou conclusão do evento.

Troca da CPU entre Processos

O sistema operacional interrompe um processo em execução e executa o escalonador de processos para decidir qual processo será executado a seguir. Com isso, o estado do processo atual é salvo no PCB (Process Control Block) e recarregado posteriormente, quando necessário.

Escalonador de Processos

O escalonador de processos seleciona... Continue a ler "Processos, Threads e Escalonamento em Sistemas Operacionais" »

Gerenciamento de Módulos e Informações de Hardware no Kernel Linux

Classificado em Computação

Escrito em em português com um tamanho de 3,12 KB

Módulos do Kernel Linux: Conceitos e Vantagens

Vantagens da Implementação de Drivers via Módulos

Os drivers de dispositivo implementados como módulos no Linux oferecem a vantagem de economizar memória e processamento. Isso ocorre porque os drivers podem permanecer armazenados no sistema de arquivos e só consomem recursos (memória e processamento) quando são carregados ou instalados, aproveitando o suporte a módulos do kernel.

Como Funciona o Suporte a Módulos do Kernel Linux?

Os módulos são funcionalidades (código) que, embora façam parte do kernel, podem estar armazenados em disco de forma inativa. Eles passam a atuar na memória principal, junto ao kernel, no espaço de Kernel, assim que são habilitados.

Essa abordagem proporciona... Continue a ler "Gerenciamento de Módulos e Informações de Hardware no Kernel Linux" »

Fundamentos Essenciais de Modelagem de Dados

Classificado em Computação

Escrito em em português com um tamanho de 4,77 KB

Definição de Entidades e Classes

Pressman (2011, p. 168) simplificou as seis regras de seleção propostas por Coad & Yourdon (1992) que devem ser utilizadas pelo analista ao examinar um objeto em potencial para a Análise Baseada em Objetos. Aqui, fazemos uma adaptação dessa simplificação, aplicando-a em vez de objetos, sobre entidades. Você perceberá que a adaptação é perfeita.

Características para Seleção de Entidades/Classes:

  • Informação Retida: O tipo de entidade/classe em potencial será útil durante a análise se a informação sobre ele precisar ser lembrada para que o sistema possa funcionar. Ex: Aluno, Curso.
  • Serviços Necessários: O tipo de entidade/classe em potencial deve ter um conjunto de operações identificáveis
... Continue a ler "Fundamentos Essenciais de Modelagem de Dados" »

Guia Completo: Tipos de Sistemas Operacionais e Memória

Classificado em Computação

Escrito em em português com um tamanho de 3,43 KB

Tipos de Sistemas Operacionais

  • Sistemas operacionais de computadores de grande porte: Orientados ao processamento simultâneo de tarefas e alta demanda de E/S. Oferecem serviços em lote (batch), processamento de transações e tempo compartilhado.
  • Sistemas operacionais de servidores: Executados em servidores ou estações de trabalho, permitem que múltiplos usuários compartilhem recursos de hardware e software em rede.
  • Sistemas operacionais de multiprocessadores: Conectam múltiplas CPUs em um único sistema, sendo classificados como computadores paralelos, multicomputadores ou multiprocessadores.
  • Sistemas operacionais de computadores pessoais: Focados em oferecer uma interface eficiente para um único usuário, com suporte a multiprogramação.
... Continue a ler "Guia Completo: Tipos de Sistemas Operacionais e Memória" »

Guia Completo sobre Sistemas Distribuídos

Classificado em Computação

Escrito em em português com um tamanho de 3,75 KB

O que é um Sistema Distribuído?

Um sistema distribuído é um conjunto de componentes independentes que se apresenta ao usuário como um sistema único e consistente.

Exemplos: Sistemas comerciais, Internet, acesso a informações multimídia.

Middleware: Uma camada de software situada entre a aplicação distribuída e a plataforma (sistema operacional/rede).

Objetivos Principais

  • Acesso a recursos: Facilitar o compartilhamento de forma controlada.
  • Transparência: Ocultar a distribuição dos recursos na rede.
  • Abertura: Capacidade de expansão e interoperabilidade.
  • Escalabilidade: Capacidade de aumentar a capacidade de processamento conforme a demanda.

Detalhamento dos Objetivos

1. Acesso a Recursos

Facilitar o acesso a recursos remotos (impressoras,

... Continue a ler "Guia Completo sobre Sistemas Distribuídos" »

Arquitetura de Computadores: Questões e Respostas

Classificado em Computação

Escrito em em português com um tamanho de 2,45 KB

Questão 1

Computadores são projetados como uma série de níveis, cada um construído sobre seus antecessores. Cada nível apresenta uma abstração distinta na qual estão presentes diferentes objetos e operações.

Questão 2

Considere um software escrito em linguagem C, compilado e executado em um Sistema Operacional em uma máquina com arquitetura Intel x86. Comente as etapas do processo considerando as camadas da arquitetura:

  • Nível 5 (Linguagem C): O código é traduzido para o nível 4 (Assembly) pelos compiladores.
  • Nível 4 (Assembly): O código é traduzido pelo montador para instruções do Sistema Operacional (nível 3).
  • Nível 3 (Sistema Operacional): O SO gerencia recursos e processos, interpretando as instruções para o nível 2.
... Continue a ler "Arquitetura de Computadores: Questões e Respostas" »

Entendendo o Papel do SO e o Gerenciamento de Arquivos

Classificado em Computação

Escrito em em português com um tamanho de 1,32 KB

O Sistema Operacional (SO) é essencial para a execução de múltiplos aplicativos, que, via de regra, apresentam funcionalidades diversas. Embora variem, esses aplicativos geralmente possuem uma interface padronizada para facilitar o aprendizado do usuário. Em geral, contam com:

  • Barra de menu: opções que variam conforme o uso pretendido;
  • Barras de ferramentas: acesso rápido aos recursos dos menus, tornando o uso mais ágil.

Um exemplo comum é a função "Salvar". Enquanto o aplicativo está em execução, o conteúdo é armazenado na memória principal (volátil). Como quedas de energia podem causar perda de dados, a função "Salvar" transfere essas informações para a memória secundária, garantindo a persistência dos dados para uso

... Continue a ler "Entendendo o Papel do SO e o Gerenciamento de Arquivos" »

Modelos de Qualidade de Software: Normas, Métricas e Avaliação

Classificado em Computação

Escrito em em português com um tamanho de 12,74 KB

Modelo de Qualidade de Software

A qualidade de um sistema de software pode ser entendida de diversas formas e utilizando diferentes abordagens.

A norma ISO/IEC 9126, ou conjunto de normas que tratam deste assunto no âmbito da ISO, estabelece um modelo de qualidade com os seguintes componentes:

  • Processo de desenvolvimento, cuja qualidade afeta a qualidade do produto de software gerado e é influenciado pela natureza do produto desenvolvido;
  • Produto, compreendendo os atributos de qualidade do produto (sistema) de software. Estes atributos de qualidade podem ser divididos entre atributos internos e externos. Estes se diferenciam pela forma como são aferidos (interna ou externamente ao produto de software) e em conjunto compõem a qualidade do produto
... Continue a ler "Modelos de Qualidade de Software: Normas, Métricas e Avaliação" »

Guia de POO: Métodos, Classes e Estruturas de Controle

Classificado em Computação

Escrito em em português com um tamanho de 12,14 KB

Conceitos Fundamentais de Programação Orientada a Objetos

Métodos Acessores: Get e Set

Set

Nomeamos um método acessor com set toda vez que este método for modificar algum campo ou atributo de uma classe. Se não criarmos um método acessor set para algum atributo, isso significa que este atributo não deve ser modificado.

Como o valor de um atributo da classe será modificado, não é necessário que este método retorne nenhum valor, por isso, os métodos setters são void. Porém, obrigatoriamente, eles têm que receber um argumento que será o novo valor do campo.

Get

Nomeamos um método acessor com get toda vez que este método for consultar algum campo ou atributo de uma classe.

Como este método irá verificar um valor, ele sempre terá... Continue a ler "Guia de POO: Métodos, Classes e Estruturas de Controle" »