29
Aula 3 – Estrutura de SO 1 Sistemas Operacionais Aula 2 Estrutura de SO

Sistemas Operacionais · 2014. 2. 9. · Sistemas Operacionais Aula 2 Estrutura de SO. Aula 3 –Estrutura de SO 2 Sumário System Calls Interrupções e exceções ... “Só por

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Sistemas Operacionais · 2014. 2. 9. · Sistemas Operacionais Aula 2 Estrutura de SO. Aula 3 –Estrutura de SO 2 Sumário System Calls Interrupções e exceções ... “Só por

Aula 3 – Estrutura de SO 1

Sistemas Operacionais

Aula 2Estrutura de SO

Page 2: Sistemas Operacionais · 2014. 2. 9. · Sistemas Operacionais Aula 2 Estrutura de SO. Aula 3 –Estrutura de SO 2 Sumário System Calls Interrupções e exceções ... “Só por

Aula 3 – Estrutura de SO 2

Sumário

System Calls

Interrupções e exceções Tratamento de interrupções

Múltiplas interrupções

Estruturas de controle

Arquitetura de um SO Arquitetura monolítica

Arquitetura em camadas

Máquina virtual

Arquitetura microkernel

Tendências

Page 3: Sistemas Operacionais · 2014. 2. 9. · Sistemas Operacionais Aula 2 Estrutura de SO. Aula 3 –Estrutura de SO 2 Sumário System Calls Interrupções e exceções ... “Só por

Aula 3 – Estrutura de SO 3

Introdução

Sistema computacional

Utilitários

Hardware

Núcleo doSistema Operacional

Aplicativos

Page 4: Sistemas Operacionais · 2014. 2. 9. · Sistemas Operacionais Aula 2 Estrutura de SO. Aula 3 –Estrutura de SO 2 Sumário System Calls Interrupções e exceções ... “Só por

Aula 3 – Estrutura de SO 4

System Calls (1)

Método empregado para um processo usuário

solicitar serviços ao sistema operacional

Normalmente baseada em interrupções de software

(traps)

Aciona a rotina de tratamento de interrupção

Identifica serviço requisitado

Verifica validade dos parâmetros

Executa o serviço

Retorna ao processo do usuário

Page 5: Sistemas Operacionais · 2014. 2. 9. · Sistemas Operacionais Aula 2 Estrutura de SO. Aula 3 –Estrutura de SO 2 Sumário System Calls Interrupções e exceções ... “Só por

Aula 3 – Estrutura de SO 5

System Calls (2)

System calls

System Call

Aplicação Biblioteca Hardware

Núcleo doSistema Operacional

Núcleo doSistema Operacional

Page 6: Sistemas Operacionais · 2014. 2. 9. · Sistemas Operacionais Aula 2 Estrutura de SO. Aula 3 –Estrutura de SO 2 Sumário System Calls Interrupções e exceções ... “Só por

Aula 3 – Estrutura de SO 6

System Calls (3)

Chamada a uma rotina do sistema

Page 7: Sistemas Operacionais · 2014. 2. 9. · Sistemas Operacionais Aula 2 Estrutura de SO. Aula 3 –Estrutura de SO 2 Sumário System Calls Interrupções e exceções ... “Só por

Aula 3 – Estrutura de SO 7

System Calls (4)

Funções

Gerência de processos e threads

Gerência de memória

Gerência do sistema de arquivos

Gerência de dispositivos

Tipos de instruções

Privilegiadas

Não-privilegiadas

Modos de acesso

Usuário

Kernel ou supervisor

Page 8: Sistemas Operacionais · 2014. 2. 9. · Sistemas Operacionais Aula 2 Estrutura de SO. Aula 3 –Estrutura de SO 2 Sumário System Calls Interrupções e exceções ... “Só por

Aula 3 – Estrutura de SO 8

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.

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

Page 9: Sistemas Operacionais · 2014. 2. 9. · Sistemas Operacionais Aula 2 Estrutura de SO. Aula 3 –Estrutura de SO 2 Sumário System Calls Interrupções e exceções ... “Só por

Aula 3 – Estrutura de SO 9

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

Mecanismo de Interrupção e Exceção

Page 10: Sistemas Operacionais · 2014. 2. 9. · Sistemas Operacionais Aula 2 Estrutura de SO. Aula 3 –Estrutura de SO 2 Sumário System Calls Interrupções e exceções ... “Só por

Aula 3 – Estrutura de SO 10

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 reconhece

sinal de interrupção

Processador coloca PSW e

PC na pilha de controle

Processador carrega novo

valor do PC, baseado na

interrupção

Salva informações

remanescentes sobre o

estado do processo

Processa a interrupção

Restaura a informação do

estado do processo

Restaura o velho PSW e PC

(Rotina de serviço)

Fluxo de Proces-

samento de uma

Interrupção

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

