SISTEMAS OPERACIONAIS



Documentos relacionados
Sistemas Operacionais. Estruturas de SO. Edeyson Andrade Gomes.

Sistemas Operacionais. Prof. M.Sc. Sérgio Teixeira. Aula 05 Estrutura e arquitetura do SO Parte 2. Cursos de Computação

SISTEMAS OPERACIONAIS

Sistemas Operacionais

Prof. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO

Fundamentos de Sistemas Computacionais Introdução

Figura 01 Kernel de um Sistema Operacional

Sistemas Operacionais

Sistemas Operacionais. Prof. Pedro Luís Antonelli Anhanguera Educacional

Sistemas Operacionais

SISTEMAS OPERACIONAIS. Apostila 03 Estrutura do Sistema Operacional UNIBAN

4 Estrutura do Sistema Operacional Kernel

Arquitetura de Sistemas Operacionais Machado/Maia. Arquitetura de Sistemas

SISTEMAS OPERACIONAIS

Sistemas Operacionais

Sistemas Operacionais 2014 Introdução. Alexandre Augusto Giron

Resumo até aqui. Gerenciamento Proteção Compartilhamento. Infra-estrutura de Software

SISTEMAS OPERACIONAIS 2007

Estrutura, Processos e Threads

Introdução. O que vimos. Infraestrutura de Software. (cont.) História dos Sistemas Operacionais. O que vimos 12/03/2012. Primeira geração:

Arquitetura de Computadores. Introdução aos Sistemas Operacionais

Sistemas Operacionais. Conceitos de um Sistema Operacional

SO Sistemas Operacionais

Sistemas Operacionais I Parte III Estrutura dos SOs. Prof. Gregorio Perez gregorio@uninove.br Roteiro. Componentes do Sistema

Sistema Operacional Correção - Exercício de Revisão

SO - Conceitos Básicos. Introdução ao Computador 2010/01 Renan Manola

Sistemas Operacionais I. Introdução

Sistemas Operacionais Introdução

Introdução. Sistemas Operacionais

ADMINISTRAÇÃO DE SISTEMA OPERACIONAL DE REDE (AULA 1)

Sistemas Operacionais

Infra-Estrutura de Software. Introdução. (cont.)

Sistemas Operacionais Arquitetura e organização de sistemas operacionais: Uma visão estrutural hardware & software. Prof. MSc.

O que veremos nesta aula? Principais Aspectos de Sistemas Operacionais. Visão geral de um sistema computacional

Sistemas Operacionais Gerência de Dispositivos

ESTRUTURA DE UM SISTEMA OPERACIONAL

Sistemas Operacionais. INTRODUÇÃO Prof. Rafael Alberto Vital Pinto FACSUL/CESUR

ESTUDO DE CASO WINDOWS VISTA

Sistemas Operacionais Aula 03: Estruturas dos SOs. Ezequiel R. Zorzal

IFPE. Disciplina: Sistemas Operacionais. Prof. Anderson Luiz Moreira

Sistemas Operacionais. Prof. André Y. Kusumoto

Sistemas Operacionais. Prof. M.Sc. Sérgio Teixeira. Aula 05 Estrutura e arquitetura do SO Parte 1. Cursos de Computação

Sistemas Operacionais

Sistemas Operacionais Introdução

SISTEMAS OPERACIONAIS. Maquinas Virtuais e Emuladores

Sistemas Operacionais Carlos Eduardo Portela Serra de Castro

Sistemas Operacionais

Arquitetura de Computadores para. Sistemas Operacionais. Sistemas Operacionais. Sumário

Apresentação. Ementa da Disciplina. Objetivo da Disciplina. DCA-108 Sistemas Operacionais

1º Estudo Dirigido. Capítulo 1 Introdução aos Sistemas Operacionais

Sistemas Operacionais

Sistemas Operacionais. Roteiro. Hardware. Marcos Laureano

Sistemas Operacionais Introdução. Professora: Michelle Nery

Visão Geral de Sistemas Operacionais

Conceitos Básicos sobre Sistemas Operacionais

Sistemas Operacionais. Prof. André Y. Kusumoto

Introdução à Computação: Sistemas de Computação

Sistemas Distribuídos

Introdução à Ciência da Computação

Modelos de Arquiteturas. Prof. Andrêza Leite

SISTEMAS OPERACIONAIS

Sistemas Operacionais. Prof. André Y. Kusumoto

Everson Scherrer Borges João Paulo de Brito Gonçalves

Noções básicas de Informática: Software

ARQUITETURA DE COMPUTADORES E SISTEMAS OPERACIONAIS P/ CONCURSOS PÚBLICOS FOCO: ESAF/CESGRANRIO/FCC. Prof. Almeida Jr

Sistemas Distribuídos

Fundamentos de Sistemas Operacionais

Hardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP)

Faculdades Santa Cruz - Inove. Plano de Aula Base: Livro - Distributed Systems Professor: Jean Louis de Oliveira.

Sistemas Operacionais 1/66

Organização de Computadores 1

Introdução aos Sistemas

