Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Manual de Conceitos de Hardware e Software de Computador

Fazer download em pdf ou txt
Fazer download em pdf ou txt
Você está na página 1de 198

MANUAL DO CURSO DE LICENCIATURA EM

Gestão de Sistemas de Informação

2º Ano
Disciplina: Conceitos de hardware
e software de computador
Código:
Total Horas/1o Semestre:
Créditos (SNATCA):
Número de Temas:

INSTITUTO SUPER
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

Direitos de autor (copyright)

Este manual é propriedade do Instituto Superior de Ciências e Educação a Distância (ISCED), e


contém reservados todos os direitos. É proibida a duplicação ou reprodução parcial ou total
deste manual, sob quaisquer formas ou por quaisquer meios (electrónicos, mecânico,
gravação, fotocópia ou outros), sem permissão expressa de entidade editora (Instituto
Superior de Ciências e Educação a Distância (ISCED).

A não observância do acima estipulado o infractor é passível a aplicação de processos judiciais


em vigor no País.

Instituto Superior de Ciências e Educação a Distância (ISCED)


Direcção Académica
Rua Dr. Almeida Lacerda, No 212 Ponta - Gêa
Beira - Moçambique
Telefone: +258 23 323501
Cel: +258 82 3055839

Fax: 23323501
E-mail: isced@isced.ac.mz
Website: www.isced.ac.mz

i
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

Agradecimentos

O Instituto Superior de Ciências e Educação a Distância (ISCED) agradece a colaboração dos


seguintes indivíduos e instituições na elaboração deste manual:

Autora Nelta Niquice

Direcção Académica do ISCED


Coordenação
Instituto Superior de Ciências e Educação a Distância (ISCED)
Design
Instituto Africano de Promoção da Educação a Distancia (IAPED)
Financiamento e Logística
XXXXX
Revisão Científica e
Linguística

Ano de Publicação 2018

Local de Publicação ISCED – BEIRA

ii
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

Índice

Visão geral 1
Benvindo ao Módulo de Conceitos de Hardware e Software de Computadores ............ 1
Objectivos da Disciolina/Módulo ................................................................................... 1
Quem deveria estudar este módulo? ............................................................................. 1
Como está estruturado este módulo?............................................................................ 2
Ícones de actividade ...................................................................................................... 3
Habilidades de estudo ................................................................................................... 3
Precisa de apoio? .......................................................................................................... 5
Tarefas (avaliação e auto-avaliação) .............................................................................. 6
Avaliação ....................................................................................................................... 6

TEMA I: ARQUITETURA DE COMPUTADORES 9


Unidade 1.1. Introdução a Arquitetura de Computadores. ..................................................... 9
Unidade 1.2. Estrutura da Memória Principal-Células e Endereços ...................................... 16
Unidade 1.3. Unidade Central de Processamento ................................................................ 19
Unidade 1.4. Abordagem sobre Barramentos ....................................................................... 22
Unidade 1.5. Abordagem sobre Uniprocessadores e Multiprocessadores ............................. 29
Unidade 1.6. EXRECÍCIOS INTEGRADOS das unidades deste tema......................................... 34

TEMA II: INTRODUÇÃO AOS DISPOSITIVOS PERIFÉRICOS 36


Unidade 2.1. Introdução aos Dispositivos Periféricos ........................................................... 36
Unidade 2.2. Tipos de Comunicação com os Dispositivos ..................................................... 39
Unidade 2.5. EXRECÍCIOS INTEGRADOS das unidades deste tema......................................... 58

TEMA III: CIRCUITOS LÓGICOS 61


Unidade 3.1. Conceitos de Lógica Digital .............................................................................. 61
Unidade 3.2. Portas Lógicas .................................................................................................. 63
Unidade 3.3. Descrição Algébrica de Circuitos Lógicos .......................................................... 65
Unidade 3.4. Implementação de circuitos utilizando Expressões Booleanas ......................... 70
Unidade 3.5. Lógica Temporizada ......................................................................................... 70
Unidade 3.6. EXERCÍCIOS INTEGRADOS das unidades deste tema......................................... 83

TEMA IV: CIRCUITOS LÓGICOS 61


Unidade 4.1. Introdução ao Gerenciamento de Processos .................................................... 61
Unidade 4.2. Estrutura do Processo ...................................................................................... 63
Unidade 4.3. Estados do Processo ........................................................................................ 65
Unidade 4.4. Formas de Criação de Processos ...................................................................... 70
Unidade 4.5. EXERCÍCIOS INTEGRADOS das unidades deste tema......................................... 70

iii
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

TEMA V: GERECIAMENTO DE MEMÓRIA 61


Unidade 5.1. Introdução à Memória ..................................................................................... 61
Unidade 5.2. Funções Básicas ............................................................................................... 63
Unidade 5.3. alocação Particionada ...................................................................................... 65
Unidade 5.4. Swapping ......................................................................................................... 70
Unidade 5.5. EXERCÍCIOS INTEGRADOS das unidades deste tema......................................... 70

TEMA VI: SISTEMAS DE ARQUIVOS 61


Unidade 6.1. Introdução, aos Sistemas de Arquivos .............................................................. 61
Unidade 6.2. Implementação de Arquivos ............................................................................ 63
Unidade 6.3. Directórios ....................................................................................................... 65
Unidade 6.4. EXERCÍCIOS INTEGRADOS das unidades deste tema ......................................... 70

TEMA VII: ARQITETURA DO MICROPROCESSADOR INTEL 86


Unidade 7.1 Arquitetura do Microprocessador INTEl .......................................................... 86
Unidade 7.2. O Microprocessador INTEL 8080 ..................................................................... 93
Unidade 7.3. EXERCÍCIOS INTEGRADOS das unidades deste tema....................................... 100

TEMA VIII: INTRODUÇÃO AO SOFTWARE LIVRE 102


Unidade 8.1. Introdução ao Software Livre ......................................................................... 102
Unidade 8.2. Principais Software Livres ............................................................................. 103
Unidade 8.3. Principais tipos de Licenças de Software Livres ............................................. 108
Unidade 8.5. EXERCÍCIOS INTEGRADOS das unidades deste tema ...................................... 121

iv
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

Visão geral

Benvindo à Disciplina/Módulo de Conceito de


hardware e software de computador

Objectivos do Módulo

Ao terminar o estudo deste módulo de Conceito de hardware e


software de computador deverá ser capaz de: Descrever as
características funcionais das partes do computador, Compreender
a estrutura interna de cada elemento de computador e Conhecer a
tendência evolutiva das arquiteturas dos computadores.

▪ Entender a arquitetura de um computador.

▪ Analisar diferente software incluindo comerciais e open Soure.

▪ Selecionar um hardware de computador e software adequados


Objectivos
Específicos para um determinado contexto;

Quem deveria estudar este módulo

Este Módulo foi concebido para estudantes do 2º ano do curso de


licenciatura em Gestão de Sistemas de Informação do ISCED.
Poderá ocorrer, contudo, que haja leitores que queiram se
actualizar e consolidar seus conhecimentos nessa disciplina, esses
serão bem-vindos, não sendo necessário para tal se inscrever. Mas
poderá adquirir o manual.

1
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

Como está estruturado este módulo

Este módulo de Conceito de hardware e software de computador,


para estudantes do 2º ano do curso de licenciatura em Gestão de
Sistemas de Informação, à semelhança dos restantes do ISCED, está
estruturado como se segue:
Páginas introdutórias

▪ Um índice completo.
▪ Uma visão geral detalhada dos conteúdos do módulo,
resumindo os aspectos-chave que você precisa conhecer para
melhor estudar. Recomendamos vivamente que leia esta secção
com atenção antes de começar o seu estudo, como componente
de habilidades de estudos.
Conteúdo desta Disciplina/módulo

Este módulo está estruturado em Temas. Cada tema, por sua vez
comporta certo número de unidades temáticas ou simplesmente
unidades. Cada unidade temática se caracteriza por conter uma
introdução, objectivos, conteúdos.
No final de cada unidade temática ou do próprio tema, são
incorporados antes o sumário, exercícios de auto-avaliação, só
depois é que aparecem os exercícios de avaliação.
Os exercícios de avaliação têm as seguintes características: Puros
exercícios teóricos/Práticos, Problemas não resolvidos e
actividades práticas, incluído estudo de caso.

Outros recursos

A equipa dos académicos e pedagogos do ISCED, pensando em si,


num cantinho, recôndito deste nosso vasto Moçambique e cheio de
dúvidas e limitações no seu processo de aprendizagem, apresenta
uma lista de recursos didácticos adicionais ao seu módulo para você
explorar. Para tal o ISCED disponibiliza na biblioteca do seu centro
de recursos mais material de estudos relacionado com o seu curso
como: Livros e/ou módulos, CD, CD-ROOM, DVD. Para além deste
material físico ou electrónico disponível na biblioteca, pode ter
acesso a Plataforma digital moodle para alargar mais ainda as
possibilidades dos seus estudos.

2
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

Auto-avaliação e Tarefas de avaliação

Tarefas de auto-avaliação para este módulo encontram-se no final


de cada unidade temática e de cada tema. As tarefas dos exercícios
de auto-avaliação apresentam duas características: primeiro
apresentam exercícios resolvidos com detalhes. Segundo,
exercícios que mostram apenas respostas.
Tarefas de avaliação devem ser semelhantes às de auto-avaliação
mas sem mostrar os passos e devem obedecer o grau crescente de
dificuldades do processo de aprendizagem, umas a seguir a outras.
Parte das terefas de avaliação será objecto dos trabalhos de campo
a serem entregues aos tutores/docentes para efeitos de correcção
e subsequentemente nota. Também constará do exame do fim do
módulo. Pelo que, caro estudante, fazer todos os exercícios de
avaliação é uma grande vantagem.
Comentários e sugestões

Use este espaço para dar sugestões valiosas, sobre determinados


aspectos, quer de natureza científica, quer de natureza didáctico-
Pedagógica, etc, sobre como deveriam ser ou estar apresentadas.
Pode ser que graças as suas observações que, em gozo de
confiança, classificamo-las de úteis, o próximo módulo venha a ser
melhorado.

Ícones de actividade

Ao longo deste manual irá encontrar uma série de ícones nas


margens das folhas. Estes ícones servem para identificar diferentes
partes do processo de aprendizagem. Podem indicar uma parcela
específica de texto, uma nova actividade ou tarefa, uma mudança
de actividade, etc.

Habilidades de estudo

O principal objectivo deste campo é o de ensinar aprender a


aprender. Aprender aprende-se.

Durante a formação e desenvolvimento de competências, para


facilitar a aprendizagem e alcançar melhores resultados, implicará
empenho, dedicação e disciplina no estudo. Isto é, os bons
resultados apenas se conseguem com estratégias eficientes e
eficazes. Por isso é importante saber como, onde e quando estudar.
Apresentamos algumas sugestões com as quais esperamos que caro

3
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

estudante possa rentabilizar o tempo dedicado aos estudos,


procedendo como se segue:

1º Praticar a leitura. Aprender a Distância exige alto domínio de


leitura.

2º Fazer leitura diagonal aos conteúdos (leitura corrida).

3º Voltar a fazer leitura, desta vez para a compreensão e assimilação


crítica dos conteúdos (ESTUDAR).

4º Fazer seminário (debate em grupos), para comprovar se a sua


aprendizagem confere ou não com a dos colegas e com o padrão.

5º Fazer TC (Trabalho de Campo), algumas actividades práticas ou as


de estudo de caso se existirem.

IMPORTANTE: Em observância ao triângulo modo-espaço-tempo,


respectivamente como, onde e quando...estudar, como foi referido
no início deste item, antes de organizar os seus momentos de estudo
reflicta sobre o ambiente de estudo que seria ideal para si: Estudo
melhor em casa/biblioteca/café/outro lugar? Estudo melhor à
noite/de manhã/de tarde/fins-de-semana/ao longo da semana?
Estude melhor com música/num sítio sossegado/num sítio
barulhento!? Preciso de intervalo em cada 30 minutos, em cada
hora, etc.

É impossível estudar numa noite tudo o que devia ter sido estudado
durante um determinado período de tempo; Deve estudar cada
ponto da matéria em profundidade e passar só ao seguinte quando
achar que já domina bem o anterior.

Privilegia-se saber bem (com profundidade) o pouco que puder ler e


estudar, que saber tudo superficialmente! Mas a melhor opção é
juntar o útil ao agradável: Saber com profundidade todos conteúdos
de cada tema, no módulo.

Dica importante: não recomendamos estudar seguidamente por


tempo superior a uma hora. Estudar por tempo de uma hora
intercalado por 10 (dez) a 15 (quinze) minutos de descanso (chama-
se descanso à mudança de actividades). Ou seja que durante o
intervalo não se continuar a tratar dos mesmos assuntos das
actividades obrigatórias.

4
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

Uma longa exposição aos estudos ou ao trabalho intelectual


obrigatório pode conduzir ao efeito contrário: baixar o rendimento
da aprendizagem. Por que o estudante acumula um elevado volume
de trabalho, em termos de estudos, em pouco tempo, criando
interferência entre os conhecimentos, perde sequência lógica, por
fim ao perceber que estuda tanto mas não aprende, cai em
insegurança, depressão e desespero, por se achar injustamente
incapaz!

Não estude na última da hora; quando se trate de fazer alguma


avaliação. Aprenda a ser estudante de facto (aquele que estuda
sistematicamente), não estudar apenas para responder a questões
de alguma avaliação, mas sim estude para a vida, sobre tudo, estude
pensando na sua utilidade como futuro profissional, na área em que
está a se formar.

Organize na sua agenda um horário onde define a que horas e que


matérias deve estudar durante a semana; Face ao tempo livre que
resta, deve decidir como o utilizar produtivamente, decidindo
quanto tempo será dedicado ao estudo e a outras actividades.

É importante identificar as ideias principais de um texto, pois será


uma necessidade para o estudo das diversas matérias que
compõem o curso: A colocação de notas nas margens pode ajudar
a estruturar a matéria de modo que seja mais fácil identificar as
partes que está a estudar e Pode escrever conclusões, exemplos,
vantagens, definições, datas, nomes, pode também utilizar a
margem para colocar comentários seus relacionados com o que
está a ler; a melhor altura para sublinhar é imediatamente a seguir
à compreensão do texto e não depois de uma primeira leitura;
Utilizar o dicionário sempre que surja um conceito cujo significado
não conhece ou não lhe é familiar;

Precisa de apoio?

Caro estudante, temos a certeza que por uma ou por outra razão, o
material de estudos impresso, lhe pode suscitar algumas dúvidas
como falta de clareza, alguns erros de concordância, prováveis erros
ortográficos, falta de clareza, fraca visibilidade, página trocada ou
invertidas, etc). Nestes casos, contacte os serviços de atendimento
e apoio ao estudante do seu Centro de Recursos (CR), via telefone,
sms, E-mail, se tiver tempo, escreva mesmo uma carta participando
a preocupação.

5
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

Uma das atribuições dos Gestores dos CR e seus assistentes


(Pedagógico e Administrativo), é a de monitorar e garantir a sua
aprendizagem com qualidade e sucesso. Dai a relevância da
comunicação no Ensino a Distância (EAD), onde o recurso as TIC se
torna incontornável: entre estudantes, estudante – Tutor, estudante
– CR, etc.
As sessões presenciais são um momento em que você caro
estudante, tem a oportunidade de interagir fisicamente com staff do
seu CR, com tutores ou com parte da equipa central do ISCED
indigitada para acompanhar as suas sessões presenciais. Neste
período pode apresentar dúvidas, tratar assuntos de natureza
pedagógica e/ou administrativa.
O estudo em grupo, que está estimado para ocupar cerca de 30%
do tempo de estudos a distância, é muita importância, na medida
em que lhe permite situar, em termos do grau de aprendizagem
com relação aos outros colegas. Desta maneira ficará a saber se
precisa de apoio ou precisa de apoiar aos colegas. Desenvolver
hábito de debater assuntos relacionados com os conteúdos
programáticos, constantes nos diferentes temas e unidade
temática, no módulo.

Tarefas (avaliação e auto-avaliação)

O estudante deve realizar todas as tarefas (exercícios, actividades e


auto−avaliação), contudo nem todas deverão ser entregues, mas é
importante que sejam realizadas. As tarefas devem ser entregues
duas semanas antes das sessões presenciais seguintes.
Para cada tarefa serão estabelecidos prazos de entrega, e o não
cumprimento dos prazos de entrega, implica a não classificação do
estudante. Tenha sempre presente que a nota dos trabalhos de
campo conta e é decisiva para ser admitido ao exame final da
disciplina/módulo.
Os trabalhos devem ser entregues ao Centro de Recursos (CR) e os
mesmos devem ser dirigidos ao tutor/docente.
Podem ser utilizadas diferentes fontes e materiais de pesquisa,
contudo os mesmos devem ser devidamente referenciados,
respeitando os direitos do autor.
O plágio1 é uma violação do direito intelectual do(s) autor(es). Uma
transcrição à letra de mais de 8 (oito) palavras do testo de um autor,
sem o citar é considerado plágio. A honestidade, humildade
1
Plágio - copiar ou assinar parcial ou totalmente uma obra literária, propriedade
intelectual de outras pessoas, sem prévia autorização.

6
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

científica e o respeito pelos direitos autorais devem caracterizar a


realização dos trabalhos e seu autor (estudante do ISCED).

Avaliação

Muitos perguntam: Com é possível avaliar estudantes à distância,


estando eles fisicamente separados e muito distantes do
docente/tutor! Nós dissemos: Sim é muito possível, talvez seja uma
avaliação mais fiável e consistente.
Você será avaliado durante os estudos à distância que contam com
um mínimo de 90% do total de tempo que precisa de estudar os
conteúdos do seu módulo. Quando o tempo de contacto presencial
conta com um máximo de 10%) do total de tempo do módulo. A
avaliação do estudante consta detalhada do regulamentado de
avaliação.
Os trabalhos de campo por si realizados, durante estudos e
aprendizagem no campo, pesam 25% e servem para a nota de
frequência para ir aos exames.
Os exames são realizados no final da cadeira disciplina ou modulo e
decorrem durante as sessões presenciais. Os exames pesam no
mínimo 75%, o que adicionado aos 25% da média de frequência,
determinam a nota final com a qual o estudante conclui a cadeira.
A nota de 10 (dez) valores é a nota mínima de conclusão da cadeira.
Nesta cadeira o estudante deverá realizar pelo menos 2 (dois)
trabalhos e 1 (um) (exame).
Algumas actividades práticas, relatórios e reflexões serão utilizados
como ferramentas de avaliação formativa.
Durante a realização das avaliações, os estudantes devem ter em
consideração a apresentação, a coerência textual, o grau de
cientificidade, a forma de conclusão dos assuntos, as
recomendações, a identificação das referências bibliográficas
utilizadas, o respeito pelos direitos do autor, entre outros.
Os objectivos e critérios de avaliação constam do Regulamento de
Avaliação.

7
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

TEMA – 1: ARQUITECTURA DE COMPUTADORES.

UNIDADE Temática 1.1. Introdução a Arquitectura de Computadores.


UNIDADE Temática 1.2. Estrutura da Memória Principal-Células e
Endereços.
UNIDADE Temática 1.3. Unidade Central de Processamento.
UNIDADE Temática 1.4. Abordagem sobre Barramentos.
UNIDADE Temática 1.5. Abordagem sobre Uniprocessadores e
Multiprocessadores
UNIDADE Temática 1.6. EXERCÍCIOS deste tema

Ao completar esta unidade, você deverá ser capaz de:


▪ Descrever a Arquitectura de Computadores.

Objectivos ▪ Mostrar como a memória guarda e recupera a informação no computador.


específicos Bem como mostrar a importância que a Unidade Central de Processamento
exerce no computador
▪ Descrever os diversos tipos de comunicação de Barramento de dados, mais
também classificar os sistemas de computação tendo em conta o número de
processadores utilizados.

UNIDADE Temática 1.1. Arquictetura dos Computadores

A arquitetura básica de um computador moderno segue ainda de forma


geral os conceitos estabelecidos pelo Professor da Universidade de
Princeton, John Von Neumann (1903-1957). Von Neumann propôs
construir computadores que: 1. Codificassem instruções que pudessem
ser armazenadas na memória e sugeriu que usassem cadeias de uns e
zeros (binário) para codificá-los; 2. Armazenassem na memória as
instruções e todas as informações que fossem necessárias para a
execução da tarefa desejada; 3. Ao processarem o programa, as
instruções fossem buscadas diretamente na memória.

9
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

Memória UC Dispositivos
Principal de Entrada
e Saída
ULA

DMA – deixa a Ucp disponível para


outro processamento em paralelo

troca de informações (dados ou intruções) -fluxo bidirecional


Sinais de controle – fluxo unidirecional (da UCP para os demais
dispositivos

Figura 1-1: Diagrama Bloco dos Computadores

Toda a lógica dos computadores é construída a partir de chaves liga /


desliga. Inicialmente foram usadas chaves mecânicas, depois relês
eletromecânicos construído por Konrad Zuse em 1941 e o MARK 1 de
Howard Aiken em 1944 (capazes de executar até 5 chaveamentos por
segundo). Posteriormente, foram substituídos pelas válvulas no ENIAC
em 1946 (capazes de 100.000 chaveamentos por segundo), e
finalmente pelos transístores (semicondutores) inventados em
Stanford em 1947. Os circuitos integrados (ou CI's) são
encapsulamentos compactos (LSI - Large Scale Integration e VLSI - Very
Large Scale Integration) de circuitos constituídos de minúsculos
transístores.

1.1.1 Unidade Central de Processamento

A Unidade Central de Processamento é a responsável pelo


processamento e execução de programas armazenados na MP.

Funções: Executar instruções - realizar aquilo que a instrução determina


e realizar o controle das operações no computador.

a) Unidade Lógica e Aritmética (ULA) - responsável pela realização das


operações lógicas (E, OU, etc) e aritméticas (somar, etc).

b) Unidade de Controle (UC) - envia sinais de controle para toda a


máquina, de forma que todos os circuitos e dispositivos funcionem

10
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

adequada e sincronizadamente.

1.1.2. Memória Principal (MP)

A Memória Principal tem por finalidade armazenar toda a informação


que é manipulada pelo computador, programas e dados. Para que um
programa possa ser manipulado pela máquina, ele primeiro precisa
estar armazenado na memória principal. Os circuitos da Memória
Principal não são combinatórios, ele tem capacidade de armazenar bits.
Os circuitos usados são do tipo "flip-flop", que serão vistos em sistemas
operacionais. Tem por finalidade permitir a comunicação entre o
usuário e o computador. Para executar um programa, bastaria UCP e
MP; no entanto, sem os dispositivos de E/S não haveria a comunicação
entre o usuário e o computador. No processamento automático de
dados os programas são armazenados na MP e a UCP é capaz de
executar um processamento inteiro sem a intervenção do usuário,
mesmo que haja vários desvios no programa.

Passos:

▪ Armazenar o programa na MP;

▪ Indicar à UCP onde o programa está armazenado. Estas


operações são realizadas pelo SISTEMA OPERACIONAL:

11
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

Aplicativo A Aplicativo B Aplicativo C

Gerenciamento de E/S Arquivos


Processos

Gerenciamento de
E/S Dispositivos
Memória

Drivers de dispositivos

Hardware

Figura 1-2: Sistema básico de um Sistema Operacional

1.1.3. Sincronização de Operação do Sistema

Imagine um barco a remo em uma competição, em que a plena


velocidade e direção somente é atingida porque todos os remadores
fazem seus movimentos de forma coordenada, regidos por um "patrão”
geralmente o timoneiro que indica o ritmo das remadas. Imagine uma
outra analogia: o final do intervalo de um espetáculo é sinalizado por
uma campainha, indicando que os espectadores devem dirigir-se aos
seus lugares para o próximo ato. Alguns instantes depois, tocará uma
outra campainha, indicando que terminou o intervalo e que o
espetáculo vai recomeçar, entendendo-se que os espectadores já
devem estar todos sentados em seus lugares, prontos para o próximo
ato. Nestes dois exemplos, aparece a necessidade de um elemento
externo que fica responsável pela coordenação dos tempos entre
diferentes componentes de um sistema, que se comportam de acordo
com suas respectivas leis próprias e com tempos próprios, permitindo
que suas atividades interrelacionadas sejam SINCRONIZADAS de forma
a poder realizar um trabalho em conjunto. As diversas partes de um
computador comportam-se aproximadamente desta forma: instruções

12
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

e dados, após sofrerem algum processamento em um determinado


componente, devem trafegar para o próximo estágio de processamento
(através de condutores, um barramento ou um cabo), de forma a
estarem lá a tempo de serem processados. O computador envia a todos
os seus componentes um sinal elétrico regular o pulso de "clock” que
fornece uma referência de tempo para todas as atividades e permite o
sincronismo das operações internas. O pulso de clock indica que um
ciclo (ou um estado) terminou, significando que o processamento deste
ciclo está terminado e um outro ciclo se inicia, determinando a alguns
circuitos que iniciem a transferência dos dados nele contidos (abrindo
a porta lógica para os próximos estágios) e a outros que recebam os
dados e executem seu processamento. O clock é um pulso alternado de
sinais de tensão alta ("high") e baixa ("low"), gerado pelos circuitos de
relógio (composto de um cristal oscilador e circuitos auxiliares).

1.1.4. Tecnologias das memórias

As primeiras tecnologias utilizadas em memórias foram as memórias de


núcleos magnéticos, hoje apenas uma curiosidade. As memórias
modernas são compostas por circuitos semicondutores, com novas
tecnologias sendo criadas a cada ano permitindo que grandes
quantidades de células de memória sejam encapsuladas em pequenas
pastilhas.

1.1.5. Hierarquia da memória

A MP não é o único dispositivo de armazenamento de um computador.


Em função de características como tempo de acesso, capacidade de
armazenamento, custo, etc., podemos estabelecer uma hierarquia de
dispositivos de armazenamento em computadores.

13
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

Capacidad Velocidad Localizaçã Volatilida


Tipo Custo
e e o de

Registad Muito Muit


Bytes UCP Volátil
or alta o alto

Memória
Kbytes Alta Alto UCP/placa Volátil
Cache

Memória Médi
Mbytes Média Placa Volátil
principal o

Memória
Gbytes Baixa baixo Exerna Não Volátil
Auxiliar

A UCP vê nesta ordem e acessa primeiro a que estiver mais próxima.


Subindo na hierarquia, quanto mais próximo da UCP, maior velocidade,
maior custo, porém menor capacidade de armazenamento.

1.1.6. Controle de Memória

A Memória Principal é a parte do computador onde programas e dados


são armazenados para processamento. A informação permanece na
memória principal apenas enquanto for necessário para seu emprego
pela UCP, sendo então a área de MP ocupada pela informação pode ser
liberada para ser posteriormente sobre gravada por outra informação.
Quem controla a utilização da memória principal é o Sistema
Operacional.

1.1.7. Registradores

Registradores são dispositivos de armazenamento temporário,


localizados na UCP, extremamente rápidos, com capacidade para
apenas um dado (uma palavra). Devido a sua tecnologia de construção
e por estar localizado como parte da própria pastilha ("chip") da UCP, é

14
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

muito caro. O conceito de registrador surgiu da necessidade da UCP de


armazenar temporariamente dados intermediários durante um
processamento. Por exemplo, quando um dado resultado de operação
precisa ser armazenado até que o resultado de uma busca da memória
esteja disponível para com ele realizar uma nova operação. Máquinas
de Sistemas com conjunto de instruções reduzido (Reduced Instruction
Set Computers - RISC) são geralmente construídas com um grande
conjunto de registadores de forma a trazer os dados para o mais
próximo possível da UCP, de forma a que o programa opere sempre
sobre dados que estão em registradores. Registradores são VOLÁTEIS,
isto é, dependem de estar energizados para manter armazenado seu
conteúdo

1.1.8. Memória Cache

Com o desenvolvimento da tecnologia de construção da UCP, as


velocidades foram ficando muito mais altas que as das memórias, que
não tiveram a mesma evolução de velocidade (o aperfeiçoamento das
memórias se deu mais no fator capacidade). Desta forma, os tempos de
acesso às memórias foram ficando insatisfatórios e a UCP ao buscar um
dado na memória precisa ficar esperando muitos ciclos até que a
memória retorne o dado buscado ("wait states"), configurando um
gargalo ("bottleneck") ao desempenho do sistema. Por esse motivo,
desenvolveram-se outras arquiteturas de memória privilegiando a
velocidade de acesso. A arquitetura da memória cache é muito
diferente da arquitetura da memória principal e o acesso a ela é muitas
vezes mais rápido (por exemplo: 5 ns contra 70 ns).

No entanto, o custo de fabricação da memória cache é muito maior que


o da MP. Desta forma, não é econômico construir um computador
somente com tecnologia de memória cache. Criou-se então um artifício,
incorporando-se ao computador uma pequena porção de memória

15
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

cache, localizada entre a UCP e a MP, e que funciona como um espelho


de parte da MP. Desenvolveram-se ainda algoritmos que fazem com
que, a cada momento, a memória cache armazene a porção de código
ou dados (por exemplo, uma sub-rotina) que estão sendo usados pelas
UCP. Esta transferência (MP <--> Cache) é feita pelo hardware: ela
independente do software, que ignora se existe ou não memória cache,
portanto ignora essa transferência; nem o programador nem o sistema
operacional têm que se preocupar com ela. A memória cache opera em
função de um princípio estatístico comprovado: em geral, os programas
tendem a referenciar várias vezes pequenos trechos de programas,
como loops, sub-rotinas, funções e só tem sentido porque programas
executados linearmente, sequencialmente, são raros.

Desta forma, algoritmos (chamados algoritmos de cache) podem


controlar qual parte do código ficará copiado na cache, a cada
momento. Quando a MP busca um determinado trecho de código e o
encontra na cache, dá-se um "cache hit”, enquanto se o dado não
estiver presente na cache será necessário requisitar o mesmo à MP,
acarretando atraso no processamento e dá-se um "cache miss" ou
"cache fault". O índice de cache hit ou taxa de acerto da cache é
geralmente acima de 90%. Memórias cache também são VOLÁTEIS, isto
é, dependem de estar energizadas para manter gravado seu conteúdo.

1.1.9. Memórias Auxiliares

Memórias auxiliares resolvem problemas de armazenamento de


grandes quantidades de informações. A capacidade da MP é limitada
pelo seu relativamente alto custo, enquanto as memórias auxiliares têm
maior capacidade e menor custo; portanto, o custo por bit armazenado
é muito menor. Outra vantagem importante é que as memórias
auxiliares não são VOLÁTEIS, isto é, não dependem de estar energizadas
para manter gravado seu conteúdo. Os principais dispositivos de
memória auxiliar são: discos rígidos (ou HD), drives de disquete,

16
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

unidades de fita, CD-ROM, DVD, unidades ótico-magnéticas, etc. OBS.:


Cache de disco não é a mesma tecnologia da memória cache. Trata-se
do emprego do mesmo conceito da memória cache, para acelerar a
transferência de dados

