13
Sistemas Operacionais I Parte III – Estrutura dos SOs Prof. Gregorio Perez [email protected] 2007 ________________________ ________________________ ________________________ ________________________ ________________________ ________________________ ________________________ ________________________ ________________________ ________________________ ________________________ ________________________ ________________________ ________________________ 2007 Sistemas Operacionais I - parte III - Estrutura - prof. Gregorio Perez 2 Roteiro Componentes do Sistema Serviços Estrutura dos Sistemas Operacionais Funções do Sistema Operacional Chamadas do Sistema (System Calls) Modos de Acesso Arquitetura dos Sistemas Operacionais Sistema Monolítico Sistema em Camadas Microkernel (Cliente Servidor) Máquinas Virtuais Questões ________________________ ________________________ ________________________ ________________________ ________________________ ________________________ ________________________ ________________________ ________________________ ________________________ ________________________ ________________________ ________________________ ________________________ 2007 Sistemas Operacionais I - parte III - Estrutura - prof. Gregorio Perez 3 Componentes do Sistema Os Sistemas Operacionais são complexos e possuem estruturas diferentes Divisão em partes definidas do sistema Gerência de Processos Gerência da Memória Principal Gerência de Arquivos Gerência do Sistema de E/S Gerência Secundária Redes Sistema de Proteção Interpretador de Comandos ________________________ ________________________ ________________________ ________________________ ________________________ ________________________ ________________________ ________________________ ________________________ ________________________ ________________________ ________________________ ________________________ ________________________

Sistemas Operacionais I Parte III – Estrutura dos SOs I... · Vantagens e Desvantagens Vantagens ... Núcleo (kernel) menor, mais simples e expansível

  • Upload
    lydien

  • View
    219

  • Download
    0

Embed Size (px)

Citation preview

Sistemas Operacionais I

Parte III – Estrutura dos SOs

Prof. Gregorio Perez

[email protected]

2007

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

2007 Sistemas Operacionais I - parte III - Estrutura - prof. Gregorio Perez 2

Roteiro

Componentes do Sistema

Serviços

Estrutura dos Sistemas Operacionais

• Funções do Sistema Operacional

• Chamadas do Sistema (System Calls)

• Modos de Acesso

Arquitetura dos Sistemas Operacionais

• Sistema Monolítico

• Sistema em Camadas

• Microkernel (Cliente Servidor)

• Máquinas Virtuais

Questões

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

2007 Sistemas Operacionais I - parte III - Estrutura - prof. Gregorio Perez 3

Componentes do Sistema

Os Sistemas Operacionais são complexos e possuem

estruturas diferentes

Divisão em partes definidas do sistema

• Gerência de Processos

• Gerência da Memória Principal

• Gerência de Arquivos

• Gerência do Sistema de E/S

• Gerência Secundária

• Redes

• Sistema de Proteção

• Interpretador de Comandos

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

2007 Sistemas Operacionais I - parte III - Estrutura - prof. Gregorio Perez 4

Componentes do Sistema

Gerência de Processos

Um processo é um programa em execução

• Um processo precisa de certos recursos

• tempo de CPU, memória, arquivos e dispositivos de E/S

O Gerenciamento de processos é responsável por

(em conjunto com o SO)

• Criar e excluir processos

• Suspender e retomar processos

• Oferecer mecanismos para:

• sincronismo de processos

• comunicação entre processos

Programa é uma entidade passiva

Processo é uma entidade ativa

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

2007 Sistemas Operacionais I - parte III - Estrutura - prof. Gregorio Perez 5

Componentes do Sistema

Gerência de Memória

Memória é um grande vetor de palavras ou bytes

• É um repositório de dados rapidamente acessíveis

• Cada elemento tem um com seu próprio endereço

Memória principal

• Dispositivo de armazenamento volátil

• Perde seu conteúdo em caso de falha de sistema

O Gerenciamento de memória é responsável por

(em conjunto com o SO)

• Alocar e desalocar espaço de memória conforme a necessidade

• Controlar as partes da memória são usadas e por quem

• Decidir quais processos devem ser carregados

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

