Escolar Documentos
Profissional Documentos
Cultura Documentos
Sistemas operacionais
l
Definio: Conjunto de rotinas que oferecem servios aos usurios e s suas aplicaes, bem como s rotinas do prprio sistema. Funes do ncleo:
Tratamento de interrupes. Criao e eliminao de processos. Sincronizao e comunicao entre processos. Escalonamento e controle dos processos. Gerncia de memria. Gerncia do sistema de arquivos.
Sistemas operacionais
l
Funes do ncleo:
Operaes de entrada/sada. Contabilizao e segurana do sistema.
Sistemas operacionais
Kernel o corao do sistema operacional
Sistemas operacionais
l
Modos de acesso
Nem todas as instrues podem ficar disposio dos usurios. H instrues que somente podem ser executadas pelo SO. (segurana e violao do sistema). Instrues privilegiadas: Tem o poder de comprometer o sistema. Instrues no privilegiadas: No oferecem perigo ao sistema.
Sistemas operacionais
l
Modos de acesso
Existem dois modos de acesso:
Modo usurio: uma aplicao s pode executar instrues no privilegiadas Modo Kernel: A aplicao tem acesso ao conjunto total de instrues do processador. O modo de acesso um conjunto de bits em um registrador especial da UCP. Atravs deste registrador o hardware verifica se a instruo pode ou no ser executada. Apenas o SO acessa as instrues privilegiadas. Uma aplicao sempre recorre ao system call para executar uma instruo privilegiada
Sistemas operacionais
l
System calls: Utilizada para proteo ao ncleo do sistema operacional. Quando o usurio deseja um servio, ele o faz atravs de uma das rotinas fazendo uma chamada ao sistema. Para cada servio existe uma system call associada.
Sistemas operacionais
Aplicao
System call
Ncleo
H A R D W A R E
Sistemas operacionais
l
Gerncia de memria
Alocao e desalocao de memria
Sistemas operacionais
l
Sistemas operacionais
l
Sistemas operacionais
l
Linguagem de comandos
Permite a interface do usurio com o sistema operacional. O comando interpretado pelo interpretador de comandos que verifica sua sintaxe e faz chamadas a rotinas do sistema e apresenta um resultado. Executa tarefas como criar, ler ou eliminar arquivos. Cada SO possui sua linguagem de comandos.
Sistemas operacionais
l
Linguagem de comandos
O MS Windows utiliza a interface grfica que um nvel de abstrao entre o usurio e os servios do SO.
Sistemas operacionais
l
Ativao/desativao de sistema
No existe SO carregado na MP Est armazenado em uma memria secundria O procedimento denominado ativao do sistema ou boot quem faz o carregamento.
Sistemas operacionais
l
Ativao/desativao de sistema
O programa boot loader (fica na ROM) executado. Ele chama o programa POST (Power-On-Self-Test)
Identifica problemas de hardware
O procedimento verifica onde est o SO e um conjunto de instrues carregado na memria em um bloco denominado boot sector. A execuo deste cdigo culmina com o carregamento do SO na MP.
Sistemas operacionais
l
Arquiteturas do ncleo
Depende
Dos diversos requisitos (confiabilidade, manuteno fcil, flexibilidade, desempenho) Tipo de sistema (compartilhado, monousurio, multiusurio, tempo real, )
Sistemas operacionais
l
Arquiteturas do ncleo
Sistemas iniciais: Escrito em assembly com um milho de instrues. (OS/360) Sistemas atuais programao modular em linguagem de alto nvel. (maior portabilidade) e o nmero de linhas de cdigo chega a 40 milhes 9Windows 2000) Grande parte do cdigo utiliza linguagem C/C++. Os escalonadores e as rotinas de tratamento de interrupo so em assembly (melhor desempenho).
Sistemas operacionais
l
l
l
Sistema Monoltico
l
A organizao mais comum aquela que estrutura o sistema como um conjunto de rotinas que podem interagir livremente umas com as outras.
Sistema Monoltico
l
Pode ser comparada com uma aplicao formada por vrios procedimentos que so compilados separadamente e depois linkados, formando um grande e nico programa executvel.
Grande desempenho Uma falha pode paralisar o todo o ncleo
Sistema Monoltico
Aplicao Aplicao
Modo Usurio
Modo Kernel
System Calls
ncleo
Hardware
Sistema Monoltico
l
Sistema em Camadas
l
Divide o sistema operacional em nveis sobrepostos. Cada mdulo oferece um conjunto de funes que pode ser usado por outros mdulos.
A vantagem da estruturao em camadas isolar as funes do sistema operacional. Facilita sua alterao e depurao, alm de criar uma hierarquia de nveis de modos, protegendo as camadas mais internas.
Sistema em Camadas
l
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.
Sistema em Camadas
Sistema Multics
5 4 3 2 1 0
Usurio
Supervisor Executivo Kernel
Sistema VMS
Sistema em Camadas
l
A maioria dos sistemas comerciais utiliza o modelo de duas camadas onde existem os modos de acesso usurio (no-privilegiado) e Kernel (privilegiado). Verses Unix e Windows.
Uma tendncia dos sistemas operacionais tornar o ncleo menor e mais simples possvel e para implementar esta idia o sistema dividido em processos. Desta forma, sempre que uma aplicao deseja algum servio ela solicita ao processo responsvel, assim, a aplicao que solicita um servio chamada de cliente e o processo que responde a solicitao chamado de servidor.
Sistema micro-ncleo
l l
l l
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). Maior escalabilidade.
Sistema micro-ncleo
l
Sua desvantagem refere-se ao desempenho (mudana de modo de acesso a cada comunicao entre clientes e servidores). A implementao usual uma combinao de camadas com o microKernel.O ncleo tambm responsvel por escalonamento tratamento de interrupes e gerncia de dispositivos.
aplicao
aplicao
aplicao
Nvel usurio
Gerente de memria
Gerente de proteo
Gerente de discos
Gerente de arquivos
Nvel ncleo
Micro-ncleo