Introdução à Computação

Gilberto Farias


Índice

Prefácio
1. Público alvo
2. Método de Elaboração
3. Como você deve estudar cada capítulo
4. Caixas de diálogo
5. Vídeos
6. Compreendendo as referências
7. Códigos e comandos
8. Baixando os códigos fontes
9. Contribuindo com o livro
1. História dos computadores
1.1. Precursores dos computadores
1.1.1. Ábaco
1.1.2. Ossos de Napier
1.1.3. As rodas dentadas de Pascal (Pascaline)
1.1.4. Leibniz - A primeira calculadora com quatro operações
1.1.5. Máquinas Programáveis
1.1.6. Linha do tempo
1.2. As gerações dos computadores
1.2.1. Primeira Geração (1946-1954)
1.2.2. Segunda Geração (1955-1964)
1.2.3. Terceira Geração (1964-1977)
1.2.4. Quarta Geração (1977-1991)
1.2.5. Quinta Geração (1991 — dias atuais)
1.3. Recapitulando
2. Representação da informação
2.1. Conceito de bit e byte
2.2. Possibilidades de representação
2.2.1. Números
2.2.2. Texto
2.2.3. Imagem
2.2.4. Música
2.3. Recapitulando
2.4. Atividades
3. Sistemas de numeração
3.1. Noções de Sistema de Numeração
3.1.1. Sistema de numeração Egípcio (3000 a.C.)
3.1.2. Sistemas de numeração Babilônico (2000 a.C.)
3.1.3. Sistema de numeração Romano
3.1.4. Sistemas de numeração Indo-Arábico
3.2. Sistema de Numeração Posicional
3.2.1. Base de um Sistema de Numeração
3.3. Conversões entre bases
3.3.1. Conversões entre as bases 2, 8 e 16
3.3.2. Conversão de números em uma base b qualquer para a base 10.
3.3.3. Conversão de números da base 10 para uma base b qualquer
3.4. Números Binários Negativos
3.4.1. Sinal e Amplitude/Magnitude (S + M)
3.4.2. Complemento de 1
3.4.3. Complemento de 2
3.5. Aritmética Binária
3.5.1. Soma e Subtração Binária
3.5.2. Subtração nos computadores
3.5.3. Multiplicação e divisão binária
3.6. Representação de Número Fracionário no Sistema Binário
3.6.1. Notação de Ponto Fixo
3.7. Fundamentos da Notação de Ponto Flutuante
3.7.1. Notação de Excesso
3.7.2. Notação de Ponto Flutuante
3.7.3. Problema com Arredondamento
3.7.4. Adição e Subtração em Ponto Flutuante
3.8. Lógica Binária
3.8.1. Operador NOT
3.8.2. Operador AND
3.8.3. Operador OR
3.8.4. A soma em um Computador
3.9. Recapitulando
3.10. Atividades
4. Organização e Funcionamento do Computador
4.1. Arquitetura de um Computador
4.1.1. Memória Principal
4.1.2. Unidade Central de Processamento (UCP)
4.1.3. Unidades de Entrada/Saída
4.1.4. O Modelo de Barramento
4.2. Programando um computador
4.2.1. Linguagem de Máquina
4.2.2. Executando Programas em Linguagem de Máquina
4.3. Recapitulando
4.4. Atividades
5. Algoritmos, Linguagem de Programação, Tradutor e Interpretador
5.1. Algoritmos
5.1.1. Exemplo de um Algoritmo
5.1.2. Programa de Computador
5.1.3. Construindo um algoritmo em sala de aula
5.2. Linguagem de Programação
5.2.1. Primeiras gerações
5.2.2. Paradigma de Programação
5.3. Tradutor e Interpretador
5.3.1. Tradutores
5.3.2. Processo de Compilação
5.3.3. Processo de Montagem
5.3.4. Ligação e Carregamento
5.4. Interpretadores
5.5. Usando os Softwares Básicos
5.6. Recapitulando
5.7. Atividades
6. Introdução aos Sistemas Operacionais
6.1. Introdução
6.1.1. O Sistema Operacional como uma Máquina Estendida
6.1.2. Gerenciador de Recursos
6.2. Evolução dos Sistemas Operacionais
6.2.1. Computadores a Vácuo (1945-1955)
6.2.2. Transistores e Sistemas em Lote (1955-1965)
6.2.3. Circuitos Integrados e Multiprogramação (1965-1980)
6.2.4. Computadores Pessoais (1980-1995)
6.2.5. A Guerra dos Sistemas Operacionais
6.3. Tipos de Sistemas Operacionais
6.3.1. Computadores de Grande Porte
6.3.2. Sistema Operacional de Servidores
6.3.3. Sistema Operacional de Multiprocessadores
6.3.4. Sistema Operacional de PC
6.3.5. Sistema Operacional de Tempo Real
6.3.6. Sistema Operacional Embarcado
6.3.7. Sistema Operacional de Cartões Inteligentes
6.4. Conceitos de Sistemas Operacionais
6.4.1. Processos
6.4.2. Gerenciamento de memória
6.4.3. Entrada/Saída (E/S)
6.4.4. Sistema de Arquivo
6.5. Recapitulando
6.6. Atividades
7. Redes de Computadores e Internet
7.1. Internet
7.1.1. O que é a Internet?
7.1.2. Investigando a Internet
7.1.3. Protocolo
7.2. Tecnologias de Acesso e Meios de Comunicação
7.2.1. Tecnologias de Acesso
7.2.2. Acesso residencial
7.2.3. Acesso corporativo
7.2.4. Acesso sem fio
7.2.5. Meios de Comunicação
7.3. Topologia da Rede
7.3.1. Barramento Linear
7.3.2. Estrela
7.3.3. Anel
7.4. Camadas de protocolos e seus serviços
7.4.1. O Modelo OSI da ISO
7.4.2. Arquitetura da Internet TCP/IP
7.4.3. Prof. Leonard Kleinrock
7.4.4. Usando a aplicação Wireshark
7.5. Recapitulando
7.6. Atividades

