43
Anderson Moreira Sistemas Operacionais – Aula 3 Sistemas Operacionais – Aula 3 Anderson L. S. Moreira [email protected] http://dase.ifpe.edu.br/~alsm Curso de Análise e Desenvolvimento de Sistemas de Informação Recife - PE

Sistemas Operacionais – Aula 3siep.ifpe.edu.br/anderson/arquivos/so/so1_aula3_organizacao_so.pdf · sistemas operacionais, descrevendo os blocos constituintes mais relevantes e

Embed Size (px)

Citation preview

Anderson Moreira Sistemas Operacionais – Aula 3

Sistemas Operacionais – Aula 3

Anderson L. S. [email protected]

http://dase.ifpe.edu.br/~alsm

Curso de Análise e Desenvolvimento de Sistemas de Informação

Recife - PE

Anderson Moreira Sistemas Operacionais – Aula 3

O que fazer com essa apresentação

agosto de 11

Anderson Moreira Sistemas Operacionais – Aula 3 agosto de 11

Créditos

Professor: Anderson L. S. MoreiraDisciplina: Sistemas OperacionaisHome-page: http://dase.ifpe.edu.br/~alsm

Aula 3 que visa apresentar ao aluno a estrutura básica dos sistemas operacionais, descrevendo os blocos constituintes mais relevantes e as funções que realizão.

Anderson Moreira Sistemas Operacionais – Aula 3 agosto de 11

Agenda

Revisão

Introdução

System calls

Modos de acesso

Arquitetura monolítica

Arquitetura em camadas

Máquina virtual

Arquitetura microkernel

Anderson Moreira Sistemas Operacionais – Aula 3

Revisão

agosto de 11

Fonte: Sistemas Operacionais - Paulo Ferreira et. al. 2010

Anderson Moreira Sistemas Operacionais – Aula 3

Revisão - Multiprogramação

O mecanismo de interrupções permite multiplexar o processador

entre várias atividades concorrentes.

Entre um programa e as entradas/saídas (I/O),

Mas esta capacidade de alternar a execução pode ser estendida a

multiplexagem de vários programas residentes na memória.

Execução concorrente de vários programas:

Permite otimizar a utilização do processador

ex.: Programa P1 acessa o disco e fica bloqueado enquanto o

controlador de disco funciona; durante esse tempo, o Programa

2 pode ser executado pelo processador

agosto de 11

Anderson Moreira Sistemas Operacionais – Aula 3

Revisão - Multiprogramação

agosto de 11

Anderson Moreira Sistemas Operacionais – Aula 3

Revisão – Tempo Compartilhado

Cria a ilusão que o computador está permanentemente disponível

para o usuário;

Impulsionado por:

Aplicações em que vários usuários interagem diretamente com o

sistema (sistemas de reservas);

Queda de preços dos computadores.

Possível porque a maioria das aplicações interativas usam pouco o

processador

Ex.: CTSS (início dos anos 60)

agosto de 11

Anderson Moreira Sistemas Operacionais – Aula 3

Revisão – Tempo Compartilhado

agosto de 11

Conseqüências do tempo compartilhado:

• Revisão dos algoritmos de escalonamento;• Definição de mecanismos de segurança;• Aparecimento dos sistemas de arquivos.

Anderson Moreira Sistemas Operacionais – Aula 3

Revisão – Memória Virtual

agosto de 11

Anderson Moreira Sistemas Operacionais – Aula 3

O que define um SO ser bom ou ruim?

agosto de 11

Anderson Moreira Sistemas Operacionais – Aula 3

Critérios de qualidade em SO

agosto de 11

Sistema Operacional

Desempenho

Segurança

Confiabilidade

Disponibilidade

Tolerância a Faltas

Anderson Moreira Sistemas Operacionais – Aula 3

Critérios de Qualidade

Desempenho Gestão eficiente dos recursos físicos que suportam os recursos

lógicosSegurança Isolamento dos Usuários Permitir compartilhamento seguro de recursos lógicos

Viabilidade e Disponibilidade Detectar um conjunto de faltas

Tolerar um conjunto de erros Interface de programação completa e simples. Facilitar a concepção das aplicações, a sua manutenção e

