estrutura de um sistema operacional · 2014. 12. 10. · " suporte a sistemas operacionais...
TRANSCRIPT
![Page 2: Estrutura de um Sistema Operacional · 2014. 12. 10. · " Suporte a sistemas operacionais inteiros rodando sobre eles. " VMWare, Virtualbox ! Máquinas virtuais de aplicação "](https://reader035.vdocuments.pub/reader035/viewer/2022081403/608d4b1e2fe3bc1a1e6983ae/html5/thumbnails/2.jpg)
Agenda
n Vale a pena ver de novo n Estrutura de um SO n Interrupções n Proteção ao Núcleo n Chamada ao Sistema
2
![Page 3: Estrutura de um Sistema Operacional · 2014. 12. 10. · " Suporte a sistemas operacionais inteiros rodando sobre eles. " VMWare, Virtualbox ! Máquinas virtuais de aplicação "](https://reader035.vdocuments.pub/reader035/viewer/2022081403/608d4b1e2fe3bc1a1e6983ae/html5/thumbnails/3.jpg)
Vale a pena ver de novo
3
![Page 4: Estrutura de um Sistema Operacional · 2014. 12. 10. · " Suporte a sistemas operacionais inteiros rodando sobre eles. " VMWare, Virtualbox ! Máquinas virtuais de aplicação "](https://reader035.vdocuments.pub/reader035/viewer/2022081403/608d4b1e2fe3bc1a1e6983ae/html5/thumbnails/4.jpg)
Estrutura de um SO
n Estruturas Simples (MS-Dos) n Estruturas mais complexas (Unix) n Organização em Camadas n Cliente e Servidor ou microkernel n Máquina virtual
4
![Page 5: Estrutura de um Sistema Operacional · 2014. 12. 10. · " Suporte a sistemas operacionais inteiros rodando sobre eles. " VMWare, Virtualbox ! Máquinas virtuais de aplicação "](https://reader035.vdocuments.pub/reader035/viewer/2022081403/608d4b1e2fe3bc1a1e6983ae/html5/thumbnails/5.jpg)
Estrutura de um SO
![Page 6: Estrutura de um Sistema Operacional · 2014. 12. 10. · " Suporte a sistemas operacionais inteiros rodando sobre eles. " VMWare, Virtualbox ! Máquinas virtuais de aplicação "](https://reader035.vdocuments.pub/reader035/viewer/2022081403/608d4b1e2fe3bc1a1e6983ae/html5/thumbnails/6.jpg)
Estrutura de um SO
n Um SO não é um bloco único e fechado de software executando sobre o hardware.
n Possui diversos componentes com o b j e t i v o s e f u n c i o n a l i d a d e s complementares.
n Os componentes mais relevantes de um sistema operacional típico são:
6
![Page 7: Estrutura de um Sistema Operacional · 2014. 12. 10. · " Suporte a sistemas operacionais inteiros rodando sobre eles. " VMWare, Virtualbox ! Máquinas virtuais de aplicação "](https://reader035.vdocuments.pub/reader035/viewer/2022081403/608d4b1e2fe3bc1a1e6983ae/html5/thumbnails/7.jpg)
Estrutura de um SO
n Núcleo: é o coração do sistema operac iona l , responsáve l pe la gerência dos recursos do hardware usados pelas aplicações. Ele também implementa as principais abstrações utilizadas pelos programas aplicativos.
7
![Page 8: Estrutura de um Sistema Operacional · 2014. 12. 10. · " Suporte a sistemas operacionais inteiros rodando sobre eles. " VMWare, Virtualbox ! Máquinas virtuais de aplicação "](https://reader035.vdocuments.pub/reader035/viewer/2022081403/608d4b1e2fe3bc1a1e6983ae/html5/thumbnails/8.jpg)
Estrutura de um SO
n D r i v e r s : m ó d u l o s d e c ó d i g o e s p e c í f i c o s p a r a a c e s s a r o s dispositivos físicos. Muitas vezes o driver é construído pelo próprio fabricante do hardware e fornecido em forma compilada (em linguagem de máquina) para ser acoplado ao restante do sistema operacional.
8
![Page 9: Estrutura de um Sistema Operacional · 2014. 12. 10. · " Suporte a sistemas operacionais inteiros rodando sobre eles. " VMWare, Virtualbox ! Máquinas virtuais de aplicação "](https://reader035.vdocuments.pub/reader035/viewer/2022081403/608d4b1e2fe3bc1a1e6983ae/html5/thumbnails/9.jpg)
Estrutura de um SO
n C ó d i g o d e i n i c i a l i z a ç ã o : a inicialização do hardware requer uma série de tarefas complexas, como reconhecer os dispositivos instalados, testá-los e configurá-los. Outra tarefa importante é carregar o núcleo do sistema operacional em memória e iniciar sua execução.
9
![Page 10: Estrutura de um Sistema Operacional · 2014. 12. 10. · " Suporte a sistemas operacionais inteiros rodando sobre eles. " VMWare, Virtualbox ! Máquinas virtuais de aplicação "](https://reader035.vdocuments.pub/reader035/viewer/2022081403/608d4b1e2fe3bc1a1e6983ae/html5/thumbnails/10.jpg)
Estrutura de um SO
n Programas utilitários: são programas que facilitam o uso do sistema computacional, dando funcionalidades c o m p l e m e n t a r e s a o n ú c l e o (formatação de discos e mídias, con f i gu ração de d i spos i t i vos , manipulação de arquivos, terminal, interpretador de comandos, interface gráfica, gerência de janelas, etc.
10
![Page 11: Estrutura de um Sistema Operacional · 2014. 12. 10. · " Suporte a sistemas operacionais inteiros rodando sobre eles. " VMWare, Virtualbox ! Máquinas virtuais de aplicação "](https://reader035.vdocuments.pub/reader035/viewer/2022081403/608d4b1e2fe3bc1a1e6983ae/html5/thumbnails/11.jpg)
Estrutura de um SO
11
![Page 12: Estrutura de um Sistema Operacional · 2014. 12. 10. · " Suporte a sistemas operacionais inteiros rodando sobre eles. " VMWare, Virtualbox ! Máquinas virtuais de aplicação "](https://reader035.vdocuments.pub/reader035/viewer/2022081403/608d4b1e2fe3bc1a1e6983ae/html5/thumbnails/12.jpg)
Interrupções
12
![Page 13: Estrutura de um Sistema Operacional · 2014. 12. 10. · " Suporte a sistemas operacionais inteiros rodando sobre eles. " VMWare, Virtualbox ! Máquinas virtuais de aplicação "](https://reader035.vdocuments.pub/reader035/viewer/2022081403/608d4b1e2fe3bc1a1e6983ae/html5/thumbnails/13.jpg)
Interrupções
n Quando um controlador de periférico tem uma informação importante a fornecer ao processador, ele tem duas alternativas de comunicação: ¡ Aguardar que o processador o consulte ¡ Notificar o processador através do
barramento de controle, enviando uma requisição de interrupção (IRQ – Interrupt ReQuest).
13
![Page 14: Estrutura de um Sistema Operacional · 2014. 12. 10. · " Suporte a sistemas operacionais inteiros rodando sobre eles. " VMWare, Virtualbox ! Máquinas virtuais de aplicação "](https://reader035.vdocuments.pub/reader035/viewer/2022081403/608d4b1e2fe3bc1a1e6983ae/html5/thumbnails/14.jpg)
Interrupções
n Ao receber a requisição de interrupção ¡ A execução corrente é parada e desviada
para o endereço de uma rotina de tratamento de interrupção (interrupt handler).
¡ Essa rotina executa as devidas ações para atender o dispositivo que a gerou.
¡ Ao final, o processador retoma ao ponto onde foi interrompido.
14
![Page 15: Estrutura de um Sistema Operacional · 2014. 12. 10. · " Suporte a sistemas operacionais inteiros rodando sobre eles. " VMWare, Virtualbox ! Máquinas virtuais de aplicação "](https://reader035.vdocuments.pub/reader035/viewer/2022081403/608d4b1e2fe3bc1a1e6983ae/html5/thumbnails/15.jpg)
Interrupções
15
![Page 16: Estrutura de um Sistema Operacional · 2014. 12. 10. · " Suporte a sistemas operacionais inteiros rodando sobre eles. " VMWare, Virtualbox ! Máquinas virtuais de aplicação "](https://reader035.vdocuments.pub/reader035/viewer/2022081403/608d4b1e2fe3bc1a1e6983ae/html5/thumbnails/16.jpg)
Interrupções
n Cada requisição de interrupção recebida é tipicamente um evento ocorrido em um dispositivo periférico.
n Como tratar centenas ou milhares de interrupções recebidas por segundo?
n Solução: as rotinas de tratamento de interrupção devem ser curtas e realizar suas tarefas rapidamente .
16
![Page 17: Estrutura de um Sistema Operacional · 2014. 12. 10. · " Suporte a sistemas operacionais inteiros rodando sobre eles. " VMWare, Virtualbox ! Máquinas virtuais de aplicação "](https://reader035.vdocuments.pub/reader035/viewer/2022081403/608d4b1e2fe3bc1a1e6983ae/html5/thumbnails/17.jpg)
Interrupções
n O que acontece quando uma interrupção chega ao processador e ele já está tratando outra interrupção? ¡ Para distinguir interrupções, cada uma é
identificada por um inteiro (8 bits). ¡ Como cada interrupção pode exigir um
tipo de tratamento diferente, cada IRQ deve disparar sua própria rotina de tratamento de interrupção.
17
![Page 18: Estrutura de um Sistema Operacional · 2014. 12. 10. · " Suporte a sistemas operacionais inteiros rodando sobre eles. " VMWare, Virtualbox ! Máquinas virtuais de aplicação "](https://reader035.vdocuments.pub/reader035/viewer/2022081403/608d4b1e2fe3bc1a1e6983ae/html5/thumbnails/18.jpg)
Interrupções
n Arquiteturas atuais definem um vetor de interrupções (Interrupt Vector), onde cada entrada aponta para a rotina de tratamento da interrupção correspondente. ¡ Vetor, entrada 5 = 3C20h, então a rotina
de tratamento da IRQ 5 iniciará na posição 3C20h da memória RAM.
18
![Page 19: Estrutura de um Sistema Operacional · 2014. 12. 10. · " Suporte a sistemas operacionais inteiros rodando sobre eles. " VMWare, Virtualbox ! Máquinas virtuais de aplicação "](https://reader035.vdocuments.pub/reader035/viewer/2022081403/608d4b1e2fe3bc1a1e6983ae/html5/thumbnails/19.jpg)
Interrupções
n Exemplo de interrupções do Pentium
19
![Page 20: Estrutura de um Sistema Operacional · 2014. 12. 10. · " Suporte a sistemas operacionais inteiros rodando sobre eles. " VMWare, Virtualbox ! Máquinas virtuais de aplicação "](https://reader035.vdocuments.pub/reader035/viewer/2022081403/608d4b1e2fe3bc1a1e6983ae/html5/thumbnails/20.jpg)
Interrupções
n Exceções são eventos gerados pelo próprio processador que podem ocasionar o desvio da execução usando o mesmo mecanismo das interrupções. ¡ Instruções ilegais, tentativa de divisão
por zero ou outros erros de software são exemplos.
20
![Page 21: Estrutura de um Sistema Operacional · 2014. 12. 10. · " Suporte a sistemas operacionais inteiros rodando sobre eles. " VMWare, Virtualbox ! Máquinas virtuais de aplicação "](https://reader035.vdocuments.pub/reader035/viewer/2022081403/608d4b1e2fe3bc1a1e6983ae/html5/thumbnails/21.jpg)
Proteção do núcleo
![Page 22: Estrutura de um Sistema Operacional · 2014. 12. 10. · " Suporte a sistemas operacionais inteiros rodando sobre eles. " VMWare, Virtualbox ! Máquinas virtuais de aplicação "](https://reader035.vdocuments.pub/reader035/viewer/2022081403/608d4b1e2fe3bc1a1e6983ae/html5/thumbnails/22.jpg)
Proteção ao núcleo
n Núcleo, drivers, utilitários e aplicações são basicamente código de máquina que devem ser diferenciados. ¡ O núcleo e os drivers devem ter pleno
acesso ao hardware. ¡ Os utilitários e os aplicativos devem ter
acesso restrito. n Mas como impedir as aplicações de
acessar o hardware diretamente? 22
![Page 23: Estrutura de um Sistema Operacional · 2014. 12. 10. · " Suporte a sistemas operacionais inteiros rodando sobre eles. " VMWare, Virtualbox ! Máquinas virtuais de aplicação "](https://reader035.vdocuments.pub/reader035/viewer/2022081403/608d4b1e2fe3bc1a1e6983ae/html5/thumbnails/23.jpg)
Proteção ao núcleo
n Privilégios de execução ¡ Processadores modernos contam com
dois ou mais níveis de privilégio de execução.
¡ Esses níveis são controlados por flags especiais e as mudanças de um nível de execução para outro são controladas estritamente pelo processador.
23
![Page 24: Estrutura de um Sistema Operacional · 2014. 12. 10. · " Suporte a sistemas operacionais inteiros rodando sobre eles. " VMWare, Virtualbox ! Máquinas virtuais de aplicação "](https://reader035.vdocuments.pub/reader035/viewer/2022081403/608d4b1e2fe3bc1a1e6983ae/html5/thumbnails/24.jpg)
Proteção ao núcleo
n Privilégios de execução ¡ O Pentium conta com 4 níveis de
privi légio (sendo 0 o nível mais privilegiado).
¡ A maioria dos S.O. construídos para esse processador só use os níveis extremos (0 para o núcleo e drivers do sistema operacional e 3 para utilitários e aplicações).
24
![Page 25: Estrutura de um Sistema Operacional · 2014. 12. 10. · " Suporte a sistemas operacionais inteiros rodando sobre eles. " VMWare, Virtualbox ! Máquinas virtuais de aplicação "](https://reader035.vdocuments.pub/reader035/viewer/2022081403/608d4b1e2fe3bc1a1e6983ae/html5/thumbnails/25.jpg)
Proteção ao núcleo
n Pode-se considerar dois níveis básicos de privilégio: núcleo e usuário. ¡ Nível núcleo
n Também chamado nível supervisor, sistema, monitor ou ainda kernelspace.
n Um código executando nesse nível tem acesso irrestrito (processador e áreas de memória podem ser acessados).
25
![Page 26: Estrutura de um Sistema Operacional · 2014. 12. 10. · " Suporte a sistemas operacionais inteiros rodando sobre eles. " VMWare, Virtualbox ! Máquinas virtuais de aplicação "](https://reader035.vdocuments.pub/reader035/viewer/2022081403/608d4b1e2fe3bc1a1e6983ae/html5/thumbnails/26.jpg)
Proteção ao núcleo
¡ Nível núcleo n Além disso, todas as instruções do
processador podem ser executadas. n Ao ser ligado, o processador entra em
operação neste nível.
26
![Page 27: Estrutura de um Sistema Operacional · 2014. 12. 10. · " Suporte a sistemas operacionais inteiros rodando sobre eles. " VMWare, Virtualbox ! Máquinas virtuais de aplicação "](https://reader035.vdocuments.pub/reader035/viewer/2022081403/608d4b1e2fe3bc1a1e6983ae/html5/thumbnails/27.jpg)
Proteção ao núcleo
¡ Nível usuário n Somente um sub-conjunto das instruções do
processador, registradores e portas de entrada/saída estão disponíveis.
n Instruções “perigosas” como HALT e RESET são proibidas para todo código executando neste nível.
n Além disso, o hardware restringe o uso da memória, permitindo o acesso somente a áreas previamente definidas.
27
![Page 28: Estrutura de um Sistema Operacional · 2014. 12. 10. · " Suporte a sistemas operacionais inteiros rodando sobre eles. " VMWare, Virtualbox ! Máquinas virtuais de aplicação "](https://reader035.vdocuments.pub/reader035/viewer/2022081403/608d4b1e2fe3bc1a1e6983ae/html5/thumbnails/28.jpg)
Chamadas de Sistema (System Calls)
![Page 29: Estrutura de um Sistema Operacional · 2014. 12. 10. · " Suporte a sistemas operacionais inteiros rodando sobre eles. " VMWare, Virtualbox ! Máquinas virtuais de aplicação "](https://reader035.vdocuments.pub/reader035/viewer/2022081403/608d4b1e2fe3bc1a1e6983ae/html5/thumbnails/29.jpg)
Chamadas de sistema
n Embora necessária, a proteção introduz um novo problema ¡ Como uma aplicação chama as rotinas
oferecidas pelo núcleo de acesso ao hardware e suas abstrações?
¡ Através de um mecanismo denominado interrupção de software ou trap.
29
![Page 30: Estrutura de um Sistema Operacional · 2014. 12. 10. · " Suporte a sistemas operacionais inteiros rodando sobre eles. " VMWare, Virtualbox ! Máquinas virtuais de aplicação "](https://reader035.vdocuments.pub/reader035/viewer/2022081403/608d4b1e2fe3bc1a1e6983ae/html5/thumbnails/30.jpg)
Chamadas de Sistema
n Interrupção de software ¡ Instrução especial que aciona o
mecanismo de interrupção de forma intencional.
¡ Comuta o processador para o nível privilegiado e procede de forma similar ao tratamento de uma interrupção.
30
![Page 31: Estrutura de um Sistema Operacional · 2014. 12. 10. · " Suporte a sistemas operacionais inteiros rodando sobre eles. " VMWare, Virtualbox ! Máquinas virtuais de aplicação "](https://reader035.vdocuments.pub/reader035/viewer/2022081403/608d4b1e2fe3bc1a1e6983ae/html5/thumbnails/31.jpg)
Chamadas de Sistema
n A ativação de procedimentos do núcleo usando interrupções de software é denominada chamada de sistema (system call ou syscall).
n As chamadas de s is tema são oferecidas para as aplicações em modo usuário através de uma biblioteca do sistema (system library)
31
![Page 32: Estrutura de um Sistema Operacional · 2014. 12. 10. · " Suporte a sistemas operacionais inteiros rodando sobre eles. " VMWare, Virtualbox ! Máquinas virtuais de aplicação "](https://reader035.vdocuments.pub/reader035/viewer/2022081403/608d4b1e2fe3bc1a1e6983ae/html5/thumbnails/32.jpg)
Chamada de sistema
32
![Page 33: Estrutura de um Sistema Operacional · 2014. 12. 10. · " Suporte a sistemas operacionais inteiros rodando sobre eles. " VMWare, Virtualbox ! Máquinas virtuais de aplicação "](https://reader035.vdocuments.pub/reader035/viewer/2022081403/608d4b1e2fe3bc1a1e6983ae/html5/thumbnails/33.jpg)
Máquinas Virtuais
n Extensão da abordagem de camadas. n O kernel S.O. é tratado com se fosse parte
do HW. n Uma máquina virtual provê uma interface
similar ao do hardware da máquina. n O S.O. cr ia a i lusão de múlt iplos
processadores cada um com a sua própria memória virtual.
![Page 34: Estrutura de um Sistema Operacional · 2014. 12. 10. · " Suporte a sistemas operacionais inteiros rodando sobre eles. " VMWare, Virtualbox ! Máquinas virtuais de aplicação "](https://reader035.vdocuments.pub/reader035/viewer/2022081403/608d4b1e2fe3bc1a1e6983ae/html5/thumbnails/34.jpg)
Máquinas Virtuais
![Page 35: Estrutura de um Sistema Operacional · 2014. 12. 10. · " Suporte a sistemas operacionais inteiros rodando sobre eles. " VMWare, Virtualbox ! Máquinas virtuais de aplicação "](https://reader035.vdocuments.pub/reader035/viewer/2022081403/608d4b1e2fe3bc1a1e6983ae/html5/thumbnails/35.jpg)
Máquinas Virtuais
n Provêm completo isolamento dos recursos do sistema uma vez que que as MVs são isoladas umas das outras.
n O isolamento, no entanto, impede o compartilhamento direto de recursos.
![Page 36: Estrutura de um Sistema Operacional · 2014. 12. 10. · " Suporte a sistemas operacionais inteiros rodando sobre eles. " VMWare, Virtualbox ! Máquinas virtuais de aplicação "](https://reader035.vdocuments.pub/reader035/viewer/2022081403/608d4b1e2fe3bc1a1e6983ae/html5/thumbnails/36.jpg)
Máquinas Virtuais
n São a p la ta fo rma i dea l pa ra desenvo l v imen to de s i s temas operacionais pois não põe em risco a operação do sistema Real.
n Difíceis de implementar devido ao esforço em emular a interface da máquina real.
![Page 37: Estrutura de um Sistema Operacional · 2014. 12. 10. · " Suporte a sistemas operacionais inteiros rodando sobre eles. " VMWare, Virtualbox ! Máquinas virtuais de aplicação "](https://reader035.vdocuments.pub/reader035/viewer/2022081403/608d4b1e2fe3bc1a1e6983ae/html5/thumbnails/37.jpg)
Tipos
n Máquinas virtuais de sistema. ¡ Suporte a sistemas operacionais inteiros
rodando sobre eles. ¡ VMWare, Virtualbox
n Máquinas virtuais de aplicação ¡ Suporte apenas a aplicações específicas. ¡ Java, Wine.
37
![Page 38: Estrutura de um Sistema Operacional · 2014. 12. 10. · " Suporte a sistemas operacionais inteiros rodando sobre eles. " VMWare, Virtualbox ! Máquinas virtuais de aplicação "](https://reader035.vdocuments.pub/reader035/viewer/2022081403/608d4b1e2fe3bc1a1e6983ae/html5/thumbnails/38.jpg)
Java Virtual Machine
![Page 39: Estrutura de um Sistema Operacional · 2014. 12. 10. · " Suporte a sistemas operacionais inteiros rodando sobre eles. " VMWare, Virtualbox ! Máquinas virtuais de aplicação "](https://reader035.vdocuments.pub/reader035/viewer/2022081403/608d4b1e2fe3bc1a1e6983ae/html5/thumbnails/39.jpg)
Plataforma Java
![Page 40: Estrutura de um Sistema Operacional · 2014. 12. 10. · " Suporte a sistemas operacionais inteiros rodando sobre eles. " VMWare, Virtualbox ! Máquinas virtuais de aplicação "](https://reader035.vdocuments.pub/reader035/viewer/2022081403/608d4b1e2fe3bc1a1e6983ae/html5/thumbnails/40.jpg)
Arquivos Java “.class”
![Page 41: Estrutura de um Sistema Operacional · 2014. 12. 10. · " Suporte a sistemas operacionais inteiros rodando sobre eles. " VMWare, Virtualbox ! Máquinas virtuais de aplicação "](https://reader035.vdocuments.pub/reader035/viewer/2022081403/608d4b1e2fe3bc1a1e6983ae/html5/thumbnails/41.jpg)
Ambiente de Desenvolvimento
![Page 42: Estrutura de um Sistema Operacional · 2014. 12. 10. · " Suporte a sistemas operacionais inteiros rodando sobre eles. " VMWare, Virtualbox ! Máquinas virtuais de aplicação "](https://reader035.vdocuments.pub/reader035/viewer/2022081403/608d4b1e2fe3bc1a1e6983ae/html5/thumbnails/42.jpg)
Referências
n Livro de Sistemas Operacionais. Carlos A. Maziero. Disponível em http://www.ppgia.pucpr.br/~maziero/doku.php/so:livro_de_sistemas_operacionais. 2011
42