Sistemas Operacionais - IME-USPadao/1B2016.pdf · Sistemas Operacionais Distribuídos O sistema...

60
1 Sistemas Operacionais Adão de Melo Neto

Transcript of Sistemas Operacionais - IME-USPadao/1B2016.pdf · Sistemas Operacionais Distribuídos O sistema...

1

Sistemas Operacionais

Adão de Melo Neto

2

Computador Digital (Hardware)

3

Computador Digital

Constituído por um conjunto

de componentes interligados

(hardware): processadores, memórias,

registradores, barramentos, monitores

impressoras, mouse, etc

Computador Manipulam dados na forma de bits

(bits 0 e 1) => uma maneira confiável

de representação

4

Computador

3 subsistemas básicos:

5

Processador/UCP(Unidade Central de

Processamento)

6

Processador

3 subsistemas básicos:

- FUNÇÃO

- Controlar as funções realizadas por cada subsistema

-Executar programas em linguagem de máquina

armazenados e na memória principal

Programa (em linguagem de máquina): é uma série de instruções, armazenadas na

memória principal (na forma de 0’s e 1’s), executadas sequencialmente pela UCP

(processador) através de operações básicas conhecidas pela mesma.

7

Programa em linguagem

de máquina na memória principal

Conjunto de Instruções da UCP (processador).

São as operações básicas conhecidas pelo

processador

O sistema hexadecimal é uma forma compacta de

representação binária (0s e 1s)

8

Execução do Programa

PC

(Program counter)

Armazena

o endereço da

próxima instrução

que processador

deve buscar e

executar.

9

Unidade de Controle:

Controle das atividades de todos os componentes

do computador

(exemplo: gravação de um dado no disco,

busca de uma instrução na memória)

Unidade de Lógica e Aritmética:

Realização de operações lógicas (testes e

comparações) e aritméticas (somas e

subtrações)

10

Registradores:• Memória de alta velocidade utilizado para armazenamento temporário

de dados.

• Registradores de uso geralManipulados diretamente por instruções

•Registradores de uso específicoArmazena informações de controle do processador e do sistema operacional

Exemplo: PC (Program Counter)

11

PC (Program Counter ou Contador de Programa )• Registrador que armazena o endereço da próxima

instrução que processador deve buscar e executar.

• Toda vez que o processador (UCP) executa uma

instrução o PC é atualizado com um novo endereço

PC

(Program counter)

12

Memória

13

Memória Principal (MP)

Armazena instruções e dados das instruções

a serem executadas pelo processador (UCP)

CélulaComposta por certo

número de bits

Endereço

Permite o acesso ao conteúdo da célula

14

Memória Principal (MP)Armazena instruções e dados das instruções

as

TIPO DE MEMÓRIA PRINCIPAL

RAM (random acess memory)Pode ser lida ou gravada

Volátil (não preserva conteúdo sem fonte

de alimentação)

Quase toda memória principal

ROM (Read-Only Memory)Gravada pelo fabricante com programa

Não-volátil

15

Aumentar a velocidade de acesso a instruções/dados

Memória volátil de alta velocidade (muito maior que da memória

principal).

A memória cache é cara.

Técnica:

– Antes da CPU consultar a MP consulta-se a MC

– Caso não encontra o bloco de dados na MC ele é transferido da MP para MC

– Isto garante que os dados mais usados com mais frequência estejam na

memória cache.

Memória Cache (MC)

16

Memória Secundária (MS)

Meio não-volátil de armazenamento de

programas e dados

Lenta

Custo baixo

Fitas magnéticas, disco magnético e

disco ótico

17

Memórias

Relação entre memórias

18

Dispositivo de Entrada/Saída Dispositivos usados como memória

secundária

– Discos e fitas

– Custo baixo, tempo de acesso alta

Dispositivos usados como interface

homem-máquina

– teclados, monitores, impressoras,

caneta ótica, mouse, etc

Dispositivos de E/SPermitir comunicação entre computador

e mundo externo

19

Barramentos

BarramentosConjunto de fios paralelos onde

trafegam informação

como dados, endereços ou

sinais de controle.

20

BarramentosBarramentos de Dados

Transmite informações entre a CPU e

memória principal/dispositivos E/S

Barramentos de ControleÉ por onde a CPU envia

pulsos de controle

relativos as operações de leitura

e de gravação

Barramentos de EndereçosUtilizado pela CPU para especificar

endereço da célula de memória

ou dispositivo de E/S a ser acessado

21

Pipelining• Técnica que permite o processador executar múltiplas instruções