Page 11: Sistemas Operacionais · 2014. 2. 9. · Sistemas Operacionais Aula 2 Estrutura de SO. Aula 3 –Estrutura de SO 2 Sumário System Calls Interrupções e exceções ... “Só por

Aula 3 – Estrutura de SO 11

• 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ção

Rotina X

Interrupção

Rotina Y

Modelo seqüencial

Múltiplas interrupções (1)

Page 12: Sistemas Operacionais · 2014. 2. 9. · Sistemas Operacionais Aula 2 Estrutura de SO. Aula 3 –Estrutura de SO 2 Sumário System Calls Interrupções e exceções ... “Só por

Aula 3 – Estrutura de SO 12

• 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ção

Rotina X

Interrupção

Rotina Y

-

+

Múltiplas interrupções (2)

Modelo cascata

Page 13: Sistemas Operacionais · 2014. 2. 9. · Sistemas Operacionais Aula 2 Estrutura de SO. Aula 3 –Estrutura de SO 2 Sumário System Calls Interrupções e exceções ... “Só por

Aula 3 – Estrutura de SO 13

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 · 2014. 2. 9. · Sistemas Operacionais Aula 2 Estrutura de SO. Aula 3 –Estrutura de SO 2 Sumário System Calls Interrupções e exceções ... “Só por

Aula 3 – Estrutura de SO 14

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 · 2014. 2. 9. · Sistemas Operacionais Aula 2 Estrutura de SO. Aula 3 –Estrutura de SO 2 Sumário System Calls Interrupções e exceções ... “Só por

Aula 3 – Estrutura de SO 15

Residente

Residente

kernel

Usuário (*)

Sistema

Monolítico

Sistema

Modular

(camadas)

Cliente / Servidor

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

Arquitetura de um SO

Page 16: Sistemas Operacionais · 2014. 2. 9. · Sistemas Operacionais Aula 2 Estrutura de SO. Aula 3 –Estrutura de SO 2 Sumário System Calls Interrupções e exceções ... “Só por

Aula 3 – Estrutura de SO 16

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:

• Bugs

• Memória

• Complexidade

Arquitetura Modular e,

posteriormente, em

Camadas.

Arquitetura monolítica (1)

Page 17: Sistemas Operacionais · 2014. 2. 9. · Sistemas Operacionais Aula 2 Estrutura de SO. Aula 3 –Estrutura de SO 2 Sumário System Calls Interrupções e exceções ... “Só por

Aula 3 – Estrutura de SO 17

Arquitetura Monolítica (2)

Arquitetura monolítica

Modo kernel

aplicação aplicação

Modo usuário

System call

Hardware

Page 18: Sistemas Operacionais · 2014. 2. 9. · Sistemas Operacionais Aula 2 Estrutura de SO. Aula 3 –Estrutura de SO 2 Sumário System Calls Interrupções e exceções ... “Só por

Aula 3 – Estrutura de SO 18

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 de

funcionalidade não são bem separados nem estão unificados

de forma monolítica.

Drivers de Dispositivo

do MS-DOS

Programa aplicativo

Programa SO residente

Drivers de Dispositivo da BIOS

(*) O excesso de

liberdade torna o SO

vulnerável.

Arquitetura do MS-DOS

Page 19: Sistemas Operacionais · 2014. 2. 9. · Sistemas Operacionais Aula 2 Estrutura de SO. Aula 3 –Estrutura de SO 2 Sumário System Calls Interrupções e exceções ... “Só por

Aula 3 – Estrutura de SO 19

O sistema é dividido em níveis sobrepostos. Cada nível oferece funções

que só podem ser utilizadas pelas camadas mais externas.

kernel

Usuário

Executivo

Supervisor

Arquitetura do OpenVMS

• THE (Technische Hogeschool Eindhoven

– 1968) – primeiro em camadas (6)

• MULTICS e OpenVMS foram os

seguintes, projetando-as concêntricas

• Atualmente a maioria adota 2 camadas

(kernel – privilegiado e usuário – não

privilegiado) – UNIX e Win2000

Arquitetura em camadas

Page 20: Sistemas Operacionais · 2014. 2. 9. · Sistemas Operacionais Aula 2 Estrutura de SO. Aula 3 –Estrutura de SO 2 Sumário System Calls Interrupções e exceções ... “Só por

Aula 3 – Estrutura de SO 20

SubsistemaArquivo

Programas Usuário

Dispositivos Drivers

Caractere Bloco

Controle de Hardware

Hardware

Buffer Cache

SubsistemaControleProcesso

Comunicaçãoentre processos

Escalonamento

GerenciamentoMemória

Interface Chamada Sistema

BibliotecasTrapNível Usuário

Nível Kernel

Nível Hardware

Nível Kernel

Arquitetura de um UNIX tradicional

Page 21: Sistemas Operacionais · 2014. 2. 9. · Sistemas Operacionais Aula 2 Estrutura de SO. Aula 3 –Estrutura de SO 2 Sumário System Calls Interrupções e exceções ... “Só por

