sistemas operacionais. aula 2 – estrutura de so2 sistemas operacionais – jorge luiz de castro e...

30
Sistemas Operacionais Sistemas Operacionais

Upload: internet

Post on 16-Apr-2015

112 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Sistemas Operacionais. Aula 2 – Estrutura de SO2 Sistemas Operacionais – Jorge Luiz de Castro e Silva Sumário System Calls Interrupções e exceções Tratamento

Sistemas OperacionaisSistemas Operacionais

Page 2: Sistemas Operacionais. Aula 2 – Estrutura de SO2 Sistemas Operacionais – Jorge Luiz de Castro e Silva Sumário System Calls Interrupções e exceções Tratamento

Aula 2 – Estrutura de SO 2

Sis

tem

as

Opera

cionais

– Jorg

e L

uiz

de C

ast

ro e

Silv

a

SumárioSystem CallsInterrupções e exceções

Tratamento de interrupçõesMúltiplas interrupçõesEstruturas de controle

Arquitetura de um SOArquitetura monolíticaArquitetura em camadasMáquina virtualArquitetura microkernel

Tendências

Page 3: Sistemas Operacionais. Aula 2 – Estrutura de SO2 Sistemas Operacionais – Jorge Luiz de Castro e Silva Sumário System Calls Interrupções e exceções Tratamento

Aula 2 – Estrutura de SO 3

Sis

tem

as

Opera

cionais

– Jorg

e L

uiz

de C

ast

ro e

Silv

a

IntroduçãoSistema computacional

U ti li tá r io s

H a rdw a re

N úcleo doSistem a O p eracion a l

A p lica tivos

Page 4: Sistemas Operacionais. Aula 2 – Estrutura de SO2 Sistemas Operacionais – Jorge Luiz de Castro e Silva Sumário System Calls Interrupções e exceções Tratamento

Aula 2 – Estrutura de SO 4

Sis

tem

as

Opera

cionais

– Jorg

e L

uiz

de C

ast

ro e

Silv

a

System Calls (1)Método empregado para um processo

usuário solicitar serviços ao sistema operacionalNormalmente baseada em interrupções de

software (traps)Aciona a rotina de tratamento de interrupção

Identifica serviço requisitadoVerifica validade dos parâmetrosExecuta o serviçoRetorna ao processo do usuário

Page 5: Sistemas Operacionais. Aula 2 – Estrutura de SO2 Sistemas Operacionais – Jorge Luiz de Castro e Silva Sumário System Calls Interrupções e exceções Tratamento

Aula 2 – Estrutura de SO 5

Sis

tem

as

Opera

cionais

– Jorg

e L

uiz

de C

ast

ro e

Silv

a

System Calls (2)System calls

System C a ll

A p l icaçã o Bib lio teca H a rdw are

N úcleo doSistem a O peraciona l

N úcleo doSistem a O peraciona l

Page 6: Sistemas Operacionais. Aula 2 – Estrutura de SO2 Sistemas Operacionais – Jorge Luiz de Castro e Silva Sumário System Calls Interrupções e exceções Tratamento

Aula 2 – Estrutura de SO 6

Sis

tem

as

Opera

cionais

– Jorg

e L

uiz

de C

ast

ro e

Silv

a

System Calls (3)Chamada a uma rotina do sistema

Page 7: Sistemas Operacionais. Aula 2 – Estrutura de SO2 Sistemas Operacionais – Jorge Luiz de Castro e Silva Sumário System Calls Interrupções e exceções Tratamento

Aula 2 – Estrutura de SO 7

Sis

tem

as

Opera

cionais

– Jorg

e L

uiz

de C

ast

ro e

Silv

a

System Calls (4)Funções

Gerência de processos e threadsGerência de memóriaGerência do sistema de arquivosGerência de dispositivos

Tipos de instruçõesPrivilegiadasNão-privilegiadas

Modos de acessoUsuárioKernel ou supervisor

