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

Ordenar por
Matéria
Nível

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

Como Funcionam Programas e Sistemas Operacionais

Classificado em Computação

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

A Evolução da Programação e o Papel do Sistema Operacional

Do ponto de vista da máquina, um programa de computador nada mais é que uma sequência de instruções para o processador, e programar significa passar essas instruções ao computador. A questão, no entanto, é: como fazer isso? No início da computação, as instruções eram passadas diretamente em binário, ligando-se e desligando-se chaves. Contudo, isso evoluiu para uma linguagem extremamente simples, digitada em um arquivo, chamada de linguagem assembly. Uma instrução assembly é uma representação simbólica associada a uma instrução de máquina específica. Para fazer um programa nessa linguagem funcionar, é necessário um programa que leia a instrução em assembly... Continue a ler "Como Funcionam Programas e Sistemas Operacionais" »

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

Conceitos Essenciais de Sistemas Operacionais: Memória, Disco e Processos

Classificado em Computação

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

Como funciona o DMA (Direct Memory Access)?

O DMA (Direct Memory Access) é uma característica essencial dos computadores modernos. Normalmente, o único componente que acessa a memória RAM da máquina é o processador. O recurso DMA permite que outros componentes também acessem a memória RAM diretamente, o que aumenta o desempenho na transferência de grandes quantidades de dados. Caso isso não fosse possível, a CPU teria que copiar todos os dados da fonte até o destino, o que é bem mais lento do que copiar blocos de dados dentro da memória. Além disso, durante a cópia dos dados, a CPU ficaria indisponível para outras tarefas.

Links Simbólicos e Hard Links em Sistemas de Arquivos

Em um sistema de arquivos baseado em i-node, a diferença... Continue a ler "Conceitos Essenciais de Sistemas Operacionais: Memória, Disco e Processos" »

Sistemas Distribuídos: RPC, CORBA, RMI, EJB e Mais

Classificado em Computação

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

Questões sobre Sistemas Distribuídos

1. Qual o propósito do RPC? Explique com um exemplo como o RPC facilita a vida do desenvolvedor comparado ao socket puro.

O RPC (Remote Procedure Call) surgiu para retirar do desenvolvedor a responsabilidade de programar os requests e responses dentro do socket. Foi desenvolvido para permitir que programadores desenvolvam software distribuído como se estivesse em execução no mesmo computador, sem ter que se preocupar com códigos de rede (uso de sockets). Ao utilizar computação distribuída com sockets, o desenvolvedor perde tempo codificando métodos e chamadas que precisam ser atendidas – praticamente reinventa a roda. Com RPC, é utilizado um paradigma modular que facilita a manutenção do código.... Continue a ler "Sistemas Distribuídos: RPC, CORBA, RMI, EJB e Mais" »

Protocolos de Rede, Endereçamento e Elementos de Interligação

Classificado em Computação

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

O que é um Protocolo?

Um protocolo de rede é um conjunto de regras e padrões utilizados para possibilitar a comunicação entre dispositivos diferentes.

O conjunto de protocolos usados em uma comunicação é denominado de pilha de protocolos.

Existem diferentes pilhas de protocolos; entretanto, nem todas realizam comunicação entre as partes (no caso, precisam de um interpretador). Exemplos de protocolos incluem: TCP/IP, NetBeui e IPX/SPX.

Domínios de Rede

Domínio de Colisão

  • Segmento de rede física em que duas ou mais estações podem provocar uma colisão se transmitirem simultaneamente.

Domínio de Broadcast

  • Divisão lógica de uma rede na qual uma estação é capaz de enviar para todas as outras estações usando o endereço de broadcast.
... Continue a ler "Protocolos de Rede, Endereçamento e Elementos de Interligação" »