Commit 6374d3b6 authored by Eduardo de Santana Medeiros Alexandre's avatar Eduardo de Santana Medeiros Alexandre
Browse files

Merge pull request #9 from gilbertofarias/master

Modificações de revisão em todo o texto - incorporando alterações do autor
parents 2c6ebe51 f1d6e99c
......@@ -5,11 +5,10 @@ ____
Ao final deste capítulo você deverá ser capaz de:
* Citar os precursores dos computadores
* Discorrer sobre a importância do surgimento dos cartões perfurados
* Discorrer sobre a importância do surgimento das primeiras tecnlogias para a Computação
* Descrever como eram os computadores em cada uma das 5 gerações
* Explicar porque a palavra 'bug' passou a ser empregada para designar defeitos
* Relatar a importância do circuito integrado no processo de fabricação dos
computadores
computadores atuais
____
......@@ -265,10 +264,9 @@ programação através de cartões perfurados.
Babbage trouxe um grande avanço intelectual na utilização de cartões perfurados,
enquanto Jacquard utilizava os cartões apenas para acionar ou desativar o
funcionamento uma determinada seção da máquina de tear, Babbage percebeu
funcionamento de uma determinada seção da máquina de tear, Babbage percebeu
que os cartões poderiam ser utilizados para armazenar ideias abstratas,
sejam elas instruções ou números, e que poderiam ser referenciados
posteriormente, adontando para sua máquina o conceito de memória.
sejam elas instruções ou números, adontando na sua máquina o conceito de memória.
.Máquina Analítica e os cartões perfurados.
image::images/historia-do-computador/Babbage-Analytical-Engine-with-cards.png[scaledwidth="60%"]
......@@ -436,8 +434,7 @@ endif::livro-html[]
.O primeiro *bug* da história
========================
A palavra *bug* (inseto em inglês) é empregada atualmente para designar um
defeito, geralmente de software. Mas sua utilização com este sentido remonta
a esta época.
defeito, geralmente de software.
Conta a história que um dia o computador apresentou defeito. Ao serem
investigadas as causas, verificou-se que um inseto havia prejudicado seu
funcionamento. A foto abaixo, supostamente, indica a presença do primeiro bug.
......
......@@ -42,13 +42,13 @@ são transferidos através de barramentos que interligam estes componentes.
A comunicação com o mundo externo, os usuários, se dá pelos
dispositivos de Entrada e Saída (E/S). A comunicação entre o computador e
estes dispositivos se dá através dos controladores de cada dispositivo de
E/S. Em computadores comuns, estes controladores correspondem placas de
E/S. Em computadores comuns, estes controladores correspondem a placas de
circuito encaixadas na placa principal do computador (placa mãe). Está
ilustrada na <<fig_arquitetura_geral>>, a arquitetura básica de um computador, demonstrando a
organização de seus componentes básicos.
[[fig_arquitetura_geral]]
.Arquitetural geral de um computador
.Arquitetura geral de um computador
image::images/organizacao-computador/arquitetura_computador.png[scaledwidth="60%"]
......@@ -76,7 +76,7 @@ pode acessar qualquer palavra de memória em qualquer lugar no intervalo de 0 a
O espaço de endereçamento pode ser dividido em regiões distintas
usadas pelo sistema operacional, dispositivos de E/S, programas de usuário e
pilha do sistema operacional.
pilha de execução do sistema operacional.
[[fig_mapa_memoria]]
.Mapa de Memória do Computador
......@@ -131,10 +131,9 @@ entre a UCP, os dispositivos de E/S e a memória principal.
NOTE: Executar uma simples operação de soma é mais complexo que apenas somar
estes números. Coordenado pela unidade de controle, os registradores
intermediam a comunicação da memória principal e a ULA. Este processo pode
ser resumido assim:
intermediam a comunicação da memória principal e a ULA.
.Passos
.Passos para a operação de soma
. Obter da memória um dos valores da soma e guardar em um registrador;
. Obter da memória o outro número a ser somado e armazená-lo em
outro registrador;
......@@ -159,7 +158,7 @@ microfone como entrada adicional.
Os dispositivos de E/S trabalham com a memória do computador do
seguinte modo: os dados captados pelos dispositivos de entrada são
representados em pulsos elétricos e transmitidos ao computador, ali estes
representados em pulsos elétricos e transmitidos ao computador. Estes
pulsos são convertidos em dados binários e armazenados na memória do
computador. No caminho inverso, a informação binária é transformada em pulso
elétrico e encaminhada para o dispositivo de saída especialista para
......@@ -222,7 +221,7 @@ codificadas como padrões de bits. Ao conjunto de instruções é dado o
nome de linguagem de máquina, e cada uma destas instruções é chamada de
instrução de máquina.
Algo que pode surpreender o leitor é a pequena quantidade necessária
Algo que pode surpreender o leitor é a pequena quantidade de instruções necessária
para a UCP decodificar, sendo através da combinação destas poucas
instruções, bem planejadas, que o computador desenvolve tarefas de usos
gerais nas mais diversas situações em nosso cotidiano. E a grandeza da
......
......@@ -4,7 +4,7 @@
Este livro foi desenvolvido para a introdução do tema Computação, não tendo a ambição de englobar toda esta vasta área do conhecimento humano. Computação é a área responsável pelas diversas regras e técnicas para o ato de computar, representar e disponibilizar a informação de forma automática.
O curso de Licenciatura em Computação tem como objetivo transformar seu egresso em profissionais que possam atuar na área da educação com o auxílio da Computação, tanto para ensinar conceitos de sua própria área, como também servir de consultor para professores que atuam em diversas áreas como Matemática, História, Ciências e etc.
O curso de Licenciatura em Computação tem como objetivo transformar seus egressos em profissionais que possam atuar na área da educação com o auxílio da Computação, tanto para ensinar conceitos de sua própria área, como também servir de consultor para professores que atuam em diversas áreas como Matemática, História, Ciências e etc.
Mas para o profissional desta área se tornar um diferencial na educação, ele precisa ser preparado nas Ciências da Computação, permitindo que o mesmo possa responder a questões como: Como a informação é representada em um computador? Como o computador realiza uma soma? Como fazer para o computador resolver um problema específico de forma automática? Como o computador disponibiliza informação no mundo todo e como fazer para disponibilizar o seu material neste meio? São perguntas como esta que o aluno irá aprender a responder durante todo o seu curso, sendo este livro apenas um produtor de novas dúvidas.
......
......@@ -222,8 +222,6 @@ estes dispositivos precisam de uma consciência para torná-los úteis. Podemos
chamar esta ``consciência'' de protocolos de rede, ou protocolos de
Internet. Kurose define um protocolo como:
.Definição de Protocolo
____
Um protocolo define o formato e a ordem das mensagens trocadas entre duas ou
mais entidades comunicantes, bem como as ações realizadas na transmissão
......@@ -264,7 +262,7 @@ entrega, pacotes fora de ordem e etc.
Para esta atividade propomos a divisão da turma em grupos, que passamos a
chamar de rede de alunos. A <<fig_redes3>> apresenta uma configuração com cinco
redes cada uma contendo 5 alunos, sendo uma intitulada roteador e identificado
redes cada uma contendo 5 alunos, sendo um intitulado roteador e identificado
por R da sua rede e os outros quatro numerados de 1-4 dentro da sua própria
rede. A quantidade de alunos em cada rede pode variar de acordo com o tamanho
da turma.
......@@ -327,7 +325,7 @@ telefone residencial, sendo muito inconveniente devido ao uso não simultâneo
do telefone, logo, a linha fica ocupada durante a conexão, além do alto custo
cobrado por minuto como se fosse uma ligação comum. As ISPs provedores
residenciais conseguiam devido à qualidade do fio de telefone (par trançado)
uma velocidade de transmissão no máximo de 56kbps (kilobytes por segundo).
uma velocidade de transmissão no máximo de 56kbps (kilobits por segundo).
A tecnologia conhecida como banda larga, trouxe mais velocidade à transmissão
e tirou a necessidade de dedicar a linha telefônica durante a transmissão.
......@@ -729,7 +727,7 @@ Durante seu doutorado no Instituto de Tecnologia de Massachusets (MIT), o prof.
Leonard Kleinrock elaborou os princípios da comutação de pacotes, tecnologia
básica da Internet que substituiu a comutação de circuitos, maciçamente
utilizada pelas empresas de telecomunicação da época, para a comunicação
de dados digitais. Ele é Engenheiro elétrico, mestre e doutor em engenharia
de dados digitais. Ele é engenheiro elétrico, mestre e doutor em engenharia
elétrica pelo MIT.
......
......@@ -118,7 +118,7 @@ Não há uma ordem particular, por exemplo, na <<estado_civil_estendido>>
em que seria *codificado* como `11` (lê-se um-um).
IMPORTANT: O termo *codificar* significa traduzir um conteúdo para a sua
IMPORTANT: O termo *codificação binária* significa traduzir um conteúdo para a sua
representação binária.
Percebam também que, quando
......@@ -161,8 +161,8 @@ representados.
| 7 | 00000111 | 15| 00001111 | 23| 00010111 | 31| 00011111 | 255| 11111111
|=================================
NOTE: Usualmente os bits são representados utilizando o sistema *hexadecimal*,
pois eles ocupam menos espaço. Por exemplo, a sequência de bits `1111 1000`
NOTE: Usualmente os números são representados utilizando o sistema *hexadecimal*,
pois eles são mais fáceis de manipular por programadores. Por exemplo, a sequência de bits `1111 1000`
é expressa por `F8` em hexadecimal.
......@@ -180,7 +180,7 @@ Na <<tabela_ascii>> é apresentado um extrato da tabela ASCII,
onde cada caractere possui sua representação em bits.
Este padrão também inclui outros caracteres de controle, não apresentados na tabela,
como 'fim de linha' e 'final de arquivo'.
A composição de um texto é realizada informado a sequência de caracteres
A composição de um texto é realizada informando a sequência de caracteres
contidos nele.
......
......@@ -50,7 +50,7 @@ sistemas de numeração.
==== Sistema de numeração Egípcio (3000 a.C.)
Um dos primeiros sistemas de numeração que temos conhecimento é o egípcio,
quefoi desenvolvido pelas civilizações que viviam no vale do Rio Nilo, ao
que foi desenvolvido pelas civilizações que viviam no vale do Rio Nilo, ao
nordeste da África.
Observem, na <<sistema_egipcio>>, os símbolos e a representação de alguns números
......@@ -127,7 +127,7 @@ símbolo representava valores diferentes dependendo da posição ocupada, e
decimal porque era utilizado um agrupamento de dez símbolos.
Esse sistema posicional decimal, criado pelos hindus, corresponde ao nosso
atual sistema de numeração, já estudado por você nas séries anteriores.
atual sistema de numeração, já estudado por você nas séries do ensino fundamental.
Por terem sido os árabes os responsáveis pela divulgação desse sistema. Ele
ficou conhecido como sistema de numeração indo-arábico. Os dez símbolos,
utilizados para representar os números, denominam-se algarismos
......@@ -262,7 +262,7 @@ duas bases quaisquer.
As conversões mais simples são as que envolvem bases que são potências
entre si. Vamos exemplificar com a conversão entre a base 2 e a base 8. Como
2~3~ = 8, então a conversão funciona da seguinte forma: separando os algarismos
2^3^ = 8, então a conversão funciona da seguinte forma: separando os algarismos
de um número binário (base 2) em grupos de três algarismos (começando
sempre da direita para a esquerda) e convertendo cada grupo de três algarismos
para seu equivalente em octal, teremos a representação do número em octal.
......@@ -434,7 +434,7 @@ Logo temos:
[cols="^"]
|==============
| 278~10~ = 116278~16~
| 278~10~ = 116~16~
|==============
......@@ -455,9 +455,9 @@ apresentadas apenas três para representar valores negativos:
(((Sinal)))
Como o próprio nome indica, a representação *sinal* e *amplitude* utiliza um bit
Como o próprio nome indica, a representação *sinal* e *amplitude* é dividida em duas partes. Utiliza um bit
para representar o sinal, o bit mais à esquerda: *0* para indicar um valor
positivo, *1* para indicar um valor negativo.
positivo, *1* para indicar um valor negativo. Já o resto dos bits representam seu valor absoluto.
image::images/sistema-de-numeracao/sinal_magnitude.png[scaledwidth="40%", width="50%"]
......@@ -562,7 +562,7 @@ pela ULA (Unidade Lógica e Aritmética) dos processadores.
(((Soma binária)))(((Subtração binária)))
A tabuada da soma aritmética em:
A tabuada da soma aritmética binária:
0 + 0 = 0
0 + 1 = 1
......@@ -1096,7 +1096,7 @@ http://www.dcmm.puc-rio.br/cursos/eletronica/html/sld001.htm.
O importante agora é sabermos que existem portas lógicas que seguem a lógica
binária já apresentada e que estas portas podem ser combinadas, formando os
*Circuitos Digitais*. A Figura <<fig_somador>> apresenta um Circuito Digital Somador de Dois
*Circuitos Digitais*. A <<fig_somador>> apresenta um Circuito Digital Somador de Dois
Bits.
(((somador)))
......
......@@ -11,7 +11,7 @@ Ao final deste capítulo você deverá ser capaz de:
* Apresentar os principais fatos na evolução dos Sistemas Operacionais durante
a evolução da arquitetura dos computadores;
* Descrever os principais conceitos de Sistema Operacional e como os mesmo
* Descrever os principais conceitos de Sistema Operacional e como o mesmo
abstrai o uso do hardware de um computador.
____
......@@ -91,7 +91,7 @@ fim, a camada de aplicações, escritas pelos usuários para resolver seus
problemas específicos, como processamento de imagens, serviços de
comunicação na rede, aplicações comerciais, científicas e etc.
Muito confundem o Sistema Operacional com a sua interface gráfica. No Windows,
Muitos confundem o Sistema Operacional com a sua interface gráfica. No Windows,
Sistema Operacional da Microsoft, existe um programa do sistema, chamado
gerenciador de janelas, responsável por controlar as ações do usuário e
ativar os recursos do Sistema Operacional, dando assim uma falsa impressão que
......@@ -156,7 +156,7 @@ mesmo tempo na memória.
=== Evolução dos Sistemas Operacionais
A história dos Sistemas operacionais está diretamente ligada a arquitetura
A história dos Sistemas Operacionais está diretamente ligada a arquitetura
dos computadores em que os mesmos iriam executar. Nesta seção iremos abordar
alguns exemplos desta evolução casada entre o hardware e o software.
......@@ -199,7 +199,7 @@ de sistema em lote.
O sistema em lote trabalhava com fitas magnéticas que possuíam diversos
programas a serem executados em sequencia. Um programa especial (ancestral do
Sistema Operacional) carregava cada programa da fita, executava o programa e
envia sua saída para a impressora. Após o encerramento deste programa o
enviava sua saída para a impressora. Após o encerramento deste programa o
sistema configurava a próxima atividade para entrar em execução. Este ciclo
se repetia até acabarem todas as atividades do lote.
......@@ -218,9 +218,9 @@ IBM 360 foi o principal computador adotado pelos dois filões do mercado.
A principal mudança para os Sistemas Operacionais foi a criação da
Multiprogramação, permitindo que vários programas pudessem compartilhar a
memória principal ao mesmo tempo cada uma com seu espaço reservado na
memória principal ao mesmo tempo, cada uma com seu espaço reservado na
memória, compartilhamento do espaço (<<fig_compartilhar_tempo_espaco>>(a)),
podendo estas atividades ser executadas ao mesmo tempo.
podendo estas atividades serem executadas ao mesmo tempo.
[[fig_compartilhar_tempo_espaco]]
......@@ -267,7 +267,7 @@ como se estivesse usando seu teclado ou mouse local.
image::images/sistemas-operacionais/appleXmicrosoft.png[scaledwidth="60%"]
Na década de 70 dois jovens estudantes tiveram visões distintas sobre o
futuro dos computadores na época dominada por grandes computadores da poderosa
futuro dos computadores, na época dominada por grandes computadores da poderosa
IBM. Seus nomes Steven Jobs e Bill Gates. O primeiro entendeu que o computador
deveria ser usado por pessoas comuns para auxiliá-los em tarefas do trabalho e
de casa, criando assim o conceito de Computador Pessoal, materializado pelo
......@@ -450,7 +450,7 @@ image::images/sistemas-operacionais/estados.png[scaledwidth="60%"]
As transições entre os estados também estão ilustradas na <<fig_transicao_de_estados>>, estas
transições são:
1. Processo bloqueia aguardando um entrada dos dispositivos de E/S.
1. Processo bloqueia aguardando uma entrada dos dispositivos de E/S.
2. O escalador de processos seleciona outro processo.
......@@ -485,7 +485,7 @@ quase uma definição de processo. Contudo, frequentemente há situações em
que é desejável ter múltiplos threads de controle no mesmo espaço de
endereçamento executando quase em paralelo como se fossem dois processos
separados. Este conceito, chamado de multithread, pode ser observado na
<<fig_processos_x_threads>>(a) a seguir.
<<fig_processos_x_threads>>(b) a seguir.
[[fig_processos_x_threads]]
.(a)Três processos, cada um com um Thread de execução. (b) Um processo com três threads de execução.
......@@ -565,7 +565,7 @@ execução.
Na multiprogramação vários programas podem ter pedaços ativos deles em
memória, enquanto o resto se encontra em disco. Ficando como responsabilidade
do Sistema Operacional o controle de indicar que programas devem ficar na
memória e quais devem ficar em disco, chaveando estes programa a medida que
memória e quais devem ficar em disco, chaveando estes programas a medida que
forem sendo exigidos pelo usuário.
==== Entrada/Saída (E/S)
......
......@@ -28,7 +28,7 @@ Independente de sua real etimologia, a ideia principal contida na palavra
refere-se à descrição sistemática da maneira de se realizar alguma tarefa. Para
a Ciência da computação, o conceito de algoritmo foi formalizado em 1936
por Alan Turing (Máquina de Turing) e Alonzo Church, que formaram as primeiras
fundações da Ciência da computação. Sendo esta formalização descrita a
fundações da Ciência da Computação. Sendo esta formalização descrita a
seguir:
[quote]
......@@ -233,7 +233,7 @@ etc.
Com esta filosofia os pesquisadores de computação desenvolveram a terceira
geração de linguagens de programação, sendo suas primitivas básicas de
alto nível e independentes de máquina, um diferencial das linguagens
anteriores. Estas linguagens são desenvolvidas para usos mais especialisados.
anteriores. Estas linguagens são desenvolvidas para usos mais especializados.
Os exemplos mais conhecidos desta primeira fase das linguagens de alto nível
são o FORTRAN (FORmula TRANslation), que foi desenvolvido para aplicações
científicas e de engenharia, e o COBOL (Common Business-Oriented Language)
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment