Anotações, resumos, trabalhos, provas e exercícios de Computação de Universidade

Processos, Threads e Escalonamento em Sistemas Operacionais

Computação5,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 lendo "Processos, Threads e Escalonamento em Sistemas Operacionais" »

Microcontrolador 8051: SFRs e Modos de Endereçamento

Computação6,77 KB

Registos de Funções Especiais (SFRs) do 8051

Os processadores da família do 8051 possuem um conjunto de registos dedicados para funções específicas, que são designados por Registos de Funções Especiais (ou SFRs). Todos os SFRs são registos de oito bits, exceto o DPTR e o PC, que têm comprimento igual a 16 bits. As operações de escrita e de leitura do conteúdo dos SFRs processam-se byte a byte, mediante a execução de instruções do tipo MOV – por exemplo, MOV A, TH0 ou MOV A, #byte; ou ainda, no caso concreto do DPTR, MOV DPTR, #byte2, #byte3. Os registos ACC, B, PSW, P0, P1, P2, P3, IP, IE, TCON e SCON podem também ser escritos, lidos e testados bit a bit.

Registo B

Registo dedicado às operações de multiplicação e divisão...

Continue lendo "Microcontrolador 8051: SFRs e Modos de Endereçamento" »

Java Essencial: JDBC, Servlets, JSPs e Gerenciamento de Fluxos I/O

Computação8,82 KB

Tipos de Drivers JDBC

Existem quatro tipos diferentes de drivers ou especificações de drivers JDBC definidos pelo padrão:

  • Driver Tipo 1: Drivers que utilizam o sistema como um gateway ou bridge (ex: JDBC-ODBC). Não é a melhor solução porque, em muitos casos, é necessário instalar software especial no cliente, além de ser um pouco lento no acesso ao banco de dados.
  • Driver Tipo 2: API Nativa. Este tipo de driver contém código Java que faz chamadas para métodos nativos do banco de dados em C ou C++ para acessar o banco de dados. Às vezes, é necessário instalar software cliente para usar esses drivers.
  • Driver Tipo 3: Drivers de Aplicação. Drivers JDBC ou drivers de aplicação que se comunicam com o servidor usando sockets intermediários
...
Continue lendo "Java Essencial: JDBC, Servlets, JSPs e Gerenciamento de Fluxos I/O" »

Guia Completo de Comandos DDL e Tipos de Dados no MySQL

Computação3,22 KB

Introdução aos Metadados do MySQL

O MySQL possui um banco de dados que armazena informações sobre os databases, tables, etc., criados no próprio MySQL. A versão 5 ou superior do MySQL possui também outro banco de metadados chamado information_schema.

  • SHOW DATABASES: No MySQL, note que existe um banco de dados chamado mysql. Este é o metadados do MySQL!
  • USE MYSQL: Seleciona o banco de dados para executar comandos SQL sobre ele.
  • SHOW TABLES: Mostra as tabelas do banco selecionado (no caso, o mysql).
  • DESC: Mostra os atributos (campos) da tabela.

Comandos DDL (Data Definition Language)

DDL é a parte do SQL que permite a criação, alteração e exclusão de objetos de bancos de dados (tabelas, colunas, índices, visões, etc.).

Gerenciamento de

...
Continue lendo "Guia Completo de Comandos DDL e Tipos de Dados no MySQL" »

Sistemas Operacionais e Algoritmos Distribuídos

Computação3,55 KB

A filosofia do projeto Mach é ter um núcleo simples e extensível centrado em recursos de comunicação.

Chorus – O sistema operacional surgiu no instituto francês INRA em 1980, com um projeto de estudo de sistemas distribuídos. É um microkernel de tempo real embarcado, normalmente usado em ambientes de aplicativo distribuídos de baixo custo, nos quais precisam de um mínimo de funcionalidade e de uso de memória mínima. É um sistema operacional altamente escalável e confiável, tanto que foi estabelecido entre os provedores de telecomunicações de topo.

Exemplos:

Cartões de crédito, telefones portáteis, impressoras, robôs etc.

Amoeba – É um sistema operacional distribuído baseado em um microkernel e de código aberto criado...

Continue lendo "Sistemas Operacionais e Algoritmos Distribuídos" »

Guia de Redes: Fibra Óptica, Atrasos e Ferramentas

Computação6,5 KB

Quais são os 3 tipos de fibra óptica em uso e que distâncias cobrem sem repetidores?

Os principais tipos e suas capacidades são:

  • Fibra Multímodo de Índice Degrau: Cobre até 2.000 metros a 100 Mbps.
  • Fibra Multímodo de Índice Gradual: Cobre até 3.000 metros a 100 Mbps.
  • Fibra Monomodo: Cobre distâncias acima de 80 km.

