Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Agenda
Sistemas monolticos
A organizao mais comum aquela que estrutura o sistema como um conjunto de rotinas que podem interagir livremente umas com as outras. Em um sistema monoltico, todos os componentes do ncleo operam em modo ncleo E se inter-relacionam conforme suas necessidades, sem restries de acesso entre si, Pois o cdigo no nvel ncleo tem acesso pleno a todos os recursos e reas de memria
Sistemas monolticos
Pode ser comparada com uma aplicao formada por vrios procedimentos Que so compilados separadamente e depois linkados, Formando um grande e nico programa executvel.
Vantagem
Grande desempenho
Desvantagem
OBS: Caso um componente do ncleo perca o controle devido a algum erro, esse problema pode se alastrar rapidamente por todo o ncleo, levando o sistema ao colapso (travamento, reinicializao ou funcionamento errtico). Prof.: Israel Filho
Sistemas monolticos
Sistemas monolticos
Curiosidade! A arquitetura monoltica foi a primeira forma de organizar os sistemas operacionais; Os sistemas UNIX antigos e o MS-DOS seguiam esse modelo Atualmente, apenas sistemas operacionais embarcados so totalmente monolticos, devido s limitaes do hardware sobre o qual executam. O ncleo do Linux nasceu monoltico, Mas vem sendo paulatinamente estruturado e modularizado desde a verso 2.0 (embora boa parte de seu cdigo ainda permanea no nvel de ncleo).
Prof.: Israel Filho
Sistema em Camadas
Uma forma mais elegante de estruturar um sistema operacional faz uso da noo de camadas: A camada mais baixa realiza a interface com o hardware As camadas intermedirias provm nveis de abstrao e gerncia cada vez mais sosticados. A camada superior dene a interface do ncleo para as aplicaes (as chamadas de sistema). Essa abordagem de estruturao de software fez muito sucesso no domnio das redes das computadores, atravs do modelo de referncia OSI (Open Systems Interconnection)
Prof.: Israel Filho
Sistema em Camadas
A vantagem da estruturao em camadas isolar o sistema operacional, facilitando sua alterao e depurao, alm de criar uma hierarquia de nveis de modos, protegendo as camadas mais internas. No entanto, alguns inconvenientes limitam sua aceitao : O empilhamento de vrias camadas de software faz com que cada pedido de uma aplicao demore mais tempo para chegar at o dispositivo perifrico ou recurso a ser acessado, prejudicando o desempenho do sistema. No bvio como dividir as funcionalidades de um ncleo de sistema operacional em camadas horizontais de abstrao crescente, pois essas funcionalidades so inter-dependentes, embora tratem muitas vezes de recursos distintos.
Prof.: Israel Filho
Sistema em Camadas
Em decorrncia desses inconvenientes, a estruturao em camadas apenas parcialmente adotada hoje em dia. Muitos sistemas implementam uma camada inferior de abstrao do hardware para interagir com os dispositivos (a camada HAL Hardware Abstraction Layer, implementada no Windows NT e seus sucessores), E tambm organizam em camadas alguns sub-sistemas como a gerncia de arquivos e o suporte de rede (seguindo o modelo OSI).
Prof.: Israel Filho
10
Sistema em Camadas
Os
anis mais internos so mais privilegiados que os externos; Procedimentos de anis externos executavam chamadas de sistema TRAP para utilizar os servios dos anis internos; Proteo dos segmentos de memria.
11
Sistema em Camadas
12
Sistema em Camadas
EX:
UNIX
13
Sistema em Camadas
EX:
NT
14
Sistemas micro-ncleo
Uma outra possibilidade de estruturao consiste em retirar do ncleo todo o cdigo de alto nvel Onde normalmente associado s polticas de gerncia de recursos Deixando no ncleo somente o cdigo de baixo nvel necessrio para interagir com o hardware e criar as abstraes fundamentais Como a noo de atividade Exemplo, usando essa abordagem o cdigo de acesso aos blocos de um disco rgido seria mantido no ncleo, Enquanto as abstraes de arquivo e diretrio seriam criadas e mantidas por um cdigo fora do ncleo, executando da mesma forma que uma aplicao do usurio.
Prof.: Israel Filho
15
Sistemas micro-ncleo
Por fazer os ncleos de sistema carem menores, essa abordagem foi denominada micro-ncleo (ou micro-kernel). Um micro-ncleo normalmente implementa somente a noo de atividade, de espaos de memria protegidos e de comunicao entre atividades. Todos os aspectos de alto nvel, como polticas de uso do processador e da memria, o sistema de arquivos e o controle de acesso aos recursos so implementados fora do ncleo, Em processos que se comunicam usando as primitivas do ncleo.
Prof.: Israel Filho
16
Sistemas micro-ncleo
Em um sistema micro-ncleo, as interaes entre componentes e aplicaes so feitas atravs de trocas de mensagens. Assim, se uma aplicao deseja abrir um arquivo no disco rgido, envia uma mensagem para o gerente de arquivos que, Por sua vez, se comunica com o gerente de dispositivos para obter os blocos de dados relativos ao arquivo desejado.
Obs: Os processos no podem se comunicar diretamente, devido s restries impostas pelos mecanismos de proteo do hardware
17
Sistemas micro-ncleo
A utilizao deste modelo permite que os servidores executem em modo usurio. Apenas o ncleo do sistema, responsvel pela comunicao entre clientes e servidores, executa no modo kernel. O sistema operacional passa a ser de mais fcil manuteno. No importa se o servio esta sendo processado em um nico processador, com mltiplos processadores (fortemente acoplado) ou em sistema distribudo (fracamente acoplado).
Prof.: Israel Filho
18
Sistemas micro-ncleo
Em ambiente distribudo permite que um cliente solicite um servio e a resposta seja processada remotamente. Sua implementao difcil e mais usualmente implantado uma combinao do modelo de camadas com o clienteservidor. O ncleo do sistema passa a incorporar o escalonamento e gerncia de memria alm das funes de device drivers.
Prof.: Israel Filho
19
Sistemas micro-ncleo
Ex: QNX - um sistema operacional do tipo Unix, de tempo real utilizado em processos altamente crticos como controle de vo, controle de esteiras de fbricas, sinais de trnsito, usinas nucleares e equipamentos mdicos MacOS X da Apple