sistemas operacionais. aula 2 – estrutura de so2 sistemas operacionais – jorge luiz de castro e...
TRANSCRIPT
Sistemas OperacionaisSistemas Operacionais
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
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
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
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
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
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
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)
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
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)
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)
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
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
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
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
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)
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
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
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
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
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)
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
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
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
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
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
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
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
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
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