Lista de Figuras

1. Exemplo de contribuição através do Issue track
1.1. Ilustração de um ábaco
1.2. Ilustração dos Ossos de Napier.
1.3. Ilustração da operação de multiplicação utilizando os ossos de Napier: 46785399 x 7.
1.4. Régua de Cálculo
1.5. Pascaline de 8 dígitos aberta, mostrando as engrenagens (acima), e a apresentação da máquina fechada (abaixo).
1.6. Máquina de tear usando programação através de cartões perfurados.
1.7. Esquerda: Jacquard perfurando os cartões. Direita: cartões perfurados.
1.8. Pequena seção da máquina diferencial de Charles Babbage.
1.9. Máquina Analítica e os cartões perfurados.
1.10. Ada Lovelace, primeira programadora.
1.11. Linha do tempo dos precursores dos computadores
1.12. As válvulas eram do tamanho de uma lâmpada.
1.13. ENIAC, representante da primeira geração dos computadores.
1.14. Circuito com vários transistores (esquerda). Comparação do circuito com válvulas (canto superior-direito) com um circuito composto de transistores (inferior-direito).
1.15. Computadores IBM da segunda geração.
1.16. Comparação do tamanho do circuito integrado com uma moeda (esquerda) e um chip (direita).
1.17. Arquitetura plugável da série 360 da IBM.
1.18. Computador Apple I.
1.19. Computador pessoal da quarta geração.
1.20. Computador da quinta geração.
2.1. Fotografia evidenciando a grade de pontos.
2.2. Partitura da música Marcha Soldado.
2.3. Representação de uma música através de ondas.
3.1. Sistema de Numeração Egípcio
3.2. Sistema de Numeração Babilônico
3.3. Sistema de Numeração Romano
3.4. Sistema de numeração Indo-Arábico
3.5. Divisão de 1 byte nos campos da Notação de Ponto Flutuante
3.6. Representação gráfica dos operadores lógicos AND, OR e NOT, com seus valores de entrada e saída.
3.7. Circuito Digital Somador de Dois Bits formado pelas portas lógicas básicas (AND, OR, NOT).
4.1. Arquitetural geral de um computador
4.2. Mapa de Memória do Computador
4.3. Componente lógicos da UCP
4.4. Modelo de Barramento do Computador
4.5. As três fases do ciclo de máquina
5.1. Mapa da cidade de Guilherme
5.2. Rota para igreja descrita no algoritmo
5.3. (a) Autômato suíço do século XIX escrevendo um poema
5.4. (b) Autômato do filme “A Invenção de Hugo Cabret”
5.5. Proposta de algoritmo para o “imprenssadinho”
5.6. Etapas do processo de compilação.
6.1. Sistema de um computador: hardware, programas do sistema e aplicações.
6.2. Multiprogramação em um Sistema Operacional, tipos de compartilhamento dos recursos do computador.
6.3. Transição de estados de um processo.
6.4. (a)Três processos, cada um com um Thread de execução. (b) Um processo com três threads de execução.
6.5. Sistema de Arquivos de um computador pessoal.
7.1. Rede de sistemas finais interligado por ISPs.
7.2. Saída da aplicação Traceroute.
7.3. Redes de comunicação entre alunos.
7.4. Formato do pacote contendo a mensagem entre os alunos.
7.5. Fio de Par Trançado
7.6. Cabo Coaxial
7.7. Transmissão Via Satélite
7.8. Topologia de Barramento Linear
7.9. Topologia Estrela
7.10. Topologia em Anel
7.11. Níveis do Modelo OSI da ISO.
7.12. Leonard Kleinrock diante do primeiro Interface Message Processor (IMP), precursor dos roteadores de mensagens atuais.
7.13. Interface do programa Wireshark.

Lista de Tabelas

1. Métodos para contribuição do livro
2.1. Representações com um bit.
2.2. Representações com dois bits.
2.3. Representação de números utilizando um byte.
2.4. Extrato da tabela ASCII
3.1. Conversão direta de binário para octal e vice-versa
3.2. Conversão direta de binário para hexadecimal e vice-versa.
3.3. Notação de excesso com 3 bits.
3.4. Tabela de valores da operação de Soma de Dois Bits