2007 Sistemas Operacionais I - parte III - Estrutura - prof. Gregorio Perez 6

Componentes do Sistema

Gerência de Arquivos

Um arquivo é uma coleção de informações relacionadas

• Normalmente, os arquivos representam programas e dados

• Programas nos formatos de fonte e objeto

O Gerenciamento de Arquivos é responsável por

(em conjunto com o SO)

• Criação e exclusão de arquivos

• Criação e exclusão de diretórios

• Suporte a primitivas para manipulação de arquivos e diretórios

• Mapeamento de arquivos em armazenamento secundário

• Backup de arquivos em meios de armazenamento não voláteis

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

2007 Sistemas Operacionais I - parte III - Estrutura - prof. Gregorio Perez 7

Componentes do Sistema

Gerência de Armazenamento Secundário

Armazenamento Secundário

• Memória principal é volátil e muito pequena

• Usado para apoiar a memória principal

• Discos são o principal meio de armazenamento para programas e

dados

O Gerenciamento de Disco é responsável por

(em conjunto com o SO)

• Gerenciamento do espaço livre

• Alocação do armazenamento

• Escalonamento do disco

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

2007 Sistemas Operacionais I - parte III - Estrutura - prof. Gregorio Perez 8

Componentes do Sistema

Gerência de I/O

O sistema de E/S consiste em:

• Inclui buffering, sistema de caching e spooling

• Uma interface genérica controladora de dispositivos

• Drivers para dispositivos de hardware específicos

Buffering

• Armazenamento principal

Spooling

• Armazenamento secundário

ProcessadorProcessador

ArmazenamentoArmazenamento

Controlador

De Disco

Controlador

De Disco

Área de

transferência

Área de

transferência

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

2007 Sistemas Operacionais I - parte III - Estrutura - prof. Gregorio Perez 9

Componentes do Sistema

Redes (Sistemas Distribuídos)

Um sistema distribuído é um conjunto de processadores

• Fornece ao usuário acesso a vários recursos do sistema

• Cada processador possui sua própria memória local

• Não compartilham memória ou um relógio

Conexão por uma rede de comunicação

• A comunicação ocorre através do uso de um protocolo

O acesso a um recurso compartilhado permite:

• Maior velocidade de computação

• Maior disponibilidade de dados

• Maior confiabilidade

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

2007 Sistemas Operacionais I - parte III - Estrutura - prof. Gregorio Perez 10

Componentes do Sistema

Proteção

Mecanismo para controlar o acesso aos recursos do sistema

• Programas

• Processos

• Usuários

O mecanismo de proteção precisa

• Distinguir entre uso autorizado e não autorizado

• Especificar controles a serem impostos

• Fornecer um meio para a imposição

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

2007 Sistemas Operacionais I - parte III - Estrutura - prof. Gregorio Perez 11

Componentes do Sistema

Interpretador de Comandos

O usuário interage com o SO

Programa de leitura e interpretação de instruções de controle

• Interpretador de linha de comando ou Shell

• Função de apanhar e executar a próxima instrução de comando

Instruções de Controle dão comandos ao SO

• Tratamento de E/S

• Gerenciamento

• E/S, armazenamento secundário, arquivos e processos

• Proteção

• Uso da rede

Shell

• Interface Texto - Prompt de Comando

• Interface Gráfica - Windows

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

2007 Sistemas Operacionais I - parte III - Estrutura - prof. Gregorio Perez 12

Serviços do Sistema Operacional

Execução de Programa

• Capacidade para carregar um programa na memória e executá-lo

Operações de E/S

• Os programas do não podem executar operações de E/S

• SO deve prover os meios necessários

Manipulação do sistema de arquivos

• capacidade do programa para ler, gravar, criar e excluir arquivos

Comunicações

• Troca de informações entre processos

• Através de memória compartilhada ou passagem de mensagens

Detecção de erro

• Assegura computação correta

• Erros na CPU, hardware, memória, dispositivos de E/S e programas

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

2007 Sistemas Operacionais I - parte III - Estrutura - prof. Gregorio Perez 13

Serviços do Sistema Operacional

Funções Adicionais

Não usadas para auxiliar o usuário

Garantir operações eficientes do sistema

• Alocação de Recursos

• Alocação para diversos usuários ou múltiplas tarefas

• Contabilidade

• Controle e registro de usuários e recursos

• Proteção

• Controle de acesso aos recursos do sistema

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

2007 Sistemas Operacionais I - parte III - Estrutura - prof. Gregorio Perez 14

Introdução

Estrutura dos Sistemas Operacionais

Aplicação não seqüencial

• Rotinas

• Eventos Assíncronos

• Associados ao hardware

• Tarefas internas do SO

Kernel

• Software que contém o “núcleo” do sistema

Formado por Rotinas (procedimentos)

• Oferecem serviços

• Aos usuários

• Aplicações

• Rotinas do próprio sistema

Núcleo do Sistema

Ou Kernel

Núcleo do Sistema

Ou Kernel

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

2007 Sistemas Operacionais I - parte III - Estrutura - prof. Gregorio Perez 15

Estrutura dos Sistemas Operacionais

Chamadas do Sistema - System Calls

Mecanismo de Proteção do Núcleo

• Método usado para requisitar uma ação do Sistema Operacional

• Geralmente disponíveis como instruções em linguagem assembly

Cada Serviço tem um System Calls associado

Cada SO tem uma biblioteca de System Calls

Acesso por linguagens de alto nível

• Linguagens definidas para substituir a

linguagem assembly na programação de

sistemas permitem chamadas diretas (C/C++)

• Linguagens independentes da plataforma não

permitem chamada diretas (Java)

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

2007 Sistemas Operacionais I - parte III - Estrutura - prof. Gregorio Perez 16

Chamadas de Sistema

Modos de Acesso

Instruções Privilegiadas - Podem comprometer o sistema

Modo Usuário

• executa instruções não privilegiadas

Modo Kernel

• executa instruções privilegiadas

Aplicativos Aplicativos Aplicativos Aplicativos

usuário

kernel

Componentes

do SO

Interface das Chamadas de Sistemas

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

2007 Sistemas Operacionais I - parte III - Estrutura - prof. Gregorio Perez 17

Chamadas de Sistema

Passagem de Parâmetros

3 Métodos são usados para passagem de parâmetros

• Passar parâmetros via registradores

• Armazenar os parâmetros em uma tabela na memória

• O endereço na tabela é passado como um parâmetro em um

registrador

• O programa coloca (push) os parâmetros na pilha e o Sistema

Operacional retira (pop) os parâmetros da pilha

X: parâmetros

para chamada

Carrega endereço X

Chamada de sistema 13

Usa parâmetros

da tabela X

Programa de usuário Sistema Operacional

registrador

X

Código para

Chamada de

Sistema 13

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

2007 Sistemas Operacionais I - parte III - Estrutura - prof. Gregorio Perez 18

Chamadas de Sistema

Exemplos Interface API Win32 / Unix

Tanenbaum

Sistemas Operacionais Modernos

Ed. Pearson

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

2007 Sistemas Operacionais I - parte III - Estrutura - prof. Gregorio Perez 19

Chamadas de Sistema

Exemplos de Chamadas dos Componentes

Tanenbaum, Sistemas Operacionais Modernos, Ed. Pearson

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

2007 Sistemas Operacionais I - parte III - Estrutura - prof. Gregorio Perez 20

Chamadas de Sistema

Exemplos de Chamadas dos Componentes

Tanenbaum, Sistemas Operacionais Modernos, Ed. Pearson

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

2007 Sistemas Operacionais I - parte III - Estrutura - prof. Gregorio Perez 21

Arquitetura dos Sistemas Operacionais

Sistema Operacionais Atuais tendem a ser complexos

• Devem prover muitos serviços

• Suportam uma grande variedade de software e hardware

A organização (arquitetura) dos Sistemas Operacionais

auxiliam o gerenciamento de sua complexidade

• Organização dos componentes do sistema operacional

• Especificam o privilégio com o qual cada componente será

executado

Mais Utilizadas

• Arquitetura Monolítica

• Arquitetura em Camadas

• Arquitetura Cliente / Servidor

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

2007 Sistemas Operacionais I - parte III - Estrutura - prof. Gregorio Perez 22

AplicativosAplicativos

AplicativosAplicativos

Modo

usuário

Modo

kernel

Kernel do SO

Hardware

Interface das Chamadas de Sistemas

MM IPC

IO PS FS Net

MM – Gerência de Memória

PS – Escalonador de Processador

IPC – Comunicação Interprocessos

FS- Sistema de Arquivos

IO – Gerência de Entrada e Saída

Net – Gerência de Redes

Arquitetura dos Sistemas Operacionais

Sistema Monolítico

Organização mais comum

• Cada componente é contida no Kernel

• Rotinas podem interagir livremente entre si

• System Calls dispara o processo

OS/360

VMS

Linux

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

2007 Sistemas Operacionais I - parte III - Estrutura - prof. Gregorio Perez 23

Sistema Monolítico

Vantagens e Desvantagens

Vantagens

• Tende a ser altamente eficiente

Desvantagens

• Dificuldade de determinar a origem de erros sutis

• Particularmente suscetíveis a códigos maliciosos

(todo código é executado com acesso irrestrito ao sistema)

Podem se tornar “desajeitados”

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

2007 Sistemas Operacionais I - parte III - Estrutura - prof. Gregorio Perez 24

Arquitetura dos Sistemas Operacionais

Sistemas em Camadas

Divisão dos componentes do SO em camadas sobrepostas

• Cada camada oferece um conjunto de funções

• Funções podem ser utilizadas por outros módulos

• Cada camada se comunica apenas com camadas

imediatamente acima ou abaixo

• Camada inferior (camada 0) é o hardware

• Camada superior (camada N) é a interface com o usuário

Windows NT

Windows XP

Linux

Sistema THE (Technische Hogeschool

Eindhoven) - Dijkstra – Holanda (1968)

Programas de UsuáriosProgramas de Usuários

Gerência de Entrada / SaídaGerência de Entrada / Saída

ComunicaçãoComunicação

Gerência de MemóriaGerência de Memória

Alocação e Escalonamento

de Processos

Alocação e Escalonamento

de Processos

44

33

22

11

00

Ha

rd

wa

re

Ha

rd

wa

re

Modo

Usuário

Modo

Usuário

Modo

Kernel

Modo

Kernel

UsuárioUsuário

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

2007 Sistemas Operacionais I - parte III - Estrutura - prof. Gregorio Perez 25

Arquitetura dos Sistemas Operacionais

Sistemas em Camadas

MS-DOS

• Sistema em camadas

simples

OS/2

• Descendente do MS-DOS - multitarefa

• O usuário sem acesso aos recursos de

baixo nível

• SO tem maior controle de hardware

Programa de Aplicação

Programa residente do sistema

Drivers de dispositivos

do MS-DOS

Drivers de dispositivos do ROM BIOS

Driver de dispositivo

• Gerência de memória

• Despacho de tarefas

• Gerência de dispositivos

Kernel do sistema

subsistema subsistema subsistema

Interface de programa de aplicação (API) Extensão da API

Aplicação Aplicação Aplicação

Driver de dispositivo Driver de dispositivo

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

2007 Sistemas Operacionais I - parte III - Estrutura - prof. Gregorio Perez 26

Sistemas em Camadas

Vantagens e Desvantagens

Vantagens

• Sistema mais Modular

• Isolar as funções do SO

• Facilita alteração e depuração

• Hierarquia de níveis de modos de acesso

• Interface protege a implementação (encapsulamento)

• Camadas internas fornecem o serviço para as camadas externas

Desvantagens

• Processo pode ter que passar por muitas camadas antes da

execução

• Eficiência pode ser reduzida em relação ao sistema monolítico

KernelKernel

ExecutivoExecutivo

SupervisorSupervisor

UsuárioUsuário

MULTICS e VMS

Mais interna – mais privilegiada

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

2007 Sistemas Operacionais I - parte III - Estrutura - prof. Gregorio Perez 27

Arquitetura dos Sistemas Operacionais

Sistema de Microkernel (Cliente/Servidor)

Núcleo (kernel) menor, mais simples e expansível

