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

Comandos Linux e Unix: guia de referência por categorias

ComputaçãoAtualizado em 10,85 KB

Comandos de Controlo e Acesso

  • exit: Terminar a sessão, ou seja, a shell (mais ajuda digitando man sh ou man csh).
  • logout: Deslogar, ou seja, terminar a sessão atual, mas apenas na C shell e na bash shell.
  • passwd: Mudar a password do nosso utilizador.
  • rlogin: Logar de forma segura noutro sistema Unix/Linux.
  • ssh: Sessão segura (secure shell), permite logar num servidor através do protocolo ssh.
  • slogin: Versão segura do rlogin.
  • yppasswd: Mudar a password do nosso utilizador nas páginas amarelas (yellow pages).

Comandos de Comunicações

  • mail: Enviar e receber emails.
  • mesg: Permitir ou negar mensagens de terminal e pedidos de conversação (talk requests).
  • pine: Ferramenta rápida e prática para enviar e receber emails.
  • talk: Falar com outros utilizadores
...
Continue lendo "Comandos Linux e Unix: guia de referência por categorias" »

SOA: Vantagens e Desvantagens da Arquitetura Orientada a Serviços

ComputaçãoAtualizado em 2,68 KB

O que é SOA?

SOA (Service-Oriented Architecture) significa Arquitetura Orientada a Serviços. Não se trata de um software ou framework, mas de uma metodologia, um padrão de arquitetura de software onde os componentes do sistema fornecem serviços para outros componentes através de uma rede.