Page 8: Sistemas Operacionais. Aula 2 – Estrutura de SO2 Sistemas Operacionais – Jorge Luiz de Castro e Silva Sumário System Calls Interrupções e exceções Tratamento

Aula 2 – Estrutura de SO 8

Sis

tem

as

Opera

cionais

– Jorg

e L

uiz

de C

ast

ro e

Silv

a

Detalhes:Detalhes:• A execução do programa corrente é suspensa

• O endereço da Rotina de Serviço é localizado na tabela de interrupções

• O status do programa corrente é salvo (conteúdo do PC, PSW)

• O controle do processador é transferido para a rotina de serviço

• A rotina de SV pode salvar outros dados da tarefa em execução (registradores, ...)

• O ponto de interrupção pode ocorrer em qualquer parte do programa

• As rotinas de serviço normalmente fazem parte do Sistema Operacional

• Existe um “Overhead” adicional para ativar e executar a rotina de serviço.

Tratamento de interrupções - É feito pelo SO, que determina a natureza da interrupção e dispara a Rotina de Serviço adequada para executar as ações que forem necessárias.

Tratamento de interrupções - É feito pelo SO, que determina a natureza da interrupção e dispara a Rotina de Serviço adequada para executar as ações que forem necessárias.

Interrupção e Exceção (1)

Page 9: Sistemas Operacionais. Aula 2 – Estrutura de SO2 Sistemas Operacionais – Jorge Luiz de Castro e Silva Sumário System Calls Interrupções e exceções Tratamento

Aula 2 – Estrutura de SO 9

Sis

tem

as

Opera

cionais

– Jorg

e L

uiz

de C

ast

ro e

Silv

a

Interrupção e Exceção (2)Mecanismo de Interrupção e Exceção

Page 10: Sistemas Operacionais. Aula 2 – Estrutura de SO2 Sistemas Operacionais – Jorge Luiz de Castro e Silva Sumário System Calls Interrupções e exceções Tratamento

Aula 2 – Estrutura de SO 10

Sis

tem

as

Opera

cionais

– Jorg

e L

uiz

de C

ast

ro e

Silv

a

Dispositivo de controle ou outro sistema de hardware

que permita ativar uma interrupção

Dispositivo de controle ou outro sistema de hardware

que permita ativar uma interrupção

Hardware Software

Processador termina a execução da instrução

corrente

Processador termina a execução da instrução

corrente

Processador reconhece sinal de interrupção

Processador reconhece sinal de interrupção

Processador coloca PSW e PC na pilha de controle

Processador coloca PSW e PC na pilha de controle

Processador carrega novo valor do PC, baseado na

interrupção

Processador carrega novo valor do PC, baseado na

interrupção

Salva informações remanescentes sobre o

estado do processo

Salva informações remanescentes sobre o

estado do processo

Processa a interrupçãoProcessa a interrupção

Restaura a informação do estado do processo

Restaura a informação do estado do processo

Restaura o velho PSW e PCRestaura o velho PSW e PC

(Rotina de serviço)

Fluxo de Proces-samento de umaInterrupção

Interrupção e Exceção (3)

Page 11: Sistemas Operacionais. Aula 2 – Estrutura de SO2 Sistemas Operacionais – Jorge Luiz de Castro e Silva Sumário System Calls Interrupções e exceções Tratamento

Aula 2 – Estrutura de SO 11

Sis

tem

as

Opera

cionais

– Jorg

e L

uiz

de C

ast

ro e

Silv

a

• A Rotina de Serviço desabilita as interrupções

• Uma nova interrupção só é tratada após o retorno

• A interrupção pode demorar a ser tratada, o que pode eventualmente ocasionar uma perda de dados

• Finalizada a Rotina de Serviço de interrupção, o processador checa por interrupções adicionais

Programa do usuário

InterrupçãoRotina X

InterrupçãoRotina Y

Modelo seqüencial

Múltiplas interrupções (1)

Page 12: Sistemas Operacionais. Aula 2 – Estrutura de SO2 Sistemas Operacionais – Jorge Luiz de Castro e Silva Sumário System Calls Interrupções e exceções Tratamento