• Prover pequeno número de serviços

• Sistema dividido em processos

• Cada processo responsável por conjunto de serviços

• de arquivos, de criação de processos, de memória, ..

Todos os componentes podem

se comunicar

Windows XP

Linux

UNIX e MacOS X Server

• (kernel Mach)

Processo

Cliente

(usuário)

Processo

Cliente

(usuário)

requisição

resposta

Realiza a

tarefa

Realiza a

tarefa

Processo

Servidor

Processo

Servidor

Troca de Mensagens

(função do núcleo)

Troca de Mensagens

(função do núcleo)

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

2007 Sistemas Operacionais I - parte III - Estrutura - prof. Gregorio Perez 28

Sistema Cliente Servidor

Modos de Acesso

Servidores executam o pedido no modo usuário

Apenas o Núcleo executa no modo kernel

AplicativosAplicativos

AplicativosAplicativos

Modo

usuário

Modo

kernel

Gerência de

memória

...IOPSFS

sincronização

IPC

Kernel

Interface das Chamadas de Sistemas

PS – Servidor de Processos

FS- Servidor de Arquivos

IO – Servidor de E / S

...

IPC – Comunicação Interprocessos

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

2007 Sistemas Operacionais I - parte III - Estrutura - prof. Gregorio Perez 29

Arquitetura dos Sistemas Operacionais

Sistema de Microkernel

Estrutura do Windows NT

• Estrutura híbrida

• Parte em Camadas

Estrutura do MacOS X

• kernel Mach

Ambiente de Aplicação

e Serviços Comuns

Mach

BSD

Ambiente

do kernel

Kernel

Aplicações

win32

Aplicações

win32

Servidor

win32

Servidor

win32

Aplicações

OS/2

Aplicações

OS/2

Servidor

OS/2

Servidor

OS/2

Aplicações

POSIX

Aplicações

POSIX

Servidor

POSIX

Servidor

POSIX

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

2007 Sistemas Operacionais I - parte III - Estrutura - prof. Gregorio Perez 30

Sistema Cliente Servidor

Vantagens

Serviço pode parar sem comprometer o sistema

Alto grau de modularidade

• Portável e Expansível

• Isolar Funções do SO por processos (Servidores)

• Mais fácil manutenção

Independente da quantidade de processadores

• Sistemas múltiplos processadores (fortemente acoplados)

• Sistemas distribuídos (fracamente acoplados)

Cliente / Servidor em ambiente distribuído

• Resposta pode ser processada remotamente

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

2007 Sistemas Operacionais I - parte III - Estrutura - prof. Gregorio Perez 31

Sistema Cliente Servidor

Desvantagens

Implementação difícil

• Funções do SO que exigem acesso direto ao hardware

por exemplo: operações de Entrada / Saída

Aumento do nível de comunicação inter-modular

• Pode degradar a eficiência do Sistema

Usualmente:

Combinação de modelo em Camadas com Cliente/Servidor

Ex. Windows NT

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

2007 Sistemas Operacionais I - parte III - Estrutura - prof. Gregorio Perez 32

Arquitetura dos Sistemas Operacionais

Máquinas Virtuais

Conclusão lógica da técnica de Camadas

Hardware e o Kernel como se ambos fossem hardware

Uma MV oferece interface idêntica à do hardware básico

O sistema operacional cria a ilusão de múltiplos processos,

cada um sendo executado em seu próprio processador, com

sua própria memória (virtual)

IBM - VM

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

2007 Sistemas Operacionais I - parte III - Estrutura - prof. Gregorio Perez 33

Arquitetura dos Sistemas Operacionais

Máquinas Virtuais

Máquina Não Virtual

IBM VM / 370

Máquina Virtual

processos

kernel

hardware hardware

Implementação da máquina virtual

processos

kernel

VM1

processos

kernel

VM1

processos

kernel

VM1

Interface de

Programação

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

2007 Sistemas Operacionais I - parte III - Estrutura - prof. Gregorio Perez 34

Arquitetura dos Sistemas Operacionais

Máquinas Virtuais

VMWare

Silberschatz et al.

Operating Systems

7a ed.

