Arquitetura dos Sistemas Operacionais - · PDF fileSistemas Operacionais Arquitetura dos...

Click here to load reader

  • date post

    09-Nov-2018
  • Category

    Documents

  • view

    384
  • download

    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

    [email protected]

  • 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