Sistemas Operacionais

Propaganda
Sistemas Operacionais
Eduardo Ferreira dos Santos
Engenharia de Computação
Centro Universitário de Brasília UniCEUB
Abril, 2016
1 / 20
Sumário
1
Estrutura dos Sistemas Operacionais
2
System Calls
2 / 20
Estrutura dos Sistemas Operacionais
1
Estrutura dos Sistemas Operacionais
2
System Calls
3 / 20
Estrutura dos Sistemas Operacionais
Sistemas Monolíticos
São os mais comuns;
O SO inteiro é executado como um único programa no modo núcleo;
Escrito como uma coleção de procedimentos com parâmetros e
resultados;
Elas podem chamar umas as outras;
Principal vantagem: tempo de resposta das tarefas;
Desvio de controle (trap): chaveamento entre modo usuário e modo
núcleo.
4 / 20
Estrutura dos Sistemas Operacionais
Estrutura básica [Tanenbaum and Machado Filho, 1995]
1
Um programa principal invoca a rotina do serviço;
2
Um conjunto de rotinas de serviço executam as chamadas de sistema;
3
Um conjunto de rotinas utilitárias que auxiliam as rotinas de serviço.
Figura 1.1: Modelo de estruturação para um kernel monolítico
5 / 20
Estrutura dos Sistemas Operacionais
Sistemas Operacionais Unix
Figura 1.2: Organização dos sistemas Unix [Galvin et al., 2013]
6 / 20
Estrutura dos Sistemas Operacionais
MS-DOS
Não é dividido em módulos;
Não tem uma separação muito clara entre as interfaces e a
funcionalidade.
Figura 1.3: Estrutura do MS-DOS [Galvin et al., 2013]
7 / 20
Estrutura dos Sistemas Operacionais
Sistemas em Camadas
Hierarquia entre as camadas;
Os níveis superiores prestam serviço aos inferiores, odecendo a níveis
de complexidade;
Camadas do sistema são dependentes.
Figura 1.4: Funções das camadas [Tanenbaum and Machado Filho, 1995]
8 / 20
Estrutura dos Sistemas Operacionais
Organização em camadas do SO
Figura 1.5: Organização das camadas [Galvin et al., 2013]
9 / 20
Estrutura dos Sistemas Operacionais
Microkernel
Ideia: mover parte dos serviços do kernel para o espaço do usuário;
Implementação: separar o sistema operacional em partes, sendo cada
uma responsável por um tipo de serviço
Comunicação acontece por meio de troca de mensagem entre os
programas e os serviços.
Vantangens [Galvin et al., 2013]:
Mais fácil de estender;
Mais conável, pois possui menos programas rodando em modo kernel;
Mais seguro.
Desvantagens:
Perde performance na comunicação constante entre os programas em
mdo usuário e modo kernel.
10 / 20
Estrutura dos Sistemas Operacionais
Estrutura do microkernel
Figura 1.6: Estrutura de um sistema operacional com microkernel
[Galvin et al., 2013]
11 / 20
Estrutura dos Sistemas Operacionais
Linus x Tanenbaum
Figura 1.7: Fonte: https:
//groups.google.com/forum/#!topic/comp.os.minix/wlhw16QWltI[1-25]
12 / 20
System Calls
1
Estrutura dos Sistemas Operacionais
2
System Calls
13 / 20
System Calls
Denição
Interface de programação para os serviços do Sistema Operacional.
Um SO tem duas funções principais:
1
2
Fornecer abstrações para os programas de usuário;
Administrar os recursos do computador.
O usuário não precisa administrar manualmente todos os recursos do
computador;
Absração de alto nível: API - Application Programmable Interface.
Exemplos:
POSIX (Unix, Linux e Mac OS X);
Java API.
14 / 20
System Calls
Exemplo de uma SYSCALL
Lembre-se: o processador só pode rodar um programa de cada vez!
Figura 2.1: Copiando o conteúdo para um arquivo [Galvin et al., 2013]
15 / 20
System Calls
Exemplo de API Padrão
16 / 20
System Calls
Sequência de execução
1
Armazena os bytes;
2
Carrega no buer;
3
Gera o descritor de arquivo (fd);
4
Chama a rotina da biblioteca (call);
5
Executa a instrução TRAP. Nesse momento a chamada é promovida
ao modo kernel;
6
Passa a instrução para um endereço especíco do kernel;
7
Ativa o endereço especíco para a chamada (registradores);
8
Rotina de tratamento das chamadas de sistema;
9
Retorna para a instrução TRAP. Podem também bloquear o programa
que a chamou;
10 Retorna ao programa do usuário;
11 Limpa a pilha.
17 / 20
System Calls
Execução da API
Figura 2.3: Fluxo de execução da chamada read
[Tanenbaum and Machado Filho, 1995]
18 / 20
System Calls
Galvin, P. B., Gagne, G., and Silberschatz, A. (2013).
Operating system concepts.
John Wiley & Sons, Inc.
Tanenbaum, A. S. and Machado Filho, N. (1995).
Sistemas operacionais modernos, volume 3.
Prentice-Hall.
19 / 20
System Calls
OBRIGADO!!!
PERGUNTAS???
20 / 20
Download