O que são Repetidores e HUBs?

Repetidores são dispositivos que recebem um sinal, o regeneram para eliminar a atenuação e o retransmitem, reforçando-o. HUBs funcionam como repetidores com múltiplas portas, recebendo um sinal e o distribuindo para todos os dispositivos conectados. Ambos amplificam tanto o sinal quanto o ruído.

O que são Placas de Rede e qual a sua finalidade?

Placas de Rede, também conhecidas como adaptadores...

Continue lendo "Guia de Redes: Fibra Óptica, Atrasos e Ferramentas" »

Gerenciamento de Transações em Banco de Dados: ACID, Concorrência e Bloqueio

Computação66,18 KB

Transações em Banco de Dados

Uma transação é uma unidade de execução de programa que acessa e possivelmente atualiza vários itens de dados. Normalmente, é iniciada por um programa escrito em uma linguagem de manipulação de dados (C, C++, Java, Perl, etc.).

É delimitada pelas instruções BEGIN TRANSACTION e COMMIT, consistindo de todas as operações executadas entre elas.

Propriedades ACID para Transações

Para garantir a integridade dos dados, o SGBD deve manter as propriedades ACID:

  • Atomicidade
  • Consistência
  • Isolamento
  • Durabilidade

Detalhes das Propriedades ACID

Atomicidade: Ou todas as operações da transação são refletidas corretamente no banco de dados, ou nenhuma delas é.

Consistência: A execução de uma transação isolada...

Continue lendo "Gerenciamento de Transações em Banco de Dados: ACID, Concorrência e Bloqueio" »

Guia Completo de Autómatos Programáveis (PLC)

Computação3,71 KB

Autómatos Programáveis (PLC)

Os autómatos programáveis são o meio mais utilizado para a implementação de circuitos de automação industrial, criados para oferecer sistemas flexíveis de controlo de processos. A indústria automóvel foi pioneira na sua utilização. Definem-se como equipamentos eletrónicos, programáveis em linguagem não informática, concebidos para controlar processos sequenciais em tempo real.

Vantagens dos Autómatos

  • Elevada fiabilidade;
  • Desenvolvimento do programa paralelo à montagem;
  • Alterações simplificadas via software;
  • Espaço ocupado constante, independente da lógica;
  • Redução de stocks de reserva;
  • Não requer especialistas em informática ou assembler;
  • Linguagem standard de fácil aprendizagem.

Classes e Estrutura

Os...

Continue lendo "Guia Completo de Autómatos Programáveis (PLC)" »

Introdução à UML e Classes de Objetos

Computação3,32 KB

UML

Linguagem visual utilizada para modelar sistemas
computacionais por meio do paradigma de Orientação a
Objetos;
Essa linguagem se tornou, nos últimos anos, a
linguagem-padrão de modelagem de software, adotada
internacionalmente pela indústria de Engenharia de
Software;
Não é uma linguagem de programação e sim uma
linguagem de modelagem.

UML – Apresenta as seguintes vantagens:

  • Usa notação gráfica;
  • Ajuda a obter uma visão geral do sistema;
  • Não é dependente de tecnologia;
  • Permite a implementação de padronização;
  • Suporta todo o ciclo de vida do software, tais como:
Modelagem do Negócio;
Modelagem de Requisitos;
Modelagem da Solução.

FERRAMENTAS CASE BASEADAS NA LINGUAGEM UML

  • Rational Rose
  • Visual Paradigm
  • Poseidon for UML
  • ArgoUML
  • Enterprise
...
Continue lendo "Introdução à UML e Classes de Objetos" »

O que é um ambiente multithread e quais as vantagens de sua utilização?

Computação2,59 KB

O ciclo de vida de sistemas representa as diversas etapas pelas quais passa um projeto
A implantação é um processo caro, demorado e obriga a corporação a repensar sua estrutura e
processos. Decisão e seleção, implementação e utilização.

Big-bang - isto é, entrada em funcionamento de todos os módulos em todas as divisões ou
fábricas da empresa simultaneamente
Small-bang - isto é, a entrada em funcionamento de todos os módulos sucessivamente em cada
uma das divisões ou plantas da empresa (estratégia de implantação: por exemplo matriz e filial
seria mais interessante iniciar pela filial)

Melhorias De processos: Redução de custos, redução No tempo de execução, melhoria no controle e Acompanhamento do processo, filas, atendimento

...
Continue lendo "O que é um ambiente multithread e quais as vantagens de sua utilização?" »