Aula 2 – Estrutura de SO 12

Sis

tem

as

Opera

cionais

– Jorg

e L

uiz

de C

ast

ro e

Silv

a

• Interrupções têm prioridade

• Interrupções com alta prioridade interrompem rotinas de serviço de interrupções de menor prioridade

• Exemplos de prioridade:– impressora

– disco

– comunicação

Programa do usuário

InterrupçãoRotina X

InterrupçãoRotina Y

-

+

Múltiplas interrupções (2)

Modelo cascata

Page 13: Sistemas Operacionais. Aula 2 – Estrutura de SO2 Sistemas Operacionais – Jorge Luiz de Castro e Silva Sumário System Calls Interrupções e exceções Tratamento

Aula 2 – Estrutura de SO 13

Sis

tem

as

Opera

cionais

– Jorg

e L

uiz

de C

ast

ro e

Silv

a

Memória

Dispositivos

Arquivos

Processos

Tabelas de Memória

Tabelas de E / S

Tabelas de Arquivos

Tabela de Processos

Processo 1

Processo 2

Processo 3

Processo n

Processo 1

Processo n

imagem do processo

imagem do processo

Estruturas de controle

Page 14: Sistemas Operacionais. Aula 2 – Estrutura de SO2 Sistemas Operacionais – Jorge Luiz de Castro e Silva Sumário System Calls Interrupções e exceções Tratamento

Aula 2 – Estrutura de SO 14

Sis

tem

as

Opera

cionais

– Jorg

e L

uiz

de C

ast

ro e

Silv

a

Modo usuário instruções associadas ao uso não privilegiado

Modo kernel instruções associadas ao uso privilegiado

Configuração:

Onde ?? Um bit do PSW Quando ??? em resposta a determinados eventos

Modo de execução do SO

Page 15: Sistemas Operacionais. Aula 2 – Estrutura de SO2 Sistemas Operacionais – Jorge Luiz de Castro e Silva Sumário System Calls Interrupções e exceções Tratamento

Aula 2 – Estrutura de SO 15

Sis

tem

as

Opera

cionais

– Jorg

e L

uiz

de C

ast

ro e

Silv

a

ResidenteResidente

ResidenteResidente

kernelkernel

UsuárioUsuário (*) (*)

Sistema

MonolíticoSistema

Modular

(camadas)

Cliente / Servidor

(*) “Só por prazer” – Linus Torvalds x Tanenbaum

Arquitetura de um SO

Page 16: Sistemas Operacionais. Aula 2 – Estrutura de SO2 Sistemas Operacionais – Jorge Luiz de Castro e Silva Sumário System Calls Interrupções e exceções Tratamento

Aula 2 – Estrutura de SO 16

Sis

tem

as

Opera

cionais

– Jorg

e L

uiz

de C

ast

ro e

Silv

a

Dominou até os primeiros grandes sistemas para Mainframes.Dominou até os primeiros grandes sistemas para Mainframes.

• CTSS (MIT, 1963) – 32.000 instruções de 36 bits cada

• OS/360 (IBM, 1964) – mais de 1 milhão de instruções

• MULTICS (MIT e Bell Labs) – mais de 20 milhões de instruções

Problemas:Problemas:• BugsBugs• MemóriaMemória• ComplexidadeComplexidade

Arquitetura Modular e, posteriormente, em

Camadas.

Arquitetura Modular e, posteriormente, em

Camadas.

Arquitetura monolítica (1)

Page 17: Sistemas Operacionais. Aula 2 – Estrutura de SO2 Sistemas Operacionais – Jorge Luiz de Castro e Silva Sumário System Calls Interrupções e exceções Tratamento

Aula 2 – Estrutura de SO 17

Sis

tem

as

Opera

cionais

– Jorg

e L

uiz

de C

ast

ro e

Silv

a

Arquitetura Monolítica (2)Arquitetura monolítica

M odo kernel

ap lica ção ap lica ção

M odo u suá rio

System ca ll

H a rdw are

