Buscar

Sistemas Operacionais - Processos - II

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 50 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 50 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 50 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Sistemas Operacionais
1 – Introdução ao estudo de Sistemas 
Operacionais
Instituto Educacional Santo Agostinho – IESA
Faculdade de Ciências Exatas e Tecnológicas Santo Agostinho – FACET
Siste
m
as d
e
 In
fo
rm
ação
 -
FA
SA
Fev / 2016
Rafael Antonio Gonçalves Lima
Sumário
1.5. Tipos de Hardware e Software.
Siste
m
as d
e
 In
fo
rm
ação
 -
FA
SA
1.5.1. Hardware
 Um sistema computacional é um conjunto de circuitos
eletrônicos interligados, formado por processadores,
memórias, registradores, barramentos, monitores de
vídeo, impressoras, mouse, discos magnéticos, além
de outros dispositivos físicos (hardware).
 Todos esses dispositivos manipulam dados na forma digital, o
que proporciona uma maneira confiável de representação e
transmissão de dados.
Siste
m
as d
e
 In
fo
rm
ação
 -
FA
SA
1.5.1. Hardware
• Os componentes de um sistema computacional são
agrupados em três subsistemas básicos, chamados
unidades funcionais:
• Processador ou unidade central de processamento (UCP)
• Memória principal
• Dispositivos de entrada/saída
Siste
m
as d
e
 In
fo
rm
ação
 -
FA
SA
1.5.2. Processador
• Gerencia todo o sistema computacional controlando
as operações realizadas por cada unidade funcional.
• A função principal é controlar e executar instruções presentes
na memória principal, através de operações básicas como
somar, subtrair, comparar e movimentar dados.
Siste
m
as d
e
 In
fo
rm
ação
 -
FA
SA
1.5.2. Processador
Siste
m
as d
e
 In
fo
rm
ação
 -
FA
SA
1.5.2. Processador
• Cada processador é composto por:
• Unidade de Controle:
• Responsável por gerenciar atividades de todos os componentes do
computador, como a gravação de dados em discos ou a busca de
instruções na memória.
• Unidade Lógica e Aritmética:
• Responsável pela realização de operações lógicas (testes e
comparações) e aritméticas (somas e subtrações).
• Registradores:
• Função principal de armazenar dados temporariamente. O conjunto
de registradores funciona como uma memória de alta velocidade
interna do processador, porém com uma capacidade de
armazenamento reduzida e custo maior que o da memória principal.
Siste
m
as d
e
 In
fo
rm
ação
 -
FA
SA
1.5.2. Processador - Registradores
• Alguns registradores podem ser manipulados por
instruções (registradores de uso geral), enquanto
outros são responsáveis por armazenar informações
de controle do processador e do sistema operacional
(registrador de uso específico).
• Entre os registradores de uso específico, temos:
• O contador de instruções (CI) ou program counter (PC);
• O apontador da pilha (AP) ou stack pointer (SP);
• O registrador de status ou program status word (PSW);
Siste
m
as d
e
 In
fo
rm
ação
 -
FA
SA
1.5.3. Memória Principal
• A memória principal, primária ou real é o local onde são
armazenados instruções e dados.
• A memória é composto por unidades de acesso chamadas
células, sendo cada célula composta por um determinado
número de bits.
• Atualmente, a grande maioria dos computadores utiliza o byte
(8 bits) como tamanho de célula.
• O acesso ao conteúdo de uma célula é realizado através de um
número (endereço de memória).
Siste
m
as d
e
 In
fo
rm
ação
 -
FA
SA
1.5.3. Memória Principal
• A especificação do endereço é realizada através de um
registrador denominado registrador de endereço de memória
(memory address register – MAR).
• Através do conteúdo deste registrador, a unidade de controle
sabe qual a célula de memória que será acessada.
• Outro registrador usado em operações com a memória é o
registrador de dados da memória (memory buffer register –
MBR).
Siste
m
as d
e
 In
fo
rm
ação
 -
FA
SA
1.5.3. Memória Principal
Siste
m
as d
e
 In