Virtualização Gerencia de Redes Redes de Computadores II

SISTEMAS OPERACIONAIS ABERTOS Prof. Ricardo Rodrigues Barcelar

Componentes de um Sistema de Operação

Apresentação da disciplina. Sistemas Operacionais I N. A disciplina. O Professor. Áreas de atuação na pesquisa. Referências bibliográficas básicas

Introdução aos Sistemas Operacionais. Computador = hardware + software. Como é formado o meu computador? E como estes componentes se comunicam?

Sistemas Operacionais

discos impressora CPU memória AULA 04 - Estruturas de Sistemas Computacionais Operação dos sistemas de computação Controlador de disco

Sistemas Operacionais. Roteiro. Sistemas de Computadores. Os sistemas de computadores são projetados com basicamente 3 componentes: Marcos Laureano

Notas da Aula 15 - Fundamentos de Sistemas Operacionais

Introdução à Sistemas Operacionais. Glauber Magalhães Pires

A Evolução dos Sistemas Operacionais

Introdução ao Modelos de Duas Camadas Cliente Servidor

Prof.: Roberto Franciscatto. Capítulo 1.1 Introdução

Sistema Operacional. Prof. Leonardo Barreto Campos 1

Sistemas Operacionais. Alexandre Meslin

Aula 01 Visão Geral do Linux

Laboratório de Redes. Professora Marcela Santos

Prof. José Maurício S. Pinheiro UniFOA

Introdução. Nível do Sistema Operacional. Introdução. Um Sistema Operacional... Introdução a Sistemas Operacionais

6 - Gerência de Dispositivos

7 Processos. 7.1 Introdução

Profs. Deja e Andrei

Sistema Operacional LINUX

Sistemas Operacionais. Introdução

UFRJ IM - DCC. Sistemas Operacionais I. Unidade I Introdução. 11/02/2014 Prof. Valeria M. Bastos

Sistemas de Lotes (2) Sistemas de Lotes (3) Layout da MP em Sistemas de Lotes. Minimizar o tempo de resposta

Sistemas Operacionais. Prof. M.Sc. Sérgio Teixeira. Aula 02 - Estrutura dos Sistemas Operacionais. Cursos de Computação

Transcrição:

SISTEMAS OPERACIONAIS Arquitetura Sistemas Operacionais Andreza Leite andreza.leite@univasf.edu.br

Plano de Aula Sistemas monolíticos Sistemas em camadas Sistemas micro-núcleo Modelo Cliente-Servidor Máquinas virtuais Exonúcleo

SYSTEM CALLS Mecanismo de proteção ao núcleo do sistema e de acesso aos seus serviços. O usuário (ou aplicação), quando deseja solicitar algum serviço do sistema, realiza uma chamada a uma de suas rotinas (ou serviços) através da system calls (chamadas ao sistema).

SYSTEM CALL Aplicação System Call Núcleo H a r d w a r e

Modo Kernel e Usuário SO roda em Modo kernel, supervisor ou núcleo protege o hardware da ação direta do usuário. Os demais programas rodam em modo usuário e fazem chamadas ao kernel para terem acesso aos dispositivos.

Sistema Monolítico Nesta abordagem o SO inteiro é executado como um único programa no modo núcleo. A organização mais comum é aquela que estrutura o sistema como um conjunto de rotinas que podem interagir livremente umas com as outras. Pode ser comparada com uma aplicação formada por vários procedimentos que são compilados separadamente e depois linkados, formando um grande e único programa executável. Grande desempenho Uma falha pode paralisar todo o núcleo. O sistema pode parar por causa de um erro. As interfaces e níveis de funcionalidade não são bem separados nem estão unificados. O excesso de liberdade torna o sistema vulnerável Ex: Linux e FreeBSD

Sistema Monolítico Aplicação Aplicação Modo usuário System Calls Modo Núcleo 1. Um programa principal que invoca a rotina do serviço requerido. 2. Um conjunto de rotinas de serviço que executam as chamadas de sistema. núcleo 3. Um conjunto de rotinas de utilidade que auxiliam as rotinas de serviço. Hardware

Sistema em Camadas Divide o sistema operacional em sistemas sobrepostos. Cada módulo oferece um conjunto de funções que pode ser usado por outros módulos. A vantagem da estruturação em camadas é isolar o sistema operacional, facilitando sua alteração e depuração, além de criar uma hierarquia de níveis de modos, protegendo as camadas mais internas.

Sistema em Camadas O empilhamento de várias camadas de software faz com que cada pedido de uma aplicação demore mais tempo para chegar até o dispositivo periférico ou recurso a ser acessado, prejudicando o desempenho do sistema. Não é óbvio dividir as funcionalidades de um núcleo de sistema operacional em camadas horizontais de abstração crescente, pois essas funcionalidades são inter-dependentes, embora tratem muitas vezes de recursos distintos.

Sistema em Camadas