portabilidadeInterface de operação e gestão dos recursos lógicos fácil de utilizar

agosto de 11

Anderson Moreira Sistemas Operacionais – Aula 3

Observem o quadro de comparação do Windows

Fonte:

http://www.windows7hacker.com/index.php/2009/05/windo

ws-client-comparison-chart-for-it-professional/

agosto de 11

Anderson Moreira Sistemas Operacionais – Aula 3

Para que serve um SO???

Gerir Recursos

Seria difícil as aplicações controlar todos os aspectos da

máquina física (interrupções, organização da memória,

dispositivos, ...)

SO permite abstrair os recursos físicos, oferecendo às

aplicações um conjunto de recursos lógicos.

Exemplos?

agosto de 11

Anderson Moreira Sistemas Operacionais – Aula 3

Alternativas aos SO

As linguagens de programação podiam produzir todo o código

necessário para que um programa executasse diretamente sobre o

hardware.

Desvantagens?

O esforço de programação seria muito grande

Um conjunto significativo de funções seria repetido

Cada aplicação poderia otimizar o seu desempenho mas

globalmente a máquina ficaria subaproveitada.

Não seria possível ter políticas globais de segurança, tolerância a

faltas, otimização

agosto de 11

Anderson Moreira Sistemas Operacionais – Aula 3

Missão do SO

Fornecer uma interface de acesso / gestão dos recursos lógicos

Existem duas interfaces:

1. Interface Operacional

Comandos para usar / criar / eliminar recursos

Exemplos?

2. Biblioteca de Funções do Sistema Operacional (systems calls)

API para interagir com recursos do SO

Exemplos?

agosto de 11

Anderson Moreira Sistemas Operacionais – Aula 3

Missão do SO

agosto de 11

Sistema Operacional

Hardware

Anderson Moreira Sistemas Operacionais – Aula 3

Relações

agosto de 11

Recursos Lógicos Recursos Físicos virtualizados

Processos CPU

Espaços de endereçamento virtuais

Memória RAM, Unidade de Gestãode Memória

Arquivos Discos e dispositivo de memória demassa

Periféricos virtuais Periféricos físicos

Canais de Comunicação Compartilhamento de memória, redes de dados

Usuários Usuários humanos

Anderson Moreira Sistemas Operacionais – Aula 3 agosto de 11

Introdução a Systems Calls

Sistema computacional

Utilitários

Hardware

Núcleo doSistema Operacional

Aplicativos

Anderson Moreira Sistemas Operacionais – Aula 3 agosto de 11

System Calls

System call

System Call

Aplicação Biblioteca Hardware

Núcleo doSistema Operacional

Núcleo doSistema Operacional

Anderson Moreira Sistemas Operacionais – Aula 3

Erros comuns no entendimento das Systems Calls

agosto de 11

Anderson Moreira Sistemas Operacionais – Aula 3

Correto

agosto de 11

Modo Kernel

Anderson Moreira Sistemas Operacionais – Aula 3 agosto de 11

Funções do SO

Funções

Gerência de processos e threads

Gerência de memória

Gerência do sistema de arquivos

Gerência de dispositivos

Comunicação entre processos*

Anderson Moreira Sistemas Operacionais – Aula 3

Organização Típica

agosto de 11

Gestão de Processos

Gestão de Memória

Gestão de Periféricos

Sistemas de Arquivos

Comunicação entre processos

Anderson Moreira Sistemas Operacionais – Aula 3 agosto de 11

Modos de Acesso

Tipos de instruções

Privilegiadas

Não-privilegiadas

Modos de acesso

Usuário

Kernel ou supervisor (núcleo)

Anderson Moreira Sistemas Operacionais – Aula 3 agosto de 11

Modos de execução

O HW provê no mínimo dois modos de execução diferentes:

Modo kernel (privilegiado, protegido…) – todo o conjunto de

operações é disponível. É o modo do SO;

Modo usuário: uso limitado. Os processos usuários operam neste

modo.

Chaveamento de modos:

É o fato de passar de um modo para o outro;

Usuário -> protegido: por interrupção;

Kernel -> usuário: por instrução clássica (yield, return, …).

Anderson Moreira Sistemas Operacionais – Aula 3 agosto de 11

