Introdução à Sistemas
Computacionais
Prof. Ney Laert Vilar Calazans
Última alteração: 17/10/2022
Baseado em material original do Prof. Luis Otavio Campos
Alvares (UFSC)
SUMÁRIO
⚫ Introdução, Definição e Estrutura Interna
⚫ Hardware
⚫ Software
2
Tecnologia da Informação
⚫ Bases tradicionais da economia
⚫ Terra / Meios de Produção
⚫ Trabalho
⚫ Capital Financeiro
⚫ Novo elemento
⚫ Informação
⚫ Terceira Revolução Industrial (tecno-científica)
⚫ Era da Informação
⚫ Computação + Telecomunicações
3
Transformação Social
⚫ Comunicação
E-mail, conversa on-line, vídeo conferência, redes
sociais,...
⚫ Entretenimento e multimídia
Vídeo game, música eletrônica, estúdio de som, imagem e
vídeo
⚫ Empresas, Governo e Burocracia
Automação do controle, documentação e processamento
digital das informações, ...
⚫ Indústria
Máquinas autônomas, de precisão...
⚫ Comércio
Vendas pela Internet, organização da logística... 4
Características de Sistemas Computacionais
⚫ Alta velocidade de processamento
⚫ Alta capacidade de armazenamento
⚫ Possibilidade de replicação de informação
⚫ Processamento ininterrupto
⚫ Programáveis (!!??)
5
Benefícios trazidos por Sistemas
Computacionais
⚫ Confiabilidade e Exatidão
⚫ Precisão no controle de processos
⚫ Aumento da produtividade
⚫ Análise de grandes quantidades de dados – Big Data
⚫ Auxílio à tomada de decisões
⚫ Agilidade nas operações
⚫ Redução da burocracia
6
Desvantagens
⚫ Limitado ao que está programado
⚫ Sem criatividade
⚫ Difícil tratamento da ambiguidade
⚫ Obsolescência
⚫ Dependência
7
Definição
O que é um Sistema Computacional?
8
O que é um Sistema Computacional?
9
O que é um Sistema Computacional?
10
O que é um Sistema Computacional?
11
Computador x Processador →
Semelhanças e diferenças
⚫ Processador → o principal componente de um computador –
que executa as aplicações (software) percebidas
externamente ao computador (e.g. o browser Chrome, o editor de apresentações
Powerpoint, o editor de imagens Adobe Photoshop, o WhatsApp, etc.)
⚫ Hoje com frequência é um chip ou circuito integrado
⚫ No passado, podia ser um chip, uma placa, um armário
enorme cheio de componentes eletrônicos e/ou
eletromecânicos, etc.
⚫ Podem ser usados em computadores ou em outros artefatos
12
Computador x Processador →
Semelhanças e diferenças
⚫ Computador → um equipamento completo, com pelo menos
um processador principal e talvez vários outros
processadores (dezenas...) que complementam a
funcionalidade do equipamento
⚫ No passado computadores eram uma coisa e sistemas
embarcados outra. Hoje, as fronteiras são difíceis de traçar...
⚫ Exemplos
13
Tipos de Computadores
⚫ Computadores pessoais (desktop)
⚫ Computadores portáteis (notebooks)
⚫ Computadores manuais (handheld)
⚫ Servidores, Mainframes
⚫ Supercomputadores
⚫ Sistemas Embarcados – (Todo e qualquer computador
que não é percebido como tal por seus usuários)
⚫ Nodos da Internet das Coisas (IoT Nodes)
14
Computadores Pessoais (PCs)
⚫ Computadores de Mesa (desktop)
⚫ Também conhecidos como PCs, microcomputadores, ou
computadores domésticos
⚫ Terminal de Rede
⚫ Unidade central de processamento e memória mínima
⚫ Projetado para ser usado em uma rede
⚫ Às vezes chamado de cliente magro (thin client)
⚫ Realiza a interface entre o usuário e um servidor
⚫ No passado, uma máquina sem poder de
processamento local relevante; hoje, um PC mais
básico 15
Computadores Portáteis
⚫ Computadores pequenos e
leves – notebooks, netbooks
⚫ Suas capacidades se
comparam às dos
computadores de mesa
⚫ Processamento e memória similares
⚫ Disco rígido, CD/DVD
⚫ Capacidade de conexão em
rede cabeada e sem fio
16
Computadores de Mão –
Tablets e Smartphones
⚫ Exemplos
⚫ Palm
⚫ Ipad
⚫ Smartphones
⚫ Usos
⚫ Agenda de compromissos, contatos, tarefas
⚫ Rodam versões reduzidas de software:
processadores de texto, planilhas eletrônicas,
e-mail, acesso à WWW (Web)
⚫ Acesso sem fio (Wi-Fi ou celular) à Internet
⚫ Melhor seria (talvez) não classificá-los
como computadores, programados,
17
não-programáveis
Servidores e Mainframes
⚫ Computadores multiusuários → para
necessidades de organizações de porte
médio ou departamentos
⚫ Configurados para
⚫ Centenas ou milhares de usuários conectados
⚫ Suportam bancos de dados, sistemas integrados de
gestão (controle de estoques, pedidos, faturamento) e
outras aplicações empresariais
⚫ Suportam serviços de rede e Internet
⚫ Armazenam arquivos de uso compartilhado
⚫ Sistemas de reservas aéreas, sistemas bancários, etc
18
Supercomputadores
⚫ Rápidos e poderosos (number
crunchers)
⚫ Podem processar Petaflops
⚫ Mas o que é 1 flops?
▪ Floating Point Operations per
second
⚫ Aplicações numéricas → grandes
quantidades de dados
⚫ Previsão do tempo
⚫ Simulações e cálculos de alta
precisão
⚫ Efeitos especiais para cinema
⚫ Inteligência Artificial
⚫ Cálculos para ciências, física,
química, biologia 19
Clusters, Grids, Cloud, etc.
⚫ Cluster → Vários computadores
(iguais) conectados com um acesso de
controle (servidor) compartilhado e
acesso externo, fisicamente
localizados em um mesmo ambiente
⚫ Grid → União “ad hoc” de vários
computadores (desktops, workstations,
servidores, distintos ou não)
produzindo um sistema distribuído que
pode executar aplicações de forma
compartilhada (via e.g. a Sun Grid
Engine, SGE)
⚫ Cloud → Rede de clusters distribuída
(muitas vezes mundialmente) que
provê armazenamento e
processamento redundante, acessível
tipicamente via a Internet 20
Estrutura Interna de
Computadores
Entradas Processamento Saídas
Dados
Dados
Operações Informação
Dados
(Programa) !!!
Dados
...
21
Terminologia
⚫ Dado
⚫ Valores que são trabalhados durante o processamento
⚫ Exemplos
▪ 10 (idade), 12 x 8 (pressão arterial), 1.99 (altura em metros), Maria (nome)
⚫ Instrução
⚫ Uma operação unitária que o computador tem a capacidade de
processar → é atômica
⚫ Transforma/transporta dados
⚫ São ordens executadas pelo computador
⚫ Exemplos
▪ instruções para entrada e saída (E/S) de dados
▪ instrução de movimentação interna de dados (transferência)
▪ instruções aritméticas
▪ instrução de comparação
▪ etc.
22
Terminologia
⚫ Programa
⚫ roteiro que orienta o computador, determinando a sequência de
operações necessárias para executar uma determinada tarefa
⚫ É uma sequência de instruções que comanda a CPU
⚫ Hardware
⚫ conjunto de componentes eletrônicos, elétricos e mecânicos
⚫ Software
⚫ conjunto de programas que permitem o uso do hardware
⚫ Sistema Computacional (SC)
⚫ Denominação mais genérica que computador → Abrange
sistemas embarcados, computadores, etc.
23
Composição de um Sistema
Computacional (SC)
⚫ Hardware
⚫ Software
⚫ Usuário
24
SUMÁRIO
✓ Introdução, Definição e Estrutura Interna
⚫ Hardware
⚫ Organização funcional de um sistema computacional
⚫ Sistema central
⚫ Sistema de entrada/saída
⚫ Representação de dados
⚫ Níveis de memória
⚫ Software
25
Exemplo Familiar - Computador Pessoal
26
Hardware (HW)
O hardware é a parte física do sistema
computacional
⚫ Sistema Central
⚫ Periféricos
Entrada, Saída, Armazenamento e Comunicação
27
HW: Periféricos
Comunicação
Saída
Entrada
Armazenamento
de Grande
Volume
28
Organização do HW de um SC
SISTEMA CENTRAL (Placa-mãe, 1 ou mais chips, etc.)
PROCESSADOR (UCP)
CLOCK
BLOCO DE DADOS
UNIDADE LÓGICA BANCO DE → Sistema Central
E ARITMÉTICA REGISTRADORES monoprocessado
(Memória) Barramento MEMÓRIA
(ULA) → Hoje é antigo, mas
PRINCIPAL estrutura geral
permanece
Detalhamento BLOCO DE CONTROLE → Replicando a UCP
n vezes
do Sistema
→ Adicionando
Central níveis de memória
entre a UCP e a
Barramento memória principal
(Caches L1, L2 ...),
etc.
→ Replicando as
unidades de
... INTERFACE INTERFACE ... processamento
(PF ou FPU, GPUs,
etc.)
PERIFÉRICO Unidades de Entrada
PERIFÉRICO
e Saída (E/S) 29
Organização do HW de um SC
⚫ Sistema Central contém
⚫ UCP Unidade Central de Processamento
⚫ Bloco de Controle (BC)
⚫ Unidade Lógica e Aritmética
Bloco de Dados (BD)
⚫ Banco de Registradores
⚫ Sistema de Geração do relógio (Clock)
⚫ Memória Principal
⚫ Interfaces de Comunicação
⚫ Unidades de Entrada e Saída (E/S)
⚫ Teclado, mouse, impressora, vídeo, etc...
30
Exemplo → placa-mãe
(motherboard) de um desktop
A- Processador (UCP-CPU)
B- Memória RAM (Slots)
C- Slots de Expansão (E/S)
D- Connector do cabo de força
E- Conector HD (Padrão antigo)
F1- Bateria
F2- BIOS (Basic I/O Subsystem)
G- Outros Conectores (USB,
impressora, etc.)
H- Furos para prender a placa
I- Chips de controle da placa -
Bridges
31
Processador e memória
⚫ Processador
⚫ Unidade Central de Processamento
(CPU – Central Processing Unit)
⚫ Memória (armazenamento primário)
⚫ Memória RAM
⚫ Há outras tais como memórias Cache
32
Unidade Central de
Processamento (UCP)
⚫ CPU
⚫ Bloco de Controle (BC)
⚫ Controla fluxo de informações,
executa as instruções na
sequência correta
⚫ Unidade Lógica e Aritmética
(ULA ou ALU)
⚫ Operações aritméticas (+,-
,*,/) e lógicas (AND, OR, XOR,
NOT, etc.)
⚫ Na placa mãe (motherboard)
⚫ Clock (relógio)
⚫ Padrão de tempo (clock) →
onda periódica
⚫ Entrada do sistema → gera
pulsos a intervalos regulares
⚫ A cada pulso uma ou mais 33
operações realizadas
Memória
⚫ Memória principal
⚫ Armazena temporariamente as informações (instruções e dados)
⚫ Dados ficam disponíveis p/ processamento (pela ULA) e para
transferência para os equipamentos de saída
⚫ Organizada em porções de armazenamento, cada qual com um
endereço
⚫ ROM (Read Only Memory)
⚫ não depende de alimentação (de energia) para manter o conteúdo
⚫ memória permanente
⚫ informações não podem ser apagadas (há casos especiais)
⚫ geralmente vem gravada do fabricante
⚫ apenas de leitura
⚫ Programas em memória ROM: Basic Input/Output Subsystem (BIOS)
▪ rotinas de inicialização do computador, reconhecimento do hardware, identificação do
sistema operacional, contagem de memória
▪ Orientar o computador nas 1ªs operações
34
Memória
⚫ Memória principal
⚫ RAM (Random Access Memory)
⚫ memória de armazenamento temporário
⚫ utilizada pelo usuário para executar programas
⚫ restringe-se ao período em que o equipamento está
em funcionamento
⚫ memória é volátil (seu conteúdo desaparece ao
desligar)
▪ armazena programas e dados
▪ guarda resultados intermediários do processamento
⚫ Informações podem ser lidas e gravadas
35
Sistemas de E/S
⚫ Periféricos (ou Unidades de Entrada e Saída)
⚫ dispositivos conectados a um computador que possibilitam a
comunicação do computador com o mundo externo
⚫ Unidades de entrada
⚫ Permitem que informações sejam introduzidas na memória do
computador
⚫ Exemplos
▪ Mouse, teclado
⚫ Unidades de saída
⚫ Transformam a codificação interna dos dados em uma forma legível
pelo usuário
⚫ Exemplos
▪ Impressora, vídeo, caixa de som
36
Representação dos Dados
⚫ Bit
⚫ BInary digiT
⚫ componente básico da memória
⚫ menor unidade de informação
⚫ pode assumir dois valores
⚫ 1 --> ligado (ON) ou 0 --> desligado (OFF)
⚫ Byte
⚫ Agrupamento de 8 bits
⚫ Pode corresponder a um caractere: letra, dígito
numérico, caractere de pontuação,...
⚫ Com um byte é possível representar-se até 28 = 256
37
símbolos diferentes
Representação dos Dados
⚫ Códigos de representação de dados
⚫ O caractere → unidade básica de armazenamento nos sistemas
⚫ Armazenamento de caracteres (letras, algarismos e outros símbolos) →
usa código específico
⚫ certos conjuntos de bits representam certos caracteres (via padrão)
⚫ Bastante utilizados no passado: ASCII, EBCDIC e UNICODE
⚫ Hoje, usa-se ASCII-E (American Standard Code for Information Interchange -
Extended), de 8 bits
⚫ Unidades de Medida
⚫ Servem para quantificar quantidades de informação (memória, transferências, etc.)
⚫ Indicam capacidade de armazenamento (disco, CD, etc.), usualmente em bytes
K Quilo Mil 210 1.024
M Mega Milhão 220 1.048.576
G Giga Bilhão 230 1.073.741.824
T Tera Trilhão 240 1.099.511.627.776
P Peta Quatrilhão 250 1.125.899.906.842.624 38
Níveis de Hierarquia de
Memória Pequeno Alto(a)
⚫ Diferentes velocidades de acesso
Cache
RAM
Auxiliar
Auxiliar-Backup
⚫ Memória Cache
Grande Baixo(a)
⚫ altíssima velocidade de acesso
⚫ acelera o processo de busca de informações na memória
⚫ localizada logicamente entre o processador e a memória principal
⚫ pode tanto integrar o microprocessador (cache interna), como consistir de chips
adicionais instalados na placa-mãe do micro (cache externa)
⚫ tamanho tipicamente pequeno
⚫ Memórias Auxiliar e Auxiliar-Backup
39
⚫ discos, CDs e fitas
SUMÁRIO
✓ Introdução, Definição e Estrutura Interna
✓ Hardware
⚫ Software
⚫ Software aplicativo
⚫ Software básico
⚫ Sistema operacional
⚫ Linguagens de programação
⚫ Utilitários
40
Software (SW) - Introdução
⚫ Programa
⚫ Uma sequência de instruções
⚫ Processador decodifica e executa instruções
uma a uma (vale para 1 core)
⚫ Transformação de dados ocorre no BD (via
ULA) ou componentes similares, sob
coordenação do BC
⚫ Na execução
⚫ instruções e dados estão na memória
⚫ são trazidos da memória para a UCP
41
Software (SW) - Introdução
⚫ Classes de Instruções
⚫ Instruções de E/S
⚫ Leituras/escritas de/para fita, disco magnético, pendrive,
CD, DVD, gravação, etc.
⚫ Instruções de transferência
⚫ da memória para a CPU, de um registrador para outro
⚫ Instruções Aritméticas
⚫ adição, subtração, multiplicação, divisão
⚫ Instruções Lógicas
⚫ E (AND), OU (OR), NÃO (NOT), OU-Exclusivo (XOR), etc.
⚫ Instruções de Comparação
⚫ =, <, >, ….
42
Software (SW) - Introdução
= some
010...
= variável A
1ª posição da memória
Exemplo de
uma 110.. = variável B
2ª posição da memória
Instrução
Codificada 111...
3ª posição da memória
43
Software (SW)
⚫ Software aplicativo
⚫ Programas criados para solucionar problemas do
usuário final do computador
⚫ Exemplos
▪ Contabilidade (planilhas), folha de pagamento, correção de
provas, editor de texto, etc
⚫ Software básico (I)
Programas que permitem a usuários especiais
(desenvolvedores) criar e modificar software
⚫ O Sistema Operacional, Suporte a Linguagens de
Programação, Utilitários
⚫ Sistema Operacional (ex: Windows, Unix, Linux, DOS, iOS,
Android, etc.)
⚫ Gerência de memória, do processador, de arquivos, e dos
dispositivos de E/S
44
Software Básico - II
⚫ Suporte a Linguagens de Programação
⚫ Exemplos de linguagens - Lisp, Prolog, Cobol, Pascal, C, C++, C#, Java, etc.
⚫ Linguagem = conjunto de convenções e regras que especificam
como instruir o computador a executar tarefas
⚫ Linguagem é meio de comunicação entre o programador que
deseja criar um software (para tratar determinado problema)
⚫ Gerações de linguagens (Não muito preciso!)
⚫ 1ª geração: linguagens em nível de máquina
⚫ 2ª geração: linguagens de montagem (Assembly)
⚫ 3ª geração: linguagens orientadas ao usuário
⚫ 4ª geração: linguagens orientadas à aplicação
⚫ 5ª geração: linguagens de conhecimento
45
Linguagens de Programação
⚫ 1ª Geração: Linguagens em nível de máquina
⚫ Instrução 0010 0001 0110 1100
⚫ realiza a soma (código de operação 0010) do dado armazenado no
registrador 0001, com o dado armazenado na posição de memória 108 (0110
1100)
⚫ Programa: sequência de zeros e uns
⚫ programação trabalhosa, cansativa e fortemente sujeita a erros
⚫ 2ª geração: Linguagens de Montagem (Assembly)
⚫ Minimiza dificuldades da programação em notação binária
⚫ Códigos de operação e endereços binários substituídos por
mnemônicos
⚫ ADD R1, TOTAL
⚫ E.g. - R1 representa o registrador 1 e TOTAL é o nome atribuído ao endereço
de memória 108
⚫ Processamento requer tradução para linguagem de máquina
46
Linguagens de Programação
⚫ 3ª geração: Linguagens Orientadas ao Usuário
⚫ Maioria surgiu nas décadas de 50 e 60:
⚫ FORTRAN, COBOL, PL/1, Pascal, Basic, C, ...
⚫ 4ª geração: Linguagens Orientadas à Aplicação
⚫ Facilita o processo de desenvolvimento de aplicações
⚫ Gera código sem erros a partir de requisitos de expressões
de alto nível
⚫ Facilita o uso de linguagens → usuários finais podem
resolver problemas computacionais sem intermediários
⚫ SQL
▪ select nome from alunos where CodCurso=“EngCivil”
47
Linguagens de Programação
⚫ 5ª geração: Linguagens de Conhecimento
⚫ Mecanismos da área de inteligência artificial
⚫ Sistemas especialistas, processadores de língua natural e
sistemas com bases de conhecimento
⚫ Um sistema de 5ª geração armazena conhecimento
complexo de modo que a máquina pode obter
inferências a partir da informação codificada
⚫ Ex: PROLOG
⚫ Níveis de linguagem
⚫ linguagens de baixo nível
⚫ primeira e segunda geração
⚫ linguagens de alto nível
⚫ terceira geração em diante 48
Tradutores de Linguagens de
Programação
Linguagem de
Linguagens de Baixo Nível
máquina
Linguagem de
Montagem (Assembly)
Tradutor → Montador
Linguagens de Alto Nível
Tradutores: Compilador
ou Interpretador
49
Tradutores de Linguagens de
Programação
⚫ Tradutor
⚫ programa que recebe como entrada um programa escrito em uma
linguagem de programação (a linguagem fonte) e produz como
resultado as instruções deste programa traduzidas para linguagem de
máquina (a linguagem objeto)
⚫ Se a linguagem do programa fonte é uma linguagem de montagem
(assembly language) o tradutor é chamado de Montador
(assembler)
⚫ Tradutores que traduzem os programas escritos em linguagem de
alto nível
⚫ compiladores e/ou interpretadores
50
Tradutores de Linguagens de
Programação
⚫ Compilador
⚫ traduz um programa escrito em linguagem de alto nível
⚫ produz um programa em linguagem objeto (linguagem executável, ou
seja, linguagem de máquina)
⚫ pode ser executado uma ou mais vezes
⚫ Interpretador
⚫ traduz um programa escrito em linguagem fonte, instrução a instrução,
enquanto o executa
⚫ cada vez que um programa interpretado tiver que ser re-executado, todo
o processo de interpretação é refeito, independentemente de ter havido
ou não modificações no código fonte do programa desde sua última
execução
⚫ Programas compilados tendem a ser executados mais rapidamente
que seus correspondentes interpretados
51
Tradutores de Linguagens de
Programação
PRO G RA M A TRA D UTO R PRO G RA M A EX EC U C A O
FO N TE O BJE TO
EX EC U C A O D E TO D O O
C O M P ILA D O R PRO G RA M A
LI N G UA G EM
DE M AQ UINA
LI N G UA G EM
D E A LTO
N I V EL EX EC U TA A I N STRU C A O
I N TE RP R E TA D O R E V O LTA
O PERA C A O G EREN C I A D A PELO SI STEM A O PERA C I O N A L
52
Software Básico - Utilitários
⚫ Utilitários
⚫ Softwares de apoio à solução de problemas
de disco, memória, etc
⚫ Desfragmentador, limpeza de disco, ...
⚫ Compactadores e descompactadores de
arquivos, programas anti-vírus
⚫ Vírus
▪ Programas capazes de se instalar de forma clandestina nos
sistemas
▪ Podem adotar procedimentos perturbadores
▪ fazer uma bolinha pular na tela, ...
▪ declaradamente destrutivos (apagar informações) 53