Ed. Elsevier

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

2007 Sistemas Operacionais I - parte III - Estrutura - prof. Gregorio Perez 35

Máquina Virtual

Vantagens e Desvantagens

Vantagens

• Provê proteção completa dos recursos do sistema

• cada MV é completamente isolada de todas as outras MV

• Não existem problemas de segurança

• Veículo perfeito para pesquisa e desenvolvimento de SO

• O desenvolvimento do sistema é feito na máquina virtual, e não em

uma máquina física, e não interrompe a operação normal do sistema.

Desvantagens

• O isolamento não permite compartilhamento direto dos recursos

• Implementação de compartilhamento pode ser feito por software

• Compartilhamento pode ser feito por rede de comunicação virtual

• Conceito de MV difícil de implementar devido ao esforço

necessário para oferecer uma duplicata exata da máquina

utilizada

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

2007 Sistemas Operacionais I - parte III - Estrutura - prof. Gregorio Perez 36

Máquina Virtual Java (JVM)

Os programas Java compilados são bytecodes para plataforma

neutra executados por uma Máquina Virtual Java (JVM)

A JVM consiste em

• Carregador de classes

• Verificador de classe

• Interpretador de tempo de execução

Os compiladores Just-In-Time (JIT) aumentam o desempenho

Carregador

de classes

Interpretador

Java

Sistema Operacional

(Windows, Linux, etc...)

Programa

Java

Java

API

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

2007 Sistemas Operacionais I - parte III - Estrutura - prof. Gregorio Perez 37

Arquitetura dos Sistemas Operacionais

Questões

O que é Kernel ? Cite 3 das

principais funções do Kernel

Qual a diferença entre Kernel e

Shell ?

Qual é a finalidade do interpretador

de comandos? Por que ele

normalmente é separado do

kernel?

Explique o que são as Chamadas

do Sistema e porque são

necessárias

Quais são os modos de Acesso às

instruções do núcleo

Por que é arriscado permitir que

usuários executem livremente

operações de leitura e escrita para

qualquer região do disco ?

Como funciona um Sistema

Monolítico ? Qual a sua principal

desvantagem ?

Em que condição o Sistema em

Camadas será menos eficiente que

o Sistema Monolítico ?

Como o Sistema de microkernel

difere do Sistema em Camadas ?

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

2007 Sistemas Operacionais I - parte III - Estrutura - prof. Gregorio Perez 38

Questões

Quais as vantagens de um Sistema

Cliente Servidor (microkernel) e

como ele pode promover a

portabilidade ?

Qual é a principal vantagem para

um projetista de sistema

operacional em usar uma

arquitetura de máquina virtual?

Por que Java oferece a capacidade

de chamar métodos nativos que

são escritos, digamos, em C ou

C++? Dê um exemplo em que um

método nativo é útil.

Por que um compilador just-in-

time é útil para a execução de

programas Java?

O sistema operacional

experimental Synthesis possui um

assembler incorporado dentro do

kernel. Para otimizar o

desempenho da chamada de

sistema, o kernel monta rotinas

dentro do seu espaço para diminuir

o caminho que a chamada de

sistema precisa percorrer no

kernel. Essa técnica é a antítese da

técnica em camadas, em que o

caminho pelo kernel é estendido

para facilitar a montagem do

sistema operacional.

• Discuta os prós e os contras da

técnica do Synthesis para o projeto

do kernel e a otimização do

desempenho do sistema.

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

2007 Sistemas Operacionais I - parte III - Estrutura - prof. Gregorio Perez 39

Referência Bibliográfica

Sistemas Operacionais

• Deitel, Deitel e Choffnes;

• Ed. Pearson 3a Edição

• www.prenhall.com/deitel_br

Sistemas Operacionais, Conceitos e Aplicações

• A. Silberschatz, P. Galvin, G. Gagne;

• Ed. Campus Tradução da 6a Edição

• www.wiley.com/college/silberschatz6e/

0471417432/slides/slides.html

Sistemas Operacionais Modernos

• Andrew Tanenbaum;

• Ed. Pearson 2a Edição

• www.prenhall.com/tanenbaum_br

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________

________________________