Sistemas Operacionais Sistemas Operacionais Jorge Luiz de Castro

  • Slides: 30
Download presentation
Sistemas Operacionais

Sistemas Operacionais

Sistemas Operacionais – Jorge Luiz de Castro e Silva Sumário System Calls Interrupções e

Sistemas Operacionais – Jorge Luiz de Castro e Silva 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 Aula 2 – Estrutura de SO 2

Sistemas Operacionais – Jorge Luiz de Castro e Silva Introdução Sistema computacional Aula 2

Sistemas Operacionais – Jorge Luiz de Castro e Silva Introdução Sistema computacional Aula 2 – Estrutura de SO 3

Sistemas Operacionais – Jorge Luiz de Castro e Silva System Calls (1) Método empregado

Sistemas Operacionais – Jorge Luiz de Castro e Silva 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 Aula 2 – Estrutura de SO 4

Sistemas Operacionais – Jorge Luiz de Castro e Silva System Calls (2) System calls

Sistemas Operacionais – Jorge Luiz de Castro e Silva System Calls (2) System calls Aula 2 – Estrutura de SO 5

Sistemas Operacionais – Jorge Luiz de Castro e Silva System Calls (3) Chamada a

Sistemas Operacionais – Jorge Luiz de Castro e Silva System Calls (3) Chamada a uma rotina do sistema Aula 2 – Estrutura de SO 6

Sistemas Operacionais – Jorge Luiz de Castro e Silva System Calls (4) Funções Gerência

Sistemas Operacionais – Jorge Luiz de Castro e Silva 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 Aula 2 – Estrutura de SO 7

Sistemas Operacionais – Jorge Luiz de Castro e Silva Interrupção e Exceção (1) Tratamento

Sistemas Operacionais – Jorge Luiz de Castro e Silva Interrupção e Exceção (1) 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. 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. Aula 2 – Estrutura de SO 8

Sistemas Operacionais – Jorge Luiz de Castro e Silva Interrupção e Exceção (2) Mecanismo

Sistemas Operacionais – Jorge Luiz de Castro e Silva Interrupção e Exceção (2) Mecanismo de Interrupção e Exceção Aula 2 – Estrutura de SO 9

Sistemas Operacionais – Jorge Luiz de Castro e Silva Interrupção e Exceção (3) Hardware

Sistemas Operacionais – Jorge Luiz de Castro e Silva Interrupção e Exceção (3) Hardware Software (Rotina de serviço) Dispositivo de controle ou outro sistema de hardware que permita ativar uma interrupção Salva informações remanescentes sobre o estado do processo Fluxo de Processamento de uma Interrupção Processador termina a execução da instrução corrente Processa a interrupção Processador reconhece sinal de interrupção Restaura a informação do estado do processo Processador coloca PSW e PC na pilha de controle Restaura o velho PSW e PC Processador carrega novo valor do PC, baseado na interrupção Aula 2 – Estrutura de SO 10

Sistemas Operacionais – Jorge Luiz de Castro e Silva Múltiplas interrupções (1) Programa do

Sistemas Operacionais – Jorge Luiz de Castro e Silva Múltiplas interrupções (1) Programa do usuário Interrupção Rotina X Modelo seqüencial Interrupção Rotina Y • 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 Aula 2 – Estrutura de SO 11

Sistemas Operacionais – Jorge Luiz de Castro e Silva Múltiplas interrupções (2) Programa do

Sistemas Operacionais – Jorge Luiz de Castro e Silva Múltiplas interrupções (2) Programa do usuário Interrupção Rotina X Modelo cascata Interrupção Rotina Y • • • 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 + Aula 2 – Estrutura de SO 12

Sistemas Operacionais – Jorge Luiz de Castro e Silva Estruturas de controle Tabelas de

Sistemas Operacionais – Jorge Luiz de Castro e Silva Estruturas de controle Tabelas de Memória imagem do processo Processo 1 Memória Tabelas de E / S Dispositivos Arquivos Tabelas de Arquivos Processos Tabela de Processos Processo 1 Processo 2 imagem do processo Processo n Processo 3 Processo n Aula 2 – Estrutura de SO 13