fo
rm
ação
 -
FA
SA
1.5.3. Memória Principal
• A memória principal pode ser classificada em função de sua
volatilidade, que é a capacidade de a memória preservar o seu
conteúdo mesmo sem uma fonte de alimentação ativa.
• Memórias do tipo RAM (Randon Access Memory) são voláteis,
enquanto as memórias ROM (Read-Only Memory) e EPROM
(Erasable Programmable ROM) são do tipo não voláteis.
Siste
m
as d
e
 In
fo
rm
ação
 -
FA
SA
1.5.4. Memória Cache
• A memória cache é uma memória volátil de alta velocidade,
porém com pequena capacidade de armazenamento.
• O tempo de acesso a um dado nela contido é muito menos que
se o mesmo estivesse na memória principal.
• O propósito do uso da memória cache é minimizar a
disparidade existente entre a velocidade com que o
processador executa instruções e a velocidade com que os
dados são lidos e gravados na memória principal.
Siste
m
as d
e
 In
fo
rm
ação
 -
FA
SA
1.5.4. Memória Cache
• A memória cache armazena uma pequena parte do conteúdo
da memória principal.
• Toda vez que o processador faz referência a um dado
armazenado na memória, é verificado, primeiramente, se o
mesmo encontra-se na memória cache.
Siste
m
as d
e
 In
fo
rm
ação
 -
FA
SA
1.5.4. Memória Cache
• Apesar de possuir um tempo adicional para a transferência de
dados entre as diferentes memórias, esse tempo é
compensado pela melhora do desempenho, justificado pelo
alto percentual de referências a endereços que são resolvidos
na cache.
• Isso ocorre devido ao princípio da localidade.
Siste
m
as d
e
 In
fo
rm
ação
 -
FA
SA
1.5.4. Memória Cache
• A localidade é a tendência de o processador, ao longo da
execução de um programa, referenciar instruções e dados na
memória principal localizados em endereços próximos.
• Essa tendência é justificada pela alta incidência de estruturas
de repetição, chamadas a sub-rotinas e acesso a estruturas de
dados como vetores e tabelas.
• Assim, haverá alta probabilidade de cache hits (os dados
estarem na memória cache) em futuras referências,
otimizando assim, o tempo de acesso.
Siste
m
as d
e
 In
fo
rm
ação
 -
FA
SA
1.5.4. Memória Cache
• A maioria dos processadores apresenta uma arquitetura de
memória cache com múltiplos níveis.
• L1 (Level 1) – Nível cache mais alto com baixa capacidade de
armazenamento e com altíssima velocidade de acesso.
• L2 (Level 2) – Possui maior capacidade de armazenamento,
porém com velocidade de acesso inferior a L1.
Siste
m
as d
e
 In
fo
rm
ação
 -
FA
SA
1.5.5. Memória Secundária
• A memória secundária é um meio permanente, isto é, não
volátil de armazenamento de programas e dados.
• Enquanto a memória principal precisa estar sempre energizada
para manter suas informações, a memória secundária não
precisa de alimentação.
• O acesso a essa memória é lento, se comparado com o acesso
à memória principal, porém seu custo é baixo e sua capacidade
de armazenamento é bem superior.
Siste
m
as d
e
 In
fo
rm
ação
 -
FA
SA
1.5.6. Dispositivos de Armazenamento
Siste
m
as d
e
 In
fo
rm
ação
 -
FA
SA
1.5.7. Dispositivos de Entrada e Saída (E/S)
• Permitem a comunicação entre o Sistema
Computacional e o mundo externo, e podem ser
divididos em duas categorias:
• Os que são utilizados como memória secundária;
• Exemplos: Discos e fitas magnéticas
• Os que servem para a interface usuário-máquina.
• Exemplos: Teclados, monitores de vídeo, impressoras, 
scanner, caneta ótica, mouse, etc.
Siste
m
as d
e
 In
fo
rm
ação
 -