Aula 3 – Estrutura de SO 21

Modo Kernel

Modo Usuário

Servidor

Arquivos

Servidor

Processos

Servidor

Memória

Servidor

RedeServidor

Impressão

Kernel

Hardware

mensagens

Arquitetura kernel (cliente servidor)

Page 22: Sistemas Operacionais · 2014. 2. 9. · Sistemas Operacionais Aula 2 Estrutura de SO. Aula 3 –Estrutura de SO 2 Sumário System Calls Interrupções e exceções ... “Só por

Aula 3 – Estrutura de SO 22

Anonymous Mappings

Common

Facilities

STREAMS

Virtual

Memory

Framework

Block

Device

Switch

Exec

Switch

Vnode/vfs

Interface

Scheduler

Framework

Time-SharingProcesses

SystemProcesses

S5FS

RFS

FFSNFS

ElfCoffA.out

File Mappings

Device Mappings

Disk Driver

Tape Driver

Network Driver Tty Driver

Arquitetura kernel do UNIX

Page 23: Sistemas Operacionais · 2014. 2. 9. · Sistemas Operacionais Aula 2 Estrutura de SO. Aula 3 –Estrutura de SO 2 Sumário System Calls Interrupções e exceções ... “Só por

Aula 3 – Estrutura de SO 23

Modo Kernel

Hardware

Subsistema

Posix

Microkernel

Hardware Abstraction Layer (HAL)

Dispositivo

Drivers

Gerenciamento

E/S

Gerenciamento

Objeto

Proteção

Referente

Monitor

Gerenciamento

Processo

Chamada

Procedimento

Local

Gerenciamento

Memória

Virtual

Gerenciamento

Windows

& GDI

Dispositivo

Drivers

Serviços Executivos

Subsistema

Segurança

Subsistema

OS/2

Subsistema

CRS

Aplicação

OS/2Winlogon

Aplicação

Win32

Aplicação

Posix DOS

Win 16

NTVDM

Modo Usuário

Arquitetura Windows NT

Page 24: Sistemas Operacionais · 2014. 2. 9. · Sistemas Operacionais Aula 2 Estrutura de SO. Aula 3 –Estrutura de SO 2 Sumário System Calls Interrupções e exceções ... “Só por

Aula 3 – Estrutura de SO 24

Aplicativo

Win32

Servidor

Win32

Aplicativo

OS/2

Servidor

OS/2

Aplicativo

POSIX

Servidor

POSIX

Kernel 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 · 2014. 2. 9. · Sistemas Operacionais Aula 2 Estrutura de SO. Aula 3 –Estrutura de SO 2 Sumário System Calls Interrupções e exceções ... “Só por

Aula 3 – Estrutura de SO 25

Uma máquina real pode abrigar internamente diferentesambientes 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 · 2014. 2. 9. · Sistemas Operacionais Aula 2 Estrutura de SO. Aula 3 –Estrutura de SO 2 Sumário System Calls Interrupções e exceções ... “Só por

Aula 3 – Estrutura de SO 26

Máquina Virtual JAVA

Hardware

Sistema Operacional

Aplicação JAVA

(*) Dependente do Hardware

Carregador de

Classes

Interpretador

Java

arquivos .class

Programa Java

arquivos .class

da API Java

bytecodes

Sistema Host

(*)

Máquina virtual Java

Page 27: Sistemas Operacionais · 2014. 2. 9. · Sistemas Operacionais Aula 2 Estrutura de SO. Aula 3 –Estrutura de SO 2 Sumário System Calls Interrupções e exceções ... “Só por

Aula 3 – Estrutura de SO 27

Prog1.java Prog2.java

Compilador

Java

Prog1.class Prog2.class

Carregador

de Classes

Interpretador

Java

arquivos .class

da API Java

bytecodes

Sistema Host

Ambiente de Compilação

Ambiente de Execução

(plataforma Java)

bytecodes

Ambiente de desenvolvimento JAVA

Page 28: Sistemas Operacionais · 2014. 2. 9. · Sistemas Operacionais Aula 2 Estrutura de SO. Aula 3 –Estrutura de SO 2 Sumário System Calls Interrupções e exceções ... “Só por

Aula 3 – Estrutura de SO 28

• Arquitetura MicroKernel

• Sistema MultiThread

• Múltiplos Processadores Simétricos

• Distribuído

• Projeto Orientado a Objetos

Tendências nos sistemas atuais

Page 29: Sistemas Operacionais · 2014. 2. 9. · Sistemas Operacionais Aula 2 Estrutura de SO. Aula 3 –Estrutura de SO 2 Sumário System Calls Interrupções e exceções ... “Só por

Aula 3 – Estrutura de SO 29

Gerenciamento

de Memória

Descrição de

Processo e

Controle

Concorrência

Gerenciamento

de Arquivo

RedeSegurança

Gerenciamento

de E/S

Escalonamento

Tópicos a serem abordados