Conceitos Essenciais de Hardware, Software e Sistemas
Classificado em Computação
Escrito em em
português com um tamanho de 6,05 KB
Conceitos Fundamentais de Hardware
Hardware
Conjunto de todos os elementos físicos de um computador e todos os dispositivos a ele relacionados.
Memória RAM (Random Access Memory)
Memória randômica (memória aleatória) que permite o acesso em qualquer posição, em qualquer ordem, sem a necessidade de acessar a partir do primeiro elemento.
Memória ROM (Read-Only Memory)
Memória apenas de leitura, que não é volátil, permitindo acesso em qualquer posição e em qualquer ordem.
Unidade Central de Processamento (UCP/CPU)
Circuitos que executam as funções básicas de um computador, incluindo operações lógicas, aritméticas e controle da unidade de entrada/saída.
Armazenamento Primário (Primary Storage)
Refere-se à Memória RAM, onde são armazenadas todas as informações e conjuntos de instruções de programas prestes a serem executados.
Armazenamento Virtual (Virtual Storage)
Local onde ficam armazenados todos os endereços virtuais dos programas, a partir do qual todos os endereços serão convertidos em endereços reais.
Interrupção
Suspensão temporária de um processamento, com a finalidade de executar uma operação independente. Permite o retorno à operação principal. O processador para o que está fazendo para atender ao dispositivo que requisitou a interrupção.
Buffer
Região de memória temporária utilizada para escrita e leitura de dados.
Armazenamento Secundário
Local de armazenamento de informações em um período prolongado (ex: HDs, SSDs, pendrives).
Pilha (Stack)
Conjunto de dados armazenados temporariamente, seguindo a regra LIFO (Last In, First Out): o primeiro elemento a chegar é o último a sair, formando uma “pilha” de dados.
Ponteiro da Pilha (Stack Pointer)
Endereço do último dado/elemento armazenado na pilha.
Contador de Programa (Program Counter - PC)
Conceitos Fundamentais de Software
Software
Programa que instrui o hardware sobre como executar uma ordem ou tarefa.
Instrução
Linha de um programa que contém a ordem para a execução de uma operação específica pelo processador.
Código de Máquina
Representação de instruções de um programa executável diretamente no computador.
Todo computador possui um conjunto de instruções que o processador é capaz de executar. Essas instruções, chamadas de código de máquina, são representadas por sequências de bits, normalmente limitadas pelo número de bits do registrador principal (CPU).
Programa e Classificação por Conversão em Código de Máquina
Sequência de instruções que representam a resolução de um algoritmo em código de máquina.
Classificação segundo o processo de conversão:
- Programa Fonte: Programa escrito em linguagem de alto nível ou assembly.
- Programa Objeto: É um programa fonte, assemblado ou compilado.
- Programa Executável:
Bibliotecas de Programa, Objeto e Sistema
Compilador
Um compilador é um programa de sistema que traduz um programa descrito em uma linguagem de alto nível para um programa equivalente em código de máquina para um processador. Em geral, um compilador não produz diretamente o código de máquina, mas sim um programa em linguagem simbólica (assembly) semanticamente equivalente ao programa em linguagem de alto nível.
Editor de Ligações (Linkeditor)
A função do editor de ligação (Linkeditor) é coletar programas traduzidos separadamente e ligá-los em um único módulo, normalmente denominado módulo absoluto de carga ou simplesmente programa executável (o EXE).
Carregador (Loader)
A função do carregador é carregar o módulo absoluto de carga na memória principal, substituindo os endereços relativos ao módulo de carga por endereços reais de memória.
Depurador (Debugger)
Os debuggers ou depuradores possuem a função essencial de auxiliar o programador a eliminar (ou reduzir) a quantidade de erros (bugs) de execução no programa. Possibilita uma análise efetiva do código devido a:
- Execução passo a passo (instrução por instrução) de partes do programa;
- Visualização dos valores das variáveis e dos conteúdos dos registradores internos do processador;
- Alteração em tempo de execução de conteúdos de memória, de variáveis ou de instruções; etc.
Assembler (Montador)
Programa que transforma o código escrito na linguagem Assembly em linguagem de máquina, substituindo as instruções e variáveis pelos códigos binários e endereços de memória correspondentes.
Os compiladores de várias linguagens de alto nível fazem a compilação dos programas em duas etapas: na primeira, transformando o código fonte em código Assembly e, em seguida, gerando o binário com a ajuda de um Assembler.
Nota: Muitos confundem os termos assembler (o programa montador) e assembly (a linguagem de montagem).
Cross Assembler
É um assembler que é executado em uma plataforma de hardware, porém gera código de máquina para outra plataforma.
Padrões e Siglas
O que significam as siglas ASCII, ANSI, OSI, ISO?
- ANSI
- Instituto Nacional Americano de Padronização (American National Standards Institute).
- OSI
- Interconexão de Sistemas Abertos (Open Systems Interconnection). É um conjunto de padrões ISO relativo à comunicação de dados.
Padrão RS-232
Este padrão foi originalmente usado para conectar um teletipo (equipamento eletromecânico de comunicação assíncrona que usava código ASCII) a um modem. Hoje é muito usado no cabo RJ RS-232 para comunicação com modems.