View
217
Download
0
Category
Preview:
Citation preview
Anderson Moreira Sistemas Operacionais – Aula 3
Sistemas Operacionais – Aula 3
Anderson L. S. Moreiraanderson.moreira@recife.ifpe.edu.br
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 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 – 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
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 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 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
Recommended