paralelamente (ao mesmo tempo) e em diferentes estágios

(permitindo desta forma o aumento da velocidade)

• A execução de uma instrução pode ser dividida em subtarefas

22

Ativação do Sistema

- Ao ligar o computador, o sistema operacional tem que ser

carregado da MS para a MP por um programa localizado em

uma posição específica do disco.

23

Arquiteturas RISC e CISC

RISC

– Reduced Instruction Set Computer

– Conjunto Reduzido de instruções

– Instruções de máquina executadas diretamente

pelo hardware.

– Alta velocidade.

– Pouco acesso a memória principal (MP) pois

trabalham com muitos registradores.

– Exemplo: Sparc (SUN) e RS-6000 (IBM)

24

Arquiteturas RISC e CISC

CISC

– Complex Instruction Set Computer

– Conjunto Complexo (grande) de instruções

– Baixa velocidade.

– Exemplo: VAX (DEC) e Pentium (Intel)

25

Montador (assembler)

Montador (assembler)Traduz um programa fonte em linguagem de montagem (linguagem assembly)

em um módulo-objeto (em linguagem de máquina) não executável.

Linguagem

Assembly

Linguagem

de máquina

26

Compilador

Programa em

Linguagem C

CompiladorTraduz um programa em linguagem de alto-nível (pascal, fortran, cobol) em um

Módulo-objeto (em linguagem de máquina) não executável

27

Compilador

28

Introdução a Sistemas

Operacionais

Adão de Melo Neto

29

Definição de SOSistema Operacional

É um conjunto de rotinas (programa)

executado

pelo processador que controla

o funcionamento do computador como

gerente dos

diversos recursos

(processadores, memórias e

dispositivos de entrada e saída).

Facilita o acesso aos

recursos do sistema

Permite o compartilhamento de

recursos de forma

organizada

30

Sistema Operacional

Facilita o acesso aos

recursos do sistema

Disponibiliza uma Interface entre os usuários e Recursos do sistema

(usuário não precisa conhecer detalhes do hardware).

Permite eficiência e menor chance de erro

31

Sistema Operacional

Compartilhamento de recursos de forma

organizada

Possibilita o acesso concorrente(“ao mesmo tempo”) a recursos compartilhados(memórias, discos, impressoras, por exemplo)de forma organizada e protegida

32

Sistema Operacional

Computador

– Hardware: • circuitos eletrônicos, cabos e fontes de alimentação

– Software: • Através dele o computador consegue armazenar

dados em discos, imprimir relatórios, gerar gráficos, etc

33

Sistema Operacional

Primeiros computadores

– Programação através de fios. Exigia grandeconhecimento do hardware e de sua linguagemde máquina

34

Sistema Operacional

Surgimento do SO

– Interação entre usuário/computador mais simples, confiável e eficiente

– Parte física do computador transparente ao usuário

– Usuário enxerga a máquina como sendo apenas o sistema operacional• Nível 0: hardware

• Nível 1: sistema operacional

Sistema Operacional

É um conjunto de rotinas (programa) executado pelo processador que controla

o funcionamento do computador como gerente dos diversos

recursos (processadores, memórias e dispositivos de entrada e saída).

35

Tipos de Sistemas

Operacionais

36

Tipos de Sistemas Operacionais

– O surgimento dos diversos tipos de SO está

Intimamente relacionado com a evolução do

hardware e das aplicações por ele suportadas

37

Processador, memória e periféricos dedicados a

execução de um único programa (na memória).

Processador ocioso enquanto programa

aguarda algum evento

(exemplo: digitação de um dado)

Memória principal subutilizada

(não preenchida completamente,

Apenas um programa)

Periféricos dedicados a um único

usuário

Simples de implementação.

Não existe preocupação com

compartilhamento de recursos

Sistemas Monoprogramáveis/Monotarefa

38

Sistemas Monoprogramáveis/Monotarefa

39

Vários programas dividem os recursos

(processador, memória e periféricos)

Na memória podem existir vários programas

Sistemas Multiprogramáveis/Multitarefa

40

Sistemas Multiprogramáveis/Multitarefa

41

Sistema Monoprogramável X

Multiprogramável

- Um programa na memória principal por vez.

- UCP totalmente dedicada ao programa

- Desperdício na utilização da UCP (ex: quando programa faz uma leitura no disco)

- Subutilização da memória principal (apenas um programa).

42

Sistema Monoprogramável X

Multiprogramável

- Vários programas na memória principal CONCORRENDO pela utilização da UCP.

- CPU totalmente dedicada aos vários programas

