ic - uff sistemas operacionais revisão: ucp, memória, processos e interrupções processos e...

31
IC - UFF Sistemas Operacionais Revisão: UCP, Memória, Processos e Interrupções Processos e threads Concorrência Deadlocks Gerenciamento de Memória Memória Virtual Escalonamento de Processos Sistemas de Arquivos

Upload: internet

Post on 16-Apr-2015

110 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: IC - UFF Sistemas Operacionais Revisão: UCP, Memória, Processos e Interrupções Processos e threads Concorrência Deadlocks Gerenciamento de Memória Memória

IC - UFF

Sistemas Operacionais Revisão: UCP, Memória, Processos e Interrupções Processos e threads Concorrência Deadlocks Gerenciamento de Memória Memória Virtual Escalonamento de Processos Sistemas de Arquivos

Page 2: IC - UFF Sistemas Operacionais Revisão: UCP, Memória, Processos e Interrupções Processos e threads Concorrência Deadlocks Gerenciamento de Memória Memória

IC - UFF

Sistemas Operacionais

Livro textoOperating Systems: Internals and Design Principles, W. Stallings, Ed. Prentice Hall

Bibliografia Complementar:Sistemas Operacionais, R.S. Oliveira, A.S. Carissimi e S.S. Toscani, Ed. Sagra Luzzatto Operating Systems Concepts, A. Silberschatz e P.B. Galvin, Ed. Prentice Hall (há edição em português) Modern Operating Systems, A. Tanenbaum, Ed. Prentice Hall

Page 3: IC - UFF Sistemas Operacionais Revisão: UCP, Memória, Processos e Interrupções Processos e threads Concorrência Deadlocks Gerenciamento de Memória Memória

IC - UFF

Arquitetura X Organização de computadores

Arquitetura de computadores refere-se às características visíveis pelo programador

conjunto de instruções, número de bits de dados, mecanismos de E/S, modos de endereçamento

Organização de computadores refere-se a como estas características são implementadas

detalhes de h/w como sinais de controle, interfaces, tecnologia de memória

Page 4: IC - UFF Sistemas Operacionais Revisão: UCP, Memória, Processos e Interrupções Processos e threads Concorrência Deadlocks Gerenciamento de Memória Memória

IC - UFF

Arquitetura x Organização

Fabricantes oferecem famílias de modelos, com mesma arquitetura e diferentes organizações

custo e desempenho diferentes compatibilidade de código mudança da organização com tecnologia

Page 5: IC - UFF Sistemas Operacionais Revisão: UCP, Memória, Processos e Interrupções Processos e threads Concorrência Deadlocks Gerenciamento de Memória Memória

IC - UFF

Estrutura e Função

Um computador é um sistema hierárquico – máquina multiníveis

Em cada nível, o projetista se preocupa com sua estrutura e sua função

Estrutura é a forma como os componentes se relacionam

Função é a operação de cada componente parte dessa estrutura

Page 6: IC - UFF Sistemas Operacionais Revisão: UCP, Memória, Processos e Interrupções Processos e threads Concorrência Deadlocks Gerenciamento de Memória Memória

IC - UFF

Função

Funções básicas de um computador são:

Processamento de dados

Armazenamento de dados

Movimentação de dados

Controle

Page 7: IC - UFF Sistemas Operacionais Revisão: UCP, Memória, Processos e Interrupções Processos e threads Concorrência Deadlocks Gerenciamento de Memória Memória

IC - UFF

Visão funcional

Visão funcional de um computador

Equip. demoviment.de dados

Mecanismode controle

Facilidadedearmazenam.

Facilidadedeprocessam.

Ambiente deoperação

Page 8: IC - UFF Sistemas Operacionais Revisão: UCP, Memória, Processos e Interrupções Processos e threads Concorrência Deadlocks Gerenciamento de Memória Memória

IC - UFF

Estrutura: visão macro

Computador

Memóriaprincipal

E/S

Sistema decomunicação

Periféricos

Linhas decomunicação

UCP

Computador

Page 9: IC - UFF Sistemas Operacionais Revisão: UCP, Memória, Processos e Interrupções Processos e threads Concorrência Deadlocks Gerenciamento de Memória Memória

IC - UFF

Estrutura: a UCP

ComputadorULA

Unidadedecontrole

Interconexãointerna à UCP

Registradores

UCP

E/S

Memória

Sistem.Com.

UCP

Page 10: IC - UFF Sistemas Operacionais Revisão: UCP, Memória, Processos e Interrupções Processos e threads Concorrência Deadlocks Gerenciamento de Memória Memória

IC - UFF

Estrutura: unidade de controle

UCP

