Arquitetura dos Sistemas Operacionais - · PDF fileSistemas Operacionais Arquitetura dos...
date post
09-Nov-2018Category
Documents
view
384download
10
Embed Size (px)
Transcript of Arquitetura dos Sistemas Operacionais - · PDF fileSistemas Operacionais Arquitetura dos...
Sistemas Operacionais
Arquitetura dos
Sistemas
Operacionais
Andrique Amorimwww.andrix.com.br
Sistemas Operacionais
Previously on OS...
Sistemas Operacionais
Arquitetura: O QUE ?
Estrutura bsica sobre a qual projetado o sistema operacional
Como as ABSTRAES so realmente implementadas
Como o sistema computacional deve ser solicitado e atender aos aplicativos,
Como interagem as partes do SO entre si
Sistemas Operacionais
E essa tal ABSTRAO?
Sistemas Operacionais
Abstrao
Sistemas Operacionais
Elementos de um SO
Kernel Shell
System-calls
Sistemas Operacionais
Elementos de um SO
Sistemas Operacionais
Chamadas do Sistema
System-calls
So chamadas (solicitaes) aprocedimentos (ou servios) do SO, feitaspor um usurio (ou aplicativo).
Sistemas Operacionais
Chamadas do Sistema
System-calls
Chamadas so usadas paragerenciar processos, arquivos,diretrios e outros.
Sistemas Operacionais
Chamadas do Sistema
NCLEO
CHAMADAS
HARDWARE
APLICATIVOS
Sistemas Operacionais
Chamadas do Sistema
Em geral, quando se faz um programa,existem certas instrues que o programaem execuo (processo), pode executar.
EXEMPLO: operar com posies dememria pertencentes ao seu espaode endereamento.
Sistemas Operacionais
Chamadas do Sistema: EXEMPLO
Um processo pode perfeitamente somar ocontedo de duas posies de memria earmazenar numa terceira sem precisar do SistemaOperacional.
Entretanto, caso esse processo precisa armazenarisso em um arquivo, mandar via rede ousimplesmente mostrar na tela, ele vai precisar doSistema operacional para isso.
Sistemas Operacionais
Chamadas do Sistema
Sistemas Operacionais
Chamadas do Sistema
COMO FUNCIONA?
Sistemas Operacionais
Chamadas do Sistema
1 - Quando a chamada de sistema invocada, o programa que a invocou interrompido, e a informao necessriapara continuar a sua execuo salva.
Sistemas Operacionais
Chamadas do Sistema
2 - O processador inicia a execuo docdigo.
3 - Quando a chamada termina, ocontrole retorna para o programa e oestado previamente salvo restaurado
4 - programa continua a sua execuo.
Sistemas Operacionais
Chamadas do Sistema
Sistemas Operacionais
Chamadas do Sistema
Em alguns casos, o retorno de fatopara o programa no imediato.
Entrada/sada
Sistemas Operacionais
Chamadas do Sistema
Os sistemas operacionais atuais temcentenas de chamadas de sistema.
LINUX tem quase 300 chamadas de sistema diferentes
FREEBSD APROXIMADAMENTE 330 chamadas
Sistemas Operacionais
Chamadas do Sistema
Linux System Call TableAlguns exemplos de chamadas
&eax Name Source
1 sys_exit kernel/exit.c
3 sys_read fs/read_write.c
6 sys_close fs/close.c
21 sys_mount fs/super.c
37 sys_kill kernel/signal.c
Sistemas Operacionais
Chamadas do Sistema
COMO USAR?
Sistemas Operacionais
Chamadas do Sistema
preciso conhecer a API (conjunto deprocedimentos) do sistema operacional quedefine quais chamadas esto disponveis equais so os parmetros que devem serpassados.
Sistemas Operacionais
Chamadas do Sistema: UNIX
Para ler ou escrever um arquivo, deve-se
primeiro usar uma chamada open.Ela especifica o nome do arquivo e omodo de abertura.
Para criar um novo arquivo usadoO_CREAT.
Sistemas Operacionais
Chamadas do Sistema: UNIX
Para cada arquivo, o Unix registra o mododo arquivo, o tamanho e o momento daltima modificao.
A chamada stat mostra essasinformaes.
Sistemas Operacionais
Chamadas do Sistema
Existem certas chamadas de sistema queno podem ser colocadas diretamente disposio das aplicaes.
A sua utilizao indevida ocasionariasrios problemas integridade dosistema.
Sistemas Operacionais
E as arquiteturas?
Sistemas Operacionais
Arquiteturas: TIPOS
Sistemas Operacionais
Monoltico
a arquitetura mais antiga e mais comum.
Cada componente do SO contido no ncleo
(kernel) e pode comunicar-se com qualqueroutro componente diretamente.
Sistemas Operacionais
MonolticoDois tipos de chamadas:
1 - o modo Kernel, onde permitida aexecuo de todas as instrues bsicas damquina e;
2 - o modo usurio, para os programas deusurio, onde certas instrues, como aquelasque controlam entrada/sada no podem serexecutadas.
Sistemas Operacionais
Monoltico
Sistemas Operacionais
Monoltico
Todos os componentes do ncleo operamem modo ncleo e se inter-relacionamconforme suas necessidades, semrestries de acesso entre si.
Cdigo no nvel ncleotem acesso pleno atodos os recursos ereas de memria.
Sistemas Operacionais
Monoltico
1.Essa intercomunicao direta permiterapidez na resposta de sistemaoperacional monolticos.
2.A interao direta entrecomponentes tambm leva a sistemasmais compactos.
Sistemas Operacionais
Monoltico
3.Qualquer componente do ncleopode acessar os demais componentessem qualquer impedimento.
1.Componentes todos juntos, difcilidentificar a origem de umdeterminado problema ou erro.
Sistemas Operacionais
Monoltico
2.Caso um componente do ncleoperca o controle devido a algum erro,esse problema pode se alastrarrapidamente por todo o ncleo,levando o sistema ao colapso(travamento, reinicializao oufuncionamento errado).
Sistemas Operacionais
Monoltico
Sistemas Operacionais
Monoltico
3. Manuteno e evoluo do kernel se tornam mais complexas, porque as dependncias e pontos de interao entre os componentes podem no ser evidentes.
Sistemas Operacionais
Monoltico
4. Pequenas alteraes na estrutura dedados de um componente podem terum impacto inesperado em outroscomponentes, caso estes acessemaquela estrutura diretamente.
Sistemas Operacionais
Monoltico
timo Desempenho
No to Robusto (segurana)
Dificuldade de desenvolvimento
Dependncias entre componentes
Sistemas Operacionais
Monoltico
A arquitetura monoltica foi a primeiraforma de organizar os sistemasoperacionais; sistemas UNIX antigos e oMS-DOS seguiam esse modelo.
Sistemas Operacionais
Monoltico
Atualmente, apenas sistemasoperacionais embutidos usam essaarquitetura, devido as limitaes dohardware sobre o qual executam.
Sistemas Operacionais
Monoltico
O ncleo do Linux nasceu monoltico, masvem sendo paulatinamente estruturado emodularizado desde a verso 2.0 (emboraboa parte de seu cdigo ainda permanea nonvel de ncleo).
Sistemas Operacionais
Monoltico
Alguns exemplos de sistemas que utilizam este tipo de ncleo:
* BSD* Linux* MS-DOS e derivados, incluindo Windows 95, Windows 98 e Windows ME* Solaris
Sistemas Operacionais
Sistemas em camadas
medida que os sistemasoperacionais tornaram-se maiscomplexos e maiores, projetospuramente monolticos tornaram-seinviveis.
Sistemas Operacionais
Sistemas em camadas
A arquitetura em camada, oumodular, tornou-se uma boa opo,agrupando camadas decomponentes, ou seja, conjunto deprocedimentos, que realizam tarefassimilares.
Sistemas Operacionais
Sistemas em camadas
Arquitetura modular
HARDWARE
SOFTWARE
Sistemas Operacionais
Sistemas em camadas
1) Cada camada comunica-se somentecom as suas camadas imediatamenteinferior e superior.
2) Uma camada inferior sempre presta umservio sua camada superior, sendo quea camada superior no sabe como oservio feito, apenas o solicita.
Sistemas Operacionais
Sistemas em camadas
A implementao de uma camada pode sermodificada sem exigir modificao em outracamada, pois possuem componentesautocontidos.
Sistemas Operacionais
Sistemas em camadas
Essa abordagem de estruturao de softwarefez muito sucesso no domnio das redes decomputadores, atravs do modelo dereferencia OSI.
Sistemas Operacionais
Sistemas em camadas
O empilhamento de vrias camadas desoftware faz com que cada pedido de umaaplicao demore mais tempo para chegarat o dispositivo perifrico ou recurso a seracessado, prejudicando o desempenho dosistema.
Sistemas Operacionais
Sistemas em camadas
No to bvio dividir as funcionalidades deum ncleo em camadas horizontais deabstrao crescente, pois essasfuncionalidades so interdependentes,embora tratem muitas vezes de recursosdistintos.
Sistemas Operacionais
Sistemas em camadas
A estruturao em camadas apenas parcialmente adotada hoje em dia.
Alguns sistemas implementam uma camada inferiorde abstrao do hardware para interagir com osdispositivos (a camada HAL Hardware AbstractionLayer, implementada no Windows NT e seussucessores)
Sistemas Operacionais
Sistemas em camadas
Tambm organizam em camadas alguns sub-sistemas como a gerncia de arquivos e osuporte de rede.
Sistemas Operacionais
Sistemas em camadas
Exemplos de sistemas fortemente estruturados em camadas:
IBM OS/2MULTICS
Sistemas Operacionais
Micro-kernel
Possui apenas um ncle