entre disco, MP e UCP, usando um programa (um software, por


exemplo: SmartDrive) para manter um espelho do conteúdo de parte
do disco (a mais provável de ser requisitada a seguir pela UCP gravado
em uma parte da Memória Principal. Recentemente, as unidades de
disco passaram a incorporar em sua interface chips de memória
tipicamente 32 a 64 Kbytes para acelerar a transferência de dados,
utilizando um algoritmo de cache.

UNIDADE Temática 1.2. Estrutua da Memória principal – Células e Endereços

A memória precisa ter uma organização que permita ao computador


guardar e recuperar informações quando necessário. Não teria nenhum
sentido armazenar informações que não fosse possível recuperar
depois. Portanto, não basta transferir informações para a memória. É
preciso ter como encontrar essa informação mais tarde, quando ela for
necessária, e para isso é preciso haver um mecanismo que registre
exactamente onde a informação foi armazenada (lembrando a nossa
analogia com o computador hipotético, imagine encontrar uma
informação guardada ao acaso, se nosso caninho tivesse 1 milhão de
compartimentos).

Célula é a unidade de armazenamento do computador. A memória


principal é organizada em células. Célula é a menor unidade da memória
que pode ser endereçada (não é possível buscar uma "parte" da célula)
e tem um tamanho fixo (para cada máquina). As memórias são
compostas de um determinado número de células ou posições. Cada

17
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

célula é composta de um determinado número de bits. Todas as células


de um dado computador têm o mesmo tamanho, isto é, todas as células
daquele computador terão o mesmo número de bits. Cada célula é
identificada por um endereço único, pela qual é referenciada pelo
sistema e pelos programas. As células são numeradas sequencialmente,
uma a uma, de 0 a (N-1), chamado o endereço da célula. Endereço é o
localizador da célula, que permite identificar univocamente uma célula.
Assim, cada célula pode ser identificada pelo seu endereço.

Unidade de transferência é a quantidade de bits que é transferida da


memória em uma única operação de leitura ou transferida para a
memória em uma única operação de escrita. O tamanho da célula
poderia ser igual ao da palavra, e também à unidade de transferência,
porém por razões técnicas e de custo, são frequentemente diferentes.

OBS.: Uma célula não significa o mesmo que uma palavra; uma célula
não necessariamente contém uma palavra. Palavra é a unidade de
processamento da UCP. Uma palavra deve representar um dado ou uma
instrução, que poderia ser processada, armazenada ou transferida em
uma única operação. No entanto, em geral não é assim que acontece e
os computadores comerciais não seguem um padrão único para a
organização da UCP e MP. Computadores comerciais (tais como por
exemplo os baseados nos processadores Intel 486) podem ter o
tamanho da palavra definido como de 32 bits, porém sua estrutura de
memória tem células de 16 bits.

A estrutura da memória principal é um problema do projeto de


hardware:

▪ Mais endereços com células menores ou;

▪ Menos endereços com células maiores?

O tamanho mais comum de célula era 8 bits (1 byte); hoje já são comuns
células contendo vários bytes.

18
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

Estrutura da MP

0
1

N endereços
2
3
.
.
.
N-1

Figura 1-3: Estrutura da Memória principal

Número de bits para representar um endereço expressão geral: MP


com endereços de 0 a (N-1) N = 2x logo: x = log2 N sendo x = nº de bits
para representar um endereço e N o número de endereços.

Capacidade da Memória Principal

A capacidade da MP em bits é igual ao produto do nº de células pelo


total de bits por célula.

T=NxM

T = capacidade da memória em bits N = nº de endereços (como vimos


anteriormente,

N=2x sendo x = nº de bits do endereço)

M = nº de bits de cada célula

Para encontrar a capacidade em bytes, bastaria encontrar a capacidade


em bits e depois multiplicar por 8 (cada byte contém 8 bits) ou então
converter o tamanho da célula para bytes e depois multiplicar pelo
número de células.

O último endereço na memória é o endereço N-1 (os endereços


começam em zero e vão até N-1).

Terminologia

▪ CÉLULA DE MEMÓRIA - (Flip-flop, armazenam um único bit);

19
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

▪ PALAVRA DE MEMÓRIA - (Um grupo de células, normalmente 4


a 64 bits);

▪ CAPACIDADE - 1K = 1024, 1M = 1.048.576 - (2K x 8 = 2048 x 8 =


16384 bits);

▪ ENDEREÇO - Identifica a posição de uma palavra na memória.

▪ OPERAÇÃO DE LEITURA - Também chamada de “busca” na


memória.

▪ OPERAÇÃO DE ESCRITA - Também chamada de


“armazenamento”.

▪ TEMPO DE ACESSO - Quantidade de tempo necessária à busca


ou armazenamento.

▪ MEMÓRIA VOLÁTIL - Necessitam de energia elétrica para reter


a informação armazenada.

▪ MEMÓRIA DE ACESSO RANDÔMICO (RAM) - O tempo de acesso


é constante para qualquer endereço da memória.

▪ MEMÓRIA DE ACESSO SEQUENCIAL (SAM) - O tempo de acesso


não é constante, mas depende do endereço. Ex: fitas
magnéticas.

▪ EMÓRIA DE LEITURA/ESCRITA (RWM) - Qualquer memória que


possa ser lida ou escrita com igual facilidade.

▪ MEMÓRIA DE LEITURA (ROM) - Uma classe de memórias a


semicondutor projetadas para aplicações onde a taxa de
operações de leitura é infinitamente mais alta do que as de
escrita. São não-voláteis.

▪ DISPOSITIVOS DE MEMÓRIA ESTÁTICA - Enquanto houver


energia elétrica aplicada, não há necessidade de rescrever a
informação.

20
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

▪ DISPOSITIVOS DE MEMÓRIA DINÂMICA - Necessitam de recarga


(Refresh).

▪ MEMÓRIA PRINCIPAL (INTERNA) - É a mais rápida do sistema.


(Instruções e dados).

▪ MEMÓRIA DE MASSA - É mais lenta que a principal. Grande


capacidade de armazenamento

UNIDADE Temática 1.3. Unidade Central de Processamento

A Unidade Central de Processamento - UCP (em inglês, Central


Processing Unity - CPU) é a responsável pelo processamento e execução
dos programas armazenados na MP. As funções da UCP são: executar
as instruções e controlar as operações no computador. A UCP é
composta de duas partes: Unidade Aritmética e Lógica e Unidade de
Controle.

1.3.1. Unidade Aritmética e Lógica

Tem por função a efetiva execução das instruções.

UAL ACC
REGs

Barramento Interno
Barramento
Unidade
de Controle
de
Diagrama Esquemático da UAL Controle

Figura 1-4: Unidade Aritmética e Lógica

21
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

1.3.2. Unidade de Controle

Tem por funções a busca, interpretação e controle de execução das


instruções, e o controle dos demais componentes do computador. A
seguir é apresentado o diagrama esquemático de uma UCP.

Figura 1-5: Diagrama esquemático de uma Unidade de processamento


e Controle (UCP)

1.3.2.1. Registradores Importantes na UCP

▪ Na UC - Contador de Instruções - CI (em inglês: PC - Program


Counter) - armazena o endereço da próxima instrução a ser
executada tem sempre o mesmo tamanho do REM.

▪ Na UC - Registrador de Instrução - RI (em inglês: IR - Instruction


Register) - armazena a instrução a ser executada.

▪ Na UAL – Acumulador - ACC (em inglês: ACC - Accumulator) -


armazena os dados (de entrada e resultados) para as operações
na UAL; o acumulador é um dos principais elementos que

22
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

definem o tamanho da palavra do computador onde o tamanho


da palavra é igual ao tamanho do acumulador.

1.3.2.2. Instruções

Para que um programa possa ser executado por um computador, ele


precisa ser constituído de uma série de instruções de máquina e estar
armazenado em células sucessivas na memória principal. A UCP é
responsável pela execução das instruções que estão na memória.

Quem executa um programa é o hardware e o que ele espera encontrar


é um programa em linguagem de máquina (uma sequência de
instruções de máquina em código binário). A linguagem de máquina é
composta de códigos binários, representando instruções, endereços e
dados e está totalmente vinculada ao conjunto ("set") de instruções da
máquina. Um ser humano usa seu conhecimento e inteligência para
traduzir uma tarefa complexa (tal como, por exemplo, a tarefa de
buscar uma pasta num arquivo) numa série de passos elementares
(identificar o móvel e gaveta onde está a pasta, andar até o móvel, abrir
a gaveta, encontrar a pasta, retirar a pasta e fechar a gaveta). Para o
computador, uma instrução precisa ser detalhada, dividida em
pequenas etapas de operações, que são dependentes do conjunto de
instruções do computador e individualmente executáveis. Fazendo um
paralelo com linguagens de alto nível, o programa elaborado pelo
programador (o código-fonte, composto de instruções complexas)
precisa ser "traduzido" em pequenas operações elementares
(primitivas) executáveis pelo hardware. Cada uma das instruções tem
um código binário associado, que é o código da operação.

23
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

UNIDADE Temática 1.4. Abordagem sobre Barramentos

Um barramento (Bus), nada mais é do que um caminho comum pelo


qual os dados trafegam dentro do computador. Este caminho é usado
para comunicações e pode ser estabelecido entre dois ou mais
elementos do computador. O tamanho de um barramento é importante
pois ele determina quantos dados podem ser transmitidos em uma
única vez. Por exemplo, um barramento de 16 bits pode transmitir 16
bits de dado, e um barramento de 32 bits pode transmitir 32 bits de
dados a cada vez. Todo barramento tem uma velocidade medida em
MHz. Um barramento rápido permite transmitir dados rapidamente,
que tornam as aplicações mais rápidas.

Um PC tem muitos tipos de barramentos, que incluem:

1.4.1. Barramento do Processador

O barramento do processador é o caminho de comunicação entre a CPU


e o chipset (chips de suporte adjacentes contidos na placa mãe). Este
barramento é usado para transferir dados entre a CPU e o barramento
principal do sistema, de modo a conseguir informações para e da CPU á
uma velocidade muito rápida, este barramento opera de forma muito
mais rápida que qualquer outro tipo de barramento no computador.
Neste tipo de barramento não permite o congestionamento de
informação. Este barramento consiste em circuitos elétricos de dados,
endereçamento e controle. No processador 80486, o barramento
consiste em 32 linhas de endereçamento, 32 linhas de dados e algumas
linhas para controle. No Pentium, são 32 linhas de endereçamento, 64
linhas de dados e as linhas de controle.

O barramento do processador opera a mesma velocidade que a CPU


opera externamente. Num Pentium 100MHz, o barramento opera a

24
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

66,6MHz, bem como num Pentium 133MHz, 166MHz e 200MHz. No


processador Pentium II, o barramento de processador opera a 100MHz
e no Pentium III, a 100 ou 133 MHz.

O barramento do processador é ligado nos pinos de conexão externos


do processador e pode transferir bits de dados a cada um ou dois ciclos.
Um 80486 transfere 32 bits de dados por vez, enquanto um Pentium
transfere 64 bits.

External
CPU Cache

Figura 1-6: Funcionamento do Barramento do processador

1.4.2. Barramento de Cache

O barramento de Cache usado pelos Pentium Pro e Pentium III, é um


barramento dedicado para acessar o sistema cache. Ele é algumas vezes
chamado de barramento backside. Processadores convencionais usam
a cache externa na placa mãe e a CPU acessa esta cache usando o
barramento padrão de memória. Para obter um melhor desempenho, a
maioria dos novos usam um barramento de alta velocidade conectando
o processador à cache L2. No caso do Pentium Pro e Pentium III acima
de 600MHz, este barramento é interno ao processador e opera na taxa
da CPU. No caso dos Pentium II e III até 600MHz, o barramento de cache
opera na metade da taxa do processador. Por exemplo, um Pentium II
266 MHz tem um barramento de cache operando a 133 MHz.

1.4.3. Barramento de Memória

O barramento da memória é usado para transferir informação entre a

25
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

CPU e a memória principal do sistema (a memória RAM). Estes


barramentos é uma parte do barramento do processador, ou na maioria
dos casos é implementado separadamente por um chipset dedicado
que é responsável pela transferência de informação entre o barramento
do processador e o barramento da memória.

Devido aos limites da capacidade das chips de DRAM, a taxa de


transferência de informação no barramento da memória é menor que
a do barramento do processador. É de salientar que a largura do
barramento da memória é a mesma que do barramento do
processador. Igualmente, num processador Pentium ou Pentium Pro,
que possui um barramento de 64 bit, cada banco de memória que é
usado deverá ter 64 bits preenchidos. As placas-mãe atuais possuem
um suporte a pentes de memória do tipo DIMM, que são de 64 bits.
Assim, somente um pente é necessário para o funcionamento do
computador.

External
CPU Cache

BUS
Main System BUS Controller Main System BUS
Chips

RAM

Figura 1-7: Funcionamento do Barramento da Memória

26
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

1.4.4. Barramento Local de E/S (Entrada/Saída)

É usado para conectar periféricos de alto desempenho à memória,


chipset e processador. Desde a criação do PC, muitos barramentos de
E/S tem sido desenvolvido, pela simples razão de CPUs mais rápidas,
maiores demandas de software e maiores requisitos de vídeo. Para cada
avanço obtido nos computadores, requer-se um barramento que
atenda às exigências do hardware. Mesmo assim, necessita-se que seja
padronizado diante do mercado a nível mundial, sem grandes custos
aos usuários (esta também é uma das razões em que os barramentos
de E/S não puderam evoluir mais do que se esperava). Até foram
criados barramento de E/S mais rápidos do que o mercado exige, mas
não foram colocados com sucesso no mercado justamente pelos custos
gerados na atualização de hardware por parte dos usuários). Por
exemplo, placas de vídeo, interface de redes de alta velocidade
geralmente usam um barramento deste tipo. Os dois tipos barramentos
locais de E/S mais comuns são o VESA Local Bus (VLB) e o Peripheral
Component Interconnect Bus (PCI).

Pode-se encontrar estes barramentos de E/S na arquitetura dos


computadores de hoje: ISA, MCA, EISA, VESA Local Bus, PCI Local Bus.

1.4.5. Barramento PCI (Peripheral Component Interconnect)

PCI é a abreviação de Peripheral Component Interconnect, um padrão


de barramento local desenvolvido pela Intel Corporation. Embora ele
tenha sido desenvolvido pela Intel, o PCI não é ligado a qualquer família
de microprocessadores. A maior parte dos PCs modernos incluem um
barramento PCI em adição ao barramento de expansão ISA. Mas a
tendência é que o barramento ISA seja totalmente substituído pelo PCI.

PCI é um barramento de 32 bits que normalmente roda a um máximo


de 33 MHz. Nestas condições, ele funciona a 133 MB/s. A vantagem
chave do PCI é a existência de um circuito no chipset que controla o

27
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

barramento. O PCI possibilitando maior desempenho, isto é, a fazer


mais coisas que o seu antecessor VLB poderia fazer.

A especificação 2.1 do barramento PCI estende o barramento para 64


bits e opera com a velocidade de 66MHz. Assim, a velocidade pode ser
quadruplicada. Atualmente a velocidade é limitada a 33 MHz na maior
parte dos PCs. A operação do barramento PCI pode ser configurada
como síncrona ou assíncrona, dependendo do chipset e da placa mãe.
Na configuração sincronizada (usado por maior parte dos PCs), o PCI
roda na metade da velocidade do barramento de memória; como este
barramento opera usualmente a 50, 60 ou 66 MHz, o PCI poderia rodar
a 25, 30 ou 33 MHz, respectivamente. No modo assíncrono, a
velocidade do PCI pode ser setado independente da velocidade do
barramento de memória. Isto é controlado por jumpers na placa mãe,
ou setado pela BIOS.

O barramento PCI opera concorrentemente com o barramento do


processador. A CPU pode processar os dados como um cache externo
enquanto o barramento PCI está ocupado transferindo informação
entre outras partes do sistema. Além de ser mais eficiente, o
barramento PCI incorpora o recurso Plug and Play, não necessitando
que o usuário configure as placas adaptadoras. O sistema se encarrega
disso. Para isso, os computadores devem possuir um BIOS com essa
característica. Por exemplo, o Award Plug and Play BIOS possui esse
recurso.

28
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

Processor

Cache

Bridge
Memory DRAM Motion
Audio Video
Controller

PCI LOCAL BUS

EXP Graphies
LAN SCSI BUS
XFACE

Base I/O
Functions

ISA/EISA Microchannel

Figura 1-8: Estrutura do Barramento PCI

Os dados trafegam através do barramento PCI a 33MHz, com toda a


banda de dados da CPU, isto é, usando-se uma CPU de 32 bits, a largura
é de 32 bits, com uma taxa de transferência de 132MB por segundo no
máximo.

Figura 1-9: Slot PCI de 32 bits

O slot PCI de 64 bits é constituído de uma divisão a mais, como nos VLB.
Com esta banda de dados, a velocidade dobrando para um máximo de
264MB/s.

29
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

Figura 1-10: Slot PCi de 64 bits

1.4.6. Barramento PC-Card (PCMCIA)

Este barramento é destinado aos computadores portáteis (notebooks e


laptops), desenvolvido pela PCMCIA, com um conjunto de mais de 300
fabricantes, onde se estabeleceu os padrões para os cartões
adaptadores e de expansão para notebooks e laptops.

Um cartão PCMCIA usa de 68 conectores, sendo ainda mais caro que o


ISA. Apesar dos padrões, a indústria flexibilizou demais a arquitetura,
de forma que alguns cartões podem não ser compatíveis com algum
equipamento ou outro. Os cartões também possuem o recurso de ser
Plug and Play.

1.4.7. USB

A interface externa USB fornece uma comunicação serial de 12 Mbps,


apenas sobre uma conexão de 4 fios. Um único porto USB pode ser
usado para conectar até 127 periféricos, tal como mouse, modems,
teclados, scanners, câmeras. A USB também atende às especificações
Plug and Play da Intel, inclusive de poder conectar os dispositivos com
a máquina ligada e sem precisar reiniciá-las. Simplesmente se conecta
o dispositivo

e a USB irá detectar automaticamente e alocar os recursos necessários


para o seu funcionamento. O suporte a USB é fornecido com o Windows
95 e mais ainda pelo BIOS.

Outra característica importante é que os dispositivos USB conectados


têm o fornecimento de energia pelo próprio USB, o que significa que o

30
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

USB verifica quais os requisitos de energia requeridos pelos periféricos


e avisar se estes dispositivos excederem os limites.

1.4.8. FIREWIRE (IEEE 1394)

O firewire é um barramento serial padrão externamente rápido que


suporta taxas de transferências de dados de até 400 MBps. Um único
porto 1394 pode ser usado para conectar até 63 dispositivos externos.
Além da alta velocidade, o 1394 também suporta dados isócronos,
transmitindo dados com uma taxa garantida. Isto é ideal para
dispositivos que necessitam altas taxas de transferências em tempo-
real, tal como dispositivos de vídeo.

Embora muito rápido, o 1394 é muito caro. Tal como o USB, o 1394
suporta Plug-and-Play, e também fornece potências aos periféricos. A
principal diferença entre do 1394 e USB é que o 1394 suporta taxas de
transferências altas e é mais caro. Por esta razão, é esperado usado
mais frequentemente para dispositivos que necessitam taxas altas,
como câmeras de vídeo, e o USB conectará os demais periféricos.

Alguns novos PCs usam um “barramento” adicional projetado para


comunicação de grafismos apenas. A palavra “barramento” foi colocada
entre aspas pois esta tecnologia não se trata de um barramento, ela é
um porto: o Accelerated Graphics Port (AGP). A diferença entre um
porto e um barramento é que o barramento é geralmente projetado
para vários dispositivos compartilhando um meio de comunicação,
enquanto um porto é apenas entre dois dispositivos.

Todos os barramentos têm duas partes: um barramento de


endereçamento e um barramento de dados. O barramento de dados
transfere o dado em si (por exemplo, o valor de memória) e o
barramento de endereço transfere a informação de onde o dado se
encontra.

31
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

UNIDADE Temática 1.5. Abordagem sobre Uniprocessadores e


Multiprocessadores

Um sistema de computação pode ser organizado de várias maneiras


diferentes que, grosso modo, podemos classificar de acordo com o
número de processadores utilizados no modo geral.

1.5.1. Sistemas Uniprocessadores

A maioria dos sistemas de computação usavam um único processador.


Falar de sistemas uniprocessadores não é nada mais que falar em um
sistema de processador único, onde existe uma CPU principal capaz de
executar um conjunto de instruções de uso geral, incluindo instruções
originárias de processos de usuário. Quase todos os sistemas de
processador único também têm outros processadores de uso
específico. Eles podem estar na forma de processadores de dispositivos
específicos, como controladores de disco, teclado e monitor; ou, nos
mainframes, na forma de processadores de uso mais genérico, como os
processadores de I/O que movem dados rapidamente entre os
componentes do sistema.

Todos esses processadores de uso específico executam um conjunto


limitado de instruções e não executam processos de usuário. Às vezes
são geridos pelo sistema operacional, caso em que o sistema
operacional lhes envia informações sobre sua próxima tarefa e
monitora seu status. Por exemplo, o microprocessador de um
controlador de disco recebe uma sequência de solicitações da CPU
principal e implementa sua própria fila no disco e o algoritmo de
scheduling do disco. Esse esquema libera a CPU principal do overhead
do scheduling de disco. Os PCs contêm um microprocessador no teclado
para converter os toques de teclas em códigos a serem enviados para a
CPU. Em outros sistemas ou circunstâncias, os processadores de uso

32
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

específico são componentes de baixo nível embutidos no hardware. O


sistema operacional não pode se comunicar com esses processadores;
eles executam suas tarefas autonomamente. O uso de
microprocessadores de uso específico é comum e não transforma um
sistema uniprocessador em um multiprocessador. Quando só existe
uma CPU de uso geral, o sistema é uniprocessador.

1.5.1. Sistemas Multiprocessadores

Os sistemas multiprocessadores (também conhecidos como sistemas


paralelos ou sistemas multicore) de alguns anos até então começaram
a dominar o cenário da computação. Tais sistemas são caracterizados
por possuir dois ou mais processadores interligados compartilhando o
bus do computador e algumas vezes o relógio, a memória e os
dispositivos periféricos. Esta característica traz como principal
vantagem a possibilidade de vários programas serem executados ao
mesmo tempo. Os sistemas multiprocessadores apareceram pela
primeira vez e principalmente em servidores e, desde então, migraram
para sistemas desktop e laptop. Recentemente, múltiplos
processadores têm aparecido em dispositivos móveis como os
smartphones e tablets.

Os sistemas multiprocessadores apresentam três principais que


descreveremos a seguir:

1. Aumento de throughput

Com o aumento do número de processadores, espera-se que mais


trabalho seja executado em menos tempo. No entanto, a taxa de
aumento de velocidade com N processadores não é N; é menor do que
N. Isto significa que, quando vários processadores cooperam em uma
tarefa, observa-se algum overhead para manter todas as partes
trabalhando corretamente. Esse overhead, mais a concorrência por
recursos compartilhados, vai fazer com que o ganho esperado dos

33
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

processadores adicionais diminuía. Do mesmo modo, N programadores


trabalhando em cooperação não produzem N vezes o montante de
trabalho que um único programador produziria.

2. Economia de escala

Sistemas multiprocessadores podem custar menos do que múltiplos


sistemas equivalentes de processador único, já que eles podem
compartilhar periféricos, memória de massa e suprimentos de energia.
Quando vários programas trabalham sobre o mesmo conjunto de
dados,

é mais barato armazenar esses dados em um disco, compartilhando-os


com todos os processadores, do que usar muitos computadores com
discos

locais e muitas cópias dos dados.

3. Aumento da confiabilidade

Se as funções puderem ser distribuídas apropriadamente entre vários


processadores, a falha de um processador não interromperá o sistema,
tornando-o apenas mais lento. Por exemplo, suponhamos que dez
processadores estão em funcionamento e um falhar, significaria que
cada um dos nove processadores remanescentes poderá ficar com uma
parcela do trabalho do processador que falhou. Assim, em vez do
sistema falhar completamente, continuaria a operar mais não na
totalidade baixando somente 10% da sua capacidade.

O aumento da confiabilidade de um sistema de computação é crucial


em muitas aplicações. A capacidade de continuar fornecendo serviço
proporcionalmente ao nível do hardware remanescente é chamada de
degradação limpa. Alguns sistemas vão além da degradação limpa e são
chamados de tolerantes a falhas, porque podem sofrer falha em
qualquer um dos componentes e continuar a operar. A tolerância a
falhas requer um mecanismo para permitir que a falha seja detectada,

34
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

diagnosticada e, se possível, corrigida. Podemos usar como exemplo o


sistema HP NonStop (anteriormente chamado de Tandem) que usa a
duplicação tanto do hardware como do software para assegurar a
operação continuada, apesar das falhas. O sistema consiste em
múltiplos pares de CPUs, funcionando em lockstep. Os dois
processadores do par executam cada instrução e comparam os
resultados. Quando o resultado difere, é porque uma CPU do par está
falhando e as duas são interrompidas. O processo que estava sendo
executado é, então, transferido para outro par de CPUs e a instrução
que falhou é reiniciada. Essa solução é cara, já que envolve hardware
especial e considerável duplicação de hardware.

Os sistemas multiprocessadores actualmente em uso são de dois tipos.


Alguns sistemas utilizam multiprocessamento assimétrico, no qual a
cada processador é designada uma tarefa específica. Um processador
mestre controla o sistema; os demais processadores consultam o
mestre para instruções ou possuem tarefas predefinidas. Esse esquema
define um relacionamento mestre-escravo. O processador mestre
organiza e aloca o trabalho para os escravos.

Os sistemas mais comuns utilizam multiprocessamento simétrico (SMP


— symmetric multiprocessing) no qual cada processador executa todas
as tarefas do sistema operacional. SMP significa que todos os
processadores são pares; não existe um relacionamento mestre-
escravo entre eles. Observe na figura abaixo que cada processador tem
seu próprio conjunto de registradores, assim como um cache privado
ou local. No entanto, todos os processadores compartilham memória
física.

Praticamente todos os sistemas operacionais modernos, incluindo o


Windows, o Mac OS X e o Linux já suportam o SMP.

35
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

CPU 0 CPU 1 CPU 2

Registadores Registadores Registadores

Cache Cache Cache

Memória

Figura 1-11: Arquitectura Multiprocessamento Simétrico.

A diferença entre multiprocessamento simétrico e assimétrico pode


resultar tanto do hardware quanto do software. Um hardware especial
pode diferenciar os processadores múltiplos, ou o software pode ser
escrito para permitir somente um mestre e múltiplos escravos. Por
exemplo, o sistema operacional SunOS Versão 4 da Sun Microsystems
fornecia multiprocessamento assimétrico, enquanto a Versão 5 (Solaris)
é simétrica no mesmo hardware.

O multiprocessamento adiciona CPUs para aumentar o poder de


computação. Se a CPU tem um controlador de memória integrado, o
acréscimo de CPUs também pode aumentar o montante de memória
endereçável no sistema. De qualquer forma, o multiprocessamento
pode fazer com que um sistema altere seu modelo de acesso à
memória, do

acesso uniforme (Uniforme memory access - UMA) ao acesso não


uniforme (Non-uniform memory access - NUMA). O UMA é definido

como a situação em que o acesso a qualquer RAM a partir de qualquer


CPU leva o mesmo período de tempo. No NUMA, algumas partes da
memória podem demorar mais para serem acessadas do que outras,
gerando perda de desempenho.

Uma tendência recente no projeto de CPUs é a inclusão de múltiplos


núcleos (cores) de computação em um único chip. Tais sistemas

36
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

multiprocessadores são denominados multicore. Eles podem ser mais


eficientes do que vários chips de núcleo único porque a comunicação
on-chip (dentro do chip) é mais veloz do que a comunicação between-
chip (entre chips). Além disso, um chip com vários núcleos usa bem
menos energia do que vários chips de núcleo único. É importante
esclarecer que, enquanto os sistemas multicore são
multiprocessadores, nem todos os sistemas multiprocessadores são
multicore. A Figura abaixo, apresenta um projeto dual-core com dois
núcleos no mesmo chip. Nesse projeto, cada núcleo tem seu próprio
conjunto de registradores, assim como seu próprio cache local. Outros
projetos podem usar um cache compartilhado ou uma combinação de
caches local e compartilhado. Além das considerações relacionadas
com a arquitetura, como a disputa por cache, memória e bus, essas
CPUs multicore aparecem para o sistema operacional como N
processadores-padrão. É uma característica que pressiona os
projetistas de sistemas operacionais e programadores de aplicações a
fazer uso desses núcleos de processamento.

Núcleo0 da CPU Núcleo1 da CPU

Registadores Registadores

Cache Cache

Memória

Figura 1-12: Projecto dual-core com dois núcleos inseridos no mesmo


chip.

Sumário

Nesta Unidade temática 1 descrevemos a Arquitectura de


Computadores desde da sua evolução até a sua sincronização. Podemos

37
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

dar conhecer como a importância que a memória desempenha no que


concerne a informação guardada bem como recuperada no
computador. Mais também houve necessidade de abordar a Unidade
Central de Processamento exerce no computador. Para que haja
comunicação entre diversos dispositivos conectados ao computador
houve a necessidade de se abordar sobre Barramento de dados, mais
também classificar os sistemas de computação tendo em conta o
número de processadores utilizados.

Exercícios de AUTO-AVALIAÇÃO

Perguntas
1. A Unidade Central de Processamento é a responsável pelo
processamento e execução de programas armazenados na
Memória secundária. Marque alternativa correcta.
a) V.
b) F.
2. Unidade de Controle (UC) - envia sinais de controle para toda a
máquina, de forma que todos os circuitos e dispositivos
funcionem adequada e sincronizadamente. Marque alternativa
correcta.
a) V.
b) F.
3. Registradores são dispositivos de armazenamento temporário,
localizados na UCP, extremamente rápidos, com capacidade de
armazenar dois ou mais dados. Marque alternativa correcta.
a) V.
b) F.
4. Os principais dispositivos de memória auxiliar são: discos rígidos
(ou HD), drives de disquete, unidades de fita, CD-ROM, DVD,
unidades ótico-magnéticas. Marque alternativa correcta.
a) V.
b) F.

Respostas:
1. b) F.
2. a) V.
3. b) F.
4. a) V.

38
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

Exercícios para AVALIAÇÃO

Perguntas
1. Qual a principal finalidade da Memória principal.
2. O que são registadores.
3. Quais as principais vantagens do uso das memórias auxiliares
em relação a memória principal.

Bibliografia

▪ BACON, J. e HARRIS, T. Operating Systems: Concurrent and


Distributed Software Design. Addison Wesley, 2003.
▪ Von John L. Hennessy, David PattersonArquitetura de
Computadores: Uma abordagem quantitativa
▪ https://pt.wikipedia.org/wiki/Barramento, acessado 12-10-18
▪ SILBERSCHATZ, A. & GALVIN, P. B. & GAGNE, G. Fundamentos
de Sistemas Operacionais. 6ª Edição, Ed. LTC.
▪ DELGADO, José; RIBEIRO, Carlos. Arquitetura de
Computadores. 2. ed. rev. atual. Rio de Janeiro: LTC, 2009. 534
p. ISBN 9788521616603.

39
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

TEMA – 2: INTRODUÇÃO AOS DISPOSITIVOS PERIFÉRICOS.

UNIDADE Temática 2.1. Introdução, aos Dispositivos Periféricos.


UNIDADE Temática 2.2. Tipos de comunicação com os Dispositivos.
UNIDADE Temática 2.3. EXERCÍCIOS deste tema.

Ao completar esta unidade, você deverá ser capaz de:


▪ Descrever os diversos tipos de dispositivos periféricos.

Objectivos ▪ Descrever os diversos tipos de dispositivos periféricos.


específicos

UNIDADE Temática 2.1. Introdução, aos Dispositivos Periféricos

Os dispositivos de entrada e saída (E/S), também conhecidos pela sigla


I/O (Input/Output), podem ser denominados também como periféricos.
E. Dispositivos periféricos são aqueles que se conectam a um
computador para adicionar funcionalidade. Podemos citar como
exemplos mais comuns: mouse, teclado, monitor, impressora e
scanner. Vamos falar um pouco sobre os diferentes tipos de periféricos
e como eles permitem que se faça mais do que o básico com seu
computador.

Um periférico de computador é um dispositivo que está conectado a