- Menos desperdício na utilização da UCP

=>Existem vários programas se revezando para utilização da UCP

=>Quando um programa solicita uma operação de E/S, outros poderão utilizar a UCP

- Melhor uso da memória principal.

43

Sistemas Multiprogramáveis/Multitarefa

- Programas submetidos são armazenados em fitas/discos onde são executado

sequencialmente

-A UCP pode processar seqüencialmente cada job (tarefa), diminuindo o tempo de

execução dos jobs e o tempo de transição entre eles.

- Programas (Jobs) que normalmente não exigem iteração com usuário (programas

envolvendo cálculos numéricos por exemplo).

44

Sistemas

Multiprogramáveis/multitarefa

- Processador Compartilhado:

=> Vários programas sendo executados pela divisão do tempo do

processador em intervalos Time-Slace (fatia de tempo).

=> Programa não concluído no Time-Slace é substituído por outro.

- Memória e periféricos são também compartilhados

- Impressão de que todo sistema dedicado ao programa.

- Permite a interação com o usuário

- Implementação complexa

45

Sistemas Multiprogramáveis/multitarefa

- Processador Compartilhado:

=> Vários programas sendo executados pela divisão do tempo do

processador em intervalos Time-Slace (fatia de tempo).

=> Programa não concluído no Time-Slace é substituído por outro.

- Memória e periféricos são também compartilhados

- Impressão de que todo sistema dedicado ao programa.

- Permite a interação com o usuário

- Implementação complexa

46

Sistemas

Multiprogramáveis/multitarefa

- Semelhantes em implementação ao sistema de tempo compartilhado

- Diferença: tempo de resposta exigido no processamento.

- Idéia de “Time-Slice” não existe:

O programa detém o processador (UCP) o tempo que for necessário, ou

até que apareça outro programa mais prioritário (este controle é feito

pela aplicação e não pelo Sistema operacional)

- Monitoramente de refinarias, controle de tráfego aéreo, de usinas

(aplicações onde o tempo de resposta é fundamental)

47

Sistemas

Multiprogramáveis/multitarefa

48

Sistemas

Multiprogramáveis/multitarefa

49

Sistemas

Multiprogramáveis/multitarefa

50

Sistemas com múltiplos processadores

- Duas ou mais UCPs (processadores) trabalhando em conjunto

-Vantagem: => vários programas sendo executados ao mesmo tempo (em

cada processador).

=> Um programa dividido em partes para execução simultânea

em mais de um processador

51

Sistemas Fortemente Acoplados

- Desvantagem: => problema de concorrência (disputa) é introduzido (vários

processadores tentando acessar a mesma área de

memória)

- SFA = Sistemas multiprocessadores

- Várias CPUs compartilhando única memória e dispositivos E/S sendo

gerenciados por um único sistema operacional

52

Sistemas Fortemente Acoplados

Assimétricos

- Vantagem: organização simples de implementar

- Desvantagem 1:

=> Não utiliza o hardware com eficiência.

Somente o processador mestre pode executar serviços do sistema

operacional (por exemplo operações E/S)

O Processador escravo deve fazer requisição ao processador mestre

(ineficiência caso escravo execute muitas operações E/S)

-Desvantagem 2:

=> Pode ocorrer falha do processador mestre

Organização Assimétrica

=

Organização Mestre/Escravo

53

Sistemas Fortemente Acoplados

Simétricos (é o que existe !)

- Vantagem:

=> Um programa pode ser executado por qualquer processador ou por

vários processadores ao mesmo tempo (paralelismo)

=> Quando um processador falha o sistema continua a funcionar

- Desvantagem:

=> Acessos simultâneos às mesmas áreas de memória: solução a cargo do

hardware e do sistema operacional.

=> Implementação bastante complexa

Simetria dos dois processadores

Todos podem realizar as mesmas funções

54

Sistemas Fracamente Acoplados

Dois ou mais sistemas de computação

interligados em que cada um possui

o seu próprio sistema operacional

55

Sistemas Operacionais de Rede

56

Sistemas Operacionais de Rede

Permitem que uma estação compartilhe seus recursos como impressora,

diretório com as demais estações da rede.

Sistema Operacional Distribuídos

58

Sistemas Operacionais Distribuídos

O sistema (operacional) distribuído esconde os detalhes

das estações individuais e passa a tratá-los como um

conjunto único, como se fosse um sistema fortemente acoplado simétrico

Permite que uma aplicação seja

dividida em partes sendo cada uma

executada em estações diferentes

Sistemas OperacionaisDistribuídos

Resumo