Page 18: Sistemas Operacionais. Aula 2 – Estrutura de SO2 Sistemas Operacionais – Jorge Luiz de Castro e Silva Sumário System Calls Interrupções e exceções Tratamento

Aula 2 – Estrutura de SO 18

Sis

tem

as

Opera

cionais

– Jorg

e L

uiz

de C

ast

ro e

Silv

a

Vários sistemas comerciais não têm uma estrutura definida, e Vários sistemas comerciais não têm uma estrutura definida, e o MS-DOS é um deles. No MS-DOS as interfaces e níveis deo MS-DOS é um deles. No MS-DOS as interfaces e níveis de funcionalidade não são bem separados nem estão funcionalidade não são bem separados nem estão unificados de forma monolítica.unificados de forma monolítica.

Drivers de DispositivoDrivers de Dispositivoddo MS-DOSo MS-DOS

Programa aplicativoPrograma aplicativo

Programa SO residentePrograma SO residente

Drivers de Dispositivo da BIOSDrivers de Dispositivo da BIOS

(*) O excesso de liberdade torna o SO

vulnerável.

Arquitetura do MS-DOS

Page 19: Sistemas Operacionais. Aula 2 – Estrutura de SO2 Sistemas Operacionais – Jorge Luiz de Castro e Silva Sumário System Calls Interrupções e exceções Tratamento

Aula 2 – Estrutura de SO 19

Sis

tem

as

Opera

cionais

– Jorg

e L

uiz

de C

ast

ro e

Silv

a

O sistema é dividido em níveis sobrepostos. Cada nível oferece funções O sistema é dividido em níveis sobrepostos. Cada nível oferece funções que só podem ser utilizadas pelas camadas mais externas.que só podem ser utilizadas pelas camadas mais externas.

kernel

Usuário

Executivo

Supervisor

Arquitetura do OpenVMS

• THE (Technische Hogeschool Eindhoven THE (Technische Hogeschool Eindhoven – 1968) – primeiro em camadas (6)– 1968) – primeiro em camadas (6)

• MULTICS e OpenVMS foram os MULTICS e OpenVMS foram os seguintes, projetando-as concêntricasseguintes, projetando-as concêntricas

• Atualmente a maioria adota 2 camadas Atualmente a maioria adota 2 camadas (kernel – privilegiado e usuário – não (kernel – privilegiado e usuário – não privilegiado) – UNIX e Win2000privilegiado) – UNIX e Win2000

Arquitetura em camadas

Page 20: Sistemas Operacionais. Aula 2 – Estrutura de SO2 Sistemas Operacionais – Jorge Luiz de Castro e Silva Sumário System Calls Interrupções e exceções Tratamento

Aula 2 – Estrutura de SO 20

Sis

tem

as

Opera

cionais

– Jorg

e L

uiz

de C

ast

ro e

Silv

a

SubsistemaArquivo

SubsistemaArquivo

Programas Usuário

Dispositivos DriversDispositivos Drivers

Caractere Bloco

Controle de HardwareControle de Hardware

HardwareHardware

Buffer Cache

SubsistemaControleProcesso

Comunicaçãoentre processos

Escalonamento

GerenciamentoMemória

Interface Chamada SistemaInterface Chamada Sistema

BibliotecasTrapNível Usuário

Nível Kernel

Nível Hardware

Nível Kernel

Arquitetura de um UNIX tradicional

Page 21: Sistemas Operacionais. Aula 2 – Estrutura de SO2 Sistemas Operacionais – Jorge Luiz de Castro e Silva Sumário System Calls Interrupções e exceções Tratamento

Aula 2 – Estrutura de SO 21

Sis

tem

as

Opera

cionais

– Jorg

e L

uiz

de C

ast

ro e

Silv

a

Modo Kernel

Modo Usuário

ServidorArquivos

ServidorProcessos

ServidorMemória

ServidorRede

ServidorImpressão

KernelKernel

HardwareHardware

mensagens

Arquitetura kernel (cliente servidor)