um computador, mas que não faz parte da arquitetura básica do
mesmo. Os elementos centrais de um computador são a unidade de
processamento central, fonte de alimentação, placa mãe e o gabinete
do computador que contém esses três componentes. Tecnicamente
falando, tudo o mais é considerado um dispositivo periférico. No
entanto, esta é uma visão um tanto estreita, uma vez que vários outros
elementos são necessários para que um computador realmente
funcione, como um disco rígido e memória de acesso aleatório (ou
RAM).

40
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

A maioria das pessoas usa o termo periférico mais vagamente para se

referir a um dispositivo externo ao gabinete do computador, ou seja,


conectar o dispositivo ao computador para expandir a funcionalidade
do sistema. Por exemplo, considere uma impressora. Depois que a
impressora estiver conectada a um computador, você pode imprimir
documentos. Outra maneira de olhar para dispositivos periféricos é que
eles são dependentes do sistema de computador. Por exemplo, a
maioria das impressoras não pode fazer muito por conta própria, e só
se tornam funcionais quando conectado a um sistema de computador.

Figura 2-1: Tipos de Dispositivos Periféricos


Existem muitos dispositivos periféricos diferentes, mas eles se dividem
em três categorias gerais:

Dispositivos de entrada, como um mouse e um teclado, que podem ser


usados para inserir dados em um computador ou outro dispositivo
computacional. Por exemplo, um teclado permite a entrada de dados,
enquanto um scanner e uma webcam permitem a entrada de imagens,
de vídeo ou gráficas.

Os principais periféricos de entrada de dados são:

• Teclado.

41
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

• Mouse.

• Drive de CD/DVD-ROM.

• Drive de Blu-ray.

• Leitora de cartões.

• Leitora de códigos de barra.

• Pen drive.

• Scanner.

• Microfone.

• Joystick.

• Webcam.

• Tela sensível ao toque.

• Mesa gráfica.

• Caneta ótica.

Dispositivos de saída, como um monitor e uma impressora, utilizados


para transferir dados para fora do computador sob a forma de texto,
imagens, sons ou outros suportes. Como exemplo, podemos citar um
monitor, que permite ao usuário visualizar dados, enquanto uma
impressora produz cópias impressas de dados.

Os principais periféricos de saída de dados são:

• Monitor de vídeo.

• Projetores digitais.

• Drive gravador de CD-ROM/DVD-ROM.

• Drive gravador de Blu-ray.

• Caixas de som.

• Pen drive.

42
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

• Impressora.

• Plotter.

Alguns dispositivos pertencem a mais de uma categoria, podendo fazer


tanto o papel de entrada como o de saída de dados: são os chamados
híbridos. Considere uma unidade de CD-ROM; você pode usá-lo para ler
dados ou música (entrada), e você pode usá-lo para gravar dados em
um CD (saída). Como principais exemplos, temos os dispositivos de
armazenamento em geral, como HDs externos, pendrives, cartões de
memória, as impressoras multifuncionais, que fazem o papel de scanner
e impressão e monitores touchscreen, que além de exibir imagem,
capturam os movimentos de toque realizador pelo usuário.

Os dispositivos periféricos podem ser externos ou internos. Por


exemplo, uma impressora é um dispositivo externo que você conecta
usando um cabo, enquanto uma unidade de disco óptico é
normalmente localizado dentro do gabinete do computador. Os
dispositivos periféricos internos são também referidos como periféricos
integrados. Quando a maioria das pessoas se referem a periféricos, eles
normalmente significam externos.

Figura 2-2: Tipos de Dispositivos Periféricos Externos ou Internos


O monitor é um dispositivo de saída de dados do computador, que tem
como função transmitir à usuária informação através da imagem.

43
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

UNIDADE Temática 2.2. Tipos de Comunicação com os dispositivos

A CPU não pode comunicar-se diretamente com os periféricos. Esta


comunicação é feita com a ajuda de circuitos chamados de interfaces
ou portas de E/S, as quais podem implementar a transmissão das
palavras de dados segundo duas diferentes políticas: n a comunicação
paralela, onde cada dígito (ou bit) da palavra de dados é conduzido por
um fio dedicado, o que significa que os cabos utilizados para a
comunicação paralela são dotados de uma grande quantidade de fios
(ou vias); o exemplo mais clássico de dispositivos que utilizam a
comunicação paralela são as impressoras; n a comunicação serial, onde
os bits de cada palavra são transmitidos um a um, de forma sequencial,
através de uma única via, o que explica o fato dos cabos que
implementam este tipo de comunicação serem constituídos por uma
pequena quantidade de fios; os exemplos mais conhecidos de
dispositivos que fazem uso desta política de comunicação são o mouse
e os modems.

2.1.1. Dispositivos de entradas e saídas

Conforme vimos, o usuário se comunica com o núcleo do computador


(composto por UCP e memória principal) através de dispositivos de
entrada e saída (dispositivos de E/S ou I/O). Os tópicos a seguir vão
analisar como funcionam os dispositivos de entrada e saída e como se
faz a comunicação entre eles e o núcleo do computador. Os dispositivos
de entrada e saída tem como funções básicas:

4. A comunicação do usuário com o computador,

5. A comunicação do computador com o meio ambiente (dispositivos


externos a serem monitorados ou controlados),

6. Armazenamento(gravação) de dados.

44
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

As características que regem a comunicação de cada um dos


dispositivos de E/S (entrada e saída) com o núcleo do computador
(composto de UCP e memória principal) são muito diferentes entre si.
Cada dispositivo de E/S se comunica com o núcleo de forma diversa do
outro. Entre outras diferenças, os dispositivos de entrada e saída são
muito mais lentos que o computador, característica essa que impõe
restrições à comunicação, de vez que o computador precisaria esperar
muito tempo pela resposta do dispositivo. Outra diferença fundamental
diz respeito às características das ligações dos sinais dos dispositivos. Os
primeiros computadores, especialmente os de pequeno porte, eram
muito lentos e os problemas de diferença de velocidade eram
resolvidos sem dificuldade e não representavam problema importante.
Dessa forma, a ligação dos dispositivos de E/S era feita através de
circuitos simples (as interfaces) que apenas resolviam os aspectos de
compatibilização de sinais elétricos entre os dispositivos de E/S e a UCP.
Os aspectos relativos a diferenças de velocidade (especialmente tempo
de acesso e throughput) eram resolvidas por programa (isto é, por
software). Entre esses componentes, trafegam informações relativas a
dados, endereços e controle.

dados dados

Memória endereços Interface endereços Dispositivo


UCP
Principal (Periférico)
de E/S
controle controle De E/S

Subsistema de Interface de Subsistema


Processamento E/S de E/S

Figura 2-3: Funcionamento entre Dispositivos de E/S


Os dispositivos de ENTRADA são: teclado, mouses, scanners, leitoras
óticas, leitoras de cartões magnéticos, câmeras de vídeo, microfones,
sensores, transdutores. As funções desses dispositivos são coletar

45
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

informações e introduzir as informações na máquina, converter


informações do homem para a máquina e vice-versa, e recuperar
informações dos dispositivos de armazenamento. Os dispositivos de
SAÍDA são: impressoras, monitores de vídeo, plotters, atuadores,
chaves, etc. As funções desses dispositivos são exibir ou imprimir os
resultados do processamento, ou ainda controlar dispositivos externos.
A UCP não se comunica diretamente com cada dispositivo de E/S e sim
com "interfaces", de forma a compatibilizar as diferentes
características. O processo de comunicação ("protocolo") é feito
através de transferência de informações de controle, endereços e
dados propriamente ditos. Inicialmente, a UCP interroga o dispositivo,
enviando o endereço do dispositivo e um sinal dizendo se quer mandar
ou receber dados através da interface. O periférico, reconhecendo seu
endereço, responde quando está pronto para receber (ou enviar) os
dados. A UCP então transfere (ou recebe) os dados através da interface,
e o dispositivo responde

confirmando que recebeu (ou transferiu) os dados (acknowledge ou


ACK) ou que não recebeu os dados, neste caso solicitando
retransmissão (not-acknowledge ou NAK). As interfaces de entrada e
saída são conhecidas por diversos nomes, dependendo do fabricante:

Interface de E/S = Adaptador de Periférico, Controladora de E/S,


Processador de Periférico, Canal de E/S Por exemplo, os computadores
de grande porte da IBM chamam de "I/O channel". Na CDC, o nome é
Peripheral Processor Unit ou PPU. A compatibilização de velocidades é
feita geralmente por programa, usando memórias temporárias na
interface chamadas "buffers" que armazenam as informações
conforme vão chegando da UCP e as libera para o dispositivo à medida
que este as pode receber.

46
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

Formas de Comunicação De uma forma geral, a comunicação entre o


núcleo do computador e os dispositivos de E/S poderia ser classificada
em dois grupos: comunicação paralela ou serial.

2.1.2. Comunicação em Paralelo

Na comunicação em paralelo, grupos de bits são transferidos


simultaneamente (em geral, byte a byte) através de diversas linhas
condutoras dos sinais. Desta forma, como vários bits são transmitidos
simultaneamente a cada ciclo, a taxa de transferência de dados
("throughput") é alta.

dados dados

Memória endereços Interface endereços Dispositivo


UCP
Principal (Periférico)
de E/S
controle controle De E/S

Subsistema de Interface de Subsistema


Processamento E/S de E/S

Figura 2- 4: Comunicação paralela entre dispositivos de E/S


No entanto, o processo de transferência em paralelo envolve um
controle sofisticado e é razoavelmente complexo, o que o torna mais
caro. Um dos problemas importantes diz respeito à propagação dos
sinais no meio físico, isto é, no cabo de conexão entre o dispositivo e a
interface. Essa propagação deve se fazer de modo que os sinais (os bits)
correspondentes a cada byte cheguem simultaneamente à extremidade
oposta do cabo, onde então serão reagrupados em bytes.

Como os condutores que compõem o cabo usualmente terão pequenas


diferenças físicas, a velocidade de propagação dos sinais digitais nos
condutores poderá ser ligeiramente diferente nos diversos fios.
Dependendo do comprimento do cabo, pode ocorrer que um
determinado fio conduza sinais mais rápido (ou mais lento) que os
demais fios e que desta forma um determinado bit x em cada byte se

47
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

propague mais rápido e chegue à extremidade do cabo antes que os


outros n-1 bits do byte. Este fenômeno é chamado skew, e as
consequências são catastróficas: os bits x chegariam fora de ordem (os
bytes chegariam embaralhados) e a informação ficaria irrecuperável.
Em decorrência desse problema, há limites para o comprimento do
cabo que interliga um dispositivo ao computador, quando se usa o
modo paralelo. As restrições citadas contribuem para que a utilização
da comunicação em paralelo se limite a aplicações que demandem altas
taxas de transferência, normalmente associadas a dispositivos mais
velozes tais como unidades de disco, ou que demandem altas taxas de
transferência, como CD-ROM, DVD, ou mesmo impressoras, e que se
situem muito próximo do núcleo do computador. Em geral, o
comprimento dos cabos paralelos é limitado a até um máximo de 1,5
metro.

2.1.3. Comunicação Serial

Na comunicação serial, os bits são transferidos um a um, através de um


único par condutor. Os bytes a serem transmitidos são serializados, isto
é, são "desmontados" bit a bit, e são individualmente transmitidos, um
a um. Na outra extremidade do condutor, os bits são contados e quando
formam 8 bits, são remontados, reconstituindo os bytes originais. Nesse
modo, o controle é comparativamente muito mais simples que no
modo paralelo e é de implementação mais barata. Como todos os bits
são

48
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

Serialização dos Bits

De-Serialização dos
Barramento
Memória de Sistema Dispositivo
Interface Bits 7,6,5,4,3,2,1,0

Bits
UCP (Periférico)
Principal
de E/S
De E/S
buffer

Subsistema de Interface de Subsistema


Processamento E/S de E/S

Figura 2- 5: Comunicação serial entre dispositivos de E/S


Como os bits são transmitidos sequencialmente um a um, sua utilização
é normalmente indicada apenas para periféricos mais lentos, como por
exemplo teclado, mouse, etc. ou quando o problema da distância for
mandatário, como nas comunicações a distâncias médias (tal como em
redes locais) ou longas (comunicações via linha telefônica usando
modems). Obs.: Comparativamente, a transmissão serial tem recebido
aperfeiçoamentos importantes (seja de protocolo, de interface e de
meio de transmissão) que vem permitindo o aumento da velocidade de
transmissão por um único par de fios, cabo coaxial ou de fibra ótica.
Como o aumento da velocidade de transmissão em interfaces paralelas
ocasiona mais skew, a tendência tem sido no sentido do
aperfeiçoamento das interfaces seriais que hoje permitem taxas de
transferência muito altas com relativamente poucas restrições de
distância. Em microcomputadores, a interface USB - Universal Serial Bus
permite hoje ligar até 128 dispositivos a taxas muito altas (centenas de
kbps).

Característica Paralelo Serial

Custo maior menor

Distância curta sem limite

Throughput alto baixo

Tabela 2-1: Tabela Comparativa

49
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

2.1.4. Transmissão Síncrona e Assíncrona

A transmissão de caracteres através de uma linha de comunicação pode


ser feita por dois diferentes métodos: transmissão síncrona e
assíncrona.

Na transmissão síncrona, o intervalo de tempo entre dois caracteres

subsequentes é fixo. Nesse método, os dois dispositivos - transmissor e


receptor - são sincronizados, pois existe uma relação direta entre tempo
e os caracteres transferidos. Quando não há caracteres a serem
transferidos, o transmissor continua enviando caracteres especiais de
forma que o intervalo de tempo entre caracteres se mantém constante
e o receptor mantém-se sincronizado. No início de uma transmissão
síncrona, os relógios dos dispositivos transmissor e receptor são
sincronizados através de um string de sincronização e então mantém-
se sincronizados por longos períodos de tempo (dependendo da
estabilidade dos relógios), podendo transmitir dezenas de milhares de
bits antes de terem necessidade de re-sincronizar.

A S S I N C

tempo
Transmissão entre caracteres variável

Transmissão Síncrona

esp. esp. S I N C R O N A esp. esp.

Tempo entre caracteres constante tempo

Figura 2- 6 Transmissão assíncrona

Transmissão Assíncrona Já na transmissão assíncrona, o intervalo de


tempo entre os caracteres não é fixo. Podemos exemplificar com um
digitador operando um terminal, não havendo um fluxo homogêneo de
caracteres a serem transmitidos. Como o fluxo de caracteres não é
homogêneo, não haveria como distinguir a ausência de bits sendo
transmitidos de um eventual fluxo de bits zero e o receptor nunca
saberia quando virá o próximo caractere, e, portanto, não teria como

50
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

identificar o que seria o primeiro bit do caractere. Para resolver esses


problemas de transmissão assíncrona, foi padronizado que na ausência
de caracteres a serem transmitidos o transmissor mantém a linha
sempre no estado 1 (isto é, transmite ininterruptamente bits 1, o que
distingue também de linha interrompida). Quando for transmitir um
caractere, para permitir que o receptor reconheça o início do caractere,
o transmissor insere um bit de partida (start bit) antes de cada
caractere. Convenciona-se que esse start bit será um bit zero,
interrompendo assim a seqüência de bits 1 que caracteriza a linha livre
(idle). Para maior segurança, ao final de cada caractere o transmissor
insere um (ou dois, dependendo do padrão adotado) bits de parada
(stop bits), convencionando-se serem bits 1 para distingui-los dos bits
de partida. Os bits de informação são transmitidos em intervalos de
tempo uniformes entre o start bit e o(s) stop bit(s). Portanto,
transmissor e receptor somente estarão sincronizados durante o
intervalo de tempo entre os bits de start e stop. A transmissão
assíncrona também é conhecida como "start-stop".

1 1 1 1 1 1 1 1 1 0 1 0 0 1 0 0 0 1 1 0 1 0 1 1 0 1 0 1 1 1 1 1 1 1

tempo

idle 2° caractere 1° caractere idle

stop bits stop bits start bits


start bits

Figura 2- 7: Transmissão Assíncrona

A taxa de eficiência de uma transmissão de dados é medida como a


relação de número de bits úteis dividido pelo total de bits transmitidos.
No método assíncrono, a eficiência é menor que a no método síncrono,
uma vez que há necessidade de inserir os bits de partida e parada, de
forma que a cada caractere são inseridos de 2 a 3 bits que não contém
informação.

51
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

2.1.5. Transmissão Simplex, Half-Duplex e Full-Duplex

2.1.5.1. Transmissão Simplex

Uma comunicação é dita simplex quando permite comunicação apenas


em um único sentido, tendo em uma extremidade um dispositivo
apenas transmissor (transmitter) e do outro um dispositivo apenas
receptor (receiver). Não há possibilidade do dispositivo receptor enviar
dados ou mesmo sinalizar se os dados foram recebidos corretamente.
Transmissões de rádio e televisão são exemplos de transmissão simplex.

Transmissão Simplex

Transmissor Receptor

Figura 2- 8: Transmissão simplex

2.1.5.2. Transmissão Half-Duplex

Uma comunicação é dita half-duplex (também chamada semi-duplex)


quando existem em ambas as extremidades dispositivos que podem
transmitir e receber dados, porém não simultaneamente. Durante uma
transmissão half-duplex, em determinado instante um dispositivo A
será transmissor e o outro B será receptor, em outro instante os papéis
podem se inverter. Por exemplo, o dispositivo A poderia transmitir
dados que B receberia; em seguida, o sentido da transmissão seria
invertido e B transmitiria para a informação se os dados foram
corretamente recebidos ou se foram detectados erros de transmissão.
A operação de troca de sentido de transmissão entre os dispositivos é
chamada de turn-around e o tempo necessário para os dispositivos
chavearem entre as funções de transmissor e receptor é chamado de
turn-around time.

52
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

Transmissão Half-Duplex

Transmissor / Transmissor /
Receptor Receptor

Figura 2- 9:Transmissão half-duplex

Transmissão Full-Duplex Uma transmissão é dita full-duplex (também


chamada apenas duplex) quando dados podem ser transmitidos e
recebidos simultaneamente em ambos os sentidos. Poderíamos
entender uma linha full-duplex como funcionalmente equivalente a
duas linhas simplex, uma em cada direção. Como as transmissões
podem ser simultâneas em ambos os sentidos e não existe perda de
tempo com turn-around, uma linha full- duplex pode transmitir mais
informações por unidade de tempo (maior throughput) que uma linha
half-duplex, considerando-se a mesma taxa de transmissão de dados.

Transmissão Full-Duplex

Transmissor / Transmissor /
Receptor Receptor

Figura 2- 10: Transmissão Full-duplex

2.1.6. Discos Rígidos

Os primeiros discos rígidos selados para microcomputadores foram


projetados e construídos na fábrica da IBM localizada em Winchester.
Alguns autores atribuem a isso o motivo deles terem sido apelidados de
Winchester drives (unidades de disco Winchester), denominação que
perdurou por muito tempo, até que a tecnologia de construção dos
discos mudou. Hoje estes discos são conhecidos na literatura apenas
por "hard disks" ou HDs (em inglês, traduzindo-se literalmente por
"discos rígidos"). Obs.: Há também autores que atribuem o nome a uma
analogia com os famosos rifles 30/30 Winchester. A seguir é mostrado
o primeiro disco rígido (RAMAC) de 5 Mb distribuídos em 50 pratos com
diâmetro de 24", desenvolvido pela IBM em 1956, nos laboratórios de

53
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

Almaden (CA), ao lado de um moderno HD IBM Seascape de 5 Gb com


2.5".

Figura 2- 11: Disco Rígido (RAMAC)

A construção em forma de unidade selada, com ar filtrado eliminando


as partículas de pó, permitiu que as cabeças de leitura / gravação
fossem posicionadas a uma distância ínfima em relação às superfícies
magnetizadas do disco, de vez que a possibilidade de impurezas que se
interpusessem entre a superfície e a cabeça e pudessem riscar o disco
ou danificar a cabeça foi eliminada. A proximidade entre cabeça e
superfície, bem como a grande uniformidade de superfície conseguida,
possibilitaram obter uma grande densidade de gravação dos dados nos
discos rígidos selados. A utilização de atuadores eletromecânicos de
alta precisão também permitiu reduzir o espaço entre trilhas. Os discos
rígidos são pequenos e compactos, tem custo de armazenagem por
Mbyte muito baixo e alto desempenho (alta taxa de transferência e
pequeno tempo de acesso), oferecendo ainda segurança de
armazenagem dos dados. Tudo isso permitiu a construção de discos
rápidos e com alta capacidade. Os discos rígidos atuais são construídos
com muitas superfícies de gravação, montadas em torno de um eixo
comum. Os braços atuadores responsáveis pelo posicionamento das
cabeças de leitura / gravação são montados em uma única estrutura, de

54
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

forma que os braços se movem solidariamente.

Lado 0 Cabeça 0
Prato 0
Lado 1 Cabeça 1
Eixo
Cabeça 2
Lado 2
Prato 1

Lado 3 Cabeça 3

Motor

Figura 2-12: Estrutura de discos rígidos actuais.

Devido a esta conformação física, podemos verificar que, conforme


uma determinada cabeça é posicionada sobre uma trilha, as demais
cabeças estarão também posicionadas sobre as trilhas das outras
superfícies que ficam localizadas à mesma distância do eixo central e,
portanto, todas as trilhas localizadas a uma mesma distância do eixo
central do disco poderão ser acessadas simultaneamente por todas as
cabeças. Um conjunto de trilhas localizadas a uma mesma distância do
eixo central pode ser visto espacialmente como se fora um cilindro, e é
assim que são chamados. Dessa forma, num disco de quatro cabeças
(quatro faces) o cilindro 10 seria composto de todos os setores
localizados na trilha 10 da face 1, na trilha 10 da face 2, na trilha 10 da
face 3 e na trilha 10 da face 4. Os dados gravados no mesmo cilindro (na
mesma trilha, porém em superfícies diferentes) podem ser acessados
(lidos ou gravados) sem

que o braço atuador das cabeças de leitura / gravação tenha que ser
movido (como vimos na discussão sobre tempo de acesso, esta
operação é relativamente lenta!).

Sumário

Na Unidade temática 2. Abordados os dispositivos periféricos que são

55
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

conhecidos pela sigla I/0 (input/output). E. Dispositivos periféricos são


aqueles que se conectam a um computador para adicionar
funcionalidade. Podemos citar como exemplos mais comuns: mouse,
teclado, monitor, impressora e scanner. Vamos falar um pouco sobre os
diferentes tipos de periféricos e como eles permitem que se faça mais
do que o básico com seu computador.

Exercícios de AUTO-AVALIAÇÃO

Perguntas
1.Uma comunicação é dita simplex quando permite comunicação
apenas __________.

A.um único sentido.


B.Em dois sentido.
C.Em ambos sentido.
D.Em nenhum sentido.

2. Na transmissão síncrona, o intervalo de tempo entre dois caracteres


subsequentes é _____.

A. Estático

B. . fixo.

C. Dinamico

D. Nenhuma das alternativas

3. Os dispositivos de entrada e saída tem como funções básicas:

A. A comunicação do usuário com o computador,

B. Armazenamento(gravação) de dados.

C. A comunicação do computador com o meio ambiente

D. Todas alternativas estão corretas

56
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

4. Os principais periféricos de entrada de dados são:

A. Leitora de códigos de barra.

B. Leitora de cartões.

C. Pen drive.

D. Todas as alinhas estão corretas

5. Os primeiros discos rígidos selados para microcomputadores


foram projetados e construídos na fábrica da IBM localizada em
Winchester.

A. Verdade

B. Falso

Respostas: 1 A, 2B , 3D ,4D ,5A

Exercícios para AVALIAÇÃO

Perguntas
1. Quais os objectivos de um sistema Operativo.
2. Como são construídos os discos rígidos actuais .
3. Diferencie transmissão Half-duplex da simplex.

Bibliografia

▪ DEITELL, H. M. & DEITEL, P. J. & CHOFFNES, D. R. Sistemas


Operacionais. São Paulo, Ed. Prentice Hall, 2005.
▪ LAUDON, Kenneth e Jane; Sistemas de informações gerenciais.
9°edição.

57
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

TEMA – 3: CIRCUITOS LÓGICOS.

UNIDADE Temática 3.1. Conceitos de Lógica Digital.


UNIDADE Temática 3.2. Portas Lógicas.
UNIDADE Temática 3.3. Descrição Algébrica de Circuitos Lógicos.
UNIDADE Temática 3.4. Implementação de Circuitos Utilizando
Expressões Booleanas.
UNIDADE Temática 3.5. Lógica Temporizada.
UNIDADE Temática 3.6. EXERCÍCIOS deste tema.

Ao completar esta unidade, você deverá ser capaz de:


▪ Descrever os Conceitos de Lógica digital.

Objectivos ▪ Mostrar problemas que servem como ambiente de aplicação de novos


específicos métodos de Comunicação Interprocessos.
▪ Descrever como alocar a CPU vários processos para serem executados.

UNIDADE Temática 3.1. Conceitos de Lógica Digital

Todos as complexas operações de um computador digital acabam


sendo combinações de simples operações aritméticas e lógicas básicas:
somar bits, complementar bits (para fazer subtrações), comparar bits,
mover bits. Estas operações são fisicamente realizadas por circuitos
eletrônicos, chamados circuitos lógicos (ou gates - "portas" lógicas).
Computadores digitais (binários) são construídos com circuitos
eletrônicos digitais - as portas lógicas (circuitos lógicos).

A álgebra de Boole trabalha com apenas duas grandezas: falso ou


verdadeiro. As duas grandezas são representadas por 0 (falso) e 1
(verdadeiro).

58
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

Nota: Nos circuitos lógicos do computador, os sinais binários são


representados por níveis de tensão.

4
Nível Lógico 1
2
Transição
1
Nível Lógico 0
0

Figura 3-1:

Operadores Lógicos

Os conectivos ou OPERADORES LÓGICOS ou FUNÇÕES LÓGICAS são:

E (ou AND)

Uma sentença é verdadeira SE - e somente se - todos os termos forem


verdadeiros.

OU (ou OR)

Uma sentença resulta verdadeira se QUALQUER UM dos termos for


verdadeiro

NÃO (ou NOT) Este operador INVERTE um termo. Os operadores lógicos


são representados por:

7. NOT --> (uma barra horizontal sobre o termo a ser invertido ou


negado).

8. E ------> (um ponto, como se fosse uma multiplicação)

9. OU ----> + (o sinal de soma)

Tabela Verdade

59
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

São tabelas que representam todas as possíveis combinações das


variáveis de entrada de uma função, e os seus respectivos valores de
saída. A seguir, apresentamos as funções básicas, e suas representações

em tabelas verdade.

AND - Função E

Porta AND (E) X=A . B

A B X
A
0 0 0
B
0 1 0

1 0 0

1 1 1

OR - Função OU

Porta OR (OU) X=A + B

A B X
A
0 0 0
B
0 1 1

1 0 1

1 1 1

Nota: A menos da estranha expressão 1 + 1 = 1, as demais expressões


"parecem" a aritmética comum a que estamos acostumados, onde E
substitui "vezes" e OU substitui "mais".

NOT - Função NÃO

60
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

Porta NOT (NÃO) A=A

A X
A A
0 1

1 0

Obs.: a inversão em binário funciona como se fizéssemos 1 - A = X. Ou


seja, 1 - 0 = 1 e 1 - 1 = 0.

Aplicação da Álgebra de Boole aos Computadores Digitais Boole


desenvolveu sua álgebra a partir desses conceitos básicos e utilizando
apenas os algarismos 0 e 1.

Os primeiros computadores fabricados, como o ENIAC, trabalhavam em


DECIMAL. No entanto, a utilização de circuitos eletrônicos que
operassem com 10 diferentes níveis de tensão (para possibilitar
detectar as 10 diferentes grandezas representadas no sistema decimal)
acarretavam uma grande complexidade ao projeto e construção dos
computadores, tendo por conseqüência um custo muito elevado.
Surgiu então a idéia de aplicar a álgebra de Boole, simplificando
extremamente o projeto e construção dos computadores. Mas como os
conceitos da álgebra de chaveamentos (um ramo da álgebra do Boole)
são aplicados ao projeto dos computadores digitais? A chave de tudo é
um circuito eletrônico chamado CHAVE AUTOMÁTICA. Como funciona
uma chave automática? Vamos imaginar um circuito chaveador com as
seguintes entradas: - uma fonte de alimentação (fornece energia para
o circuito) - um fio de controle (comanda a operação do circuito) - um
fio de saída (conduz o resultado).

Chave
C Automática

E S

61
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

No desenho, a chave permanece aberta enquanto o sinal C no fio de


controle for 0 (ou Falso). Enquanto não houver um sinal (sinal 1 ou
Verdadeiro) no fio de controle, que mude a posição da chave, o sinal no
fio de saída S será 0 (ou Falso). Quando for aplicado um sinal (sinal 1 ou
Verdadeiro) ao fio de controle, a chave muda de posição, tendo como
resultado que o sinal na saída será então 1 (ou Verdadeiro). A posição
da chave se manterá enquanto não ocorrer um novo sinal na entrada.

A chave automática foi inicialmente implementada com relês


eletromecânicos e depois com válvulas eletrônicas. A partir da metade
da década de 50, passaram a ser utilizados dispositivos em estado

sólido - os TRANSISTORES, inventados em Stanford em 1947. Os


modernos Circuitos Integrados - CI's e os microprocessadores são
implementados com milhões de transístores "impressos" em
minúsculas

pastilhas.

Vamos agora analisar o que ocorreria se nós ligássemos em SÉRIE duas


chaves automáticas como as acima, e ligássemos uma lâmpada ao
circuito. O circuito resultante poderia ser representado assim:

62
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

Circuito AND (E)

A B

A lâmpada acenderia se - e somente se - as DUAS chaves estivessem na


posição LIGADO (ou verdadeiro), o que seria conseguido com as duas
entradas A e B em estado 1 (Verdadeiro). Substituindo CORRENTE (ou

chave ligada) por 1 e AUSÊNCIA DE CORRENTE (ou chave desligada) por


0, como ficaria nossa tabela verdade para LÂMPADA LIGADA = 1 e
LÂMPADA DESLIGADA = 0?

A B L
0 0 0
0 1 0
1 0 0
1 1 1

Dá para reconhecer a nossa já familiar FUNÇÃO E?

O circuito acima que implementa a função E é chamado de PORTA E


(AND GATE). Vamos agora analisar o que ocorreria se nós ligássemos
em PARALELO duas chaves automáticas como as acima, e ligássemos
uma lâmpada ao circuito. O circuito resultante poderia ser
representado assim:

63
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

Circuito OR (OU)
A

A lâmpada acenderia SE QUALQUER UMA DAS-CHAVES estivesse na


posição LIGADO (ou verdadeiro), o que seria conseguido com uma das
duas entradas A ou B em estado 1 (Verdadeiro). Substituindo
CORRENTE (ou chave ligada) por 1 e AUSÊNCIA DE CORRENTE (ou chave
desligada) por 0, como ficaria nossa tabela verdade para LÂMPADA
LIGADA = 1 e LÂMPADA DESLIGADA = 0?

A B L
0 0 0
0 1 1
1 0 1
1 1 1

E agora, dá para reconhecer a nossa já familiar FUNÇÃO OU? O circuito


acima, que implementa a função OU, é chamado de PORTA OU (OR
GATE).

Porta Lógica ou Gate

São dispositivos ou circuitos lógicos que operam um ou mais sinais


lógicos de entrada para produzir uma (e somente uma) saída, a qual é
dependente da função implementada no circuito.

64
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

A x1

B x2
y = f(x1, x2, x3, xn)
Circuito
C x3 Lógico
x = f(A, B, C, N)

N xn

Um computador é constituído de uma infinidade de circuitos lógicos,


que executam as seguintes funções básicas:

a) realizam operações matemáticas

b) controlam o fluxo dos sinais

c) armazenam dados

Existem dois tipos de circuitos lógicos:

a) COMBINACIONAL - a saída é função dos valores de entrada