FA
SA
1.5.8. Barramento
• O barramento ou bus é um meio de comunicação
compartilhado que permite a comunicação entre as
unidades funcionais de um sistema computacional.
• Atravésde condutores, informações como dados,
endereços e sinais de controle trafegam entre
processadores, memórias, e dispositivos de E/S.
Siste
m
as d
e
 In
fo
rm
ação
 -
FA
SA
1.5.8. Barramento
• Os barramentos são classificados em três tipos:
• Barramentos processador-memória;
• Curta extensão e alta velocidade para que seja otimizada a
transferência de informação entre processadores e
memórias. Geralmente utilizados em arquiteturas
proprietárias.
• Ex.: PCI (Peripheral Component Interconnect);
• Barramentos de E/S;
• Possuem maior extensão, são mais lentos e permitem a
conexão de diferentes dispositivos.
• Ex.: SCSI (Small Computer System Interface) 
Siste
m
as d
e
 In
fo
rm
ação
 -
FA
SA
1.5.8. Barramentos processador-memória e de E/S
Siste
m
as d
e
 In
fo
rm
ação
 -
FA
SA
1.5.8. Barramento
• Os barramentos são classificados em três tipos:
• Barramentos de backplane.
• Função de integrar os dois barramentos. Reduz o número
de adaptadores existentes no barramento processador-
memória, otimizando seu desempenho.
Siste
m
as d
e
 In
fo
rm
ação
 -
FA
SA
1.5.8. Barramento de backplane
Siste
m
as d
e
 In
fo
rm
ação
 -
FA
SA
1.5.8. Pipeline
• Técnica que permite ao processador executar
múltiplas instruções paralelamente em estágios
diferentes.
• Tem sido a técnica de paralelismo mais utilizada para
aumentar o desempenho dos sistemas
computacionais.
• Analogia: Um tarefa é dividida em uma sequência de
subtarefas, executadas dentro de uma linha de
produção.
Siste
m
as d
e
 In
fo
rm
ação
 -
FA
SA
1.5.8. Arquitetura Pipeline com 4 estágios
Siste
m
as d
e
 In
fo
rm
ação
 -
FA
SA
1.5.9. Arquiteturas RISC e CISC
• Linguagem de máquina de um computador é a linguagem de
programação que é realmente entendida pelo processador.
• Cada processador possui um conjunto definido de instruções
de máquina, definido por seu fabricante, que fazem referências
a detalhes, como registradores, modos de endereçamento e
tipos de dados.
• Um programa em linguagem de máquina pode ser diretamente
executado pelo processador, no entanto, só pode ser
executado em outra máquina com arquitetura igual.
Siste
m
as d
e
 In
fo
rm
ação
 -
FA
SA
1.5.9. Arquiteturas RISC e CISC
• RISC (Reduced Instruction Set Computer)
• Possui poucas instruções de máquinas, em geral, bastante
simples, que são executadas diretamente pelo hardware.
• Geralmente estas instruções não acessam a memória
principal, trabalhando principalmente com registradores (que
são muitos).
• Exemplos: 
• SPARC (Sun)
• RS-6000 (IBM)
• PA-RISC (HP)
Siste
m
as d
e
 In
fo
rm
ação
 -
FA
SA
1.5.9. Arquiteturas RISC e CISC
• CISC (Complex Instruction Set Computers)
• Possuem instruções complexas que são interpretadas por
microprogramas.
• Número de registradores é pequeno, e qualquer instrução
pode referenciar a memória principal
• Implementação do pipeling é mais difícil.
• Exemplos: 
• VAX (DEC);
• Pentium (Intel);
• 68xxx (Motorola);
Siste
m
as d
e
 In
fo
rm
ação
 -
FA
SA
1.5.9. Arquiteturas RISC e CISC
• Nos processadores RISC:
• Um programa em linguagem de máquina é executado
diretamente pelo hardware.
• Nos processadores CISC:
• Os microprogramas definem a linguagem de máquina da
arquitetura CISC.
• O código executável de um processador CISC é interpretado
por microprogramas durante sua execução, gerando
microinstruções que são executadas pelo hardware.
Siste
m
as d
e
 In