Modos de execução

Para proteger os periféricos, as instruções de E/S são privilegiadas.

Logo, um processo usuário não pode acessá-los

E.x.: escrita em disco, leitura de um CD…

O usuário deve passar pelo SO através de uma chamada de sistema,

que gera uma interrupção (trap).

Processo usuário

SO

Trap Retorno

Anderson Moreira Sistemas Operacionais – Aula 3 agosto de 11

Chamada de sistemas com Trap

A chamada de sistema oferece o serviço ao processo usuário,

em modo “seguro”.

Ela gera uma interrupção

Identificação, prioridade, handler…

Ela implica em uma troca de contexto

O processo chamador deve deixar o lugar para o código

do núcleo!

A troca de modo implica em uma troca de contexto.

Anderson Moreira Sistemas Operacionais – Aula 3

Chamada de sistemas com Trap

Conforme for a prioridade e o tipo de escalonador, a troca de

contexto pode ser imediata ou atrasada.

O que acontece se houver uma interrupção durante o

tratamento de uma interrupção?

Comparam-se as prioridades

Possibilidade de desabilitar as interrupções em casos

críticos.

agosto de 11

Anderson Moreira Sistemas Operacionais – Aula 3 agosto de 11

Modos de Acesso

Chamada a uma rotina do sistema

Anderson Moreira Sistemas Operacionais – Aula 3

Organização do Sistema Operacional

agosto de 11

Anderson Moreira Sistemas Operacionais – Aula 3 agosto de 11

Arquitetura Monolítica

Arquitetura monolítica

Modo kernel

aplicação aplicação

Modo usuário

System call

Hardware

Anderson Moreira Sistemas Operacionais – Aula 3

Arquitetura Monolítica

Um único sistema

Internamente organizado em módulos

Estruturas de dados globais

Problema: como dar suporte à evolução

Em particular, novos periféricos

Solução para este caso particular: gerenciadores de dispositivos

(device drivers)

Problemas?

agosto de 11

Anderson Moreira Sistemas Operacionais – Aula 3 agosto de 11

Arquitetura de Camadas

Arquitetura do OpenVMS

Anderson Moreira Sistemas Operacionais – Aula 3

Arquitetura de Camadas

Cada camada usa os serviços da camada precedente

Fácil modificar código de uma camada

Mecanismos de proteção maior segurança e robustez

Influenciou arquiteturas como Intel

Desvantagem principal?

O processador necessita de uma organização de proteção

sofisticada;

São várias funções especiais para chamar funções de anéis

superiores.

agosto de 11

Anderson Moreira Sistemas Operacionais – Aula 3 agosto de 11

Máquina Virtual

Máquina virtual

Ap1V

M 1

VM

2

VM

n

Gerência de Máquinas Virtuais

Hardware

SO1

HV1

Ap2

SO2

HV2

Apn

SOn

HVn

Anderson Moreira Sistemas Operacionais – Aula 3 agosto de 11

Máquina Virtual

Máquina virtual Java

Máquina Virtual Java

Hardware

Sistema Operacional

Aplicação

Anderson Moreira Sistemas Operacionais – Aula 3 agosto de 11

Arquitetura Microkernel

Arquitetura microkernel

Modo kernel

Modo usuário

Microkernel

men

sage

m

mensagem

Hardware

Anderson Moreira Sistemas Operacionais – Aula 3

Arquitetura Microkernel

Propostas de inovação separação entre:Um microkernel de reduzidas dimensões e que só continha o essencial do sistema operacional: Gestão de fluxos de execução – threads Gestão dos espaços de endereçamento Comunicação entre processos Gestão das interrupções

Servidores sistema que executam em processos independentes: Gestão de processos Memória virtual Device drivers Sistema de arquivos

agosto de 11

Anderson Moreira Sistemas Operacionais – Aula 3

Microkernel vs Monolítico

agosto de 11

Fonte: UCT Systems - 2009

Anderson Moreira Sistemas Operacionais – Aula 3

Dúvidas?

agosto de 11

Anderson Moreira Sistemas Operacionais – Aula 3 agosto de 11

Não percam no próximo episódio!

Processo, estado de processo, ciclo de vida;

E muito mais!

Dúvidas?