correntes; esse circuito não tem capacidade de armazenamento [casos
a) e b) acima].

b) SEQUENCIAL - a saída é função dos valores de entrada correntes e


dos valores de entrada no instante anterior; é usada para a construção
de circuitos de memória (chamados "flip-flops").

UNIDADE Temática 3.2. Portas Lógicas.

Porta NOT (NÃO) A porta NOT inverte o sinal de entrada (executa a


NEGAÇÃO do sinal de entrada), ou seja, se o sinal de entrada for 0 ela
produz uma saída 1, se a entrada for 1 ela produz uma saída 0.

65
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

Porta NOT (NÃO) A=A

A X
A A
0 1

1 0

A porta AND (E) combina dois ou mais sinais de entrada de forma


equivalente a um circuito em série, para produzir um único sinal de
saída, ou seja, ela produz uma saída 1, se todos os sinais de entrada
forem; caso qualquer um dos sinais de entrada for 0, a porta AND
produzirá um sinal de saída igual a zero.

Porta AND (E) X=A . B

A B X
A
0 0 0
B
0 1 0

1 0 0

1 1 1

A porta OR (OU) combina dois ou mais sinais de entrada de forma


equivalente a um circuito em paralelo, para produzir um único sinal de
saída, ou seja, ela produz uma saída 1, se qualquer um dos sinais de

entrada for igual a 1; a porta OR produzirá um sinal de saída igual a zero


apenas se todos os sinais de entrada forem 0.

Porta OR (OU) X=A + B

A B X
A
0 0 0
B
0 1 1

1 0 1

1 1 1

66
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

A porta NAND (NÃO E) equivale a uma porta AND seguida por uma porta
NOT, isto é, ela produz uma saída que é o inverso da saída produzida
pela porta AND.

Porta NAND (NÃOE) X=A.B

A B X
A
0 0 1
B
0 1 1

1 0 1

1 1 0

A porta NOR (NÃO OU) equivale a uma porta OR seguida por uma porta
NOT, isto é, ela produz uma saída que é o inverso da saída produzida
pela porta OR.

Porta NOR (NÃO OU) X=A + B

A B X
A
0 0 0
B
0 1 0

1 0 0

1 1 0

A porta XOR (OU EXCLUSIVO) compara os bits; ela produz saída 0


quando todos os bits de entrada são iguais e saída 1 quando pelo menos
um dos bits de entrada é diferente dos demais.

67
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

Porta XOR ou OU Exclusivo X=A + B


(Exclusivo OR)
A B X

0 0 0

0 1 1

1 0 1

1 1 0

Exemplo de circuitos utilizando portas lógicas:

A) Uma campainha que toca (saída) se o motorista der a partida no


motor do carro (entrada) sem estar com o cinto de segurança
afivelado (entrada). Se a ignição for ACIONADA (1) e o cinto
estiver DESAFIVELADO (1), a campainha é ACIONADA (1). Caso
contrário, a campainha não toca;

Tabela de Verdade:

Ignição Cinto Campainha

0 0 0

0 1 0

1 0 0

1 1 1

Basta incluir uma porta OR.

68
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

UNIDADE Temática 3.3. Descrição Algébrica de Circuitos Lógicos

É importante observar que qualquer circuito lógico pode ser descrito


usando as três operações booleanas estudadas anteriormente. A
expressão algébrica na saída do circuito pode ser obtida percorrendo o
esquemático de esquerda para a direita.

A A.B
B x=A .B+C
C

Precedência de operadores. Tal como na álgebra convencional, existe


precedência na sequência em que as operações booleanas são
realizadas. Na figura anterior, a expressão correta é x = (A · B) + C.

Contudo, na expressão anterior, os parênteses não são necessários


visto que a operação AND toma precedência em relação à operação OR.
Já no caso da figura a seguir, o uso dos parênteses é necessário.

A A+B
B x = (A + B) . C
C

No caso de circuitos com inversores, a expressão pode ser escrita como

apresentado a seguir.

A
A ABC
B
C
x = ABC (A+D)
A A+D
A+D

4.2.1. Avaliação das Saídas dos Circuitos Lógicos

69
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

▪ O processo de avaliação das saídas dos circuitos digitais é


conhecido como Análise.

▪ O nível lógico presente na saída de um circuito lógico pode ser


determinado a partir da expressão na saída do mesmo.

▪ Considerando o circuito da figura anterior, assuma que as


variáveis de entrada têm os seguintes estados lógicos: A = 0, B =
1, C = 1 e D = 1.

▪ Para determinar o estado lógico da saída, basta substituir os


valores das variáveis na expressão de saída do circuito, neste
caso:

A.B + A +A.D + A.C x=0

Em geral, as seguintes regras devem ser aplicadas quando avaliando


expressões lógicas: Primeiro realize todas as inversões de termos
simples. Resolva, a seguir, todas as operações dentro de parênteses.
Resolva as operações AND antes das operações OR. No caso de alguma
expressão aparecer complementada (uma barra acima da expressão),
resolva a operação indicada pela expressão e, em seguida, inverta o
resultado.

O processo de avaliação pode ser realizado também utilizando tabelas-


verdade. Se necessário, realize a construção de tabelas verdade
associadas a diferentes pontos (pontos intermediários) do circuito, até
se alcançar a saída. Esse procedimento é especialmente útil quando se
está testando um circuito.

Exemplo:

1
1
1

2 x=0
0 0
1

D=1

70
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

A = 0;

B = 1;

C = 1;

A B C v = A’ v = A’B w = BC x=v+w

0 0 0 1 0 0 0

0 0 1 1 0 0 0

0 1 0 1 1 0 1

0 1 1 1 1 1 1

1 0 0 0 0 0 0

1 0 1 0 0 0 0

1 1 0 0 0 0 0

1 1 1 0 0 1 1

UNIDADE Temática 3.4. Implementação de Circuitos Utilizando Expressões


Booleanas

Se a expressão booleana é conhecida, o diagrama lógico do circuito


pode ser obtido. Suponha que queremos construir o circuito cuja
expressão é:

y = AC + BĈ + ĀBC

71
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

A AC
C

B
B BC
y = AC + BC + ABC
C
C

A
B ABC

Exemplo: Desenhe o circuito que implementa a seguinte expressão:

x = (A+B) + (𝐵̅ + C)

A A+B
x = (A + B)(B + C)
B
B
B+C

Porta NOR – NÃO OU

Combina as operações OR e NOT

A x=A+B

B
Denota
(a) Inversão

A+B x=A+B
A

72
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

(b)
OR NOR

A B A+B A+B
S
0 0 0 1 A B
0 1 1 0 Vcc

1 0 1 0

1 1 1 0

Ex.: Determine a saída de uma porta NOR de três entradas seguida de


um inversor.

A A+B+C x=A +B+ C=A +B +C


B
C

Porta NAND – NÃO E

Combina as operações AND e NOT

A x = AB

B
Denota
(a) Inversão

A AB AB

73
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

(b)

AND NAND

A B AB AB
A S
0 0 0 1
0 1 0 1 Vcc B
1 0 0 1

1 1 1 0

Portas Lógicas NAND e NOR

Exemplo: Implemente o circuito lógico que tem como expressão:

𝑥 = ̅̅̅̅̅̅̅̅̅̅̅̅̅̅
𝐴𝐵̅̅̅̅̅̅̅̅̅̅
(𝐶 + 𝐷 )

1
C C+D 0
0 1
D 1 x = AB(C + D)
B
1
A

Qual o valor da saída x para ABCD = 1110.

UNIDADE Temática 3.5. Lógica Temporizada

Conforme vimos ao analisar a comunicação entre UCP e memória, as


instruções, os dados e os endereços "trafegam" no computador através
dos barramentos (de dados, de endereços e de controle), sob a forma
de bits representados por sinais elétricos: uma tensão positiva alta
("high" - geralmente no entorno de 3 volts) significando "1" e uma
tensão baixa ("low" - próxima de zero) significando "0". Mas os dados
no computador não ficam estáticos; pelo contrário, a cada ciclo (cada
"estado") dos circuitos, os sinais variam, de forma a representar novas
instruções, dados e endereços. Ou seja, os sinais ficam estáticos apenas
por um curto espaço de tempo, necessário e suficiente para os circuitos

74
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

poderem detectar os sinais presentes no barramento naquele instante


e reagir de forma apropriada. Assim, periodicamente, uma nova
configuração de bits é colocada nos circuitos, e tudo isso só faz sentido
se pudermos de alguma forma organizar e sincronizar essas variações,
para que, num dado instante, os diversos circuitos do computador
possam "congelar" uma configuração de bits e processá-las. Para isso, é
preciso que exista um outro elemento, que fornece uma base de tempo
para que os circuitos e os sinais se sincronizem. Este circuito é chamado
clock - o relógio interno do computador. Cada um dos estados
diferentes que os circuitos assumem, limitados pelo sinal do clock, é
chamado um ciclo de operação. D Clock A Unidade de Controle da UCP
envia a todos os componentes do computador um sinal elétrico regular
- o pulso de "clock" - que fornece uma referência de tempo para todas
as atividades e permite o sincronismo das operações internas. O clock é
um pulso alternado de sinais de tensão, gerado pelos circuitos de
relógio (composto de um cristal oscilador e circuitos auxiliares). its é cor
Ciclo de Operação Cada um destes intervalos regulares de tempo é
delimitado pelo início da descida do sinal, equivalendo um ciclo à
excursão do sinal por um "low" e um "high" do pulso. O tempo do ciclo
equivale ao período da oscilação. A física diz que período é o inverso da
frequência. Ou seja, P = 1 / f. A frequência f do clock é medida em hertz.
Inversamente, a duração de cada ciclo é chamada de período, definido
por P=1/f (o período é o inverso da frequência). Por exemplo, se f = 10
hz logo P = 1/10 = 0,1 s.

1 Mhz (1 megahertz) equivale a um milhão de ciclos por segundo. Sendo


a frequência de um processador medida em megahertz, o período será
então medido em nanosegundos, como vemos no exemplo abaixo: f =
10 Mhz = 10 x 106 hz P = 10 / 106 = 100 ns (1 nanosegundo). Sempre

75
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

que se fala sobre máquinas velozes, citamos números em megahertz.


Para um melhor entendimento sobre o que ocorre na máquina, em vez
de falar sobre a frequência do clock seria mais ilustrativo discutirmos
uma outra grandeza: o período (isto é, o tempo de duração de cada ciclo
ou simplesmente tempo de ciclo). Quando se diz que um processador é
de 200 Mhz, está-se definindo a frequência de operação de seu
processador (seu clock), significando que o processador pode alternar
seus estados internos 166 milhões de vezes por segundo. Isto acarreta
que cada ciclo (equivalente a um estado lógico) de operação dura 1 /
200.000.000 s = 5 x 10-9 s, ou seja, 5 nanosegundos. Como podemos ver
pelo exemplo a seguir, o processador com o clock ilustrado em (B) teria
um tempo de ciclo cinco vezes menor que o (A) e, portanto, teria
(teoricamente) condições de fazer cinco vezes mais operações no
mesmo tempo. os s

Quando analisamos os números de clock de um processador ou


barramento, pode ficar uma impressão que esses números não fazem
sentido: 133 MHz, 166 MHz. Vejamos como ficam seus períodos, e
como esses números apresentam um padrão regular:

Frequência (MHz) Período(ns)

25 40

33 30

40 25

76
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

50 20

66 15

100 10

133 7.5

166 6

200 5

266 3.75

Os primeiros computadores tinham um único sinal de clock geral, válido


para UCP, memória, barramentos de E/S (entrada / saída), etc. À
medida que a tecnologia foi se aperfeiçoando, a frequência de clock de
operação dos processadores (e, em menor escala, também a das
memórias) aumentou em uma escala muito maior que a dos demais
componentes. Desta forma, foi necessário criar diferentes pulsos de
clock para acomodar as frequências de operação dos diferentes
componentes. A placa-mãe de um PC utiliza uma frequência-mestra
(hoje em geral de 66 Mhz, equivalente a um período de 15 ns, estando
em prancheta placas para 100 MHz) para seu barramento (ciclo de
barramento), a qual é multiplicada ou dividida para ser utilizada pelos
demais componentes:

▪ o processador tem essa frequência multiplicada por 2 (133 Mhz)


a 4 (266 MHz),

▪ o barramento PCI usa frequências reduzidas pela metade (33


Mhz),

▪ as memórias (ciclos da ordem de 60 ns) usam frequências


reduzidas a um quarto e

77
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

▪ as cache secundárias (ciclos entre 10 e 20 ns) usam a própria


frequência da placa mãe.

As memórias cache primárias são hoje construídas como parte do


processador e usam o mesmo clock do processador. O efeito prático
(econômico$$$$) do aumento da frequência de operação é que a
precisão de fabricação dos circuitos tem que ser também maior. O
tamanho de cada junção de transístor fica menor (hoje são construídos
chips com 0,35 microns e uma nova geração com 0,25 microns está em
gestação). Uma junção menor requer menor potência para sua
operação, menos elétrons para operar uma transição de estados,
menor tempo de propagação do sinal, menor potência dissipada. Em
consequência da grande precisão exigida, apenas uma pequena parcela
dos processadores fabricados (cerca de 5%) consegue operar na
máxima frequência para a qual foram projetados, e a maioria é
certificada para operar a frequências mais baixas. Isto acarreta que,
embora todos os processadores de um tipo sejam fabricados pelos
mesmos processos e nas mesmas máquinas, apenas alguns serão
certificados para a máxima frequência prevista, o que obriga que o
preço dos processadores de clock máximo seja muito mais caro que o
dos muitos outros que não obtiveram certificação para aquele elevado
clock e serão vendidos com "tags" de 166 ou 133 Mhz, a preços
reduzidos.

Instruções por Ciclo. Qual a real importância e significado da frequência


do processador? Quando se faz uma soma em uma calculadora, basta
teclar cada um dos algarismos do 1º número, teclar o sinal de mais,
depois teclamos os algarismos do segundo número e teclamos o sinal
de igual. É comum pensar que nos computadores as coisas se passam
mais ou menos do mesmo jeito. No entanto, a soma propriamente dita
é a menor das tarefas que um computador

78
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

executa quando soma dois números. Neste exemplo, o computador


precisaria localizar a instrução de soma na memória e movê-la para a
UCP. Esta instrução estaria codificada na forma de dígitos binários e
teria que ser decodificada para determinar a operação a ser realizada
(no caso, ADD), o tamanho dos dados (quantas células eles ocupam),
determinar a localização e buscar cada um dos números na memória, e
só então, finalmente, fazer a soma. Para o computador, a soma é
realmente a parte mais simples e mais rápida de toda a operação, já que
decodificar a instrução e principalmente obter os dados tomam a maior
parte do tempo. Cada nova geração de processadores tem sido capaz
de executar as operações relativas ao processamento de uma instrução
em menor número de ciclos do clock. Por exemplo, na família Intel x86:
- 386 - mínimo de 6 ciclos por instrução de soma de 2 números - 486 -
em geral, 2 ciclos por instrução de soma de 2 números - Pentium - 1
ciclo por instrução de soma de 2 números - Pentium Pro - 1 ciclo por
instrução de soma de 3 números; na soma de mais números, quando
um dos números está em memória de baixa velocidade, o Pentium Pro
é capaz de "pular" este número e, enquanto busca o número que falta,
seguir adiante, buscando e somando os demais números para
finalmente incluir o número que faltava na soma. Usando uma analogia
com um automóvel, para andar mais rápido geralmente é mais eficaz
trocar de marcha do que acelerar. Comparativamente, um processador
de 66 Mhz hoje equivaleria a uma pequena pressão no acelerador e um
de 300 Mhz ao acelerador pressionado até o fundo (pé na tábua!). Mas,
se um 8088 fosse a 1ª marcha, um Pentium II seria equivalente à 5ª
marcha e seria certamente muito mais rápido, mesmo que fosse
possível "acelerar" o 8088 ao mesmo clock do Pentium. Se
compararmos um 486 DX4-100 (100 Mhz) com um Pentium também de
100 Mhz, veremos que o Pentium 100 será substancialmente mais
rápido, o que se deve à sua arquitetura e não ao clock. É, portanto, um
engano comparar apenas a frequência do clock: o desempenho do

79
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

processador deve ser avaliado por um conjunto de características da


arquitetura, do qual a frequência do clock é apenas um deles - e não o
mais importante.

3.5.1. Conceitos de Interrupção e Trap

Pode-se dizer que interrupções e traps são as forças que movimentam


e dirigem os sistemas operacionais, pois um sistema operacional só
recebe o controle da execução quando ocorre alguma interrupção ao
trap. Uma interrupção é um sinal de hardware que faz com que o
processador sinalizado interrompa a execução do programa que vinha
executando (guardando informações para poder continuar, mais tarde,
a execução desse programa) e passe a executar uma rotina específica
que trata da interrupção. Um trap é uma instrução especial que, quando
executada pelo processador, origina as mesmas ações ocasionadas por
uma interrupção (salvamento de informações para poder continuar,
mais tarde, a execução do programa e desvio para uma rotina específica
que trata do trap). Pode-se dizer que um trap é uma interrupção
ocasionada por software. Interrupções podem ser originadas pelos
vários dispositivos periféricos (terminais, discos, impressoras, etc.), pelo
operador (através das teclas do console de operação) ou pelo relógio
do sistema. O relógio (timer) é um dispositivo de hardware que
decrementa automaticamente o conteúdo de um registrador ou
posição de memória, com uma freqüência constante, e interrompe a
UCP quando o valor decrementado atinge zero. O sistema operacional
garante que ocorrerá pelo menos uma interrupção (e ele voltará a
trabalhar) dentro de um intervalo de tempo t, colocando no relógio um
valor que demore t unidades de tempo para ser decrementado até zero.
Esta atribuição de valor ao relógio é feita imediatamente antes do
sistema operacional entregar a UCP para um programa de usuário. Uma
interrupção não afeta a instrução que está sendo executada pela UCP
no momento em que ela ocorre: a UCP detecta interrupções apenas

80
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

após o término da execução de uma instrução (e antes do início da


execução da instrução seguinte). Os computadores possuem instruções
para mascarar (desabilitar, inibir) o sistema de interrupções. Enquanto
as interrupções estão mascaradas elas podem ocorrer, mas não são
sentidas pelo processador. Neste caso, as interrupções ficam pendentes
(enfileiradas) e só serão sentidas quando uma instrução que
desmascara as mesmas é executada. Conforme já foi dito, os traps são
instruções especiais que, quando executadas, originam ações idênticas
às que ocorrem por ocasião de uma interrupção. Pode-se dizer que um
trap é uma interrupção prevista, programada no sistema pelo próprio
programador. Uma interrupção, por outro lado, é completamente
imprevisível, ocorrendo em pontos que não podem ser pré-
determinados. Os traps têm a finalidade de permitir aos programas dos
usuários a passagem do controle da execução para o sistema
operacional. Por esse motivo também são denominadas “chamadas do
supervisor” ou “chamadas do sistema” (supervisor call ou system call).
Os traps são necessários principalmente nos computadores que
possuem instruções protegidas (privilegiadas). Nesses computadores o
registrador (palavra) de estado do processador possui um bit para
indicar se a UCP está em estado privilegiado (estado de sistema, estado
de supervisor, estado mestre) ou não privilegiado (estado de usuário,
estado de programa, estado escravo). Sempre que ocorre uma
interrupção ou trap, o novo valor carregado no registrador do estado
do processador, indica estado privilegiado de execução. No estado de
supervisor qualquer instrução pode ser executada e no estado de
usuário apenas as instruções não Apostila de Organização de
Computadores - Prof. Bruno 80 protegidas podem ser executadas.
Exemplos de instruções protegidas são instruções para desabilitar e
habilitar interrupções e instruções para realizar operações de E/S.
Operações que envolvam o uso de instruções protegidas só podem ser
executadas pelo sistema operacional, portanto. Quando um programa

81
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

de usuário necessita executar alguma dessas operações, o mesmo deve


executar um trap, passando como argumento o número que identifica
a operação que está sendo requerida.

Sumário

Na unidade temática 3 abordamos sobre os circuitos Lógicos são


dispositivos que operam um ou mais sinais lógicos de entrada para
produzir uma e somente uma saída, dependente da função
implementada no circuito. São geralmente usadas em
circuitos eletrônicos, por causa das situações que os sinais deste tipo de
circuito podem apresentar: presença de sinal, ou "1"; e ausência de
sinal, ou "0". As situações "Verdade" e "Falso". O comportamento das
portas lógicas é conhecido pela tabela verdade que apresenta os
estados lógicos das entradas e das saídas.

Exercícios de AUTO-AVALIAÇÃO

Perguntas.
1. Defina tabela da verdade?
2. Diferencie Interrupção de trap?
Respostas:
1. Rever página 54 á60
2. Rever página 55 á 60

Exercícios para AVALIAÇÃO

Perguntas
1. Defina Logica Digital?
2. Como funciona uma chave automática?
3. Defina portas Logicas?

Bibliografia

▪ Idoeta, I.V. & Capuano, F.G.; Elementos de Eletrônica Digital,


12ª. edição, Érica, 1987.

82
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

▪ E. Mendelson; Álgebra booleana e circuitos de chaveamento,


McGraw-Hill,1977.

83
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

TEMA – 4: GERECIAMENTO DE PROCESSOS.

UNIDADE Temática 4.1. Introdução ao Gerenciamento de Processos.


UNIDADE Temática 4.2. Estrutura do Processo.
UNIDADE Temática 4.3. Estados do Processo.
UNIDADE Temática 4.4. Formas de Criação de Processos.
UNIDADE Temática 4.5. EXERCÍCIOS deste tema

Ao completar esta unidade, você deverá ser capaz de:


▪ Descrever os Conceitos de Lógica digital.

Objectivos ▪ Apresentar a estrutura do processo, bem como os seus estados.


específicos ▪ Descrever as formas de criação de processos.

UNIDADE Temática 4.1. Introdução ao Gerenciamento de Processos

O sistema operacional tem a função exclusiva de controlar a execução


dos diversos programas e o uso concorrente do processador e demais
recursos. Para que se torne possível é necessário sempre que esteja
associado a um processo. O conceito de processo é a base para a
implementação de um sistema multiprogramável.

A gerência de processos é uma das principais funções de um sistema


operacional, possibilitando aos programas alocar recursos,
compartilhar dados, trocar informações e sincronizar suas execuções.
Nos sistemas multiprogramáveis os processos são executados
concorrentemente, compartilhando o uso do processador, memória
principal e dispositivos de E/S, dentre outros recursos. Nós sistemas
com múltiplos processadores não só existe a concorrência de processos
pelo uso do processador como também a possibilidade de execução
simultânea de processos nos diferentes processadores.

Abordaremos os principais conceitos relacionados a processos, como


sua estrutura, estados de execução e tipos de processos.

84
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

UNIDADE Temática 4.2. Estrutura do Processo

O processador é projectado para executar instruções a partir do ciclo de


busca e execução. Neste ciclo, o processador busca instrução a ser
executada na memória principal, armazena-a no registador de
instruções para finalmente, decodificar seus bits e realizar a execução.
O registador PC tem a função de armazenar sempre o endereço da
próxima instrução a ser executada, e as alterações do seu conteúdo
determinam o sequenciamento de execução das instruções
armazenadas na memória principal.

Na visão da camada de hardware, o processador executa instruções


sem distinguir qual programa encontra-se em processo. É de
responsabilidade do sistema operacional implementar a concorrência
entre programas gerenciado a alternância da execução de instruções na
UCP de maneira controlada e segura. Neste sentido, o conceito de
processo torna-se essencial para que os sistemas multiprogramáveis
implementem a concorrência de diversos programas e atendam a
múltiplos usuários simultaneamente.

Um processo pode ser entendido inicialmente como um programa em


execução, só que seu conceito é mais abrangente. Para que a
concorrência entre os programas ocorra sem problemas, é necessário
que todas as informações do programa interrompido sejam guardadas
par que, quando este voltar a ser executado, não lhe falte nenhuma
informação necessária à continuação do processamento. Estas
informações são fundamentais para que o sistema operacional possa
gerenciar a execução concorrente de programas, e é a base de qualquer
ambiente multiprogramável. O conceito de processo pode ser definido
como sendo o conjunto necessário de informações para que o sistema
operacional implemente a concorrência de programas.

85
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

A figura 4-1 ilustra a concorrência de três programas (PROG_1, PROG_2,


PROG_3) associados aos processos X, Y e Z. no intervalo de tempo de
∆t1, o processador executa instruções do PROG_1. No instante de
tempo t4, o sistema operacional decide interromper temporariamente
a execução do PROG_1 e salva o conteúdo dos registadores do
processador, armazenando-os no Processo X,. a seguir, o PROG_2 é
iniciado e executado ao longo do intervalo ∆t2. No instante t7, o sistema
operacional decide interromper o PROG_2 e salva o conteúdo dos
registadores no Processo Y. neste momento o PROG_3 é iniciado,
executa no intervalo de tempo de ∆t3 até que o sistema operacional
decide interrompe-lo, salvar seus registradores no processo Z e retomar
a execução de PROG_1. Para isso, no intervalo t 12 o conteúdo dos
registradores do processo X é carregado no processador, fazendo com
que PROG_1 continue sua execução como se não tivesse sido
interrompido. A troca de um processo por outro no processador,
comandada pelo sistema operacional, é denominada mundança de
contexto. É dessa maneira que o sistema operacional implementa e
gerência um ambiente multiprogramável.

86
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

PROG_1 PROG_2 PROG_3


Instr. 1.1 Instr. 2.1 Instr. 3.1
Instr. 1.2 Instr. 2.2 Instr. 3.2
Instr. 1.3 Instr. 2.3 Instr. 3.3
Instr. 1.4 Instr. 2.4 Instr. 3.4
Instr. 1.5 Instr. 2.5 Instr. 3.5
. . .
. . .
. . .
Informações de Informações de Informações de
registradores registradores registradores

Processo Y Processo Z
Processo X

Instr. SO
Instr. 2.2

Instr. SO
Instr. 1.2

Instr. 3.1

Instr. 1.5
Instr. 1.1

Instr. SO
Instr. 1.3
Instr. 1.4

Instr. 2.1

Instr. 3.2
Instr. 3.3
Instr. 3.4

.
.
t0 t4 t5 t7 t8 t
t12 t13

t1 t2 t3

Figura 4-1: Concorrência de programas e processos

Um processo também pode ser definido como o ambiente onde um


programa é executado. Este ambiente, além das informações sobre a
execução, possui também a quantidade de recursos do sistema que
cada programa pode utilizar, como o espaço de endereçamento da
memória principal, tempo de processador e área em disco.

O resultado da execução de um mesmo programa pode variar,


dependendo do processo em que é executado ou seja, em função dos
recursos que são disponibilizados para o programa. A falta de recursos
pode impedir a execução com sucesso de um programa. Caso um
programa, ora exemplo, necessita utilizar uma área em disco superior
ao seu limite, o sistema operacional irá interromper sua execução por
falta de recursos disponíveis.

Um processo é formado por três partes, conhecidas como contexto de


hardware, contexto de software e espaço de endereçamento, que
juntos mantêm todas as informações necessárias à execução de um
programa.

87
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

A figura 4-2 ilustra de maneira abstrata os componentes do processo.

Programa

Espaço de
Endereçamento

Figura 4-2: Estrutura do Processo

4.2.1. Contexto de hardware

O contexto de hardware de processo armazena o conteúdo dos


registradores gerais da UCP, além dos registradores de uso específico,
como program counter (PC), stack pointer (SP) e registradores de status.
Quando um processo esta em execução, o seu contexto de hardware
está armazenado nos registradores do processador. No momento em
que o processo perde a utilização da UCP, o sistema salva as
informações no contexto de hardware do processo.

O contexto de hardware é fundamental para a implementação dos


sistemas multiprogramáveis, onde os processos se alternam na
utilização da UCP, podendo ser interrompidos e, posteriormente,
restaurados. O sistema operacional gerência a mudança de contexto,
base para a implementação da concorrência, que consiste em salvar o
conteúdo dos registradores do processo que esta deixando a UCP e
carrega-lo com os valores referentes ao do novo processo que será
executado. Essa operação se resume em substituir o contexto de
hardware de um processo pelo de outro.

88
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

Sistema Operacional

Processo A Processo B

Executando

Salva registradores do
Processo A

Carrega registradores
do Processo B

Executando

Salva registradores do
Processo B

Carrega registradores
do Processo A

Executando

Figura 4-3: Mudança de Contexto

4.2.1. Contexto de Software

No contexto de software de um possesso são especificados limites e


características dos recursos que podem ser alocados pelo processo,
como o número máximo de arquivos abertos simultaneamente,
prioridade de execução e tamanho do buffer para operações de E/S.
Muitas destas características são determinadas no momento da criação
do processo, enquanto outras podem ser alteradas durante a sua
existência.

A maior parte das informações do contexto de software do processo


provém de um arquivo do sistema operacional, conhecido como
arquivo de usuários. Neste arquivo são especificados os limites dos
recursos que cada processo pode alocar, sendo gerenciado pelo
administrador do sistema. Outras informações presentes no contexto

89
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

de software são geradas dinamicamente ao longo da execução do


processo.

O contexto de software é composto por três grupos de informações


sobre processo: identificação, quotas e privilégios.

▪ Identificação

Cada processo criado pelo sistema recebe uma identificação única (PID-
process identification) representada por um número. Através do PID, o
sistema operacional e outros processos podem fazer referência a
qualquer processo existente, consultando seu contexto ou alterando
uma de suas características. Alguns sistemas, além do PID, identificam
o processo através de um nome.

O processo também possui a identificação do usuário ou processo que


o criou (owner). Cada usuário possui uma identificação única no sistema
(UID-user identification), atribuída ao processo no momento de sua
criação. A UID permite implementar um modelo de segurança, onde
apenas os objectos (processos, arquivos, áreas de memoria etc.) que
possuem a mesma UID do usuário (processo) podem ser acessados.

▪ Quotas

As quotas são limites de cada recurso do sistema que um processo pode


alocar. Cada uma quota seja insuficiente, o processo poderá ser
executado lentamente, interrompido durante seu processamento ou
mesmo não ser executado. Alguns exemplos de quotas presentes na
maioria dos sistemas operacionais são:

▪ Número máximo de arquivos abertos simultaneamente;

▪ Tamanho máximo de memória principal e secundária que o


processo pode alocar;

▪ Número máximo de operações de E/S pendentes;

▪ Tamanho máximo do buffer para operações de E/S;a

90
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

▪ Número máximo de processos, subprocessos e threads que


podem ser criados.

▪ Privilégios

Os privilégios ou direitos definem as ações que um processo pode fazer


em relação a ele mesmo, aos demais processos e ao sistema
operacional.

Privilégios que afetam os próprios processos permitem que suas


características possam ser alteradas, como prioridade de execução,
limites alocados na memória principal e secundária, etc. Já os privilégios
que afetam os demais processos permitem, além da alteração de suas
próprias características, alterar as de outros processos.

Privilégios que afetam o sistema são os mais amplos e poderosos, pois


estão relacionados à operação e à gerência do ambiente, como a
desativação do sistema, alteração de regras de segurança, criação de
outros processos privilégios, modificação de parâmetros de
configuração do sistema, entre outros. A maioria dos sistemas
operacionais disponibiliza uma conta acesso com todos estes privilégios
disponíveis, com o propósito de o administrador gerenciar o sistema
operacional. No sistema UNIX existe a conta “root”, no MS Windows a
conta “administrador” e no Open VMS existe a conta “system” com este
mesmo perfil.

4.2.2. Espaço de Endereçamento

O espaço de endereçamento é a área de memória pertencente ao


processo onde instruções e dados do programa são armazenados para
execução. Cada processo possui seu próprio espaço de endereçamento,
que deve ser devidamente protegido do acesso dos demais processos.

91
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

Nome
PID Registrador
Owner (UID) gerais