fo
rm
ação
 -
FA
SA
1.5.9. Arquiteturas RISC e CISC
• Os processadores chamados microprogramáveis são
aqueles que permitem que novas instruções de
máquina possam ser criadas através da criação de
microprogramas.
• Alguns equipamentos, como microprocessadores, não
dispõem desse recurso, já que os microprogramas
vêm gravados em memória do tipo ROM.
Siste
m
as d
e
 In
fo
rm
ação
 -
FA
SA
1.5.9. Arquitetura RISC x Arquitetura CISC
Siste
m
as d
e
 In
fo
rm
ação
 -
FA
SA
1.5.9. Arquitetura RISC x Arquitetura CISC
Siste
m
as d
e
 In
fo
rm
ação
 -
FA
SA
1.5.10. Software
• Para que o hardware tenha utilidade prática, deve existir um
conjunto de programas utilizado como interface entre as
necessidade do usuário e as capacidades do hardware.
• No decorrer do texto, o termo utilitário fará referência a
softwares relacionados mais diretamente com serviços
complementares do sistema operacional, como compiladores,
linkers e depuradores.
• Os softwares desenvolvidos pelos usuários serão denominados
aplicativos ou aplicações.
Siste
m
as d
e
 In
fo
rm
ação
 -
FA
SA
1.5.11. Tradutor
• Nos primeiros sistemas operacionais, o ato de programar era
bastante complicado, já que o programador deveria possuir
conhecimento da arquitetura da máquina e programar em
painéis. Esses programas eram desenvolvidos em linguagem de
máquina e carregados diretamente na memória principal para
execução.
• Com o surgimento das primeiras linguagens de montagem ou
assembly e das linguagem de alto nível, o programador deixou
de se preocupar com muitos aspectos pertinentes ao
hardware, como em qual região da memória o programa
deveria ser carregado ou quais endereços de memória seriam
reservados para as variáveis.
Siste
m
as d
e
 In
fo
rm
ação
 -
FA
SA
1.5.11. Tradutor
• Apesar das inúmeras vantagens proporcionadas pelas
linguagens de montagem e de alto nível, os
programas escritos nessas linguagens não estão
prontos para serem executados pelo processador.
• Eles precisam passar por uma etapa de conversão,
onde toda representação simbólica das instruções é
traduzida para código de máquina. Essa conversão é
realizada por um utilitário denominado:
• Tradutor.
Siste
m
as d
e
 In
fo
rm
ação
 -
FA
SA
1.5.11. Tradutor
• O módulo gerado pelo tradutor é denominado
módulo-objeto, que, apesar de estar em código de
máquina, na maioria das vezes ainda não pode ser
executado.
• Isso ocorre em função de um programa chamar sub-
rotinas externas e o tradutor não tem como fazer essa
associação.
• Essa função é realizada por outro utilitário
denominado linker.
Siste
m
as d
e
 In
fo
rm
ação
 -
FA
SA
1.5.11. Tradutor
• Dependendo do tipo do programa-fonte, existem dois
tipos de tradutores que geram módulos-objeto:
• Montador (assembler);
• - Responsável por traduzir um programa-fonte em linguagem
de montagem em um programa-objeto não executável.
• Compilador;
• - Gera a partir de um programa escrito em linguagem de alto
nível, um programa em linguagem de máquina não executável.
Siste
m
as d
e
 In
fo
rm
ação
 -
FA
SA
1.5.11. Tradutor
Siste
m
as d
e
 In
fo
rm
ação
 -
FA
SA
1.5.12. Interpretador
• O interpretador é considerado um tradutor que não gera
módulo-objeto.
• A partir de um programa-fonte escrito em linguagem de alto
nível, o interpretador, durante a execução do programa, traduz
cada instrução e a executa imediatamente.
• Ex.: Basic, Perl,
• Desvantagem é o tempo gasto na tradução das instruções toda
vez que ocorre a execução.
• Vantagem de permitir implementação de tipos de dados
dinâmicos.
Siste
m
as d
e
 In