Memóriadecontrole

Registradores edecodificadores

Seqüencia-mento

Unid.controle

ULA

Regist.

Barraint.

Unid. de controle

Page 11: IC - UFF Sistemas Operacionais Revisão: UCP, Memória, Processos e Interrupções Processos e threads Concorrência Deadlocks Gerenciamento de Memória Memória

IC - UFF

Computador: visão macro

Page 12: IC - UFF Sistemas Operacionais Revisão: UCP, Memória, Processos e Interrupções Processos e threads Concorrência Deadlocks Gerenciamento de Memória Memória

IC - UFF

Ciclo de instrução

Início ParadaBusca novainstrução

ExecutaInstrução

Ciclo de busca Ciclo de execução

Page 13: IC - UFF Sistemas Operacionais Revisão: UCP, Memória, Processos e Interrupções Processos e threads Concorrência Deadlocks Gerenciamento de Memória Memória

IC - UFF

Ciclo de busca

PC contém o endereço da próxima instrução Instrução é buscada e colocada no IR para ser

interpretada PC é incrementado (quase sempre!)

Page 14: IC - UFF Sistemas Operacionais Revisão: UCP, Memória, Processos e Interrupções Processos e threads Concorrência Deadlocks Gerenciamento de Memória Memória

IC - UFF

Ciclo de execução

UCP interpreta instrução e executa ação: UCP memória: transferência de dados UCP E/S: transferência de dados processamento de dados: operação lógica ou

aritmética controle: alteração da seqüência de operação combinação dessas ações

Page 15: IC - UFF Sistemas Operacionais Revisão: UCP, Memória, Processos e Interrupções Processos e threads Concorrência Deadlocks Gerenciamento de Memória Memória

IC - UFF

Organização da UCP

Funções da UCP: buscar instruções interpretar instruções buscar dados processar dados

UCP precisa fazer armazenamento temporário: registradores

Page 16: IC - UFF Sistemas Operacionais Revisão: UCP, Memória, Processos e Interrupções Processos e threads Concorrência Deadlocks Gerenciamento de Memória Memória

IC - UFF

Registradores

Espaço de trabalho temporário Quantidade e função varia entre processadores Uma das principais decisões de projeto Nível superior da hierarquia de memória

Classificação: vísiveis restritos

controle estado

Page 17: IC - UFF Sistemas Operacionais Revisão: UCP, Memória, Processos e Interrupções Processos e threads Concorrência Deadlocks Gerenciamento de Memória Memória

IC - UFF

Registradores visíveis

São os que podem ser referenciados através de linguagem de máquina

de uso geral (dados e endereçamento) de dados (e.g., acumulador) de endereço: segmento, índice, pilha, ... códigos de condição (só leitura)

Page 18: IC - UFF Sistemas Operacionais Revisão: UCP, Memória, Processos e Interrupções Processos e threads Concorrência Deadlocks Gerenciamento de Memória Memória

IC - UFF

Registradores de controle e estado

visibilidade restrita essenciais: PC, IR, MAR, MBR PSW: Program Status Word

códigos de condição = sinal + zero + vai-um + estouro + permissão/inibição de

interrupção + modo supervisor/não

Outros registradores importantes: SP, apontador de PCB, interrupção vetorizada

Page 19: IC - UFF Sistemas Operacionais Revisão: UCP, Memória, Processos e Interrupções Processos e threads Concorrência Deadlocks Gerenciamento de Memória Memória

IC - UFF

Interrupção

Mecanismo pelo qual outros módulos interrompem processamento normal da UCP

Basicamente associado a E/S

Tipos mais comuns de interrupção: programa (e.g., 0) traps temporização escalonamento de processo E/S (e.g., fim de escrita em disco) falha de h/w (e.g., falta de energia)

Page 20: IC - UFF Sistemas Operacionais Revisão: UCP, Memória, Processos e Interrupções Processos e threads Concorrência Deadlocks Gerenciamento de Memória Memória

IC - UFF

Fluxo de controle em programa

Page 21: IC - UFF Sistemas Operacionais Revisão: UCP, Memória, Processos e Interrupções Processos e threads Concorrência Deadlocks Gerenciamento de Memória Memória

IC - UFF

Transferência de controle

1

2

i

i+1

Programa do usuário

M

Tratador de interrupção

Page 22: IC - UFF Sistemas Operacionais Revisão: UCP, Memória, Processos e Interrupções Processos e threads Concorrência Deadlocks Gerenciamento de Memória Memória

IC - UFF

Tratador de interrupção

Programa que determina a natureza da interrupção e que realiza o tratamento adequado

Controle é transferido para este programa após salvamento de algumas informações