Prioridade de
execução Registrador PC

Data/hora de
criação

Tempo de Registrador SP
processador

Registrador
Quotas
de status
Programa
Privilégios

Espaço de
Endereçamento

Endereços de memória
principal alocaddos

Figura 4-4: Características da estrutura de um processo

4.2.3. Bloco de Controle do Processo

O processo é implementado pelo sistema operacional através de uma


estrutura de dados chamados Blocos de Controle de Processo (Process
Control Block-PCB). A partir do PCB, o sistema operacional mantém
todas as informações sobre o contexto de hardware, contexto de
software e espaço de endereçamento de cada processo, a figura abaixo
ilustra.

Os PCBs de todos os processos ativos residem na memória principal em


uma área exclusiva do sistema operacional. O tamanho desta área,
geralmente, é limitado por um parâmetro do sistema operacional que
permite especificar o número máximo de processos que podem ser
suportados simultaneamente pelo sistema.

92
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

Ponteiros

Estado do processo

Nome do processo
Prioridade do processo

Registradores

Limites de memória
Lista de arquivos abertos

.
.
.
.

Figura 4-5: Bloco de Controle do Processo (PCB)

UNIDADE Temática 4.3. Estados do Processo

Em um sistema multiprogramável, um processo não deve alocar


exclusivamente a UCP, de forma que exista um compartilhamento no
uso doo processador. Os processos passam por diferentes estados ao
longo do seu processamento, em função de eventos gerados pelo
sistema operacional ou pelo próprio processo. Um processo ativo pode
encontrar-se em três estados diferentes:

▪ Execução (running)

Um processo esta no estado de execução quando está sendo


processado pela UCP. Em sistemas com apenas uma UCP, somente
um processo pode estar sendo executado em um dado instante de
tempo. Os processos se alternam na utilização do processador
seguindo uma política estabelecida pelo sistema operacional.

93
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

Em sistemas com múltiplos processadores, existe a possibilidade de


mais de um processo ser executado ao mesmo tempo. Neste tipo
de sistema, também é possível um mesmo processo ser executado
simultaneamente em mais de uma UCP (processamento paralelo).

▪ Pronto (ready)

Um processo no estado de pronto quando aguarda apenas para ser


executado. O sistema operacional é responsável por determinar a
ordem e os critérios pelos quais os processos em estado de pronto
devem fazer uso do processador. Este mecanismo é conhecido
como escalonamento.

Em geral existem vários processos no sistema no estado de pronto


organizados em listas encadeadas. Os processos devem estar
ordenados pela sua importância, permitindo que processos mais
prioritários sejam selecionados primeiramente para execução.

▪ Espera (wait)

Um processo no estado de espera aguarda por algum evento


externo ou pro algum recurso para prosseguir seu processamento.
Como exemplo, podemos citar o término de uma operação de E/S
ou espera de uma determinada data e/ou hora para continuar sua
execução. Em alguns sistemas operacionais, o estado de espera
pode ser chamado de bloqueado (blocked).

O sistema organiza os vários processos no estado de espera também


em listas encadeadas. Em geral, os processos são separados em
listas de espera associadas a cada tipo de evento. Nesse caso,
quando um evento acontece, todos os processos da lista associada
ao evento são transferidos para o estado de pronto.

94
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

Lista de
processos
em estado de
pronto

PCB#5 PCB#1

Lista de
processos
em estado de
espera

PCB#9 PCB#2 PCB#4

Figura 4-6: Lista de PCBs nos estados de pronto e espera

4.3.1. Mudanças de Estados do Processo

Um processo muda de estado durante seu processamento em função


de eventos originados por ele próprio (eventos voluntários) ou pelo
sistema operacional (eventos involuntários). Basicamente, existem
quatro mudanças de estado que podem ocorrer a um processo:

▪ Pronto para Execução

Após a criação de um processo, o sistema o coloca em uma lista de


processos no estado de pronto, onde aguarda por uma
oportunidade para ser executado. Cada sistema operacional tem
seus próprios critérios e algoritmos para a escolha da ordem em que
os processos serão executados.

Estado de execução

(d)
(b)

(a)

(c)

Estado de Estado de
Espera Pronto

95
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

Figura 4-7: Mudanças de estado do processo

▪ Execução para Espera

Um processo em execução passa para o estado de espera por


eventos gerados pelo próprio processo, como uma operação de E/S,
ou por eventos externos. Um evento externo é gerado, por
exemplo, quando o sistema operacional suspende por um período
de tempo a execução de um processo.

▪ Espera para Pronto

Um processo no estado espera passa para o estado de pronto


quando a operação solicitada é atendida ou o recurso esperado é
concedido. Um processo no estado de espera sempre terá de passar
pelo estado de pronto antes de poder ser novamente selecionado
para execução. Não existe a mudança do estado de espera para o
estado de execução diretamente. A figura acima mostra.

▪ Execução para Pronto

Um processo em execução passa o estado de pronto por eventos


gerados pelo sistema, como o término da fatia de tempo que o
processo possui para sua execução, a figura acima mostra. Neste
caso, o processo volta para afila de pronto, onde aguarda por uma
nova oportunidade para continuar o seu processamento.

Um processo em estado de pronto ou de espera pode não se encontrar