fo
rm
ação
 -
FA
SA
1.5.13. Linker
• O linker ou editor de ligação é o utilitário responsável por
gerar, a partir de um ou mais módulos-objeto, um único
programa executável.
• Para resolver todas as referências a símbolos, o linker também
pode pesquisar em bibliotecas.
• Outra função importante éa relocação, que determina a região
de memória na qual o programa será carregado para execução.
Siste
m
as d
e
 In
fo
rm
ação
 -
FA
SA
1.5.13. Linker
• Em sistemas multiprogramáveis a relocação é de difícil
implementação, já que a memória é compartilhada entre
diversos programas. A solução é permitir que o programa seja
carregado em regiões diferentes toda vez que for trazido para a
memória.
• Em alguns sistemas, o compilador realiza outras funções como
resolver referências de endereço. Nesse caso o programa não
precisa passar pela etapa de linkedição independente.
Siste
m
as d
e
 In
fo
rm
ação
 -
FA
SA
1.5.13. Linker
Siste
m
as d
e
 In
fo
rm
ação
 -
FA
SA
1.5.14. Loader
• Outro utilitário (linking loader) fica responsável pela carga do
programa na memória e pela sua execução.
• O programa passa por um processo de link dinâmico, onde as
referências globais são resolvidas no momento da execução.
• Possui a desvantagem de sobrecarga de processamento
(overhead) existente em cada execução do problema.
Problema que não ocorre em sistemas que possuem linkers
independentes.
Siste
m
as d
e
 In
fo
rm
ação
 -
FA
SA
1.5.14. Loader
• Responsável então por carregar na memória principal
um programa a ser executado.
• O loader pode ser classificado em:
• Absoluto:
• - O loader só necessita conhecer o endereço de memória
inicial e o tamanho do módulo.
• Relocável:
• - O programa pode ser carregado em qualquer posição de
memória, e o loader é responsável pela relocação no momento
do carregamento.
Siste
m
as d
e
 In
fo
rm
ação
 -
FA
SA
1.5.15. Depurador
• O depurador (debugger) é o utilitário que permite ao
usuário acompanhar toda a execução de um
programa a fim de detectar erros na sua lógica.
• Suas funções incluem:
• Acompanhar a execução de um programa instrução por
instrução;
• Possibilitar a alteração e a visualização do conteúdo de
variáveis;
• Implementar pontos de parada (breakpoints);
• Especificar que, toda vez que o conteúdo de uma variável for
modificado, o programa envie uma mensagem (watchpoint).
Siste
m
as d
e
 In
fo
rm
ação
 -
FA
SA
Exercícios de Fixação
1. Quais são as unidades funcionais de um sistema computacional?
2. Quais os componentes de um processador e quais são suas funções?
3. O que são memórias voláteis e não voláteis?
4. Conceitue memória cache e apresente vantagens no seu uso.
5. Compare as arquiteturas de processadores RISC e CISC.
6. Por que o código-objeto gerado pelo tradutor ainda não pode ser
executado?
7. Por que a execução de programas interpretados é mais lenta que a de
programas compilados?
8. Quais a funções do linker?
9. Qual a principal função do loader?
10. Quais as facilidades oferecidas pelo depurador?
Siste
m
as d
e
 In
fo
rm
ação
 -
FA
SA
Bibliografia
1. MACHADO, Francis B. Arquitetura de Sistemas Operacionais. 4 ed.
Rio de Janeiro: LTC, 2007.
2. TANENBAUM, Andrew S. Sistemas operacionais modernos. 2 Ed.
Rio de Janeiro: Prentice-Hall, 2005.
Siste
m
as d
e
 In
fo
rm
ação
 -
FA
SA
Conteúdo da Próxima Aula
• Concorrência.
Obrigado ! 
Rafael A. G. Lima (rafaelg@fasa.edu.br)
Siste
m
as d
e
 In
fo
rm
ação
 -
FA
SA

Outros materiais