Sistemas Operacionais – Jorge Luiz de Castro e Silva Modo de execução do SO

Sistemas Operacionais – Jorge Luiz de Castro e Silva Modo de execução do SO 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 Aula 2 – Estrutura de SO 14

Sistemas Operacionais – Jorge Luiz de Castro e Silva Arquitetura de um SO Usuário

Sistemas Operacionais – Jorge Luiz de Castro e Silva Arquitetura de um SO Usuário (*) Residente kernel Residente Sistema Monolítico Sistema Modular (camadas) Cliente / Servidor (*) “Só por prazer” – Linus Torvalds x Tanenbaum Aula 2 – Estrutura de SO 15

Sistemas Operacionais – Jorge Luiz de Castro e Silva Arquitetura monolítica (1) Dominou até

Sistemas Operacionais – Jorge Luiz de Castro e Silva Arquitetura monolítica (1) 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 Aula 2 – Estrutura de SO Arquitetura Modular e, posteriormente, em Camadas. 16

Sistemas Operacionais – Jorge Luiz de Castro e Silva Arquitetura Monolítica (2) Arquitetura monolítica

Sistemas Operacionais – Jorge Luiz de Castro e Silva Arquitetura Monolítica (2) Arquitetura monolítica Aula 2 – Estrutura de SO 17

Sistemas Operacionais – Jorge Luiz de Castro e Silva Arquitetura do MS-DOS Vários sistemas

Sistemas Operacionais – Jorge Luiz de Castro e Silva Arquitetura do MS-DOS 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. Programa aplicativo Programa SO residente Drivers de Dispositivo do MS-DOS (*) O excesso de liberdade torna o SO vulnerável. Drivers de Dispositivo da BIOS Aula 2 – Estrutura de SO 18

Sistemas Operacionais – Jorge Luiz de Castro e Silva Arquitetura em camadas O sistema

Sistemas Operacionais – Jorge Luiz de Castro e Silva Arquitetura em camadas O sistema é dividido em níveis sobrepostos. Cada nível oferece funções que só podem ser utilizadas pelas camadas mais externas. • THE (Technische Hogeschool Eindhoven – 1968) – primeiro em camadas (6) kernel • MULTICS e Open. VMS foram os seguintes, projetando-as concêntricas Executivo Supervisor Usuário • Atualmente a maioria adota 2 camadas (kernel – privilegiado e usuário – não privilegiado) – UNIX e Win 2000 Arquitetura do Open. VMS Aula 2 – Estrutura de SO 19

Sistemas Operacionais – Jorge Luiz de Castro e Silva Arquitetura de um UNIX tradicional

Sistemas Operacionais – Jorge Luiz de Castro e Silva Arquitetura de um UNIX tradicional Programas Usuário Trap Nível Usuário Nível Kernel Bibliotecas Interface Chamada Sistema Subsistema Arquivo Buffer Cache Caractere Subsistema Controle Processo Comunicação entre processos Escalonamento Gerenciamento Memória Bloco Dispositivos Drivers Nível Kernel Nível Hardware Aula 2 – Estrutura de SO Controle de Hardware 20

Sistemas Operacionais – Jorge Luiz de Castro e Silva Arquitetura kernel (cliente servidor) Servidor

Sistemas Operacionais – Jorge Luiz de Castro e Silva Arquitetura kernel (cliente servidor) Servidor Memória Servidor Processos Servidor Arquivos Servidor Impressão Modo Usuário Servidor Rede mensagens Modo Kernel Hardware Aula 2 – Estrutura de SO 21

Sistemas Operacionais – Jorge Luiz de Castro e Silva Arquitetura kernel do UNIX A.

Sistemas Operacionais – Jorge Luiz de Castro e Silva Arquitetura kernel do UNIX A. out. Coff Elf File Mappings Device Mappings Anonymous Mappings NFS Exec Switch Virtual Memory Framework FFS S 5 FS Vnode/vfs Interface RFS Common Facilities Disk Driver Block Device Switch Scheduler Framework Tape Driver STREAMS Network Driver Aula 2 – Estrutura de SO Time-Sharing Processes System Processes Tty Driver 22