na memória principal. Esta condição ocorre quando não existe espaço
suficiente para todos os processos na memória principal e parte do
contexto do processo é levado para memória secundária. A técnica
conhecida como swapping na condição citada, retira processos da
memória principal (swap out0 e os traz de volta (swap in) seguindo
critérios de cada sistema operacional. Neste caso, os processos em
estados de espera e pronto podem estar residentes ou não residentes
(outswapped) na memória principal.

96
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

Estado de execução

Estado de Estado de
Espera Pronto
Residente
Não-Residente

Estado de Estado de
Espera Pronto

Figura 4-8: Mudanças de estado do processo (2)

4.3.2 Criação e Eliminação de Processos

Processos são retirados e eliminados por motivos diversos. A criação de


um processo ocorre a partir do momento em que o sistema operacional
adiciona um novo PCB à sua estrutura e aloca um espaço de
endereçamento na memória para uso. A partir da criação do PCB, o
sistema operacional já reconhece a existência do processo, podendo
gerenciá-lo e associar programas ao seu contexto para serem
executados. No caso da eliminação de um processo, todos os recursos
associados ao processo são desalocados e o PCB eliminado pelo sistema
operacional.

Além dos três estados apresentados anteriormente para o processo, a


maioria dos sistemas operacionais estabelece para os momentos de
criação e eliminação de um processo dois estados adicionais. A figura 4-
9 ilustra as mudanças de estado do processo considerando estes dois
novos estados.

97
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

Estado de execução Estado de Término

Estado de Estado de
Pronto Criação

Figura 4-9: Mudanças de estado do processo (3)

▪ Criação (New)

Um processo é dito no estado de criação quando o sistema


operacional já criou um novo PCB, porém ainda não pode coloca-lo
na lista de processos do estado de pronto. Alguns sistemas
operacionais limitam o número de processos ativos em função dos
recursos disponíveis ou de desempenho. Esta limitação pode
ocasionar que processos criados permaneçam no estado de criação
até que possam passar para ativos. Abaixo serão descritas
diferentes maneiras de criação de processos.

▪ Terminado (Exit)

Um processo no estado de terminado não poderá ter mais nenhum


programa executado no seu contexto, porém o sistema operacional
ainda mantém suas informações de controle presentes em
memória. Um processo neste estado não é considerado mais ativo,
mas como o PCB ainda existe, o sistema operacional pode recuperar
informações sobre a contabilização de uso de recursos do processo,
como o tempo total do processador. Após as informações serem
extraídas, o processo pode deixar de existir.

O término de processo pode ocorrer por razões como:

▪ Término normal de execução;

98
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

▪ Eliminação por um outro processo;

▪ Eliminação forçada por ausência de recursos disponíveis no


sistema.

4.3.3. Processos CPU-bound e I/O-bound

Processos podem ser classificados como CPU-bound ou I/O-bound de


acordo com a utilização do processador e dos dispositivos de E/S.

Um processo é definido como CPU-bound (ligado à UCP) quando passa


a maior parte de tempo no estado de execução, utlizando o
processador, ou pronto (figura5.10a). esse tipo de processo realiza
poucas operações de leitura e gravação, e é encontrado em aplicações
cietificas que efetuam muitos cálculos.

Um processo é classificado como I/O-bound (ligado à E/S) quando passa


a maior parte do tempo no estado de espera, pois realiza um elevado
número de operações de E/S (figura5-10b). este tipo de processo é
encontrado em aplicações comercais, que se baseiam em leitura,
processamento e gravação. Os processos interativos também são bons
exemplos de processos I/O-bound, pela forma de comunicação entre o
usuário e o sistema, normalmente lenta, devido à utilização de
terminais.

E/S E/S

UCP

tempo tempo
(a) CPU - Bound
(b) I/O - bound

Figura 4-10: Processos CPU-bound x I/O-bound

4.3.4. Processos Foreground e Background

Um processo possui sempre pelo menos dois canais de comunicação


associados à sua estrutura, pelos quais são utilizadas todas as entras e

99
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

saídas de dados ao longo do seu processamento. Os canais de entrada


(input) e saída (output) de dados podem estar associados a terminais,
arquivos, impressoras e até mesmo a outros processos.

Um processo foreground é aquele que permite a comunicação direta do


usuário como processo durante o seu processamento. Neste caso, tanto
o canal de entrada quanto o de saída estão associados a um terminal
com teclado, mouse e monitor, permitindo, assim, a interação com o
usuário (Figura 4-11a). O processo interativo tem como base processos
foreground.

Um processo background é aquele onde não existe a comunicação com


o usuário durante o seu processamento (Figura 4.11b). neste caso, os
canais de E/S não estão associados a nenhum dispositivo de E/S
interativo, mas em geral a arquivos de E/S. o processamento do tipo
batch é realizado através de processos background.

(a) Processo Foreground

entrada saida

Terminal Terminal

(b) Processo Background


entrada saida

Arquivo Arquivo
de entrada de saida

Figura 4-11: Processos Foreground e Background

É possível associar o canal de saída de um processo ao canal de


entrada de um outro processo. Neste caso, dizemos que um pipe
ligando os dois processos. Se um processo A gera uma listagem e o
processo B tem como função ordena-la, basta associar o canal de
saída do processo A ao canal de entrada do processo B (Figura 4-12).

100
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

Saída do
Processo A
Saída do
Processo B
Entrada do
Processo B
Processo A Processo B

Figura 4-12: Pipe

UNIDADE Temática 4.4. Formas de Criação de Processos

Um processo pode ser criado de diversas maneiras. A seguir, são


apresentadas as três principais formas de criação de processos:

▪ Logon Interativo

No Logon Interativo o usuário, por intermedio de um terminal,


fornece ao sistema um nome de identificação (username ou logon)
e uma senha (passowrd). O sistema operacional autêntica estas
informações verificando se estão corretamente cadastradas no
arquivo de usuários. Em caso positivo, um processo foreground é
criado, possibilitando ao usuário interagir com o sistema utilizando
uma linguagem de comandos.

▪ Via Linguagem de Comandos

Um usuário pode, a partir do seu processo, criar novos processos


por intermédio de comandos da linguagem de comandos. O
principal objetivo para que um usuário crie diversos processos é a
possibilidade de execução de programas concorrentemente. Por
exemplo, no sistema OpenVMS o comando spawn permite executar
uma outra tarefa de forma concorrente. Esta é uma maneira de criar
um processo a partir de outro processo já existente. O processo

101
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

criado pode ser foreground ou background dependendo do


comando de criação utilizado.

▪ Via Rotina do Sistema Operacional

Um processo pode ser criado a partir de qualquer programa


executável com o uso de rotinas do sistema operacional. A criação
deste processo possibilita a execução de outros programas
concorrentemente ao programa chamador. A rotina de criação de
processos depende do sistema operacional e possui diversos
parâmetros, como nome do processo a ser criado, nome do
programa executável que será executado dentro do contexto do
processo, prioridade de execução, estado do processo, se o
processo é do tipo foreground ou background etc.

4.4.1. Processos Independentes, Subprocessos e Threads

Processos independentes, subprocessos e threads são maneiras


diferentes de implementar a concorr6encia dentro de uma aplicação.
Neste caso, busca-se subdividir o código em partes para trabalharem de
forma cooperativa. Considere um banco de dados com produtos de
uma grande loja, onde vendedores fazem frequentes consultas. Neste
caso, a concorrência na aplicação proporciona um tempo de espera
menor entre consultas, melhorando o desempenho da aplicação e
beneficiando os usuários.

O uso de processos independentes é a maneira mais simples de


implementar a concorrência em sistemas multiprogramaveis. Neste
caso não existe vínculo do processo criado com o seu criador. A criação
de um processo independente exige a alocação de um PCB, possuindo
contextos de hardware, contextos de software e espaços de
endereçamento próprios.

Subprocessos são processos criados dentro de uma estrutura


hierarquia. Neste modo, o processo criador é denominado processo-

102
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

pai, enquanto o novo processo é chamado de subprocesso ou processo-


filho. O subprocesso, pro sua vez, pode criar outras estruturas de
subprocessos. Uma característica desta implementação é a
dependência existente entre o processo criador e o subprocesso. Caso
um processo-pai deixe de existir os subprocessos subordinados são
automaticamente eliminados. De modo semelhante aos processos
independentes, subprocessos possuem sue próprio PCB. A figura 4-13
ilustra cinco processos em uma estrutura hierárquica, cada qual com o
seu próprio contexto de hardware, contexto de software e espaço de
endereçamento.

Processo A

Processo B Processo C

Processo D Processo E

Figura 4-13: Estrutura de processos e subprocessos

Além da dependência hierarquia entre processos e subprocessos, uma


outra característica neste tipo de implementação é que subprocessos
podem compartilhar quotas com o processo-pai. Neste caso, quando
um subprocesso é criado o processo-pai cede parte de suas quotas ao
processo-filho.

O uso de processos independentes e subprocessos no desenvolvimento


de aplicações concorrentes demanda consumo de diversos recursos do
sistema. Sempre que um novo processo é criado, o sistema deve alocar
recursos (contexto de hardware, contexto de software e espaço de
endereçamento), consumindo tempo
103
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

de UCP. No momento do termino dos processos, o sistema operacional


também dispensa tempo para deslocar recursos previamente alocados.
Outro problema é a comunicação e a sincronização entre processos
consideradas pouco eficientes, visto que cada processo possui seu
próprio espaço de endereçamento.

O conceito de thread foi introduzido na tentativa de reduzir o tempo


gasto em criação, eliminação e troca de contexto de processos nas
aplicações concorrentes, bem como economizar recursos do sistema
como um todo. Em um ambiente multitread, um único processo pode
suportar múltiplos treads, cada qual associado a uma parte do código
da aplicação (Figura 5-14). neste caso não é necessário haver diversos
processos para a implementação da concorrência. Threads
compartilham o processador da mesma maneira que um processo, ou
seja, enquanto um thread espera por uma operação de E/S outro thread
pode ser executado.

Cada thread possui seu próprio contexto de hardwrae, porém


compartilha o mesmo contexto de software e espaço de
endereçamento com os demais threads do processo. O
compartilhamento do espaço de endereçamento permite que a
comunicação de threads dentro de um mesmo processo seja realizada
de forma simples e rápida.

104
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

Contexto de Contexto de Contexto de


Hardware Hardware Hardware

Contexto de
Software Thread 1 Thread 2 Thread 3

Espaço de
Endereçamento

Figura 4-14: Processo Multithread

Sumário

Na Unidade temática 4 percebemos que o gerenciamento de processos


é uma das principais funções de um sistema operacional. É devido à
gerência de processos que os sistemas operacionais podem alocar
recursos, compartilhar dados, trocar informações bem como
sincronizar suas execuções. Percebemos também que o processo é
formado por três partes essenciais que juntos mantêm todas
informações necessárias à execução de um programa. Mais também
percebemos que devido aos sistemas multiprogramáveis que
implementam a concorrência de diversos programas e atendam a
múltiplos usuários simultaneamente o processo tornou-se muito
essencial.

Exercícios de AUTO-AVALIAÇÃO

Perguntas
1. A função do contexto de Software é.
2. O espaço de endereçamento de um processo

Respostas:
1. Rever página 85 á 91.
2. Rever página 85 á 91.

105
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

Exercícios para AVALIAÇÃO

Perguntas
1. Defina o conceito de processo.
2. Porque o conceito de processo é tão importante no projecto de
sistemas multiprogramaveis?
3. Mecione as partes que compõem um processo.
4. O que é o contexto de hardware de um processo e como é feita
a implementação da troca de contexto?
5. Defina os cincos espaços possíveis de um processo.
6. De exemplos de aplicações CPU-bound e I/O-bound.

Bibliografia

▪ Francis Berenger Machado, Luiz Paulo Maia, “Arquitetura de


sistemas Operacionais”, 4ª ed., 2007
▪ OLIVEIRA, R. S. e CARISSIMI, A. S. e TOSCANI, S. S. istemas
Operacionais. 3ª ed, volume 11, Ed. Bookman, 2008.
▪ SILBERSCHATZ, A. & GALVIN, P. B. & GAGNE, G. Fundamentos
de Sistemas Operacionais. 6ª Edição, Ed. LTC.
▪ SILBERSCHATZ, A. & GALVIN, P. B. & GAGNE, G. Sistemas
Operacionais com Java. 7ª Edição, Rio de Janeiro, Ed.
Elsevier,2008.
▪ TANENBAUM, A. S. & WOODHULL, A. S. Sistemas Operacionais:
Projeto e Implementação. 3ª Edição, Porto Alegre, Ed.
Bookman, 2008
▪ Abraham, S.&Peter B. G., & Greg, G. Operating system
concepts ninth edition, 2013
▪ TANENBAUM, A. & Herbert, B., Modern Operating Systems,
Fourth Edition, 2015

106
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

TEMA – 5: GERÊNCIAMENTO DE MEMÓRIA.

UNIDADE Temática 5.1. Introdução à Memória.


UNIDADE Temática 5.2. Funções Básicas.
UNIDADE Temática 5.3. Alocação Particionada.
UNIDADE Temática 5.4. Swapping.
UNIDADE Temática 5.5. EXERCÍCIOS deste tema

Ao completar esta unidade, você deverá ser capaz de:


▪ Introduzir o Gerenciamento de Memória.

Objectivos ▪ Descrever como o processador executa instruções localizadas na memória.


específicos ▪ Descrever à implementação da técnica Swapping.

UNIDADE Temática 5.1. Introdução à Memória

A memória principal sempre foi vista como um recurso escasso e caro.


Uma das maiores preocupações dos projetistas foi desenvolver
sistemas operacionais que não ocupassem muito espaço de memória e,
ao mesmo tempo, otimizassem a utilização dos recursos
computacionais. Mesmo actualmente, com a redução de custo e
consequente aumento da capacidade a memória principal, seu
gerenciamento é um dos factores mais importantes no projecto de
sistemas operacionais.

Enquanto nos sistemas monoprogramáveis a gerência da memoria não


é muito complexa, nos sistemas multiprogramáveis essa gerência se
torna critica, devido à necessidade de se maximizar o número de
usuários e aplicações utilizando eficientemente o espaço da memória
principal.

107
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

UNIDADE Temática 5.2. Funções Básicas

Em geral, programas são armazenados em memórias secundárias,


como disco ou fita, por ser um meio não-volátil, abundante e de baixo
custo. Como o processador executa instruções localizadas na memória
principal, o sistema operacional deve sempre transferir programas da
memória secundária para a memória principal antes de serem
executadas. Como o tempo de acesso a memória secundária é muito
superior ao tempo de acesso à memória principal, o sistema
operacional deve buscar reduzir o número de operações de E/S à
memória secundária, caso contrário, sérios problemas no desempenho
do sistema podem ser ocasionados.

A gerência de memória deve tentar manter na memória principal o


maior número de processos residentes, permitindo maximizar o
compartilhamento do processador e demais recursos computacionais.
Mesmo na ausência de espaço livre, o sistema deve permitir que novos
processos sejam aceitos e executados. Isso é possível através da
transferência temporária de processos residentes na memória principal
para a memória secundária, liberando espaço para os novos processos,
este mecanismo é conhecido como swapping.

Outra preocupação na gerência de memória é permitir a execução de


programas que sejam maiores que a memória física disponível,
implementado através de técnicas como overlay e memória virtual.

Em um ambiente de multiprogramação, o sistema operacional deve


proteger as áreas de memória ocupadas por cada processo, além da
área onde reside o próprio sistema. Caso um programa tente realizar
algum acesso indevido à memória, o sistema de alguma forma deve
impedi-lo. Apesar de gerência de memoria garantir a proteção de áreas

108
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

d memória, mecanismos de compartilhamento devem ser oferecidos


para que diferentes processos possam trocar dados de forma protegida.

5.2.1. Alocação Contígua Simples

A alocação contigua simples foi implementada nos primeiros sistemas


operacionais, porém ainda esta presente em alguns sistemas
monoprogramáveis. Nesse tipo de organização, a memória principal é
subdividida em duas áreas: uma para o sistema operacional e oura para
o programa do usuário (Figura 5-1). Dessa forma, o programador deve
desenvolver suas aplicações, preocupado, apenas, em não ultrapassar
o espaço de memória principal disponível, ou seja, a diferença entre o
tamanho total da memória principal e a área ocupada pelo sistema
operacional.

Memória Principal

Sistema
Operacional

Área para
programa

Figura 5-1: Alocação contígua simples

No esquema acima o usuário tem controle sobre toda memória


principal, podendo ter acesso a qualquer posição de memória, inclusive
a área do sistema operacional. Para proteger o sistema desse tipo de
acesso, que pode ser intencional ou não, alguns sistemas implementam
proteção através de um registrador que delimita as áreas do sistema
operacional e do usuário (Figura 5-2). Dessa forma, sempre que um
programa faz transferência a um endereço na memória, o sistema
verifica se o endereço esta dentro dos

109
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

limites permitidos. Caso não esteja, o programa é cancelado e uma


mensagem de erro é gerada, indicando que houve uma violação no
acesso à memória principal.

Memória Principal
Registrador
Sistema
Operacional

Área para
programa

Figura 5-2: Proteção na alocação contígua simples

Apesar da fácil implementação e do código reduzido, a alocação


contigua simples não permite a utilização eficiente dos recursos
computacionais, pois apenas um usuário pode dispor desses recursos.
Em relação à memória principal, caso o programa do usuário não a
preencha totalmente, existira um espaço de memória livre sem
utilização (Figura 5-3).

Memória Principal

Sistema
Operacional

Programa do
usuário

Área livre

Figura 5-3: Subutilização da memória principal

110
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

5.2.2. Técnica de Overlay

Na alocação contigua simples, todos os programas estão limitados ao


tamanho da área de memória principal disponível para o usuário. Uma
solução encontrada para o problema é dividir o programa em módulos,
de forma que seja possível a execução independente de cada módulo,
utilizando uma mesma área de memória. Essa técnica é chamada de
overlay.

Considere um programa que tenha três módulos: um principal, um de


cadastramento e outro de impressão, sendo os módulos de
cadastramento e de impressão independentes. A independência do
código significa que quando um módulo estiver na memória para
execução, o outro não precisa necessariamente estar presente. O
módulo principal é comum aos dois módulos, logo, deve permanecer na
memória durante todo o tempo da execução do programa.

Como podemos verificar na Figura 5-2, a memória é insuficiente para


armazenar todo o programa, que totaliza 94kb. A técnica de overlay
utiliza uma área de memória comum, onde os módulos de
cadastramento e de impressão poderão compartilhar a mesma área de
memória (área overlay). Sempre que um dos dois módulos for
referenciado pelo módulo principal, o módulo será carregado da
memória secundária para a área de overlay. No caso de uma referência
a um módulo que já esteja na área de overlay, a carga não é realizada,
caso contrário, o novo módulo ira sobrepor-se ao que já estiver na
memória principal.

É função do programador definir as áreas de overlay, através de


comandos específicos da linguagem de programação utilizada. O
tamanho de uma área de overlay é estabelecido a partir do tamanho do
maior módulo. Por exemplo, se o módulo de cadastramento tem 4kb e
o módulo de impressão 2kb, a área de overlay deverá ter o tamanho do
maior módulo, ou seja, 4kb.

111
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

A técnica de overlay tem a vantagem de permitir ao programador


expandir os limites da memória principal. A utilização dessa técnica
exige muito cuidado, pois pode trazer implicações tanto na sua
manutenção quanto no desempenho das aplicações, devido à
possibilidade de transferência excessiva dos módulos entre a memoria
principal e a secundaria.

Memória Principal

Sistema
2 kb
Operacional
Cadastramento
Módulo principal
4 kb

Área de Overlay
Impressão

2 kb
Área livre
Área não 2 kb
utilizada

Figura 5-4: Técnica de Overlay

UNIDADE Temática 5.3. Alocação Particionada

Os sistemas operacionais evoluíram no sentido de proporcionar melhor


aproveitamento dos recursos disponíveis. Nos sistemas
monoprogramáveis, o programador permanece grande parte do tempo
ocioso e a memória principal é subutilizada. Os sistemas
multiprogramáveis já são muito mais eficientes no uso do processador,
necessitando, assim, que diversos programas estejam na memória
principal ao mesmo tempo novas formas de gerência da memória sejam
implementadas.

112
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

5.3.1 Alocação Particionada Estática

Nos primeiros sistemas multiprogramáveis, a memória era dividida em


pedaços de tamanho fixo, chamado partições. O tamanho das partições,
estabelecido na fase de inicialização do sistema, era definido em função
do tamanho dos programas que executariam o ambiente (Figura 5-5).
Sempre que fosse necessária a alteração do tamanho de uma partição,
o sistema deveria ser desativado e reinicializado com uma nova
configuração. Esse tipo de gerência de memória é conhecido como
alocação particionada estática ou fixa.

Memória Principal

Tabela de partições Sistema Operacional

Partição Tamanho Partição 1 2 kb

1 2kb
Partição 2 5 kb
2 5kb
2 8kb

Programa a serem executados


Partição 3 8 kb
E D C B A

3 kb 6 kb 1 kb 4 kb 2 kb

Figura 5-5: Alocação Particionada Estática

Inicialmente, os programas só podiam ser carregados e executados em


apenas uma partição especifica, mesmo se outras estivessem
disponíveis. Essa limitação se devia aos compiladores e montadores,
que geravam apenas código absoluto. No código absoluto, todas as
referências a endereços no programa são posições físicas na memória
principal, ou seja, o programa só poderia ser carregado a partir do
endereço de memória especificado no seu próprio código. Se, por
exemplo, os programas A e B estivessem sendo executados, e a terceira
partição estivesse livre, os programas C e E não poderiam ser
processados (Figura 5-6). A esse tipo de gerência de memória chamou-
se de alocação particionada estática absoluta.

113
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

Memória Principal

Sistema Operacional
C A Partição 1 2 kb
1 kb 2 kb
Partição 2 5 kb
E B
3 kb 4 kb

D Partição 3 8 kb

6 kb

Figura 5-6: Alocação Particionada Estática Absoluta

No código relocável, todas as referências a endereços no programa são


relativas ao início do código e não a endereços físicos de memória.
Desta forma, os programas puderam ser executads a partir de qualquer
partição. Quando o programa é carregado, o loader calcula todos os
endereços a partir da posição inicial onde o programa foi alocado. Caso
os programas A e B terminassem, o programa E poderia ser executado
em qualquer uma das duas partições (Figura 5-7). Esse tipo de gerência
é denominado alocação particionada estática relocável.

Memória Principal

Sistema Operacional
Programa C 2 kb

Programa A 5 kb
D E

3 kb

Programa B 8 kb

Figura 5-7: Alocação Particionada Estática Relocável

Para manter o controle sobre quais partições estão alocadas, a gerência


de memória mantém uma tabela com o endereço inicial de cada
partição, seu tamanho, e se esta em uso (Figura 5-8). Sempre que um
programa é carregado para a memória, o sistema percorre a tabela, na

114
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

tentativa de localizar uma partição livre, onde o programa possa ser


carregado.

Memória Principal

Sistema Operacional
Partição Tamanho Livre
1 Programa C
1 2kb Não
2 5kb Sim 2 Área livre
2 8kb Não

3
Programa B

Figura 5-8: Técnica de alocação de partições

Nesse esquema de alocação de memória, a proteção baseia-se em dois


registradores, que indicam os limites inferior e superior da partição
onde o programa esta sendo executado (Figura 5-9). Caso o programa
tente acessar uma posição de memória fora dos limites definidos pelos
registradores, ele é interrompido e uma mensagem de violação de
acesso é gerada pelo sistema operacional.

Memória Principal
Endereço inicial
Sistema Operacional

Endereço final

Figura 5-9: Proteção na alocação particionada

Tanto nos sistemas de alocação absoluta quanto nos de alocação


relocável, os programas, normalmente, não preenchem totalmente as
partições onde são carregados. Por exemplo, os programas C, A e E não

115
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

ocupam integralmente o espaço das partições onde estão alocados,


deixando 1kb, 3kb e 5kb de áreas livres, respectivamente (Figura 5-10).
Este tipo de problema, decorre da alocação fixa das partições é
conhecido como fragmentação interna. O sistema operacional que
implementou esse tipo de gerência memória é o OS/MFT
(Multiprogramming with a Fixed of Tasks) da IBM.

Memória Principal

Sistema Operacional

Programa C
1 kb

Programa A
D B

6 kb 4 kb 3 kb

Programa E

5 kb

Figura 5-10: Fragmentação Interna

5.3.2. Alocação Particionada Dinâmica

Na alocação particionada dinâmica ou variável, foi eliminado o conceito


de partições de tamanho fixo. Nesse esquema, cada programa utilizaria
o espaço necessário, tornando essa área sua partição (Figura 5-11).
Como os programas utilizam apenas o espaço de que necessitam, no
esquema de alocação particionada dinâmica o problema da
fragmentação interna não ocorre.

116
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

Memória Principal Memória Principal

Sistema Operacional Sistema Operacional

Programa B 4 kb

1 kb
Programa C

Programa E 3 kb
A E C B 15 kb
2 kb 3 kb 1 kb 4 kb Programa A 2 kb

5 kb

Figura 5-11: Alocação particionada dinâmica

Um tipo diferente de fragmentação começara a ocorrer, quando os


programas forem terminando e deixando espaços cada vez menores na
memória, não permitindo o ingresso de novos programas. No caso da
Figura 5-12, mesmo existindo 12kb livres de memória principal, o
programa D, que necessita de 6kb de espaço, não poderá ser carregado
para execução, pois este espaço não está disposto contiguamente. Esse
tipo de problema é chamado fragmentação externa.

Memória Principal

Sistema Operacional

4 kb

Programa C

D 3 kb

6 kb
Programa A

5 kb

Figura 5-12: Fragmentação externa

Existem duas soluções para o problema de fragmentação externa da


memória principal. Na primeira solução, conforme os programas
terminam, apenas os espaços livres adjacentes são reunidos,

117
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

produzindo áreas livres de tamanho maior. Na Figura 5-13, caso o


programa C termine, uma área de 8kb será criada.

Memória Principal Memória Principal

Sistema Operacional Sistema Operacional

4 kb

8 kb
Programa C
3 kb

Programa A Programa A

5 kb 5 kb

Figura 5-13: Solução para a fragmentação externa (a)

A segunda solução envolve a relocação de todas as partições ocupadas,


eliminando todos os espaços entre elas e criando uma única área livre
contigua (Figura 5-14). Para que esse processo seja possível, é
necessário que o sistema tenha a capacidade de mover os diversos
programas na memória principal, ou seja, realizar relocação dinâmica.
Esse mecanismo de compactação, também conhecido como alocação
particionada dinâmica com relocação, reduz em muito o problema da
fragmentação, porem a complexidade do seu algoritmo e o consumo de
recursos do sistema, como processador e área em disco, podem torna-
lo inviável. Um exemplo de sistema operacional que implementou esse
tipo de gerência de memoria é o OS/MVT (Multiprogramming with a
Variable Number of Tasks) da IBM.

118
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

Memória Principal Memória Principal

Sistema Operacional Sistema Operacional

Programa C
4 kb
Programa A

Programa C
Relocação
3 kb

Programa A

5 kb

Figura 5-14: Solução para fragmentação externa (b)

5.3.3. Estratégias de Alocação de Partição

Os sistemas operacionais implementam, basicamente, três estratégias


para determinar em qual área livre um programa será carregado para
execução. Essas estratégias tentam evitar ou diminuir o problema da
fragmentação externa.

A melhor estratégia a ser adotada por um sistema depende de uma


serie de factores, sendo o mais importante o tamanho dos programas
processados no ambiente. Independentemente do algoritmo utilizado,
o sistema possui uma lista de áreas livres com endereço e tamanho de
cada área (Figura 5-15).

Memória Principal

Sistema Operacional

Área livre 1 4 kb
Partição Tamanho
1 4kb Programa C
2 5kb
2 3kb Área livre 2 5 kb

Programa A

Área livre 3 3 kb

Figura 5-15: Lista de área livres

119
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

▪ Best-fit

Na estratégia best-fit a melhor partição é escolhida, ou seja, aquela em


que o programa deixa o menor espaço sem utilização (Figura 5-16a).
Nesse algoritmo, a lista de áreas livres esta ordenada por tamanho,
diminuindo o tempo de busca por uma área desocupada. Uma grande
desvantagem desse método é consequência do próprio algoritmo.
Como é alocado a partição que deixa a menor área livre, a tendência é
que cada vez mais a memória fique com pequenas áreas não-contíguas,
aumentando o problema da fragmentação.

▪ Worst-fit

Na estratégia worst-fit, a pior partição é escolhida, ou seja, aquela em


que o programa deixa o maior espaço sem utilização (Figura 5-16b).
Apesar de utilizar as maiores partições, atécnica de worst-fit deixa
espaços livres maiores que permitem a um maior número de programas
utilizar a memória, diminuindo o problema da fragmentação.

▪ First-fit

Na estratégia first-fit, a primeira partição livre de tamanho suficiente


para carregar o programa é escolhido (Figura 5-16c). nesse algoritmo, a
lista de áreas livres esta ordenada crescentemente por endereços.
Como o método tenta primeiro utilizar as áreas livres de endereços mais
baixos, existe uma grande chance de se obter uma grande partição livre
nos endereços de memória mais altos. Das três estratégias
apresentadas, a first-fit é mais rápida, consumindo menos recursos do
sistema.

120
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

Sistema Operacional

Programa C

Programa A
Programa F
Área livre 2 kb

Memória Principal
Sistema Operacional Sistema Operacional

4 kb

Programa C Programa C
(b) Worst-fit Programa F
F
5 kb
1 kb Área livre 4 kb

Programa A Programa A

3 kb

Sistema Operacional
Programa F

Área livre 3 kb

Programa C

Programa A

Figura 5-16: Estratégias para a escolha da partição

UNIDADE Temática 5.4. Swapping

Mesmo com o aumento da eficiência da multiprogramação e,


particularmente, da gerência de memória, muitas vezes um programa
não podia ser executado por falta de uma partição livre disponível. A

121
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

técnica de swapping foi introduzida para contornar o problema da


insuficiência de memória principal.

O swapping é uma técnica aplicada a gerência de memória para


programas que esperam por memoria livre para serem executados.
Nesta situação, o sistema escolhe um processo residente, que é
transferido da memória principal para a memória secundária (swap
out), geralmente disco. Posteriormente, o processo é carregado de
volta da memória secundária para a memória principal (swap in) e pode
continuar a sua execução como se nada tivesse e ocorrido (Figura 9-17).

O algoritmo de escolha do processo a ser retirado da memória principal


deve priorizar aquele com menos chances de ser executado, para evitar
o swapping desnecessário de um processo que será executado logo em
seguida. Os processos retirados da memória estão geralmente no
estado de espera, mas existe a possibilidade de um processo no estado
de pronto também ser selecionado. No primeiro caso, o processo é dito
no estado de espera outswapped e no segundo caso no estado de
pronto outswapped.

Para que a técnica de swapping seja implementada, é essencial que o


sistema ofereça um loader que implementa a relocação dinâmica de
programas. Um loader relocável que não ofereça esta facilidade
permite que um programa seja colocado em qualquer posição de
memória, porém a relocação é apenas realizada no momento do
carregamento. No caso do swapping, um programa pode sair e voltar
diversas vezes para a memória, sendo necessário que a relocação seja
realizada pelo loader a cada carregamento.

A relocação dinâmica é realizada através de um registrador especial


denominado registrador de relocação. No momento em que o
programa é carregado na memória, o registrador recebe o endereço
inicial da posição de memória que o programa irá ocupar. Toda vez que
ocorrer uma referência a algum endereço, o endereço contido na

122
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

instrução será somado ao conteúdo do registrador, gerando, assim, o


endereço físico (Figura 5-18). Dessa forma, um programa pode ser
carregado em qualquer posição de memória.

O conceito de swapping permite maior compartilhamento da memória


principal e, consequentemente, maior utilização dos recursos do
sistema computacional. Seu maior problema é o elevado custo das
operações de E/S (swap in/out). em situações críticas, quando há pouca
memória disponível, o sistema pode ficar quase que dedicado à
execução de swapping, deixando de realizar outras tarefas e
impedindo-a execução dos processos residentes.

Os primeiros sistemas operacionais que implementaram esta técnica


surgiram na década de 1960, como o CTSS do MIT e OS/360 da IBM.
Com a evolução dos sistemas operacionais, novos esquemas de
gerência de memória passaram a incorporar a técnica de swapping
como a gerência de memória virtual.

Memória Principal

Sistema Operacional

Programa A

H Programa B

Programa E

Programa G
B

Memória Principal
Arquivo de
Sistema Operacional Swap

Programa A

Programa H
Programa E
Swap in
B Área livre

Arquivo de
Swap

123
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

Figura 5-17: Swapping

Registrador de Relocação Instrução

Código de
Endereço inicial da partição Endereço
operação

Endereço de memória

Figura 5-18: Relocação dinâmica

Sumário

Na Unidade temática 5 fizemos uma breve introdução sobre


Gerenciamento de Memória. Descrevemos as funções básicas de
memória bem como o armazenamento em memórias secundárias.
Vimos que nas funções básicas devido a limitações na alocação contígua
simples houve necessidade de abordar-se a técnica de Overlay para
solucionar o problema. A evolução dos sistemas operacionais fez com
que houvesse a necessidade de se abordar a alocação particionada.
Estendemos a nossa abordagem falando sobre a técnica Swapping.

Exercícios de AUTO-AVALIAÇÃO

Perguntas
1. No código realocável, todas as referências a endereços no
programa são relativas ao início do código e não a endereços
físicos de memória
2. O swapping é uma técnica aplicada a gerência de memória para
programas que esperam por memória livre para serem
executados.

Respostas:
1. V
2. V

124
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

Exercícios para AVALIAÇÃO

Perguntas
1. Mencione as funções básicas de gerência de memória.
2. Qual a diferença entre fragmentação interna e fragmentação
externa da memória principal.
3. Qual a limitação da alocação particionada estática absoluta em
relação à alocação estática relocável?
4. O que é Swapping e para que é utilizada essa técnica?
5. Porque é importante o uso de um loader com relocação
dinâmica para que a técnica de swapping possa ser
implementada?

Bibliografia

▪ OLIVEIRA, R. S. e CARISSIMI, A. S. e TOSCANI, S. S. istemas


Operacionais. 3ª ed, volume 11, Ed. Bookman, 2008.
▪ SILBERSCHATZ, A. & GALVIN, P. B. & GAGNE, G. Fundamentos
de Sistemas Operacionais. 6ª Edição, Ed. LTC.
▪ Francis Berenger Machado, Luiz Paulo Maia, “Arquitetura de
sistemas Operacionais”, 4ª ed., 2007
▪ SILBERSCHATZ, A. & GALVIN, P. B. & GAGNE, G. Sistemas
Operacionais com Java. 7ª Edição, Rio de Janeiro, Ed.
Elsevier,2008.
▪ TANENBAUM, A. S. & WOODHULL, A. S. Sistemas Operacionais:
Projeto e Implementação. 3ª Edição, Porto Alegre, Ed.
Bookman, 2008
▪ Abraham, S.&Peter B. G., & Greg, G. Operating system
concepts ninth edition, 2013
▪ TANENBAUM, A. & Herbert, B., Modern Operating Systems,
Fourth Edition, 2015

125
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

TEMA – 6: SISTEMAS DE ARQUIVOS.

UNIDADE Temática 6.1. Introdução aos Sistemas de Arquivos.


UNIDADE Temática 6.2. Implementação de Arquivos.
UNIDADE Temática 6.3. Directórios
UNIDADE Temática 6.4. EXERCÍCIOS deste tema

Ao completar esta unidade, você deverá ser capaz de:


▪ Explicar a função dos Sistemas de Arquivos.

Objectivos ▪ Mostrar os vários métodos utilizados para implementar arquivos.


específicos ▪ Descrever métodos usados na organização de Sistemas de Directórios.

UNIDADE Temática 6.1. Introdução, aos Sistemas de Arquivos

Todas as aplicações de computadores precisam armazenar e recuperar


informações. Enquanto um processo está sendo executado, ele pode
armazenar uma quantidade limitada de informações dentro do seu
próprio espaço de endereçamento. No entanto, a capacidade de
armazenamento está restrita ao tamanho do espaço do endereçamento
virtual. Para algumas aplicações esse tamanho é adequado, mas, para
outras, como reservas de passagens aéreas, bancos ou sistemas
corporativos, ele é pequeno demais.

Manter informações dentro do espaço de endereçamento de um


processo constitui um problema visto que, quando o processo é
concluído, as informações são perdidas. Para muitas aplicações (por
exemplo, bancos de dados), as informações precisam ser retidas por
semanas, meses, ou mesmo para sempre. Perdê-las quando o processo
que as está utilizando é concluído é algo inaceitável. Além disso, elas
não devem desaparecer quando uma falha no computador mata um
processo.

126
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

Mais também é necessário que múltiplos processos acessem (partes de)


uma informação ao mesmo tempo. Se temos um diretório telefônico
on-line armazenado dentro do espaço de um único processo, apenas
aquele processo pode acessá-lo.

Segundo Tanenbaum a maneira para solucionar esse problema é tornar


a informação em si independente de qualquer processo. Tanenbaum
aponta três requisitos essenciais para o armazenamento de
informações por longo prazo que devesse ter em conta:

1. Deve ser possível armazenar uma quantidade muito grande de


informações.

2. As informações devem sobreviver ao término do processo que


as está utilizando.

3. Múltiplos processos têm de ser capazes de acessá-las ao mesmo


tempo.

A solução encontrada usualmente para o armazenamento de


informações é utilizar mídias externas e distintas da memória principal
(volátil) em unidades chamadas arquivos, de modo que essas
informações devem ser armazenadas de forma persistente, ou seja, não
pode ser afetada pela criação e término de um processo. Assim, um
arquivo só irá ser destruído quando seu proprietário o remover
explicitamente. Discos magnéticos foram usados por anos para esse
armazenamento de longo prazo. Em anos recentes, unidades de estado
sólido tornaram-se cada vez mais populares, à medida que elas não têm
partes móveis que possam quebrar. Elas também oferecem um rápido
acesso aleatório. Fitas e discos ópticos também foram amplamente
usados, mas são dispositivos com um desempenho muito pior e
costumam ser usados como backups.

Arquivos são unidades lógicas de informação criadas por processos ou


por outras palavras são recipientes de dados, identificados por um

127
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

nome e por uma série de atributos, mantidos e geridos pelo sistema


operativo. Enquanto que, Directórios são arquivos do sistema para
manter a estrutura do sistema de arquivos ou são conjuntos de
referências a arquivos. Os directórios permitem agrupar arquivos,
facilitando manuseamento e localização. Do ponto de vista do usuário,
o aspecto mais importante do Sistema de Arquivos é como aparece para
ele, ou seja, como o Sistema de Arquivos é implementado e quais
estruturas são utilizadas não é a questão primordial. O usuário está mais
interessado no que o arquivo é constituído, nomeados e protegidos.

Nesta unidade temática veremos os arquivos do ponto de vista do


usuário, abordando suas principais propriedades. Apresentaremos as
características gerais de Sistema de Arquivos, é de salientar que cada
Sistema de Arquivo específico contém características próprias.

6.1.1. Nomeação de Arquivos


Segundo Tanenbaum, o arquivo é um mecanismo de abstração, no qual
oferece meios de armazenar informações no disco e lê-las
posteriormente. A característica mais importante de qualquer
mecanismo de abstração é o modo como os objectos são geridos e
nomeados, isto é, a nomeação de arquivos. Um processo ao criar um
arquivo, atribui um nome a ele e quando o processo termina, este
arquivo continua existindo, possibilitando que outros processos possam
ter acesso a ele simplesmente buscando por seu nome. As regras de
nomeação de arquivos variam de sistema para sistema, porém, como
característica comum, todos os Sistemas Operativos actuais permitem
cadeias de caracteres de um até oito letras como nomes válidos de
arquivos.

Alguns Sistemas de Arquivos permite a utilização de caracteres


especiais, outros não; alguns Sistemas de Arquivos permitem nomes
com tamanhos até 255 caracteres; alguns Sistemas de Arquivos fazem
distinção entre letras maiúsculas e minúsculas (case sensitive), como

128
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

exemplo o Sistema de Arquivo do Unix, enquanto que outros não


diferenciam, como exemplo o Sistema de Arquivo do MS-DOS e do
Windows.

O Windows 95 e o Windows 98 usavam o mesmo sistema de arquivos


do MS-DOS, chamado FAT-16, e, portanto, herdaram muitas de suas
propriedades, como a maneira de se formarem os nomes dos arquivos.
O Windows 98 introduziu algumas extensões ao FAT-16, levando ao
FAT-32, mas esses dois são bastante parecidos. Além disso, o Windows
NT, Windows 2000, Windows XP, Windows Vista, Windows 7 e
Windows 8 ainda dão suporte a ambos os sistemas de arquivos FAT, que
estão realmente obsoletos agora. No entanto, esses sistemas
operacionais novos também têm um sistema de arquivos nativo muito
mais avançado (NTFS - native file system) que tem propriedades
diferentes (como nomes de arquivos em Unicode). Na realidade, há um
segundo sistema de arquivos para o Windows 8, conhecido como ReFS
(ou Resilient File System - sistema de arquivos resiliente), mas ele é
voltado para a versão de servidor do Windows 8.

A maioria dos Sistemas Operativos (na verdade, o Sistema de Arquivo


do SO) suporta nomes de arquivos de duas partes, separados por um
ponto. A parte que segue o ponto é chamada de extensão do arquivo e
indica o tipo do arquivo. Essa extensão, em alguns Sistemas Operativos,
é utilizada para atribuir qual programa deve abrir aquele arquivo em
específico. A tabela abaixo apresenta algumas extensões comuns de
arquivos.

Extensão Significado

.bak Cópia de segurança

.c Código-fonte de programa em C

.gif Imagem no formato Graphical Interchange Format

129
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

.hlp Arquivo de ajuda

.html Documento em HTML

.jpg Imagem codificada segundo padròes JPEG

.mp3 Música codificada no formato MPEG (camada 3)

.mpg Filme codificado no padrão MPEG

.o Arquivo objecto (gerado por compilador, ainda


não ligado)

.pdf Arquivo no formato PDF (Portable Document File)

.ps Arquivo PostScript

.tex Entrada para o programa de formatação TEX

.txt Arquivo de texto

.zip Arquivo compactado

6.1.2. Estruturas de Arquivos


Os arquivos podem ser estruturados de várias maneiras. Segundo
Tanenbaum, os arquivos podem ser estruturados basicamente através
de três maneiras, ilustradas na Figura 6.1.

1 Byte
1 Registro

Info 1 Info 2 Info 3

Info 1 Info 2 Info 3 Info 1 Info 2 Info 3 Info 1 Info 2 Info 3

Info 1 Info 2 Info 3

(c)

(a) (b)

Figura 6.1: Estruturas de Arquivos


(a) Sequência de bytes não-estruturada: nessa estrutura o SO não
sabe o que o arquivo contém e tudo que ele enxerga é uma

130
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

sequência de bytes. Tal estratégia apresenta uma máxima


flexibilidade, uma vez que os programas dos usuários podem pôr
qualquer coisa que queiram em seus arquivos e chamá-los do
nome que lhes convier.

(b) Sequência de registro de comprimento fixo: Um arquivo é uma


sequência de registros de tamanho fixo, cada um com alguma
estrutura interna. A ideia central é que a operação de leitura
retorna um registro e a operação de escrita sobrepõe ou anexa
um registro.

(c) Árvore de Registros: um arquivo é constituído de uma árvore de


registros (não necessariamente do mesmo tamanho), cada um
contendo um campo-chave em uma posição fixa no registro, na
qual a árvore é ordenada pelo campo-chave para que se busque
mais rapidamente por uma chave específica. Além disso, novos
registros podem ser adicionados ao arquivo, decidindo o
sistema operativo onde colocá-los. Este tipo de arquivo é
amplamente aplicado em computadores de grande porte
usados ainda para alguns processamentos de dados comerciais.

6.1.3. Tipos de Arquivos


Muitos sistemas operativos aceitam vários tipos de arquivos. Os
principais tipos de arquivos são:

▪ Arquivos comuns: arquivos que contêm informações do


usuário.

▪ Diretórios: arquivos do sistema que mantêm a estrutura do


sistema de arquivos.

▪ Arquivos especiais de caracteres: arquivos relacionados à


entrada e saída e usados para modelar dispositivos de E/S.

▪ Arquivos especiais de blocos: arquivos usados para modelar


discos.

131
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

Os arquivos comuns (informações do usuário), em geral, são arquivos


ASCII ou arquivos binários. Os arquivos ASCII são constituídos de linhas
de texto, possuindo como grande vantagem o facto de que eles podem
ser mostrados e impressos como são e poder ser editados com qualquer
editor de textos. Além disso, facilita a conexão entre a saída de um
programa e a entrada de um outro. Já os arquivos binários, em geral,
possuem alguma estrutura interna, conhecida pelos programas que os
usam. Todo Sistema Operativo deve reconhecer pelo menos um tipo de
arquivo: seu próprio arquivo executável.

6.1.4. Acesso aos Arquivos


O acesso a arquivos pode ser realizado, basicamente, através de duas
maneiras.

▪ Acesso sequencial: nesse tipo de acesso os arquivos são lidos


em ordem sequencialmente, partindo do início, mas nunca
saltando e lendo fora de ordem. Esse tipo de acesso é muito
utilizado, como exemplo, leitura de mídias do tipo fita
magnética, além de leitura sequencial de programas fontes,
realizada por vários compiladores.

▪ Acesso Aleatório: em alguns tipos de mídias é possível ler bytes


ou registros de um arquivo fora da ordem. Esses arquivos são
chamados de arquivos de acesso aleatório.

Segundo Tanenbaum, em alguns Sistemas Operativos antigos, os


arquivos eram classificados por acesso sequencial ou por acesso
aleatório no momento em que estavam sendo criados. Entretanto, os
Sistemas Operativos modernos não fazem distinção, ou seja, todos os
seus arquivos são, automaticamente, de acesso aleatório.

6.1.5. Atributos de Arquivos


A maioria dos Sistemas Operativos associa várias informações extras a
um determinado arquivo. Essas informações geralmente são chamadas

132
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

de atributos de um arquivo. Os tipos de atributos variam de sistema


para sistema e nenhum sistema dispõe de todos os tipos de atributos
possíveis. Podemos enumerar uma série de atributos, como: pessoas
que podem acessar, senhas, criador, proprietário, comprimento do
arquivo, tempo de criação, tempo do último acesso, tempo da última
atualização, tamanho máximo, dentre outros.

6.1.6. Operações com Arquivos


A finalidade dos arquivos é armazenar informação e permitir que ela
seja recuperada posteriormente. Assim, os Sistemas de Arquivos
oferecem diferentes operações para armazenar e recuperar
informações. Dentre as várias operações possíveis sobre arquivos,
podemos destacar:

▪ Criar: operação utilizada para criar o arquivo.

▪ Apagar: operação utilizada para excluir um determinado


arquivo, liberando espaço de memória.

▪ Abrir: operação utilizada para abrir um arquivo e permitir escrita


ou leitura de informações.

▪ Fechar: operação utilizada para fechar um arquivo e manter sua


consistência.

▪ Ler: operação disponibilizada para ler informações do arquivo,


para poderem ser utilizadas.

▪ Escrever: operação para incluir alguma informação no arquivo.

133
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

UNIDADE Temática 6.2. Implementação de Arquivos.

Vários métodos são utilizados para implementar arquivos dentre eles


se destacam:

6.2.1. Alocação Contígua


Trata-se do exemplo mais simples de implementar, no qual é utilizado
um bloco de dados contíguo (sequencial) no disco para armazenar um
arquivo. Por exemplo, considerando um disco com blocos de 1k, um
arquivo com 20k ocuparia 20 blocos consecutivos. Este tipo de alocação
traz como principal vantagem a simplicidade de implementação e o
facto de ter um bom desempenho no acesso a um arquivo, pois um
arquivo inteiro pode ser lido com apenas uma operação.

Porém, a alocação contígua possui grandes desvantagens. A primeira


está no facto de que este tipo de alocação só é praticável caso seja
conhecido o tamanho do arquivo no momento de sua criação. Outra
desvantagem é que este tipo de alocação gera uma fragmentação no
disco.

Disco

Bloco 1 Bloco
0
Físico
1
2 Bloco 0
3 Bloco 1
Arquivo
4 Bloco 2
5 Bloco 3
6 Bloco 4
7
8

Figura 6.2: Arquivos por Alocação Contígua

134
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

6.2.2. Alocação por Lista Encadeada


Outro método para armazenar um arquivo é utilizando listas
encadeadas de blocos de disco. Cada bloco conterá, dessa forma, o seu

dado armazenado e um ponteiro para o bloco seguinte. A principal


vantagem de se utilizar a alocação por lista encadeada está no facto de
evitar o grande desperdício em disco comum na alocação contígua.
Além disso, para acessar todo o arquivo é suficiente armazenar apenas
o endereço de disco do primeiro bloco. Porém, a principal desvantagem
da utilização desse método é que o acesso aleatório é extremamente
lento. Além disso, considerando que cada bloco terá que guardar o
endereço do bloco seguinte, existe um gasto de memória adiciona.

Arquivo

Bloco 0 Bloco 1 Bloco 2 Bloco 3 Bloco 4

6 4 8 15 2
Bloco
Físico

Figura 6.3: Arquivos por Alocação por Lista Encadeada


6.2.3. Alocação por Lista Encadeada usando Índice
Uma maneira de tentar driblar as duas desvantagens de se utilizar
alocação por lista encadeada seria utilizar a palavra ponteiro de cada
bloco de disco de um arquivo e colocar em uma tabela ou em um índice
na memória.

Dessa forma, o bloco inteiro no disco estará disponível para


armazenamento de dados (não é necessário armazenar mais o ponteiro
para o próximo bloco). Além disso, o acesso aleatório é muito mais fácil,
pois a cadeia de blocos está toda em memória, não sendo necessário
qualquer referência ao disco. A Figura 6.4 ilustra a tabela utilizada neste
método de alocação para armazenar a sequência dos blocos do arquivo
representado pela lista encadeada da Figura 6.3.

135
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

Bloco
0
Físico
1
2 0
3
4 8
5
O Arquivo
6 4 começa aqui
7
8 15
9

10
11
12

13
14
15 2
16

Figura 6.4: Arquivos por Alocação por Lista Encadeada Utilizando


Índice

UNIDADE Temática 6.3. Directórios

Os sistemas de arquivos têm, em geral, diretórios ou pastas para


controlar os arquivos, que, em muitos sistemas, também são
considerados arquivos.

6.3.1. Organização de Sistemas de Directórios


A maneira mais simples de se projectar um Sistema de Arquivos é ter
um diretório contendo todos os arquivos geralmente chamado de
diretório-raiz.

Esse sistema era muito comum, em parte, nos primeiros computadores

136
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

pessoais, pois havia somente um usuário. Porém, em um sistema com


vários usuários o problema de haver somente um diretório é que
diferentes usuários podem usar acidentalmente os mesmos nomes para
seus arquivos. Em consequência disso, esse esquema não é mais
empregado em sistemas multiusuário geralmente empregado em
sistemas embarcados (embedded Systems).

Directório-Raiz

A B c D

Figura 6.5: Sistemas de arquivos com um nível


Com a finalidade de evitar conflitos causados por diferentes usuários
escolhendo o mesmo nome para seus arquivos, a solução é oferecer um
diretório privado para cada usuário. Dessa forma, os nomes escolhidos
por um usuário não interfeririam nos nomes escolhidos por outro
usuário, podendo ocorrer de arquivos com o mesmo nome em dois ou
mais diretórios sem causar nenhum problema. Este esquema está
ilustrado na Figura 6.6.

137
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

Directório-Raiz

Directórios de
usuário

Arquivos

A B c D E

Figura 6.6: Sistemas de arquivos com dois níveis


Os conflitos de nomes entre os usuários são eliminados na hierarquia
em dois níveis, mas tal hierarquia não é satisfatória para os usuários
com um número muito grande de arquivos ou que desejam agrupar
seus arquivos de maneira lógica. Dessa forma, podemos utilizar uma
hierarquia geral, ou seja, uma árvore de diretórios, no qual cada usuário
pode ter tantos diretórios quanto necessários para agrupar os seus
arquivos de uma maneira natural.

Assim, essa capacidade de os usuários criarem um número arbitrário de


subdiretórios constitui uma poderosa ferramenta de estruturação para
organizar seus trabalhos. Por esse motivo, quase todos os modernos
sistemas de arquivos são organizados dessa forma.

138
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

Directório-Raiz

Directórios de
usuário

Arquivos

A c D

Sub-directórios
de usuário

c D E

Figura 6.7: Sistemas de arquivos hierárquico


6.3.2. Nomes de Caminhos
Quando organizamos um Sistema de arquivos baseado em uma árvore
de diretórios, torna-se necessário uma forma de especificar o nome dos
arquivos, e para isso, geralmente são usados dois métodos: nome de
caminho absoluto e nome de caminho relativo.

Um nome de caminho absoluto é formado pelo caminho entre o


diretório-raiz e o arquivo específico. Os nomes de caminhos absolutos
sempre iniciam no diretório-raiz e são únicos. Em Sistemas de Arquivos
do Windows os componentes do caminho são separados por \. Já em
Sistemas de Arquivos do Unix são separados por /.

Já o nome de caminho relativo é utilizado em conjunto com o conceito


de diretório de trabalho (também chamado diretório actual). Assim, um
usuário pode designar um diretório de trabalho específico e quaisquer
nomes de caminhos que não comecem a partir do diretório-raiz são
interpretados em relação ao diretório do trabalho. Como exemplo,

139
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

imagine que o diretório de trabalho de um usuário UNIX seja


/home/usuário, então o arquivo, cujo nome de caminho absoluto seja
/home/usuário/arquivo.txt pode, simplesmente, ser interpretado
como arquivo.txt.

Cada processo possui seu próprio directório de trabalho. Dessa forma,


quando um processo altera seu directório de trabalho e depois sai,
nenhum outro processo é afectado e nenhum vestígio da mudança é
deixado no sistema de arquivos. Por outro lado, procedimentos de
bibliotecas raramente alteram o directório de trabalho e, quando
precisam fazê-lo, eles sempre voltam para onde estavam, se não o resto
do programa poderá não funcionar.

A maioria dos Sistemas Operativos que suportam um sistema de


diretório hierárquico tem duas entradas especiais em cada diretório:
ponto (.) e o ponto-ponto (..). O ponto refere-se ao diretório actual,
enquanto que o ponto-ponto se refere ao diretório pai (diretório
anterior). Como exemplo, se um usuário tiver trabalhando no directório
/home/usuário, caso utilize o ponto-ponto, ele estará subindo na
árvore de diretórios, ou seja, referenciando o diretório /home. Se ele
utilizar o ponto, estará referenciando o próprio diretório
(/home/usuário).

6.3.3. Operações com Directórios


Como os arquivos, existem diversas chamadas ao sistema para gerir
diretórios, que, também, variam de sistema para sistema. As operações
mais importantes são:

▪ Criar: utilizado para criar um determinado diretório.


Inicialmente é criado um diretório vazio, contendo apenas o
ponto e o ponto-ponto.

▪ Apagar: operação utilizada para apagar um determinado


diretório. Normalmente, só é possível excluir um diretório vazio.

140
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

▪ Abrir diretório: a partir desta operação é possível abrir um


diretório. Antes de ler um diretório é preciso, inicialmente, abri-
lo.

▪ Fechar diretório: operação utilizada para fechar um diretório.

▪ Ler: esta chamada é utilizada para ler o conteúdo de um


diretório.

▪ Renomear: fornece a possibilidade de alterar o nome do


diretório.

6.3.4. Implementação de Directórios


O Sistema Operativo utiliza o nome de caminho fornecido pelo usuário
para poder localizar a entrada de diretório. A entrada de diretório
contém informações necessárias para a localização dos blocos de disco.
Essas informações podem ser o endereço do arquivo inteiro ou o
número do primeiro bloco, por exemplo. Assim, a principal função do
sistema de directório é mapear o nome ASCII do arquivo para as
informações necessárias para localizar os dados em disco (Tanenbaum).

Sumário

Nesta Unidade temática 6 fizemos uma breve introdução sobre Sistema


de Arquivos. Abordamos os arquivos do ponto de vista do usuário,
falamos sobre as regras de nomeação de arquivos, como os arquivos
são estruturados, vimos que os Sistemas Operacionais suportam vários
tipos de arquivos e como podem ser acessados, bem como os seus
atributos e as operações com arquivos. Vimos as vantagens e
desvantagens de cada um dos métodos. Estendemos a nossa
abordagem falando sobre Directórios, abordando sobre a organização
de Sistemas de Directórios onde vimos que a forma mais simples de se
projectar um Sistema de Arquivos é ter um directório contendo todos
os arquivos geralmente chamados de Directório-raiz.

141
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

Exercícios de AUTO-AVALIAÇÃO

Perguntas
1. Defina Arquivos.
2. Segundo Tanenbaum como são estruturados os arquivos.

Respostas:
1. a) V.
2. b) F.
3. b) F.

Exercícios para AVALIAÇÃO

Pergunta
1. Aonde é aplicado a estrutura de Árvore de Registo.
2. Qual a vantagem que os arquivos ACSII apresentam.
3. A leitura de mídias do tipo fita magnética, que tipo de acesso
aos arquivos é.
4. Mencione as vantagens e desvantagens de cada um dos
métodos utilizados na implementação de arquivos.
5. Qual a finalidade de uso de Sistemas de Arquivos com dois
níveis.
6. Como podemos eliminar os conflitos de nomes entre os
usuários.
7. Porquê a hierarquia em dois níveis não é satisfatória para os
usuários.

Bibliografia

▪ BACON, J. e HARRIS, T. Operating Systems: Concurrent and