Sistema em Camadas O sistema THE era um sistema de lote simples para um computador holândes, o Electrologica X8. Camada 0 lidava com alocação do processador, alternando entre processos quando ocorriam interrupções ou quando os temporizadores expiravam. Em outras palavras, a camada 0 (zero) proporcionava a multiprogramação básica da CPU. Camada 1 fazia o gerenciamento da memória. Ela alocava espaço para os processos da memória principal e em um tambor (Antigo meio magnético de armazenamento de dados) utilizado para armazenar partes do processo (páginas) para os quais não havia lugar na memória principal. Camada 2 fazia a comunicação entre o console do operador e cada processo. Camada 3 gerenciava dispositivos de entrada e saída. Na camada 4 localizavam-se os programas de usuários. Eles não tinham de se preocupar com o gerenciamento de processo, memoria, console ou E/S. Na camada 5 estava localizado o processo operador do sistema.

Sistema em Camadas (anéis) Anéis mais internos são mais privilegiados que os externos; Procedimentos de anéis externos executavam chamadas de sistema para utilizar os serviços dos anéis internos; Proteção dos segmentos de memória.

Sistema em Camadas Usuário Supervisor Executivo Kernel Sistema Multics VMS No sistema MULTICS VMS as camadas inferiores são as mais privilegiadas.

Sistemas micro-núcleo (microkernel) Uma tendência dos sistemas operacionais é tornar o núcleo menor e mais simples possível e para implementar esta idéia o sistema é dividido em processos. Desta forma, sempre que uma aplicação deseja algum serviço ela solicita ao processo responsável, assim, a aplicação que solicita um serviço é chamada de cliente e o processo que responde a solicitação é chamado de servidor.

Sistema micro-núcleo A utilização deste modelo permite que os servidores executem em modo usuário. Apenas o núcleo do sistema, responsável pela comunicação entre clientes e servidores, executa no modo kernel. O sistema operacional passa a ser de mais fácil manutenção. Não importa se o serviço esta sendo processado em um único processador, com múltiplos processadores (fortemente acoplado) ou em sistema distribuído (fracamente acoplado).

Sistema micro-núcleo Um ambiente distribuído permite que um cliente solicite um serviço e a resposta seja processada remotamente. Sua implementação é difícil e mais usualmente é implantado uma combinação do modelo de camadas com o cliente-servidor. O núcleo do sistema passa a incorporar o escalonamento e gerência de memória além das funções de device drivers.

Micro-núcleo Visão Geral aplicação aplicação aplicação Nível usuário Gerente de memória Gerente de proteção Gerente de discos Gerente de arquivos Nível núcleo Micro-núcleo

Micro-núcleo A idéia básica por trás do projeto do micronúcleo é alcançar alta confiabilidade por meio da divisão do sistema operacional em módulos pequenos, bem definidos, e apenas um desses módulos o micronúcleo é executado no modo núcleo e o restante é executado como processos de usuário. Quando há execução de cada driver de dispositivo e cada sistema de arquivo como processo separado, um erro em um deles pode quebrar aquele componente, mas não pode quebrar o sistema inteiro.

Micro-núcleo Micronúcleos são comuns em aplicações de tempo real, industriais, avionica e militares, que são cruciais e tem requisitos de confiabilidade muito altos. Ex: Integrity, K42, PikeOS, QNX, Symbiam e MINIX3.

Modelo Cliente Servidor Uma variação da idéia do micronúcleo é distinguir entre duas classes de processos, os servidores, que prestam serviço, e os clientes, que usam serviços. Freqüentemente a camada inferior é o micronúcleo mas não obrigatoriamente. A essência é a presença de processos clientes e servidores.

Máquina Virtual Máquinas virtuais não são máquinas estendidas com arquivos e outras características convenientes. São cópias exatas do hardware, inclusive com modos núcleo/usuário, E/S, interrupções e tudo o que uma máquina real tem. Cada VM pode executar qualquer SO capaz de ser executado diretamente sobre o hardware. Diferentes VMs podem executar direrentes Sos.

Máquina Virtual APL1 APL1 APL1 SO1 SO2 SO3 HV1 HV2 HV3 Gerência/Monitor de Máquinas Virtuais Hipervisor Hardware

Máquina Virtual Hipervisor do tipo 1(a) são executados diretamente no hardware. Eucalyptus Hipervisor do tipo 2(b) são executados como aplicativos na camada superior do SO Ex: VMware, VirtualBox

Exonúcleo Em vez de clonar a máquina real, como nas VMs, outra estratégia é dividi-la ou dar a cada usuário um subconjunto de recursos. Assim uma VM pode ter os blocos de 0 a 1023 do disco e outra de 1024 a 2047 e assim por diante. Na camada inferior há o programa exonúcleo responsável por alocar recursos às VMs e verificar as tentativas de uso para assegurar que uma máquina não esteja utilizando os recursos de outra. Cada VM pode utilizar seu próprio SO mas somente com os recursos que pediu e que foram alocados. Este tem vantagem de separar, com menor custo, a multiprogramação (no exonúcleo) do código do SO do usuário, visto que o exonúcleo mantém as VMs umas fora do alcance das outras.