Page 22: Sistemas Operacionais. Aula 2 – Estrutura de SO2 Sistemas Operacionais – Jorge Luiz de Castro e Silva Sumário System Calls Interrupções e exceções Tratamento

Aula 2 – Estrutura de SO 22

Sis

tem

as

Opera

cionais

– Jorg

e L

uiz

de C

ast

ro e

Silv

a

Anonymous MappingsAnonymous Mappings

CommonCommonFacilitiesFacilities

STREAMSSTREAMSSTREAMSSTREAMS

VirtualVirtualMemoryMemory

FrameworkFramework

VirtualVirtualMemoryMemory

FrameworkFramework

BlockBlockDeviceDeviceSwitchSwitch

BlockBlockDeviceDeviceSwitchSwitch

ExecExecSwitchSwitch

ExecExecSwitchSwitch

Vnode/vfsVnode/vfsInterfaceInterface

Vnode/vfsVnode/vfsInterfaceInterface

SchedulerSchedulerFrameworkFramework

SchedulerSchedulerFrameworkFramework

Time-SharingTime-SharingProcessesProcesses

SystemSystemProcessesProcesses

S5FSS5FS

RFSRFS

FFSFFSNFSNFS

ElfElfCoffCoffA.outA.out

File MappingsFile MappingsDevice MappingsDevice Mappings

Disk DriverDisk Driver

Tape DriverTape Driver

Network DriverNetwork Driver Tty DriverTty Driver

Arquitetura kernel do UNIX

Page 23: Sistemas Operacionais. Aula 2 – Estrutura de SO2 Sistemas Operacionais – Jorge Luiz de Castro e Silva Sumário System Calls Interrupções e exceções Tratamento

Aula 2 – Estrutura de SO 23

Sis

tem

as

Opera

cionais

– Jorg

e L

uiz

de C

ast

ro e

Silv

a

Modo Kernel

HardwareHardware

Subsistema Posix

Subsistema Posix

MicrokernelMicrokernel

Hardware Abstraction Layer (HAL)Hardware Abstraction Layer (HAL)Dispositivo

Drivers

GerenciamentoE/S

GerenciamentoObjeto

ProteçãoReferenteMonitor

GerenciamentoProcesso

ChamadaProcedimento

Local

GerenciamentoMemóriaVirtual

GerenciamentoWindows

& GDI

DispositivoDrivers

Serviços Executivos

SubsistemaSegurança

SubsistemaSegurança

SubsistemaOS/2

SubsistemaOS/2

SubsistemaCRS

SubsistemaCRS

AplicaçãoOS/2

AplicaçãoOS/2 WinlogonWinlogonAplicação

Win32

AplicaçãoWin32

AplicaçãoPosix

AplicaçãoPosix DOS

Win 16

NTVDM

Modo Usuário

Arquitetura Windows NT

Page 24: Sistemas Operacionais. Aula 2 – Estrutura de SO2 Sistemas Operacionais – Jorge Luiz de Castro e Silva Sumário System Calls Interrupções e exceções Tratamento

Aula 2 – Estrutura de SO 24

Sis

tem

as

Opera

cionais

– Jorg

e L

uiz

de C

ast

ro e

Silv

a

AplicativoAplicativoWin32Win32

ServidorServidorWin32Win32

AplicativoAplicativoOS/2OS/2

ServidorServidorOS/2OS/2

AplicativoAplicativoPOSIXPOSIX

ServidorServidorPOSIXPOSIX

Kernel WIN NTKernel WIN NT

O Kernel controla toda a troca de mensagens entre a aplicação e o respectivo servidor.

Arquitetura cliente servidor do Windows NT

Page 25: Sistemas Operacionais. Aula 2 – Estrutura de SO2 Sistemas Operacionais – Jorge Luiz de Castro e Silva Sumário System Calls Interrupções e exceções Tratamento

Aula 2 – Estrutura de SO 25

Sis

tem

as

Opera

cionais

– Jorg

e L

uiz

de C

ast

ro e

Silv

a