Sistemas Operacionais – Jorge Luiz de Castro e Silva Arquitetura Windows NT Aplicação Posix

Sistemas Operacionais – Jorge Luiz de Castro e Silva Arquitetura Windows NT Aplicação Posix Aplicação Win 32 Subsistema Posix NTVDM DOS Win 16 Subsistema CRS Aplicação OS/2 Winlogon Subsistema OS/2 Subsistema Segurança Modo Usuário Modo Kernel Serviços Executivos Gerenciamento E/S Objeto Dispositivo Drivers Proteção Referente Monitor Chamada Gerenciamento Procedimento Processo Local Microkernel Hardware Abstraction Layer (HAL) Gerenciamento Memória Windows Virtual & GDI Dispositivo Drivers Hardware Aula 2 – Estrutura de SO 23

Sistemas Operacionais – Jorge Luiz de Castro e Silva Arquitetura cliente servidor do Windows

Sistemas Operacionais – Jorge Luiz de Castro e Silva Arquitetura cliente servidor do Windows NT Aplicativo Win 32 Aplicativo POSIX Aplicativo OS/2 Servidor Win 32 Servidor OS/2 Servidor POSIX Kernel WIN NT O Kernel controla toda a troca de mensagens entre a aplicação e o respectivo servidor. Aula 2 – Estrutura de SO 24

Sistemas Operacionais – Jorge Luiz de Castro e Silva Máquina virtual Uma máquina real

Sistemas Operacionais – Jorge Luiz de Castro e Silva Máquina virtual 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 Processos MV 1 MV 2 MV 3 Processos Kernel 1 Kernel 2 Kernel Máquina Virtual Hardware Máquina Não-Virtual Máquina Virtual Aula 2 – Estrutura de SO Kernel 3 25

Sistemas Operacionais – Jorge Luiz de Castro e Silva Máquina virtual Java arquivos. class

Sistemas Operacionais – Jorge Luiz de Castro e Silva Máquina virtual Java arquivos. class Programa Java arquivos. class da API Java Aplicação JAVA Máquina Virtual JAVA Carregador de Classes bytecodes Sistema Operacional Interpretador Java (*) Hardware Sistema Host (*) Dependente do Hardware Aula 2 – Estrutura de SO 26

Sistemas Operacionais – Jorge Luiz de Castro e Silva Ambiente de desenvolvimento JAVA Prog

Sistemas Operacionais – Jorge Luiz de Castro e Silva Ambiente de desenvolvimento JAVA Prog 1. java Prog 2. java Compilador Java Prog 1. class Ambiente de Compilação Prog 2. class bytecodes Ambiente de Execução (plataforma Java) Carregador de Classes arquivos. class da API Java bytecodes Interpretador Java Sistema Host Aula 2 – Estrutura de SO 27

Sistemas Operacionais – Jorge Luiz de Castro e Silva Tendências nos sistemas atuais •

Sistemas Operacionais – Jorge Luiz de Castro e Silva Tendências nos sistemas atuais • Arquitetura Micro. Kernel • Sistema Multi. Thread • Múltiplos Processadores Simétricos • Distribuído • Projeto Orientado a Objetos Aula 2 – Estrutura de SO 28

Sistemas Operacionais – Jorge Luiz de Castro e Silva Tópicos a serem abordados Descrição

Sistemas Operacionais – Jorge Luiz de Castro e Silva Tópicos a serem abordados Descrição de Processo e Controle Escalonamento Concorrência Gerenciamento de Memória Gerenciamento de E/S Gerenciamento de Arquivo Segurança Aula 2 – Estrutura de SO Rede 29

Silva Castro e Silva Jorge Luiz de Castro Sistemas Operacionais – Jorge Sistemas Operacionais

Silva Castro e Silva Jorge Luiz de Castro Sistemas Operacionais – Jorge Sistemas Operacionais FIM Aula 2 – Estrutura de SO 30