Distributed Software Design. Addison Wesley, 2003.
▪ DEITELL, H. M. & DEITEL, P. J. & CHOFFNES, D. R. Sistemas
Operacionais. São Paulo, Ed. Prentice Hall, 2005.
▪ OLIVEIRA, R. S. e CARISSIMI, A. S. e TOSCANI, S. S. istemas
Operacionais. 3ª ed, volume 11, Ed. Bookman, 2008.
▪ SILBERSCHATZ, A. & GALVIN, P. B. & GAGNE, G. Fundamentos
de Sistemas Operacionais. 6ª Edição, Ed. LTC.
▪ SILBERSCHATZ, A. & GALVIN, P. B. & GAGNE, G. Sistemas
Operacionais com Java. 7ª Edição, Rio de Janeiro, Ed.
Elsevier,2008.
▪ TANENBAUM, A. S. & WOODHULL, A. S. Sistemas Operacionais:
Projeto e Implementação. 3ª Edição, Porto Alegre, Ed.
Bookman, 2008

142
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

▪ Abraham, S.&Peter B. G., & Greg, G. Operating system


concepts ninth edition, 2013
▪ TANENBAUM, A. & Herbert, B., Modern Operating Systems,
Fourth Edition, 2015
▪ Jandl, Peter, Jr. Notas sobre Sistemas Operacionais, 2004

143
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

TEMA – 7: ARQUITETURA DO MICROPROCESSADORES INTEL.

UNIDADE Temática 7.1. Arquitetura do Microprocessador INTEL.


UNIDADE Temática 7.2. O Microprocessador INTEL 8080.
UNIDADE Temática 7.3. EXERCÍCIOS deste tema

Ao completar esta unidade, você deverá ser capaz de:


▪ Explicar a Arquitetura do Microprocessador INTEL

Objectivos ▪ Mostrar a evolução dos Microprocessadores até então.


específicos ▪ Descrever a Arquitetura do Microprocessador INTEL 8080.

UNIDADE Temática 7.1. Arquictetura de Microprocessadores INTEL

O microprocessador, popularmente chamado de processador, é um


circuito integrado que realiza as funções de cálculo e toma a decisão de
um computador. Todos os computadores e equipamentos eletrônicos
baseiam-se no microprocessador para executar suas funções, podemos
dizer que o processador é o cérebro do computador por realizar todas
estas funções, tornando o computador inteligente.

Um microprocessador incorpora as funções de uma unidade central de


computador (CPU) em um único circuito integrado, ou no máximo
alguns circuitos integrados. É um dispositivo multifuncional
programável que aceita dados digitais como entrada, processa de
acordo com as instruções armazenadas em sua memória, e fornece
resultados como saída. Microprocessadores operam com números e
símbolos representados no sistema binário.

A Intel foi a primeira empresa a dedicar-se no fabrico de


microprocessadores, onde também se destacam AMD (Advanced
Micro Devices), fundada em 1969, a AMD, em seu começo, chegou a
produzir chips sobe encomenda para a própria Intel, desenvolvendo

144
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

posteriormente seus próprios produtos. O processador PowerPC foi


criado através da união das empresas Apple, IBM e Motorola no início
dos anos 90. O objetivo era criar um processador RISC para ser utilizado
nos computadores da Apple (Macintosh). A Texas Instruments (ou
simplesmente TI, desde 1930) é uma empresa americana que atua na
área de semicondutores, especialmente no mercado de processadores
de sinais digitais, conversores analógico-digital e digital-analógico,
microcontroladores. Em 1987, produz o primeiro microprocessador a
32 bits que incorpora inteligência artificial e um ano depois faz a
demonstração do primeiro transistor quântico. A Motorola foi fundada
em 1928 por Paul Wault Galvin e está sediada Schaumburg, Illinois,
subúrbio de Chicago. A empresa foi responsável pela fabricação dos
processadores utilizados nos primeiros computadores Macintosh, o
modelo Motorola 68000. De tecnologia CISC – 32 bits, foi desenvolvido
no início dos anos 80. Também foi utilizado em diversos videogames,
entre as décadas de 80 e 90, tais como o Sega Mega Drive, Sega Mega-
CD e o Neo-Geo

Então seria impossível falar de microprocessadores sem mencionar a


empresa Intel. Foi fundada em 1968 por Gordon Moore, Robert Noyce
e Andy Grove com a intenção de atuar no setor de eletrônica integrada.
O nome Intel vem do termo em inglês integrated eletronic (eletrônica
integrada). Seus primeiros produtos foram dispositivos de memória
semicondutora. A empresa ficou conhecida por inventar uma nova
tecnologia, com o desenvolvimento do primeiro microprocessador
comercial, o 4004 em 1971. Apesar do sucesso e popularidade do
produto, a Intel ainda era uma empresa pequena na época. A projeção
mundial veio no final da década de 70, com os processadores da família
8080, que equipavam os computadores pessoais IBM e seus “clones”.
Com o sucesso, a empresa passa a focar o mercado de
microprocessadores, tornando-se o maior fabricante mundial. A figura

145
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

abaixo, mostra o primeiro dispositivo da Intel de memória


semicondutora de 64bits.

Figura 7-1: Intel 3101

7.1.1. A Lei de Moore

Em 1965, Gordon Moore, um dos fundadores da Intel, observou que o


número de transístores que podiam ser impressos em uma única
pastilha (chip), dobrava a cada ano e previu que esse crescimento
continuaria no futuro. Essa observação ficou conhecida como Lei de
Moore.

Moore baseou sua previsão no rápido desenvolvimento da indústria


desde a criação do circuito integrado. Vale ressaltar, entretanto, que
Moore não se referia a Intel como catalisadora deste estrondoso
crescimento. Na época, a Intel ainda era uma empresa de pequenas
proporções, e não havia como prever com certeza se a mesma
continuaria a evoluir no mesmo ritmo.

7.1.1.1. Consequências da Lei de Moore:

▪ O custo de uma pastilha permaneceu praticamente o mesmo ao


longo do período de rápido crescimento da sua densidade;

▪ Aumento da velocidade de operação dos processadores, pois


devido a proximidade dos componentes, há redução do
caminho elétrico;

146
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

▪ O computador ficou bem menor, tornando-se mais compacto e


passível de ser utilizado em diversos ambientes;

▪ Redução do consumo elétrico e da necessidade de resfriamento


elétrico;

▪ Com um número maior de circuitos em cada pastilha, o número


de conexões entre pastilhas é muito menor.

7.1.1.2 Desenvolvimento e Evolução dos Microprocessadores INTEL

O 4004 foi o primeiro microprocessador produzido pela Intel e também


é considerado o primeiro processador a ser lançado comercialmente no
mundo. Era capaz de somar dois números de 4 bits e efetuava
multiplicações através de somas repetidas. O processador possuía clock
de 108 KHz e 4 bits e foi desenvolvido por Ted Hoff, engenheiro da
empresa. Na época, Hoff e sua equipe acreditavam que estavam
criando algo que poderia transformar o mercado para sempre. E
estavam certos. O 4004 marcou o início de uma evolução contínua na
capacidade e no poder de processamento dos microcomputadores.

Figura 7-2: Intel 4004

A tabela abaixo mostra a características do modelo Intel 4004

Data 1971
Frequência 108 KHz
Número de Transistores 2300
Largura do Barramento 4 bits
Memória endereçável 640 bytes
Em 1972 a Intel lança o seu novo processador, o Intel 8008 TM, que
possuía um CPU de 8 bits implementada sobre as tecnologias TTL MSI e

147
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

com aproximadamente 3.500 transístores, por ser o dobro do Intel


4004.

Figura 7-3: Intel 8008

A tabela abaixo mostra a características do modelo Intel 8008

Data 1972
Frequência 108 KHz
Número de Transistores 3500
Largura do Barramento 8 bits
Memória endereçável 16 KB
O 8086 foi esquecido para o primeiro PC, mas ainda foi usado mais tarde
em alguns computadores. Era um verdadeiro processador de 16 bits e
comunicava com as placas por uma ligação de dados de 16 vias. Lançado
pela Intel em 1978, o 8086 tinha um desempenho dez vezes melhor que
seu antecessor o 8080. Seus registradores tinham a largura de 16 bits,
o barramento de dados passou de 8 para 16 bits e o barramento de
endereços se tornou maior com 20 bits de largura, permitindo assim
que fosse controlado mais de 1 milhão de bytes de memória. A memória
passou a ser tratada de maneira diferente pois esse processador tratava
a mesma como se fosse dividida em até 16 segmentos contendo 64
kilobytes cada, e não permitia que nenhuma estrutura de dados
ultrapassasse a barreira entre os segmentos.

Figura 7-4: Intel 8086

148
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

A tabela abaixo mostra a características do modelo Intel 8086.

Data 1978
Frequência 4,77 MHz, 8 MHz, 10 MHz
Número de Transistores 29000
Largura do Barramento 16 bits
Memória endereçável 1 MB
Mas em 1979 a venda à nova divisão de computadores pessoais da IBM
fez do 8088 o cérebro do novíssimo êxito da IBM - o IBM PC. O sucesso
do 8088 introduziu a Intel nas listas da Fortune 500, e companhia ainda
foi nomeada como "Triunfos Empresariais dos Anos Setenta". Era um
processador de 16 bits, mas comunicava com as placas apenas por uma
ligação de 8 bits. Trabalhava a uma estonteante velocidade de 4 MHz e
tinha a fantástica capacidade de memória de 1MB de RAM.

O 8088 surgiu da necessidade em se criar um processador com


características parecidas com as do 8086 mas que tivesse um custo
menor. Dessa forma, a Intel colocou no mercado um chip que só se
diferenciava do 8086 pelo fato de ter um barramento de dados de 8
bits. Em virtude de sua concepção menos avançada e do baixo custo de
produção o 8088 foi escolhido pela IBM, para o projeto de seu
computador pessoal, pois, além de possuir o projeto interno de 16 bits
também pertencia à mesma linhagem do 8080.

Figura 7-5: Intel 8088

Este foi o microprocessador utilizado nos primeiros computadores


IBM-PC, as características do modelo Intel 8086 é apresentada na
Tabela abixo.

Data 1979
Frequência 4,77 MHz e 8 MHz
Número de Transistores 29000
Largura do Barramento 16 bits

149
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

Memória endereçável 1MB


O Intel 80286 (conhecido como 286 e também chamado de i286), foi o
primeiro processador que executava todo o software escrito para o seu
predecessor, lançado em 1982 pela Intel e passou a ser utilizado
primeiramente pela IBM no PC AT em 1984. Basicamente, como
novidades ele trazia o uso do barramento de 16 bits, possibilidade de
acesso a até 16 MB de memória e unidade de gerenciamento de
memória integrada (permitia multitarefa em quantidade limitada). O
286 foi o primeiro processador "real". Foi também com ele que se
introduziu o conceito de protection mode. Isto é a habilidade de ter
multitarefas e, ter diferentes programas a correr em separado, mas ao
mesmo tempo. Esta nova habilidade não foi aproveitada pelo DOS, mas
felizmente modernos Sistemas Operativos como o Win 9x e Unix tiram
bastante partido desta qualidade. Este chip foi usado pela IBM no seu
PC AT. Trabalhava a cerca de 6MHz, e modelos posteriores conseguiram
trabalhar a 20MHz. Estes processadores são hoje usados apenas como
pisa-papeis, mas muita gente também os usa.

Figura 7-6: Intel 80286

As características do modelo Intel 80286 é apresentada na Tabela


abixo.

Data 1982
Frequência 6, 8, 10, 12.5, e 16 MHz
Número de Transistores 134000
Largura do Barramento 16 bits
Memória endereçável 16 MB

150
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

Na década de 80, surgiu o primeiro PC (Personal Computer), lançado


pela IBM, sem disco rígido, com 2 unidades de disquetes e apenas 64
KB de memória o que era suficiente para rodar a maioria dos programas
da época.

▪ Bit (b) - é menor informação que um computador pode


processar. Corresponde a um pulso elétrico. Se existe, tem valor
1 e, se não existe, tem valor 0. Isto forma o código binário (0- 1).
Por ser muito pequeno, não é utilizado para medir memória. No
entanto, é a unidade de medida da capacidade de
processamento dos computadores.

▪ Byte (B) - conjunto de 8 bits; representa um caractere.

▪ Kilobyte (KB) - conjunto de 1024 Bytes.

▪ Megabyte (MB) - conjunto de 1024 KB ou 1 048 576 Bytes.

▪ Gigabyte (GB) - conjunto de 1024 MB ou 1 048 576 KB ou 1 073


741 824 Bytes.

A partir daqui, surge a segunda geração de processadores sendo o


processador 286 o seu único exemplar. Este processador tomou de
assalto os processadores da primeira geração, trazendo diferenças
significativas. Um marco no desenvolvimento dos processadores.

O Intel 80386 (386 ou i386) trouxe como principal diferencial de seu


antecessor a capacidade de executar multitarefa preemptiva (mais
conhecida como multitarefa de antecipação), que em poucas palavras
seria atender a diversos processos ao mesmo tempo por prioridade.
Além disto, ele utilizava o barramento de 32 bits e memória em modo
protegido.

151
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

Figura 7-7: Intel 80386DX

As características do modelo Intel 80386 é apresentada na Tabela abixo.

Data 1985
Frequência 16,20,25 e 33 MHZ
Número de Transistores 275000
Largura do Barramento 32 bits
Memória endereçável 4 GB
O Intel i486 (486 ou 80486), o sucessor do 80386, foi nomeado sem o
prefixo “80” por motivos de direitos de patente. Este processador, em
termos de arquitetura, representou um grande avanço se comparado
com o 386. Ele já contava com cache de dados, instruções no chip,
uma unidade de barramento melhorada (embora ainda com 32 bits) e
executava instruções por ciclo de clock.

Figura 7-8: Intel 80486DX

As características do modelo Intel 80486DX é apresentada na Tabela


abixo.

Data 1989
Frequência 25, 33 e 50 MHZ
Número de Transistores 1.200.000
Largura do Barramento 32 bits

152
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

Memória endereçável 4 GB
Este chip foi puxado até aos 120 MHz. Ainda hoje é usado em grande
escala. O primeiro membro desta família do 486 foi o 486SX. Era muito
eficiente em gastos de energia e tinha um grande desempenho para a
altura. O seu desenho eficiente levou a inovações ao nível da cobertura.
O 486SX vinha num invólucro "176 lead Thin Quad Flat Pack(TQFP)" e
tinha a espessura de um quarto. Embora estivesse dividido entre SX e
DX ambos eram processadores de 32 bits, mas o SX não tinha co-
processador. Mesmo assim o SX conseguia ser cerca de duas vezes mais
rápido que o 386.

Figura 7-9: Intel 486SX

As características do modelo Intel 80486SX é apresentada na Tabela


abixo.

Data 1991
Frequência 16, 20, 25 e 33 MHz
Número de Transistores 1.185.0000
Largura do Barramento 32 bits
Memória endereçável 4 GB
Com o tempo surgiram 80486DX-50 ou 80486DX2; que se estabeleceu
pelo aumento da frequência de operação em que o processador é capaz
de trabalhar, ou seja, 50 MHz processador resultante da multiplicação
do clock, que trabalha internamente com o dobro da frequência de
operação da placa-mãe, ou seja, ele multiplica a frequência de operação
da placa-mãe por 2. Acarretando problemas com as suscetíveis

153
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

interferências eletromagnéticas. Logo depois, a Intel lançou o 486DX2-


66. Campeão de velocidade de sua época, este microprocessador foi o
mais vendido durante 1994.

80486DX4 é um processador que trabalha com multiplicação do clock


por 3. Assim, um 80486DX4-75 trabalha, externamente, com 25 MHz e,
internamente, com 75 MHz; o 80486DX4-100 trabalha, externamente,
com 33 MHz e internamente, com 99 MHz. Sendo este mais rápido que
os concorrentes por possuir 16 KB de memória interna.

“A Intel lançou também uma série paralela, a “SL”, que permite o


gerenciamento avançado de consumo elétrico alimentado por 5v,
exceto o 486DX4 que é alimentado por 3V.”

Lançado em 1993, o Pentium (conhecido em alguns meios também


como i586) foi o quinto representante da Intel dos processadores de
arquitetura x86. Sucessor do 486 e o primeiro a não adotar apenas
números em seu nome. Com relação ao seu predecessor, as principais
alterações foram o barramento de 64 bits (porém os registradores
permaneciam de 32 bits), duplicando a quantidade de informações para
as operações de leitura de memória.

Além disto, ele possuía em sua arquitetura dois canais de execução de


dados (conhecidos como “pipelines”) de forma que ele podia executar
mais do que uma instrução por ciclo de clock. As linhas posteriores
possuíam suporte a instruções MMX (utilizadas em aplicações
multimídia).

Figura 7-10: Intel Pentium

154
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

A característica do modelo Intel Pentium é apresentada na Tabela


abixo.

Data 1993
Frequência 60 a 200 MHz
Número de Transistores 3.100.000
Largura do Barramento 64 bits
Memória endereçável 64 GB

Figura 7-11: Intel Pentium MMX

As características do modelo Intel Pentium MMX é apresentada na


Tabela abixo.

Data 1997
Frequência 166 a 300 MHz
Número de Transistores 4.500.000
Largura do Barramento 64 bits
Memória endereçável 64 GB

Figura 7-12: Intel Pentium Pro

A característica do modelo Intel Pentium Pro é apresentada na Tabela


abixo.

Data 1995
Frequência 150 a 200 MHz
Número de Transistores 5.500.000

155
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

Largura do Barramento 64 bits


Memória endereçável 64 GB
O Pentium II foi lançado no mercado a partir de 1997 e suas primeiras
versões utilizavam um formato chamado de encapsulamento SEPP
(Singled Edge Processor Package). A aparência dele era muito
semelhante à de um cartucho de videogame, sendo composto de um
circuito como processador e o cache L2 integrado com uma capa
plástica protegendo esta placa. O Socket deste processador era
chamado de Slot 1. Em geral, o Pentium II comportava 32KB (16 KB para
dados e 16 KB para instruções) de cache L1, 512 KB de cache L2. Ele foi
produzido em duas arquiteturas, Klamath com tecnologia de fabricação
de 0.35 mícron e Deschutes (frequências a partir de 333 Mhz) com a
tecnologia de fabricação de 0.25 mícron.

Figura 7-13: Pentium II

A característica do modelo Intel Pentium II é apresentada na Tabela


abixo.

Data 1997
Frequência 200 a 300 MHz
Número de Transistores 7.500.000
Largura do Barramento 64 bits
Memória endereçável 64 GB

156
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

Figura 7-14: Intel Celeron

A característica do modelo Intel Celeron é apresentada na Tabela


abixo.

Data 1998
Frequência 266 a 500 MHz
Número de Transistores 7.500.000
Largura do Barramento 64 bits
Memória endereçável 64 GB
O Pentium III foi um dos processadores que teve um grande número de
variações. As primeiras, com arquitetura chamada de Katmai,
trabalhavam com um freqüência de 450, 500, 550 e 600 MHz, cache L1
de 32 KB, cache L2 de 512 KB (funcionando à metade da frequência do
processador), FSB de 100 MHz, tecnologia de fabricação de 0,25
mícrons e socket como slot 1. Houve uma variação para algumas
versões do Katmai que utilizavam o barramento de 133 MHz ao invés
de 100 MHz.

Figura 7-15: Intel Pentium III

A característica do modelo Intel Pentium III é apresentada na Tabela


abixo.

157
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

Data 1998 - 2001


Frequência 450 a 1400 MHz
Número de Transistores 9.500.000 a 28.100.000
Largura do Barramento 64 bits
Memória endereçável 64 GB
O Pentium 4 foi lançado em novembro de 2000, representando a sétima
geração dos processadores Intel. Foi produzido com três versões de
núcleo: Willamette, Northwood e Prescott. Sua arquitetura foi muito
alterada com relação aos seus antecessores e foi chamada de
Netburst.

Figura 7-18: Intel Pentium 4

A característica do modelo Intel Pentium 4 é apresentada na Tabela


abixo.

Data 2000 – 2006


Frequência 1.4 GHZ a 3.8 GHZ
Número de Transistores 42.000.000 a 169.000.000
Largura do Barramento 64 bits
Memória endereçável 64 GB
O Pentium D (Dual Core) nada mais é do que uma versão de dois núcleos
do Pentium 4 (em outras palavras, ele é um dual core com arquitetura
Netburst).

158
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

Figura 7-19: Intel Pentium D

A característica do modelo Intel Pentium D é apresentada na Tabela


abixo.

Data 2005 – 2006


Frequência 2.66 GHz a 3.6 GHz
Número de Transistores 230.000.000 a 376.000.000
Largura do Barramento 64 bits
Memória endereçável -
Esta geração de processadores da Intel (Core 2 Duo) foi lançada para
substituir completamente a Netburst, que até então vinha sendo
utilizada. As principais características dos processadores desta família
são 64 KB de cache L1 (em dois blocos, 32 KB para dados + 32 KB para
instruções) por núcleo, socket 775 (exceção: Core 2 Extreme no modelo
QX9775 que utiliza o 771), cache de memória L2 a partir de 2MB
compartilhado e tecnologia de virtualização.

Os computadores que adotam processadores com tecnologia Core 2


são mais rápidos, eficientes e consomem uma menor quantidade de
energia do que seus antecessores. Além disto, toda a parte de
multitarefa e processamento foi aperfeiçoada para garantir maior
satisfação mesmo para os usuários mais exigentes. Lançados a partir de
2006, esta linha é composta por um processador de dois núcleos. As
principais características do Core 2 Duo são desempenho até três vezes
mais rápido devido ao sistema de processamento multi-core, que por
sua vez combina dois núcleos de processadores independentes em uma

159
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

unidade física, execução de mais instruções por ciclo de clock, maior


aproveitamento de energia.

Figura 7-20: Intel Core 2 Duo

Este processador adota a arquitetura de construção da família Core. Em


outras palavras, esta é uma versão com menor custo do Core 2 Duo que
opera com frequências mais baixas e possui uma quantidade menor de
cache L2. As três primeiras versões lançadas deste processador
possuíam um FSB de 800 MHz visando manter compatibilidade com
placas mãe mais antigas. A ideia central deste produto foi muito
semelhante àquela adotada pelo Celeron – diminuir um pouco da
“potência” do processador para se obter custos mais baixos.

Figura 7-21: Pentium Dual Core

Esta linha de processadores, conta com modelos com tecnologia de 2 e


4 núcleos e era voltada principalmente aos amantes de jogos de

160
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

computador.

Figura 7-22: Intel Core Extreme

Os processadores da linha Core 2 Quad, são formados por 2 núcleos de


processadores Core 2 Duo. Destinado a computadores que rodam
aplicativos que necessitam de um alto grau de processamento como
programas de modelagem gráfica em 3D.

Figura 7-23: Intel Core 2 Quad

Modelo de entrada da nova linha de processadores com


microarquitetura denominada pela Intel de Nehalem e voltada para
computadores de baixo custo.

161
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

Figura 7-24: Intel Core i3

Características principais:

▪ Microarquitetura Nehalem ou Sandy Bridge, dependendo do


modelo;

▪ 64 KB de cache L1 (32 KB de dados + 32 KB de instruções) por


núcleo;

▪ 256 KB de cache L2 por núcleo;

▪ Tecnologia de dois núcleos;

▪ Controlador de memória integrado suportando memórias DDR3


no modo de dois ou três canais;

▪ Controlador PCI Express 2.0 integrado;

▪ Processador de vídeo integrado DirectX 10 (modelos baseados


na microarquitetura Nehalem) ou DirectX 10.1 (modelos
baseados na microarquitetura Sandy Bridge);

▪ Tecnologia Turbo Boost;

▪ Tecnologia de Virtualização;

▪ Instruções AVX (Advanced Vector Extensions ou Extensões de


Vetor Avançados) apenas nos modelos baseados na
microarquitetura Sandy Bridge;

▪ Tecnologia Execute Disable;

162
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

▪ Tecnologia Enhanced SpeedStep;

▪ Processo de fabricação de 32 nm;

O Core i5é o processador de modelo intermediário entre a linha de


baixo custo (i3) e os modelos mais poderosos(i7).

Figura 7-25: Intel Core i7

Principais Características:

▪ Microarquitetura Nehalem ou Sandy Bridge, dependendo do


modelo;

▪ 64 KB de cache L1 (32 KB de dados + 32 KB de instruções) por


núcleo;

▪ 256 KB de cache L2 por núcleo;

▪ Tecnologia de dois ou quatro núcleos;

▪ Controlador de memória integrado suportando memórias DDR3


no modo de dois ou três canais;

▪ Controlador PCI Express 2.0 integrado;

▪ Processador de vídeo integrado DirectX 10 (modelos baseados


na microarquitetura Nehalem) ou DirectX 10.1 (modelos
baseados na microarquitetura Sandy Bridge);

▪ Tecnologia Turbo Boost;

▪ Tecnologia de Virtualização;

163
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

▪ Instruções AVX (Advanced Vector Extensions ou Extensões de


Vetor Avançados) apenas nos modelos baseados na
microarquitetura Sandy Bridge;

▪ Tecnologia Execute Disable;

▪ Tecnologia Enhanced SpeedStep;

▪ Processo de fabricação de 45 nm ou 32 nm.

A última palavra em tecnologia de processamento é o Core i7. É linha


de processadores voltada ao público entusiasta e profissional.

Figura 7-26: Intel Core i7

Principais características:

▪ Microarquitetura Nehalem ou Sandy Bridge, dependendo do


modelo;

▪ 64 KB de cache L1 (32 KB de dados + 32 KB de instruções) por


núcleo;

▪ 256 KB de cache L2 por núcleo;

▪ Tecnologia de dois, quatro, seis ou oito núcleos;

▪ Controlador de memória integrado suportando memórias DDR3


no modo de dois ou três;

▪ Controlador PCI Express 2.0 integrado;

▪ Processador de vídeo integrado DirectX 10 (modelos baseados


na microarquitetura Nehalem) ou

164
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

DirectX 10.1 (modelos baseados na microarquitetura Sandy


Bridge);

▪ Tecnologia Turbo Boost;

▪ Tecnologia de Virtualização;

▪ Instruções AVX (Advanced Vector Extensions ou Extensões de


Vetor Avançados) apenas nos modelos baseados na
microarquitetura Sandy Bridge;

▪ Tecnologia Execute Disable;

▪ Tecnologia Enhanced SpeedStep;

▪ Processo de fabricação de 45 nm ou 32 nm;

UNIDADE Temática 7.2. O Microprocessador INTEL 8080

O microprocessador Intel 8080 foi o primeiro microprocessador


largamente usado e se tornou bastante popular na primeira geração de
microcomputadores lançado em abril de 1974, como uma evolução do
8008, em parte graças ao sistema operacional CP/M-80. O 8080 é um
microprocessador empacotado em um único micro-chip LSI (Large Scale
Integration) com 40 pinos DIP (dual inline packaging), tem um ciclo de
máquina de 72 micro-segundos e possui um conjunto de 72 instruções.
Ele possui um barramento de dados bidirecional de 8 bits e um
barramento de endereços (unidirecional) de 16 bits, permitindo
endereçar 64k bytes. Pode endereçar até 256 portas de entrada e 256
de saída compatível TTL (Transistor-to-Transistor Logic).

Para ficar em 40 pinos, alguns sinais de controle foram multiplexados


com a via de dados (isto é, os mesmos pinos usados para receber e
enviar dados para memória e dispositivos de entrada e saída são usados
para fornecer alguns sinais de controle). Além disso, o esquema de

165
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

interrupções requer que o dispositivo coloque uma instrução na via de


dados. O 8228 simplifica tudo isto, funcionando como um controlador
da via de dados e gerando sinais de controle decodificados.

Figura 7-27: Processador INTEL 8080

A tabela abaixo mostra a características do modelo Intel 8080.

Data 1974
Frequência 2 MHz
Número de Transistores 6000
Largura do Barramento 8 bits
Memória endereçável 64 KB
7.2.1. A Arquitetura do 8080

A unidade lógica aritmética (ALU), os registradores e as vias de dados


interna e externa são de 8 bits. Se bem que algumas instruções
permitem manipular pares de registradores como um registrador de 16
bits (útil para endereçar a memória, já que o 8080 tem 16 linhas de
endereço permitindo até 64Kbytes de memória).

166
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

D0-D7 biderectional
Data Bus
Data Bus
Buffer/Latch

8 Bit Intern al Data Bus

Temp. Instruction
Accumulator
Register Register

Flag
Multiplexer
Flip Flops
Accumulator Instruction W Z
Temp Reg Temp Reg
Latch Decoder and
B C
Machine Reg Reg

Register Select
Cycle D E
Encoding Reg Reg
ALU
H L
Reg Reg

Stack Pointer

Program Counter
Decimal Incrementer/Decrementer
Adjust Address Latch

Timing and Control


Dat a Bus Interru pt Hold Wait Address Buffer
WRITE Con trol Con trol Con trol Con trol Sync Clocks

#WR DBIN INT INTE Hold Hold Wait Ready Sync Ph1 Ph2 Reset A0-A15
Ack
Address Bus

Figura 7-28: Arquitetura básica de Microprocessador INTEL 8080

Esta arquitetura apresenta alguns pontos interessantes que


descreveremos a seguir:

▪ O acumulador é sempre um dos operandos da ALU.

▪ Existem seis registradores de 8 bits: B, C, D, E, H e L. Como dito,


algumas instruções trabalham com eles em pares BC, DE e HL.

▪ O par HL é tipicamente usado para endereçar a memória (H =


high e L = low).

▪ O program counter (PC) é o ponteiro para a próxima instrução a


executar.

▪ O stack pointer (SP) aponta para o último byte salvo na pilha.

▪ A pilha pode ficar em qualquer endereço da memória e não tem


tamanho fixo.

▪ Empilhar (PUSH) decrementa o SP e desempilhar (POP)


incrementa o SP. Ou seja, a pilha cresce do endereço mais alto

167
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

para o endereço mais baixo.

Quando efectuamos um reset, o 8080 começa a executar pelo endereço


0.

7.2.2. Unidade Aritmética e Lógica – ALU

A ALU é responsável pela execução das operações aritméticas, lógicas e


de deslocamento de bits. É alimentada por um Registrador temporário
- TMP, pelo Acumulador - ACC e pelo Carry Flag. O resultado da
operação na UAL pode ir para o Acumulador ou, dependendo da
instrução, para o barramento interno e daí para um dos registradores
ou para a memória. Os resultados das operações na UAL também
alimentam os Flags.

A ALU contém 3 registradores de 8 bits:

ACC
TMP
FLAGS
7.2.3. Indicadores de Condição Flags (Condition Flags ou simplesmente
Flags)

O registrador FLAG é setado pela CPU de forma a registrar determinadas


condições relativas ao resultado de uma operação. Os flags são lidos
pela CPU, para utilização pelas instruções de desvio condicional. Os
flags também podem ser testados pelo usuário, usando algumas
instruções especiais, mas não podem ser alterados diretamente pelo
usuário.

São 5 os flags, sobrando 3 bits não utilizados. A palavra de flag tem o


seguinte formato:

S Z 0 AC 0 P 1 CY
D7 D6 D5 D4 D3 D2 D1 D0
Obs.: Dizemos que um bit esta Sentado quando seu valor é 1, e
Resetado quando seu valor é 0.

168
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

Z (zero flag ou indicador de zero) - é sentado como 1, se todos os bits


do ACC como resultado de uma operação são 0. Caso qualquer um dos
bits seja 1, será resetado (como 0). Serve, portanto, para testar se o
resultado de uma operação é 0. Este flag pode ser testado pelo
programador.

S (sign flag ou indicador de sinal) - é sentado pelo sinal do resultado de


uma operação no acumulador. O bit 7 do acumulador pode ser
interpretado como o sinal do resultado. Algumas instruções sentam o
flag de sinal igual ao bit 7 do acumulador. Portanto, caso o resultado de
uma operação seja negativo (bit 7 = 1), este flag é sentado como 1. Caso
o resultado seja positivo (bit 7 = 0), o bit é resetado (como 0). Este flag
pode ser testado pelo programador.

P (parity flag ou indicador de paridade) - representa a paridade do


resultado no acumulador. As instruções que afetam o flag de paridade
sentam este flag para 1 quando a paridade é par (even) e resetam (como
0) quando a paridade é ímpar (odd). Este flag pode ser testado pelo
programador.