Uma máquina real pode abrigar internamente diferentes ambientes virtuais, cada um simulando uma máquina distinta, com memória, SO, recursos e processos próprios. Desta forma, cada usuário (ou aplicativo) parece possuir sua própria máquina

Uma máquina real pode abrigar internamente diferentes ambientes virtuais, cada um simulando uma máquina distinta, com memória, SO, recursos e processos próprios. Desta forma, cada usuário (ou aplicativo) parece possuir sua própria máquina

Hardware

Kernel

Processos

Máquina Não-Virtual

Hardware

Máquina Virtual

MV1 MV2 MV3

Processos Processos Processos

Kernel1 Kernel2 Kernel3

Máquina Virtual

Máquina virtual

Page 26: Sistemas Operacionais. Aula 2 – Estrutura de SO2 Sistemas Operacionais – Jorge Luiz de Castro e Silva Sumário System Calls Interrupções e exceções Tratamento

Aula 2 – Estrutura de SO 26

Sis

tem

as

Opera

cionais

– Jorg

e L

uiz

de C

ast

ro e

Silv

a

Máquina Virtual JAVA

Hardware

Sistema Operacional

Aplicação JAVA

(*) Dependente do Hardware

Carregador de Classes

Interpretador Java

arquivos .classarquivos .classPrograma JavaPrograma Java

arquivos .classarquivos .classda API Javada API Java

bytecodesbytecodes

Sistema HostSistema Host

(*)

Máquina virtual Java

Page 27: Sistemas Operacionais. Aula 2 – Estrutura de SO2 Sistemas Operacionais – Jorge Luiz de Castro e Silva Sumário System Calls Interrupções e exceções Tratamento

Aula 2 – Estrutura de SO 27

Sis

tem

as

Opera

cionais

– Jorg

e L

uiz

de C

ast

ro e

Silv

a

Prog1.java Prog2.java

CompiladorCompiladorJavaJava

Prog1.class Prog2.class

Carregador de Classes

Interpretador Java

arquivos .classarquivos .classda API Javada API Java

bytecodesbytecodes

Sistema HostSistema Host

Ambiente de Compilação

Ambiente de Execução(plataforma Java)

bytecodes

Ambiente de desenvolvimento JAVA

Page 28: Sistemas Operacionais. Aula 2 – Estrutura de SO2 Sistemas Operacionais – Jorge Luiz de Castro e Silva Sumário System Calls Interrupções e exceções Tratamento

Aula 2 – Estrutura de SO 28

Sis

tem

as

Opera

cionais

– Jorg

e L

uiz

de C

ast

ro e

Silv

a

• Arquitetura MicroKernel

• Sistema MultiThread

• Múltiplos Processadores Simétricos

• Distribuído

• Projeto Orientado a Objetos

• Arquitetura MicroKernel

• Sistema MultiThread

• Múltiplos Processadores Simétricos

• Distribuído

• Projeto Orientado a Objetos

Tendências nos sistemas atuais

Page 29: Sistemas Operacionais. Aula 2 – Estrutura de SO2 Sistemas Operacionais – Jorge Luiz de Castro e Silva Sumário System Calls Interrupções e exceções Tratamento

Aula 2 – Estrutura de SO 29

Sis

tem

as

Opera

cionais

– Jorg

e L

uiz

de C

ast

ro e

Silv

a

Gerenciamentode Memória

Descrição de Processo e

Controle

Concorrência

Gerenciamentode Arquivo

RedeSegurança

Gerenciamentode E/S

Escalonamento

Tópicos a serem abordados

Page 30: Sistemas Operacionais. Aula 2 – Estrutura de SO2 Sistemas Operacionais – Jorge Luiz de Castro e Silva Sumário System Calls Interrupções e exceções Tratamento

Aula 2 – Estrutura de SO 30

Sis

tem

as

Opera

cionais

– Jorg

e L

uiz

de C

ast

ro e

Silv

a

FIM

Sis

tem

as

Opera

cionais

– Jorg

e L

uiz

de C

ast

ro e

Silv

a