Vantagens do SOA

  • Reutilização de Software: Rotinas complexas, necessárias para múltiplos sistemas, podem ser implementadas como webservices, evitando duplicação de código.
  • Aumento de Produtividade: Conectar-se a um webservice existente é mais rápido do que desenvolver a mesma funcionalidade do zero.
  • Maior Agilidade: A ausência de código duplicado agiliza a manutenção do sistema.
  • Interoperabilidade: Sistemas escritos em linguagens diferentes (ex:
...
Continue lendo "SOA: Vantagens e Desvantagens da Arquitetura Orientada a Serviços" »

Memória Cache: Tipos, Níveis (L1, L2, L3) e Funcionamento

ComputaçãoAtualizado em 4,64 KB

O que é Memória SRAM?

Memória SRAM (Static Random Access Memory, que significa memória estática de acesso aleatório em português) é um tipo de memória de acesso aleatório que mantém os dados armazenados desde que seja mantida sua alimentação. Não é necessário que as células que armazenam os bits sejam atualizadas (refrescadas) periodicamente, como é o caso das memórias DRAM.

Embora sejam mais caras e ocupem mais espaço quando comparadas às DRAM, as SRAMs possuem a vantagem de serem bem mais rápidas, justificando seu uso nas memórias cache L1 e L2. Além disso, as memórias estáticas consomem *mais* energia e aquecem *mais* que as DRAM. Memórias estáticas usam circuitos do tipo flip-flop.

O que é Memória Cache?

Cache...

Continue lendo "Memória Cache: Tipos, Níveis (L1, L2, L3) e Funcionamento" »

Arquitetura de Software e Testes: conceitos, padrões e tipos de teste

ComputaçãoAtualizado em 18,02 KB

Arquitetura de Software e decisões de projeto

Decisões de projeto de arquitetura: projetam a organização de um sistema para satisfazer os requisitos funcionais e não funcionais de um sistema.

Visões da arquitetura

  • Visão lógica: mostra as abstrações; deve ser possível relacionar os requisitos do sistema com as entidades.
  • Visão de processo: mostra o comportamento em tempo de execução; é útil para avaliar características não funcionais como desempenho e disponibilidade.
  • Visão de desenvolvimento: mostra como o software é composto (estrutura de módulos, organização do código).
  • Visão física: mostra o hardware do sistema e como os componentes de software são distribuídos entre processadores.

Padrões e estilos arquiteturais

  • Arquitetura
...
Continue lendo "Arquitetura de Software e Testes: conceitos, padrões e tipos de teste" »

Abstração de dados e modelagem de banco de dados: níveis, modelos e atributos

ComputaçãoAtualizado em 2,6 KB

Abstração de Dados

A abstração é a habilidade de concentrar nos aspectos essenciais de um contexto, ignorando características menos importantes. Ou seja, são propriedades comuns de um conjunto de objetos, omitindo detalhes irrelevantes.

  • Nível de visão do usuário: partes do banco de dados que o usuário tem acesso, de acordo com a necessidade individual ou de grupos.
  • Nível conceitual ou lógico: define quais dados estão armazenados e o relacionamento entre eles.
  • Nível físico: o nível mais baixo de abstração, que define efetivamente de que maneira os dados estão armazenados.

Projeto de Banco de Dados

Modelo Conceitual

É o processo de planejar um banco de dados em termos de:

  • Entidades: representadas por retângulos contendo conjuntos
...
Continue lendo "Abstração de dados e modelagem de banco de dados: níveis, modelos e atributos" »

Componentes de um Computador: Hardware, Firmware, Barramentos e Placa-Mãe

ComputaçãoAtualizado em 3,27 KB

Hardware

Hardware refere-se a todas as partes **físicas e tangíveis** de um computador: seus componentes elétricos, eletrônicos, eletromecânicos e mecânicos. Inclui cabos, gabinetes, caixas, periféricos de todos os tipos e qualquer outro elemento físico envolvido. O software, que é intangível, é chamado de **software**.

Firmware

O **Firmware** é uma interface intermediária entre os comandos externos recebidos por um dispositivo e seus componentes eletrônicos. É responsável por controlar estes últimos para executar com sucesso os comandos externos.

Barramento

Um **barramento** é um sistema digital que transfere dados entre os componentes de um computador ou entre computadores. É constituído por fios ou trilhas de um circuito impresso,...

Continue lendo "Componentes de um Computador: Hardware, Firmware, Barramentos e Placa-Mãe" »

Guia de Comandos CMD do Windows: principais comandos com exemplos

ComputaçãoAtualizado em 5,57 KB

Guia rápido com descrições e exemplos dos comandos mais usados no Prompt de Comando (CMD).

Comandos Básicos

  • cd [diretório]

    • Altera o diretório atual.
    • Exemplo: cd C:\\Usuários\\Nome\\Documentos
  • dir

    • Lista arquivos e diretórios no diretório atual.
  • mkdir [diretório]

    • Cria um novo diretório.
    • Exemplo: mkdir NovaPasta
  • rmdir [diretório]

    • Remove um diretório vazio.
    • Exemplo: rmdir PastaAntiga
  • del [arquivo]

    • Exclui um arquivo.
    • Exemplo: del exemplo.txt
  • copy [origem] [destino]

    • Copia arquivos de um local para outro.
    • Exemplo: copy C:\\arquivo.txt D:\\backup\\arquivo.txt
  • move [origem] [destino]

    • Move arquivos de um local para outro.
    • Exemplo: move C:\\arquivo.txt D:\\backup\\arquivo.txt

Gerenciamento de Arquivos

  • rename [nome_antigo] [nome_novo]

    • Renomeia um arquivo ou diretório.
...
Continue lendo "Guia de Comandos CMD do Windows: principais comandos com exemplos" »

Concorrência, Deadlock e Starvation em Sistemas Operacionais: Conceitos e Questões

ComputaçãoAtualizado em 4,76 KB

Conceitos de Concorrência

O conceito de concorrência é o princípio básico para o projeto e a implementação dos sistemas operacionais multiprogramáveis.
• Os sistemas multiprogramáveis surgiram a partir de limitações dos sistemas monoprogramáveis, nos quais recursos computacionais como processadores, memórias e dispositivos de entrada e saída eram utilizados de maneira pouco eficiente, limitando o desempenho dessas arquiteturas.
Muitos desses recursos de alto custo permaneciam ociosos por longos períodos.
• Nos sistemas monoprogramáveis há um evidente desperdício dos recursos do processador, visto que esse permanecia ocioso enquanto a entrada de dados era efetuada, por exemplo.
• A memória principal também é subutilizada
...
Continue lendo "Concorrência, Deadlock e Starvation em Sistemas Operacionais: Conceitos e Questões" »

Serviços de Nomes e Sincronização de Relógios em Sistemas Distribuídos

ComputaçãoAtualizado em 3,93 KB

Serviços de Nomes em Sistemas Distribuídos

Em Sistemas Distribuídos, um serviço de nomes permite que um serviço efetue uma operação sobre um objeto ou recurso nomeado que gerencia. Os nomes são vinculados ao valor de um atributo associado a um objeto. Quando os valores das operações são convertidos em dados para invocar uma determinada ação no sistema, dizemos que o nome é resolvido, ou seja, houve uma interpretação inicial do nome quando apresentado no contexto.

Tipos de Identificadores Uniformes de Recursos (URIs)

  • Uniform Resource Locators (URL): São URIs que fornecem informações para localização de um recurso.
  • Uniform Resource Names (URN): São URIs utilizados como nomes de recursos puros, em vez de localizadores.

Vantagens

...
Continue lendo "Serviços de Nomes e Sincronização de Relógios em Sistemas Distribuídos" »

Spooler, E/S por interrupções, DMA e drivers de dispositivo: resumo

ComputaçãoAtualizado em 6,81 KB

13) Por Que os Arquivos de Saída para Impressora Normalmente São Colocados em SPOOL no Disco Antes de Serem Impressos?

Como a impressora é um periférico muito mais lento que o computador, este teria de ficar esperando a impressão terminar para, então, executar uma nova tarefa. Para resolver esse problema, a maioria das impressoras tem um buffer, ou seja, uma memória interna utilizada para armazenar temporariamente os dados que estão vindo do computador. Com isso, os dados são transferidos do computador para o buffer, liberando-o mais rapidamente. Quanto maior o buffer da impressora, mais cedo esta liberará o computador.

A solução adaptada por todos os sistemas operacionais (com exceção do DOS) chama-se spooler. O aplicativo gera...

Continue lendo "Spooler, E/S por interrupções, DMA e drivers de dispositivo: resumo" »