C (carry flag ou indicador de "vai um") - é usado para indicar quando


uma soma no acumulador causa "vai um" (carry out) ao dígito de mais
alta ordem. Também pode ser empregado como "pede emprestado"
("borrow") em operações de subtração. Este flag também pode ser
afetado pelas operações lógicas (AND, OR, XOR etc.). Operações de
rotação de bits tratam o carry flag como um 9 bit do ACC. Quando há
carry out para o 9 bit, o flag C é sentado (1); quando não há carry out
para o 9 bit, o flag C é resetado (0). Este flag também pode ser testado
pelo programador.

AC (auxiliary carry ou indicador de "vai um" auxiliar) - indica um carry


out no 3 bit do ACC. É utilizado exclusivamente pela instrução DAA
(decimal adjust accumulator). O AC e a instrução DAA permitem tratar
o valor do acumulador como dois algarismos codificados em BCD

169
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

(quatro bits). A instrução DAA converte valores hexadecimais em


decimais. Este flag NÃO pode ser testado pelo programador, sendo
reservado exclusivamente para uso pela instrução DAA.

7.2.4. Conjunto de Registradores do 8080

Além dos registradores internos da ULA, o 8080 dispõe de 6


registradores de 16 bits: o Program Counter (equivalente ao Contador
de Instruções), o Stack Pointer (Ponteiro da Pilha), 6 registradores de 8
bits arranjados em pares (que podem ser utilizados isolados,
armazenando 1 byte, ou aos pares, quando então podem armazenar 2
bytes) e finalmente um par de registradores temporários de 8 bits
(também podem ser utilizados aos pares, de forma a armazenarem
dados de 16 bits).

STACK POINTER (SP)


PROGRAM COUNTER
(PC)
W Z
B C
D E
H L

7.2.5. Registradores não disponíveis para o usuário

O stack pointer (ponteiro de pilha) guarda o endereço do próximo


endereço vago na pilha (topo da pilha). O 8080 usa a pilha para
manipular sub-rotinas, guardando nela os endereços de retorno.

Pilha é uma área da memória principal, endereçada pelo Stack Pointer.


Um programa deve inicializar o ponteiro da pilha com o endereço base
da pilha. Um programa pode inicializar a pilha para qualquer parte vaga
da memória (geralmente é usado o endereço mais alto disponível na
MP). O ponteiro da pilha é incrementado quando dados são colocados
na pilha (instrução PUSH) e decrementado quando dados são

170
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

removidos da pilha (instrução POP). A pilha cresce decrementando o


ponteiro da pilha.

O Program Counter mantém o endereço da instrução corrente e é


incrementado automaticamente pela UC após a decodificação da
instrução (quando estão passa a apontar para o endereço da próxima
instrução).

Registradores Temporários W e Z, São utilizados pela UCP e não ficam


disponíveis para o programador.

7.2.6. Registradores Gerais disponíveis para o programador

O 8080 dispõe de um conjunto de 6 registradores gerais, disponíveis


para o usuário: B, C, D, E, H e L. Esses registradores podem ser utilizados
isoladamente ou em pares (B/C, D/E e H/L), quando for necessário
armazenar 16 bits. Para o armazenamento de endereços (sempre em
16 bits) é geralmente usado o par de registradores H/L, que neste caso
(armazenando um endereço de memória) será referido como
registrador M.

7.2.7. Registradores gerais ou Referências simbólicas

REFERÊNCIAS REGISTRADORES OBS.


SIMBÓLICAS REFERENCIADOS
B BeC C contém o byte
menos significativo
D DeE E contém o byte
menos significativo
H HeL L contém o byte
menos significativo
M HeL
PSW ACC e FLAGS
A referência simbólica M se refere aos registradores H e L quando
contém uma posição de memória. PSW significa Program Status Word
e engloba o Acumulador e os Indicadores de Condição (flags).

171
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

Sumário

Nesta Unidade temática 7 podemos descrever a Arquitetura dos


Microprocessadores INTEL, mostrando o processo evolutivo dos
microprocessadores utilizados nos computadores, desde da sua criação
e fabricação até aos dias de hoje. Abordou-se sobre a Lei de Moore.

Mais também abordarmos a arquitetura do microprocessador INTEL


8080, por ter sido o cérebro do primeiro computador pessoal. Foi
através do sucesso do 8080 que a INTEL entrou na lista da Fortune 500,
tendo sido nomeada como “Triunfos Empresariais dos anos Setenta”.

Exercícios de AUTO-AVALIAÇÃO

Perguntas
1. O microprocessador, popularmente chamado de processador, é
um circuito integrado que realiza as funções de cálculo e toma a
decisão de um computador. Marque alternativa correcta.
a) V.
b) F.
2. Processador não é o cérebro do computador por realizar todas
estas funções, tornando o computador inteligente. Marque
alternativa correcta.
a) V.
b) F.
3. O primeiro microprocessador comercial, o 4004 foi
desenvolvido no ano de 1968. Marque alternativa correcta.
a) V.
b) F.
4. a

Respostas:
1. a) V.
2. b) F.
3. b) F.

Exercícios para AVALIAÇÃO

Pergunta

172
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

1. Porque a INTEL ficou muito conhecida?


2. Fale das consequências que a Lei de Moore apresenta.

Bibliografia

▪ https://de.wikipedia.org/wiki/Intel_8080, acessado 16-10-18.


▪ TANENBAUM, Andrew S. Organização Estruturada de
Computadores – 5ª Ed. São Paulo: Prentice Hall, 2006.
▪ Santos, João Eduardo, “Evolução e Comparação das Famílias de
Processadores Intel e AMD”.
▪ RHYMME, John - Arquitetura e Organização de Computadores.
▪ YU, Albert. Criando o Futuro Digital: INTEL – Os Segredos de
sua Constante Inovação. São Paulo: Futura, 1999.
▪ IBM. Disponível em http://www.ibm.com/br/pt/. Acesso em
12/10/2018.
▪ INTEL. Disponível em http://www.intel.com.br. Acesso em
01/09/2018.
▪ AMD. http://www.amd.com/br/pages/amdhomepage.aspx.
Acesso em 01/09/201.

173
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

TEMA – 8: INTRODUÇÃO AO SOFTWARE LIVRE.

UNIDADE Temática 8.1. Introdução ao Software Livre.


UNIDADE Temática 8.2. Principais Software Livres.
UNIDADE Temática 8.3. Tipos de Licenças Livres.
UNIDADE Temática 8.5. EXERCÍCIOS deste tema.

Ao completar esta unidade, você deverá ser capaz de:


▪ Definir o conceito de Software Livre.

Objectivos ▪ Descrever breve historial sobre Software Livre.


específicos ▪ Apresentar os Principais Softwares Livres bem como os Principais tipos de
Licenças de Software Livres.

UNIDADE Temática 8.1. Introdução, ao Software Livre

No fim dos anos 50, segundo Pacitti a metodologia defendida pelos


adeptos do software livre na forma de um modelo de software
colaborativo ou cooperativo, onde os fabricantes de hardware eram os
mais beneficiários. O espírito cooperativo dos poucos usuários de uma
época em que economicamente se dava mais valor ao hardware do que
ao software em si. Nos anos 70, surgiram as “Software Houses
Independeentes”, a preocupação com a proteção e os direitos de
propriedade intelectual e/ou empresarial do software iniciou-se. Onde,
instituíram-se as licenças, os direitos de autoria e propriedade, e outras
restrições nos negócios comerciais. Naquela época a comercialização do
hardware era mais vendido em relação ao software. De referir que o
Software começou a ser comercializado de forma explicita e
independente.

Apartir do final da década de 70, as empresas começaram a impor


restrições aos usuários com o uso de contratos de licença de software.
Em 1983, Richard Stallman iniciou o projeto GNU – com o objetivo de
criar um sistema operacional totalmente livre, em que qualquer pessoa

174
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

teria direito de usar, estudar, modificar e redistribuir o programa e seu


código fonte, desde que garantindo os mesmos direitos para todos. Em
1985 Richard Stallman fundou a Free Software Foundation (FSF) e
introduziu os conceitos de software livre e copyleft, os quais foram
especificamente desenvolvidos para garantir que a liberdade dos
usuários fosse preservada (Wikipédia, 2018).

Apartir dos anos 1990 com a divulgação da internet, o Open source


(código aberto), ganhou espaço com a produção de software. A rede
passou a funcionar como uma metáfora do mundo natural, em que os
códigos mais competentes, melhores escritos e mais inovadores,
encontravam programadores dispostos a aplicá-los e a melhorá-los. A
relação mais flexível com a propriedade passou a ser justificada pela
melhoria técnica, pela seleção natural estabelecida na internet.

Atualmente, com a divulgação da tecnologia da informação, tem-se um


modelo de desenvolvimento de software colaborativo em que o
conhecimento pode ser compartilhado por usuários em todo o mundo.
O chamado Software Livre ou Open Source, através do direito de
acessar os códigos fontes, efetuar modificações e redistribuí-los,
obtendo-se uma tecnologia mais estruturada e desenvolvida. Alguns
softwares livres conhecidos são o Linux, o ambiente gráfico KDE, o
compilador GCC, o servidor web Apache, o OpenOffice.org e o
navegador web Firefox, entre muitos outros.

8.1.1. Definição de Software Livre

Software livre é um a expressão utilizada para designar qualquer


software de computador que pode ser executado, copiado, modificado
e redistribuído pelos usuários gratuitamente com ou sem modificações.
Os usuários possuem livre acesso ao código-fonte do software e são
livres para fazer alterações conforme as suas necessidades. Para que
possamos considerar um software como livre existe a necessidade de

175
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

atender aos quatro tipos de liberdade concedida aos usuários de


software que são:

1. A liberdade de executar o programa, para qualquer propósito;

2. A liberdade de estudar o programa, e adaptá-lo para as suas


necessidades.

3. A liberdade de redistribuir cópias do programa de modo que


você possa ajudar ao seu próximo;

4. A liberdade de modificar(aperfeiçoar) o programa e distribuir


estas modificações, de modo que toda a comunidade se
beneficie.

Um programa é software livre se os utilizadores tiverem todas essas


liberdades. Portanto, você deve ser livre para redistribuir cópias, seja
com ou sem modificações, seja de graça ou cobrando uma taxa pela
distribuição, para qualquer um em qualquer lugar. Ser livre para fazer
essas coisas significa (entre outras coisas) que você não tem que pedir
ou pagar pela permissão.

Você deve também ter a liberdade de fazer modificações e usá-las


privativamente no seu trabalho ou lazer, sem nem mesmo mencionar
que elas existem. Se você publicar as modificações, você não deve ser
obrigado a avisar a ninguém em particular, ou de nenhum modo em
especial.

A liberdade de utilizar um programa significa a liberdade para qualquer


tipo de pessoa física ou jurídica utilizar o software em qualquer tipo de
sistema computacional, para qualquer tipo de trabalho ou actividade,
sem que seja necessário comunicar ao desenvolvedor ou a qualquer
outra entidade em especial.

A liberdade de redistribuir cópias deve incluir formas binárias ou


executáveis do programa, assim como o código-fonte, tanto para as

176
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

versões originais quanto para as modificadas. Está ok se não for possível


produzir uma forma binária ou executável (pois algumas linguagens de
programação não suportam este recurso), mas deve ser concedida a
liberdade de redistribuir essas formas caso seja desenvolvido um meio
de criá-las.

A OSI, por conta da ambiguidade da palavra “free” em inglês, prefere a


expressão Open Source, que em língua portuguesa é traduzida por
software de código aberto ou software aberto. A disponibilidade do
código-fonte não é condição suficiente para que ele seja considerado
de código aberto. É necessário satisfazer dez critérios, inspirados nas
Orientações sobre Software Livre do projeto Debian (Wikipédia 2018):

1) Livre Distribuição – A licença não deve restringir de nenhuma parte a


venda ou distribuição do software gratuitamente, como um
componente de distribuição de um software agregado contendo
programas de diversos códigos diferentes. A licença não exige
pagamento de royalty ou qualquer outro pagamento para essa venda.

2) Código fonte – O programa deve incluir seu código fonte e deve


permitir a sua distribuição também na forma compilada. Se o produto
não for não for distribuído com o código fonte, deverá haver uma forma
bem divulgada de se obter o código fonte com um uso razoável para
reprodução ou downloading via internet. O código deve ser legível e
inteligível para que qualquer programador possa modificar o programa.
Não é permitido que o software contenha um código fonte
deliberadamente inacessível para um outro programador, ou formas
intermediárias tais como “output” de um pré-processador ou tradutor.

3) Trabalhos Derivados – A licença deve permitir modificações e


trabalhos derivados, e deve permitir que eles sejam distribuídos sobre
os mesmos termos da licença do software original.

4) Integridade do autor do código fonte – A licença pode restringir o

177
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

código fonte de ser distribuído em uma forma modificada apenas se a


licença permitir a distribuição de arquivos patch (de atualização) com o
código fonte para o propósito de modificar o programa no momento de
sua construção. A licença deve explicitamente permitir a distribuição do
programa construído a partir do código fonte modificado. Contudo, a
licença pode ainda requerer que programas derivados tenham um
nome ou número de versão diferentes do software original.

5) Não discriminação contra pessoas ou grupos – A licença não pode ser


discriminatória contra qualquer pessoa ou grupo de pessoas.

6) Não discriminação contra áreas de atuação – A licença não deve


restringir qualquer pessoa de usar o programa em um ramo específico
de atuação. Por exemplo, ela não deve restringir o uso do programa em
um negócio de empresa ou para pesquisa genética.

7) Distribuição da Licença – Os direitos associados ao programa devem


ser aplicáveis para todos aqueles cujo o programa é redistribuído, sem
a necessidade da execução de uma licença adicional para estas partes.

8) Licença não específica a um produto – Os direitos associados ao


programa não devem depender que o programa seja parte de uma
distribuição específica de software. Se o programa é extraído desta
distribuição e usado ou distribuído dentro dos termos da licença do
programa, todas as partes para quem o programa é redistribuído devem
ter os mesmos direitos como aqueles que são concedidos junto com a
distribuição do software original.

9) Licença não restrita a outros software – a licença não pode conter


restrições a outros softwares que são distribuídos junto o software
licenciado. por exemplo, a licença não pode insistir que todos os outros
programas distribuídos sob o mesmo meio devam ser open-source
software.

178
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

10) Licença neutra em relação a tecnologia – Nenhuma cláusula da


licença pode estabelecer uma tecnologia individual ou estilo de
interface a ser aplicada no programa.

8.1.2 Diferenças entre Software Livre e Código Aberto

Embora os termos software livre e software de código aberto sejam


normalmente utilizados mais ou menos indistintamente, há algumas
diferenças sutis. Elas se originam das diferenças em suas histórias, nas
filosofias dos grupos promovendo-as e seus sentidos secundários.

O Movimento do Software livre é considerado um movimento social


que apregoa valores morais, éticos, direitos e liberdade, e que critica o
uso e desenvolvimento de software proprietário por considerar que não
é ético aprisionar conhecimento científico, que deve estar sempre
disponível para permitir a evolução do conhecimento tecnológico.

Já o movimento pelo Código Aberto, é um movimento mais voltado ao


mercado, conivente com o desenvolvimento de software proprietário,
apregoando que o software aberto traz diversas vantagens técnicas e
econômicas, levando as empresas a adotarem o modelo de
desenvolvimento de software livre.

8.1.3. Vantagens e desvantagens de Software Livre

Umas das vantagens importantes de Software Livre prende-se pelo


facto do compartilhamento de código fonte, promovendo e
simplificando o desenvolvimento de novas aplicações, sem que
necessariamente sejam programadas a partir do zero. Essa vantagem
tem impacto significativo na redução de tempo, custos para além da
diminuição duplicado de esforços. Os desenvolvedores podem ser
capazes de identificar e corrigir bugs(falhas) em menos tempo, mais
também faz com que haja atenção cuidadosa no desenvolvimento pois
outros desenvolvedores poderão avaliara o seu trabalho.

179
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

Segurança (praticamente isento de vírus, você “sabe” o que está


instalando em sua máquina, pois seu código é aberto).

Economia (você pode baixar ele sem custo da internet, tanto o software
quanto a sua documentação de uso).

Alternativa à pirataria (você não corre riscos ao ser surpreendido por


fiscais cobrando por licenças).

Autonomia (você tem liberdade para fazer o que quiser com este
software desde que siga as 4 liberdades básicas a ele atribuídas).

A grande desvantagem tem haver com receio de uso de software livre


gerando duvidas quanto ao uso bem como a qualidade do software.
Parte-se do princípio que tudo gratuito gera desconfiança, a medida
que se usa vai-se tirando essas dúvidas e aos poucos esses conceitos
estão sendo revertidos aos poucos, pois algumas empresas defendem a
opinião de que é mais vantajoso aprimorar/contribuir com o software
livre do que investir na construção de um novo software similar e
proprietário.

Interface de usuário não é uniforme nos aplicativos, a Instalação e


configuração pode ser difícil. Pessoas acostumadas com o Windows
podem apresentar algumas incompatibilidades com softwares
proprietários

UNIDADE Temática 8.2. Principais Software Livres

Ao longo da evolução do modelo de desenvolvimento empregado em


software livre, alguns projetos se destacaram dentro da comunidade de
desenvolvedores e ganharam prestígio de um grupo de usuários pela
sua qualidade. Esses projetos podem ser considerados ícones que
representam o sucesso de uma metodologia que no início não atraiu

180
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

empresas a adotarem-no devido à sua informalidade e a valorização dos


indivíduos sobre o processo.

A Free Software Foundation (FSF) que é uma organização sem fins


lucrativos que tem como missão de promover a liberdade do usuário do
computador e defender os direitos de todos usuários de Software livre.
FSF é uma das fundações responsáveis por fiscalizar e organizar o leque
de softwares livres espalhados pelo mundo, em outras palavras, os
desenvolvedores de software devem seguir algumas regras para
enquadrar-se como software livre.

Dentre os projetos que conquistaram tal prestígio, podemos citar o


Mozilla Firefox, entre os melhores navegadores de internet do mundo,
e o Android, sistema operacional para smartphones e tablets muito
popular.

8.2.1. Alguns Softwares Livres usados em Sistemas Operacionais

▪ LINUX

De certeza que já ouvi falar desse software livre, pode-se dizer que é o
mais utilizado no mundo principalmente na comunidade académica. Foi
criado pelo Finlandês Linus Torvalds, é inspirado no sistema Minix e
esta sob licença GPL (General Public License) que libera para cópia,
estudo, modificação entre várias opções de alteração do seu código
fonte.

181
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

Figura 8-1: Interface do sistema Linux

▪ OPENSOLARIS

Solaris é um sistema operacional baseado em Unix 2, escrito pela Sun


Microsystems, posteriormente adquirida pela Oracle, utiliza uma
plataforma semelhante ao Linux e tem a licença GNU GPL. Seus
componentes são uma mistura de software aberto e de código fechado,
embora uma versão de código aberto totalmente. Inicialmente era um
software proprietário, entretanto foi abrindo gradativamente seu
código.

Figura 8-2: Interface do sistema OpenSolaris

2
O Unix é um sistema operacional multitarefa e multiusuário, disponível para diversas plataformas de
hardware.

182
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

8.2.2. Alguns Softwares Livres usados em Ferramentas de


Desenvolvimento

▪ COMPILADOR C: GCC

Conhecido inicialmente como GNU Compilador para C, suporta nos dias


de hoje diversas linguagens além da original “C”, com C++, Java, Ada e
Fortran. Um software livre que atende à licença GPL e funciona em
sistemas operacionais como UNIX, Linux e OS X.

▪ ECLIPSE

Utilizado para desenvolver aplicações em Java. Por meio de plug-ins,


outras linguagens podem ser utilizadas: C, C++, Fortran, Java Script,
PHP, entre outros. O programa é “desenhado” quase totalmente em
Java e a base do código é originária da IBM VisualAge. O Eclipse possui
o código aberto, entretanto não é compatível como a licença GNU.

▪ NETBEANS

Outro software de código aberto. Ambiente para desenvolvimento nas


linguagens convencionais (Java, C, C++, PHP, Groovy). O programa é
desenvolvido pela Oracle e funciona em múltiplas plataformas, como
Windows, Linux, Mac OS. Foi criado em 1996 e é um dos mais utilizados
neste segmento.

Figura 8-3: Interface NetBeans

183
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

8.2.3. Software Livre usado em Servidor

▪ APACHE

O software livre de código aberto é um dos servidores HTTP mais


utilizados no mundo. Criado em 1995 por Rob McCool, funciona em
diversas plataformas operacionais (Windows, OS/2, Linux, Unix).

Figura 8-4: Interface Apache

8.2.4. Software Livre usado em Bases de Dados

▪ MYSQL

O sistema de gestão de bases de dados que utiliza linguagem SQL


(Structure Query Language). Foi criado na Suécia durante a década de
80, porém em 2008 a Oracle comprou a empresa Sun Microsystems e

junto com ela, todos os seus softwares. O MySQL é um dos mais


utilizados no mundo. Para ter uma ideia da popularidade do programa,
usuários como NADA, Nokia, Sony, Google e outras gigantes empresas
conhecidas no mundo.

184
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

Figura 8-5: Interface MySQL

8.2.5. Alguns Softwares Livres usados em Usuário Final

▪ VLC

O VLC media player é um excelente reprodutor multimídia, muito usado


em quase todo mundo. Está disponível para todas as plataformas e
sistemas operacionais. O software é leve, muito rápido e é capaz de
rodar quase todos os formatos de áudio e vídeo disponíveis no
mercado. Seguindo a tendência, o VLC já tem suporte para formatos em
HD e aceleração gráfica. Este software é um dos que prova que os
softwares livres podem ser tão excelentes quanto os softwares
proprietários, muito por conta das constantes melhorias em seu código
aberto.

185
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

Figura 8-6: Interface de VLC

▪ GIMP

O nome GNU Image Manipulation Program lhe diz alguma coisa? Então,
o GIMP é um programa de código aberto licenciado pela GPL (General
Public License). Foi criado explicitamente para ser uma alternativa livre
ao uso do Adobe Photoshop. O programa roda em qualquer sistema
operacional.

Figura 8-7: Interface GIMP

▪ WORLDPRESS

O sistema de gestão de conteúdo na Web tem seu foco direcionado


para a criação de blogs, é escrito em PHP com baseso de dados em

186
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

MySQL. Junto com Blogger, é um dos mais importantes criadores de


blogs

disponíveis na web por conter ferramentas diferenciais. O Wordpress


foi criado em 2003 e atente à licença GPL versão 2.

Figura 8-8: Interface WorldPress

A lista de programas livres e de código aberto é muito extensa para citar


todas aqui, os exemplos acima citados são simplesmente alguns dos
mais conhecidos e utilizados por vários utilizadores.

UNIDADE Temática 8.3. Principais tipos de Licenças de Software Livres

A maioria dos softwares livres é licenciada através de uma licença de


software livre. Uma das mais conhecidas é a GNU GPL. Entretanto,
existem diversas outras: GNU AGPL, GNU LGPL, GNU FDL, MPL (Licença
pública Mozilla), Licença Apache, Licença MIT e Licença BSD.

8.3.1. Software livre e software em domínio público

Software livre é diferente de software de domínio público. Software


livre é quando utilizado em combinação com licenças típicas (como as
licenças GPL e BSD), que disponibiliza o seu código fonte garantindo a
autoria do desenvolvedor ou organização. Software de domínio público
é aquele que, passando alguns anos de proteção de direitos de autor

187
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

torna-se um bem comum, isto é, os diretos autorais ficam extintos.


Ainda assim, um software em domínio público pode ser considerado
como um software livre, desde que atenda as liberdades definidas pela
Free Software Foundation, como citadas anteriormente.

8.3.2. Software livre e Copyleft

O Copyleft surgiu nos EUA e é derivado do Instituto do Copyright, do


qual o desenvolvedor do software desde do primeiro licenciamento,
libera os direitos de uso, reprodução, distribuição e alteração do código
a qualquer interessado.

Segundo a Free Software Foundation (FSF), pelas regras do copyleft


qualquer um que distribui o software, com ou sem modificações, tem
que passar adiante a liberdade de copiar e modificar novamente o
programa. O copyleft garante que todos os usuários tenham essa
liberdade. Ou seja: se você recebeu um software com uma licença livre
que inclua cláusulas de copyleft, e se optar por redistribui-lo
(modificado ou não), terá que mantê-lo com a mesma licença com que
o recebeu.

Nem todas as licenças de software livre incluem a característica de


copyleft. A licença GNU GPL (adotada pelo kernel Linux) é o maior
exemplo de uma licença copyleft. Outras licenças livres, como a licença
BSD ou a licença ASL (Apache Software License) não incluem a
característica de copyleft.

Licenças como a GPL contêm um conceito adicional, conhecido como


Copyleft, que se baseia na propagação dos direitos. Um software livre
sem copyleft pode ser tornado não-livre por um usuário, caso assim o
deseje. Já um software livre protegido por uma licença que ofereça
copyleft, se distribuído, deverá ser sob a mesma licença, ou seja,
repassando os direitos.

188
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

Associando os conceitos de copyleft e software livre, programas e


serviços derivados de um código livre devem obrigatoriamente
permanecer com uma licença livre, sendo que os detalhes de quais
programas, quais serviços e quais licenças são definidos pela licença
original do programa. O usuário, porém, permanece com a
possibilidade de não distribuir o programa e manter as modificações ou
serviços utilizados para si próprio.

As licenças de software livre permitem que eles sejam vendidos, mas


estes em sua grande maioria estão disponíveis gratuitamente.

Uma vez que o comprador do software livre tem direito às quatro


liberdades definidas pela FSF, ele poderia redistribuir este software
gratuitamente ou mediante remuneração. Aconselha-se comprar o
software porque trás vantagens para o cliente final. As versões pagas
geralmente são acompanhadas de algum tipo de serviço adicional,
como direito a assistência técnica por determinado período e manuais,
por exemplo.

8.3.3. Software Proprietário versus Software Livre

O que determina se um software é livre ou proprietário é o direito


autoral que se aplica sob o seu licenciamento e distribuição. Ou seja, o
desenvolvedor do software, que é o autor do programa, nos termos da
legislação que protege o direito do autor, tem a faculdade de restringir
o seu uso, reprodução, alterações e adaptações por parte de terceiros,
ou autorizar/licenciar certos usos, de forma específica e sob
remuneração (royalties). Nessa hipótese, estamos falando de software
proprietário.

O Software proprietário, particular ou não livre é um software para


computadores que é licenciado com direitos exclusivos para o produtor.
Em geral, sua cópia, redistribuição, estudo e modificação são proibidos
ou limitados em alguma medida pelo seu criador. Normalmente, a fim

189
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

de que se possa utilizar, copiar ou redistribuir, deve-se solicitar


autorização ao proprietário (produtor do software), ou pagar para
poder fazê-lo: será necessário, portanto, adquirir uma licença. As
empresas que produzem estes softwares proprietários normalmente
costumam descontinuar as correções das versões antigas, as versões
novas nunca são compatíveis com os formatos anteriores, com essas
medidas aumenta-se o número de vendas de seu novo lançamento,
obrigando seu utilizador a gastos com atualização.

Este tipo de software não permite que qualquer pessoa possa modificá-
lo e redistribuí-lo, contrariamente ao software livre que permite
modificação, copia, redistribuição.

No caso do Software livre, onde o código é aberto e qualquer pessoa


poderia ter acesso as informações técnicas sob o seu desenvolvimento,
o usuário poderia efetuar as alterações e modificações necessárias no
produto à medida que hardware se tornasse obsoleto. Dessa forma, o
usuário não teria que pagar para fazer upgrade de programas, a cada
versão nova do produto.

Nesse contexto, o software proprietário tende a concentrar seus


usuários em torno da empresa fabricante como forma de aumentar seu
lucro e sua

participação do mercado. Por essa razão é conhecido também como


“software monopolista”, mesmo que não haja efetivamente um
monopólio. Exemplo notório dessa situação é a Microsoft, considerada
a maior empresa de software do mundo, com seus programas inseridos
em cerca de 90% dos computadores do planeta.

Sumário

Na Unidade temática 8 abordamos sobre o conceito de Software Livre,


onde podemos que o software seja livre permite ao usuário alterar,

190
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

modificar, copiar e redistribuir sem nenhum problema. Este tipo de


software é muito usado em academias trazendo benefícios em termos
académicos. Mais ao logo do tema fomos abordando outro conceito
relativo ao software livre onde abordamos sobre os principais softwares
livres, tipos de licenças existente. Vimos que existem vários tipos de
licenças cada um com sua expressividade.

Exercícios de AUTO-AVALIAÇÃO

Perguntas
1. Um programa é Software livre se os utilizadores poderem
copiar, modificar e redistribuir pelos usuários gratuitamente.
Marque a alternativa correcta.
a) V.
b) F.
2. Disponibilidade do código-fonte é condição suficiente para que
ele seja considerado código aberto. Marque alternativa
correcta.
a) V.
b) F.
3. Embora os termos software livre e software de código aberto
sejam normalmente utilizados mais ou menos indistintamente,
há algumas diferenças sutis. Elas se originam das diferenças em
suas histórias, nas filosofias dos grupos promovendo-as e seus
sentidos secundários. Marque alternativa correcta.
a) V.
b) F.
4. Mencione pelo menos 1 software livre para cada aplicação:
a) Sistemas Operativos.
b) Ferramentas de Desenvolvimento.
c) Servidor.
d) Bases de dados.
e) Usuário Final.
5. Software livre é diferente de software de domínio público.
Marque alternativa correcta.
c) V.
d) F.
6. “Segundo a Free Software Foundation (FSF), pelas regras do
copyleft qualquer um que distribui o software, com ou sem
modificações, tem que passar adiante a liberdade de copiar e
modificar novamente o programa”. O copyleft não garante que

191
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

todos os usuários tenham essa liberdade. Marque alternativa


correcta.
a) V.
b) F.

Respostas:
1. b) F.
2. b) F.
3. a) V.
4. Essas são algumas alternativas existem outras.
a) (Linux)
b) (Eclipse).
c) (Apache).
d) (MySQL).
e) (VLC).
5. a) V.
6. b) F.

Exercícios para AVALIAÇÃO

Perguntas
1. Defina Software Livre?
2. Quando se considera que um software é livre?
3. A disponibilidade do código-fonte não é condição suficiente
para que ele seja considerado de código aberto. É necessário
satisfazer dez critérios. Mencione pelo menos 4 critérios
necessários.
4. Mencione algumas vantagens e desvantagens no uso do
software livre.
5. Um software livre sem copyleft pode ser tornado não-livre por
um usuário, caso assim o deseje. Marque alternativa correcta.
a) V.
b) F.
6. Diga o que determina se um software é livre ou proprietário.

Bibliográfia

▪ Bueno, N. (2012). Conceitos e discussão sobre software livre,


software aberto e software proprietário. In: Okada, A. (Ed.)
(2012) Open Educational Resources and Social Networks: Co-
Learning and Professional Development. London: Scholio
Educational Research & Publishing.

192
ISCED CURSO: Gestão de Sistemas de Informação; 2° Ano Disciplina/Módulo: Conceitos de
hardware e software de computador

▪ gnu.org - O que é o Software


Livre.www.gnu.org/philosophy/free-sw.pt-br.html
▪ http://pt.wikipedia.org/wiki/Software_livre. Acesso em
05/09/2018
▪ https://www.mysql.com/ Acesso em 22/09/2018
▪ gnu.org - Copyleft. www.gnu.org/copyleft/copyleft.html.
▪ Wikipédia - Licença Livre.
https://pt.wikipedia.org/wiki/Licen%C3%A7a_livre
▪ Eliane Fávero (2011). Organização e Arquitetura de
Computadores

193

Você também pode gostar