É parte do sistema operacional

Page 23: IC - UFF Sistemas Operacionais Revisão: UCP, Memória, Processos e Interrupções Processos e threads Concorrência Deadlocks Gerenciamento de Memória Memória

IC - UFF

Início

Parada

Busca novainstrução

Executainstrução

Verifica inter-rupção: processa

interrupção

Ciclo de busca Ciclo de execução Ciclo de interrupção

Interrupçõesinibidas

Interrupçõespermitidas

Ciclo de interrupção

Page 24: IC - UFF Sistemas Operacionais Revisão: UCP, Memória, Processos e Interrupções Processos e threads Concorrência Deadlocks Gerenciamento de Memória Memória

IC - UFF

Tratamento da interrupção

Algum controlador dedispositivo gera umainterrupção

UCP termina execuçãoda instrução corrente

UCP sinalizareconhecimento dainterrupção

UCP armazenaPSW e PC napilha de controle

UCP carrega novovalor do PC baseadana interrupção

Salva o resto dainformação de estadodo processador

Processa interrupção

Restaura ainformação de estadodo processador

Restaura PSW e PCanteriores

H/W S/W

Page 25: IC - UFF Sistemas Operacionais Revisão: UCP, Memória, Processos e Interrupções Processos e threads Concorrência Deadlocks Gerenciamento de Memória Memória

IC - UFF

Interrupções múltiplas (1)

Desabilita outras interrupções: seqüencial UCP ignora outras interrupções enquanto processa uma

interrupção interrupções pendentes só são verificadas ao fim do

tratamento da interrupção corrente interrupções tratadas na ordem seqüencial de

ocorrência Quando terminar o tratamento, as interrupções são

habilitadas. Vant: simplicidade Desv.: falta de critério

Page 26: IC - UFF Sistemas Operacionais Revisão: UCP, Memória, Processos e Interrupções Processos e threads Concorrência Deadlocks Gerenciamento de Memória Memória

IC - UFF

Tratamento seqüencial

Page 27: IC - UFF Sistemas Operacionais Revisão: UCP, Memória, Processos e Interrupções Processos e threads Concorrência Deadlocks Gerenciamento de Memória Memória

IC - UFF

Interrupções múltiplas (2)

Definição de prioridades interrupções de menor prioridade podem ser

interrompidas por interrupções de maior prioridade

quando há o término do tratamento da(s) de maior prioridade, UCP trata a(s) de menor prioridade

Page 28: IC - UFF Sistemas Operacionais Revisão: UCP, Memória, Processos e Interrupções Processos e threads Concorrência Deadlocks Gerenciamento de Memória Memória

IC - UFF

Tratamento com prioridades

Page 29: IC - UFF Sistemas Operacionais Revisão: UCP, Memória, Processos e Interrupções Processos e threads Concorrência Deadlocks Gerenciamento de Memória Memória

IC - UFF

Tratamento com prioridades

t=0 instruções sendo executadast=10 interrupção devido impressora

passos de hardware e softwaret=15 rotina de tratamento ainda sendo executada

linha de comunicação interrompe rotina é interrompida e estado salvo trata interrupção devido a linha de

comunicaçãot=25 termina o tratamento devido a linha de com.

restaura o tratamento devido a impressora……

Page 30: IC - UFF Sistemas Operacionais Revisão: UCP, Memória, Processos e Interrupções Processos e threads Concorrência Deadlocks Gerenciamento de Memória Memória

IC - UFF

Técnicas de comunicação de E/S

E/S programado: (a) E/S por interrupção: (b) E/S por DMA: (c)

Page 31: IC - UFF Sistemas Operacionais Revisão: UCP, Memória, Processos e Interrupções Processos e threads Concorrência Deadlocks Gerenciamento de Memória Memória

IC - UFF

Exemplo: leitura de um blocoInsert Readcommand toI/O Module

Read Statusof I/OModule

CheckStatus

Read wordfrom I/OModule

Write wordinto memory

Done?

Yes

No

Next Instruction

CPU Memory

I/O CPU

ErrorCondition

I/O CPU

CPU I/O

Ready

NotReady

Insert Readcommand toI/O Module

Read Statusof I/OModule

CheckStatus

Read wordfrom I/OModule

Write wordinto memory

Done?

Yes

No

Next Instruction

CPU Memory

I/O CPU

ErrorCondition

I/O CPU

CPU I/O

Ready

Do somethingelse

Interrupt

Next Instruction

CPU DMA

Interrupt

DMA CPU

Do somethingelse

Issue Readblock commandto I/O module

Read statusof DMAmodule

(a) (b)

(c)