1 conteúdo estrutura do sistema operacional funções do kernel bibliotecas chamadas do sistema...

39
1 Conteúdo •Estrutura do sistema operacional •Funções do Kernel •Bibliotecas •Chamadas do sistema •Rotinas do SO e System Calls •Modos de acesso •Linguagem de Comandos •Tipos de arquiteturas de kernel •Monolítico •Camadas •Máquina Virtual •Microkernel

Upload: internet

Post on 18-Apr-2015

106 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: 1 Conteúdo Estrutura do sistema operacional Funções do Kernel Bibliotecas Chamadas do sistema Rotinas do SO e System Calls Modos de acesso Linguagem de

1

Conteúdo

•Estrutura do sistema operacional•Funções do Kernel•Bibliotecas •Chamadas do sistema•Rotinas do SO e System Calls•Modos de acesso•Linguagem de Comandos•Tipos de arquiteturas de kernel •Monolítico•Camadas•Máquina Virtual•Microkernel

Page 2: 1 Conteúdo Estrutura do sistema operacional Funções do Kernel Bibliotecas Chamadas do sistema Rotinas do SO e System Calls Modos de acesso Linguagem de

Estrutura do SO•O sistema operacional é formado por um conjunto de rotinas

que oferecem serviços essenciais aos usuários, às suas aplicações, e também ao próprio sistema.

•A esse conjunto de rotinas dá-se o nome de núcleo do sistema ou kernel. •É fundamental não se confundir o núcleo do sistema com aplicações, utilitários ou o interpretador de comandos, que acompanham o sistema operacional.

•As aplicações são utilizadas pelos usuários de maneira transparente, escondendo todos os detalhes da interação com o sistema.

2/1

Page 3: 1 Conteúdo Estrutura do sistema operacional Funções do Kernel Bibliotecas Chamadas do sistema Rotinas do SO e System Calls Modos de acesso Linguagem de

Estrutura do SO•Os utilitários, como os compiladores, editores de texto e

interpretadores de comandos permitem aos usuários, desenvolvedores e administradores de sistema uma interação amigável com o sistema.

2/1

Page 4: 1 Conteúdo Estrutura do sistema operacional Funções do Kernel Bibliotecas Chamadas do sistema Rotinas do SO e System Calls Modos de acesso Linguagem de

Estrutura do SO•Os usuários podem se comunicar com o Kernel de 3 formas:

• Rotinas de sistemas – realizadas pelas aplicações;

• Utilitários – compilador, editor de texto;• Linguagem de comandos – particular de cada SO

com sua estrutura e sintaxe;

•A estrutura (organização e inter-relacionamento dos diversos componentes) do núcleo do SO – Kernel - pode variar em função da concepção do projetista do SO.

•Serão apresentadas:• as funções do núcleo;• Conceitos de segurança;• Proteção de sistema;• Modos de acesso;• Rotinas do sistema;• System calls;• Linguagem de comandos;• Ativação e desativação do sistema

2/1

Page 5: 1 Conteúdo Estrutura do sistema operacional Funções do Kernel Bibliotecas Chamadas do sistema Rotinas do SO e System Calls Modos de acesso Linguagem de

Funções do núcleo do SO•Existe uma grande dificuldade em compreender a estrutura e o

funcionamento do sistema operacional, pois ele não é executado como uma aplicação tipicamente seqüencial, com início, meio e fim.

•Os procedimentos do sistema são executados concorrentemente sem uma ordem específica ou predefinida, com base em eventos dissociados do tempo (Eventos assíncronos).

•Muitos desses eventos estão relacionados ao hardware e a tarefas internas do próprio sistema operacional.

2/1

Page 6: 1 Conteúdo Estrutura do sistema operacional Funções do Kernel Bibliotecas Chamadas do sistema Rotinas do SO e System Calls Modos de acesso Linguagem de

Funções do núcleo do SO

Kernel - Rotinas do SO

2/1

AplicaçõesUtilitáriosLinguagem de ComandosCompiladoresEditores

Page 7: 1 Conteúdo Estrutura do sistema operacional Funções do Kernel Bibliotecas Chamadas do sistema Rotinas do SO e System Calls Modos de acesso Linguagem de

Funções do núcleo do SO

•Tratamento de interrupções e exceções;• Criação e eliminação de processos e threads;•Sincronização e comunicação entre processos e threads;• Escalonamento e controle de processos e threads;• Gerência de memória •Gerência de sistemas de arquivos• Gerência de dispositivos de E/S: •Suporte a redes locais, teleprocessamento e redes distribuídas•Contabilização de uso do sistema•Auditoria e segurança do sistema

2/1

Page 8: 1 Conteúdo Estrutura do sistema operacional Funções do Kernel Bibliotecas Chamadas do sistema Rotinas do SO e System Calls Modos de acesso Linguagem de

Funções do núcleo do SO•Tratamento de interrupções e exceções: já explicados

anteriormente, em detalhes; •Criação e eliminação de processos: função responsável por alocar em memória todos os recursos necessários à execução do processo. É esta função que aloca em memória, além do executável, o contexto do processo, o buffer de leitura/gravação (se necessário), além de listas e estruturas de controle utilizadas pelo sistema operacional. Nesta função também são estabelecidos vínculos físicos a arquivos em disco, fitas e outros periféricos que serão usados no processamento. Quando do fim da execução do programa, é esta função que desaloca todos os espaços em memória ocupados pelo processo, liberando-os para futuras alocações a outros processos;

2/1

Page 9: 1 Conteúdo Estrutura do sistema operacional Funções do Kernel Bibliotecas Chamadas do sistema Rotinas do SO e System Calls Modos de acesso Linguagem de

Funções do núcleo do SO•Sincronização e comunicação de processos: Inter-Process

Communication (IPC), é o grupo de mecanismos que permite aos processos transferirem informação entre si. A sincronização entre processos permite gerir o acesso concorrente a recursos do SO de forma controlada por parte dos processos, de maneira que um recurso não seja modificado simultaneamente, ou que os processos não fiquem em espera até um recurso ser libertado.

•Escalonamento e controle de processos: função responsável por organizar a fila de acesso ao processador. Utiliza parâmetros do sistema e do perfil do usuário para estabelecer a ordem em que os processos permanecerão à espera pela liberação da CPU, para então entrarem em execução;

2/1

Page 10: 1 Conteúdo Estrutura do sistema operacional Funções do Kernel Bibliotecas Chamadas do sistema Rotinas do SO e System Calls Modos de acesso Linguagem de

Funções do núcleo do SO•Gerência de memória: função responsável por fornecer à

função de criação/eliminação de processos os endereços em memória disponíveis para alocação; Gerência de sistemas de arquivos: responsável pelo gerenciamento dos arquivos, bem como seu compartilhamento pelos diversos usuários, implementando mecanismos de controle da segurança e direitos de acesso às áreas utilizadas pelos usuários nos diversos dispositivos; Gerência de dispositivos de E/S: responsável por gerenciar os dispositivos, prestando auxílio à criação/eliminação de processos e à gerência de sistemas de arquivos no que diz respeito ao endereçamento e associação de arquivos em periféricos;

2/1

Page 11: 1 Conteúdo Estrutura do sistema operacional Funções do Kernel Bibliotecas Chamadas do sistema Rotinas do SO e System Calls Modos de acesso Linguagem de

Funções do núcleo do SO•Suporte a redes e teleprocessamento: é esta função que

executa todos os serviços de rede, fazendo o empacotamento das mensagens vindas dos terminais para a CPU central e vice-versa, além de controlar e confirmar o envio e recebimento de todas as mensagens que trafegam pela rede; •Contabilização de uso do sistema: responsável por contabilizar o uso de todos os recursos do sistema consumidos pelos usuários e suas aplicações. São registrados: tempo de CPU, tempo corrido, quantidade de área alocada em memória, em disco, linhas impressas, páginas de papel, entre outros. Isto se faz necessário para servir de subsídio para análise de performance, estatísticas de gastos com material de consumo e também para definição de custos de processamento.;

2/1

Page 12: 1 Conteúdo Estrutura do sistema operacional Funções do Kernel Bibliotecas Chamadas do sistema Rotinas do SO e System Calls Modos de acesso Linguagem de

Funções do núcleo do SO•Auditoria e segurança do sistema: função extremamente

importante, pois detecta e registra (num arquivo especial de LOG) todas as ocorrências de erro e violação de direitos de acesso ao sistema, aos arquivos, à memória e a todos os recursos do sistema. O arquivo de LOG é usado pela gerência de sistemas, com o intuito de verificar e aperfeiçoar os mecanismos de segurança e proteção ao sistema.

Não esquecer: A estrutura do sistema, a maneira como ele é organizado e o inter-relacionamento entre seus diversos componentes pode variar conforme a concepção do projeto do sistema.

2/1

Page 13: 1 Conteúdo Estrutura do sistema operacional Funções do Kernel Bibliotecas Chamadas do sistema Rotinas do SO e System Calls Modos de acesso Linguagem de

Modos de Acesso•Existem certas instruções que não podem ser colocadas diretamente à disposição das aplicações, pois a sua utilização indevida poderia ocasionar sérios problemas à integridade do sistema.

• Imagine que uma aplicação atualize um arquivo em disco. O programa, por si só, não pode especificar diretamente as instruções que acessam seus dados no disco pois, como o disco é um recurso compartilhado, sua utilização deve ser gerenciada unicamente pelo sistema operacional.

• Tal procedimento evita que a aplicação possa ter acesso a qualquer área do disco indiscriminadamente, o que poderia comprometer a segurança e a integridade do sistema de arquivos.

2/1

Page 14: 1 Conteúdo Estrutura do sistema operacional Funções do Kernel Bibliotecas Chamadas do sistema Rotinas do SO e System Calls Modos de acesso Linguagem de

Modos de Acesso•Assim, fica claro que existem certas instruções que só podem ser executadas pelo sistema operacional ou sob sua supervisão. As instruções que têm o poder de comprometer o sistema são chamadas de instruções privilegiadas, enquanto as instruções que não comprometem o funcionamento do sistema chamam-se instruções não-privilegiadas. •Para que uma aplicação possa executar uma instrução privilegiada, é preciso que haja um mecanismo de proteção no processador, chamado modos de acesso.

•Existem basicamente dois modos de acesso ao processador: • modo usuário e • modo kernel.

2/1

Page 15: 1 Conteúdo Estrutura do sistema operacional Funções do Kernel Bibliotecas Chamadas do sistema Rotinas do SO e System Calls Modos de acesso Linguagem de

Modos de Acesso•Quando o processador trabalha no modo usuário, somente instruções não-privilegiadas podem ser executadas, tendo assim acesso a um número limitado de instruções do processador.

•Já no modo kernel (ou supervisor), a aplicação pode ter acesso ao conjunto total de instruções do processador. •A melhor maneira de controlar o acesso às instruções privilegiadas é permitir que apenas o sistema operacional tenha acesso a elas. Sempre que uma aplicação necessita executar uma instrução privilegiada, a solicitação deve ser feita através de uma system call, que altera o modo de acesso ao processador do modo usuário para o modo kernel. Ao término da execução da rotina do sistema, o modo de acesso retorna para o modo usuário.

2/1

Page 16: 1 Conteúdo Estrutura do sistema operacional Funções do Kernel Bibliotecas Chamadas do sistema Rotinas do SO e System Calls Modos de acesso Linguagem de

Rotinas do SO e System Calls

•Uma grande preocupação no projeto de sistemas operacionais se refere à implementação de mecanismos de proteção ao núcleo do sistema e também o controle de acesso aos serviços oferecidos pelo sistema.

•Caso uma aplicação que tenha acesso ao núcleo realize alguma operação que altere sua integridade, todo o sistema poderá ficar comprometido e inoperante.

•As Rotinas do SO compõem o núcleo do SO, oferecendo serviços aos usuários e aplicações.

•As instruções privilegiadas são executadas em modo kernel;

2/1

Page 17: 1 Conteúdo Estrutura do sistema operacional Funções do Kernel Bibliotecas Chamadas do sistema Rotinas do SO e System Calls Modos de acesso Linguagem de

Rotinas do SO e System Calls•As system calls podem ser entendidas como uma porta de

entrada para acesso ao núcleo do sistema e aos seus serviços.

•Sempre que um usuário ou uma aplicação necessita de algum serviço do sistema, é realizada uma chamada a uma de suas rotinas através de uma system call. •Através dos parâmetros fornecidos na system call, a solicitação é processada e uma resposta é enviada à aplicação juntamente com um estado de conclusão indicando o sucesso ou não da operação.

•Para cada serviço disponível existe uma system call associada, e cada SO possui seu próprio conjunto de chamadas, com nomes, parâmetros e formas de ativação específicos.

2/1

Page 18: 1 Conteúdo Estrutura do sistema operacional Funções do Kernel Bibliotecas Chamadas do sistema Rotinas do SO e System Calls Modos de acesso Linguagem de

System CallsAs System Calls são as portas de entrada para se ter

acesso ao núcleo do sistema operacional.Para cada serviço existe uma System Call associada ecada sistema operacional tem o seu próprio conjunto dede chamadas (Biblioteca), com nomes, parâmetros eformas de ativação específicos.

2/1

Unix System Callsload ()Execute () create process - fork() terminate process ()get/set process () wait () for timewait event ()signal () event Allocate()Free() memory - garbage

Page 19: 1 Conteúdo Estrutura do sistema operacional Funções do Kernel Bibliotecas Chamadas do sistema Rotinas do SO e System Calls Modos de acesso Linguagem de

Arqu

itetu

ra d

e Si

stem

as O

pera

cion

ais

– M

acha

do/M

aia

Estrutura do Sistema Operacional System Call

4/2

System C a ll

A p l icaçã o Bib lio teca H a rdw are

N úcleo doSistem a O peraciona l

N úcleo doSistem a O peraciona l

Page 20: 1 Conteúdo Estrutura do sistema operacional Funções do Kernel Bibliotecas Chamadas do sistema Rotinas do SO e System Calls Modos de acesso Linguagem de

Rotinas do SO e System Calls• Isto explica por que uma aplicação desenvolvida utilizando serviços de um

determinado SO não pode ser diretamente portada para um outro sistema.

•O SO verifica quem tem privilégio para executar a rotina desejada, se não tiver privilégio para executar o SO impede o desvio para a rotina do sistema e avisa que não tem permissão para executar – este mecanismo é chamado de proteção por SW.

•Só executa quem realmente tem permissão e prioridade;

•Uma aplicação sempre tem que executar em modo usuário – Caso esta aplicação tente executar uma instrução privilegiada sem ser por intermédio de uma chama à rotina de sistema, um mecanismo chamado de proteção por HW garantirá a segurança do sistema .

•Se uma aplicação executa uma instrução privilegiada, em modo usuário, sem a supervisão do SO – O HW sinalizará um erro.

2/1

Page 21: 1 Conteúdo Estrutura do sistema operacional Funções do Kernel Bibliotecas Chamadas do sistema Rotinas do SO e System Calls Modos de acesso Linguagem de

Modo Kernel

Rotinas do SO e System Calls

2/1

_____________________________________________________________________________

Salva contexto dos registradores

Altera modo do processador para kernel

Altera modo do processador para usuário

Restaura o contexto dos registradores

__________________________________________

Aplicação

Rotina do SO

Modo usuário

Page 22: 1 Conteúdo Estrutura do sistema operacional Funções do Kernel Bibliotecas Chamadas do sistema Rotinas do SO e System Calls Modos de acesso Linguagem de

Chamada a rotina do SO•As system calls podem ser entendidas como uma porta de entrada para

acesso ao núcleo do sistema e aos seus serviços.

• Sempre que um usuário ou uma aplicação necessita de algum serviço do sistema, é realizada uma chamada a uma de suas rotinas através de uma system call.

•Através dos parâmetros fornecidos na system call, a solicitação é processada e uma resposta é enviada à aplicação juntamente com um estado de conclusão indicando o sucesso ou não da operação.

•Para cada serviço disponível existe uma system call associada, e cada sistema operacional possui seu próprio conjunto de chamadas, com nomes, parâmetros e formas de ativação específicos.

•Isto explica por que uma aplicação desenvolvida utilizando serviços de um determinado sistema operacional não pode ser diretamente portada para um outro sistema.

2/1

Page 23: 1 Conteúdo Estrutura do sistema operacional Funções do Kernel Bibliotecas Chamadas do sistema Rotinas do SO e System Calls Modos de acesso Linguagem de

Chamada a rotina do SO•O termo system call é tipicamente usado em sistemas Unix;

• System services – no OpenVMS;• API (Application Program Interface) – no MS

Windows;

•Exemplo de API usando Delphi:

GetSystemTime (SystemTime);DataHoraT := SystemTimeToDateTime (SystemTime);DataHoras := DateTimeToStr (DataHoraT);RichEdidt1.Lines.Add (DataHoras);

•Cada SO tem seu próprio conjunto de rotinas, com nomes, parâmetros e formas de ativação específicos;

•Uma aplicação desenvolvida utilizando serviços de um SO não pode ser portada diretamente para outro SO;

2/1

Page 24: 1 Conteúdo Estrutura do sistema operacional Funções do Kernel Bibliotecas Chamadas do sistema Rotinas do SO e System Calls Modos de acesso Linguagem de

Chamada a rotina do SO•O IEEE e ISO tentaram padronizar uma biblioteca de chamadas

• POSIX (Portable Operating System Interface for Unix)

•Gerência de Processos/Threads – • Tratamento de interrupções e exceções;• Criação e eliminação de processos e threads;• Sincronização e comunicação entre processos e threads;• Escalonamento e controle de processos e threads;

•Gerência de Memória• Alocação e desalocação de memória

•Gerência de sistemas de arquivos• Criação, eliminação e alteração de diretórios• Abrir e fechar arquivos;• Leitura e gravação;

• Gerência de dispositivos de E/S: • Alocação e desalocação de dispositivos• Operações de E/S 2/1

Page 25: 1 Conteúdo Estrutura do sistema operacional Funções do Kernel Bibliotecas Chamadas do sistema Rotinas do SO e System Calls Modos de acesso Linguagem de

Arqu

itetu

ra d

e Si

stem

as O

pera

cion

ais

– M

acha

do/M

aia

Estrutura do Sistema Operacional Chamada a uma Rotina do Sistema

4/3

Page 26: 1 Conteúdo Estrutura do sistema operacional Funções do Kernel Bibliotecas Chamadas do sistema Rotinas do SO e System Calls Modos de acesso Linguagem de

Linguagem de Comandos•Ou linguagem de controle;

•Permite ao usuário se comunicar de forma simples com o SO;•Executar tarefas de criar, ler, eliminar arquivos;•Consultar diretórios;•Ver data e hora do sistema;

• DCL (Digital Command Language) – OpenVMS• JCL (Job Control Language) – MVS IBM• Shell script – Unix• Prompt comando – MS DOS

•Comandos DOS:• DIR – lista conteúdo do diretório• CD – altera diretório• TYPE – exibe conteúdo arquivo• DEL – elimina arquivo• MD – cria um diretório• VER – mostra versão do windows

•Os comandos são interpretados pelo shell – interpretador de comandos

2/1

Page 27: 1 Conteúdo Estrutura do sistema operacional Funções do Kernel Bibliotecas Chamadas do sistema Rotinas do SO e System Calls Modos de acesso Linguagem de

Ativacao/ desativacao do SO•O boot inicia com o programa “boot loader” fixo na ROM

•Este chama outro programa “POST” – power-on self test;•Verifica se existe SO residente no HD;•Setor de boot na memória;

•Desativação / shutdown;

2/1

Page 28: 1 Conteúdo Estrutura do sistema operacional Funções do Kernel Bibliotecas Chamadas do sistema Rotinas do SO e System Calls Modos de acesso Linguagem de

Arqu

itetu

ra d

e Si

stem

as O

pera

cion

ais

– M

acha

do/M

aia

Conceitos de Software Ativação do Sistema

2/10

D isco M em ór iaPr in cip a l

bo o t

SistemaO pera cio na l

Á rea d oSistema

O pera cio na l

Page 29: 1 Conteúdo Estrutura do sistema operacional Funções do Kernel Bibliotecas Chamadas do sistema Rotinas do SO e System Calls Modos de acesso Linguagem de

Arquitetura do núcleo do SO

• Arquitetura Monolítica

• Pode ser comparada com uma aplicação formada por vários módulos que são compilados separadamente e depois linkados formando um grande e único programa executável;

• primeiros SOs usavam este modelo;

• Difícil desenvolvimento e manutenção;

• Bom desempenho;

• Primeiros DOS e UNIX;

2/1

Page 30: 1 Conteúdo Estrutura do sistema operacional Funções do Kernel Bibliotecas Chamadas do sistema Rotinas do SO e System Calls Modos de acesso Linguagem de

Arqu

itetu

ra d

e Si

stem

as O

pera

cion

ais

– M

acha

do/M

aia

Estrutura do Sistema Operacional Arquitetura Monolítica

4/4

M odo kernel

ap lica ção ap lica ção

M odo u suá rio

System ca ll

H a rdw are

Page 31: 1 Conteúdo Estrutura do sistema operacional Funções do Kernel Bibliotecas Chamadas do sistema Rotinas do SO e System Calls Modos de acesso Linguagem de

Arquitetura do núcleo do SO

• Arquitetura de Camadas• Com o aumento do tamanho do código dos sistemas operacionais,

técnicas de programação estruturada e modular foram incorporadas em seu projeto.

• Na arquitetura em camadas, o sistema é dividido em níveis sobrepostos. • Cada camada oferece um conjunto de funções que podem ser utilizadas

somente pelas camadas superiores. • Neste tipo de implementação as camadas mais internas são mais

privilegiadas que as camadas mais externas. • A vantagem da estruturação em camadas é o isolamento das funções do

sistema, facilitando sua manutenção. • Uma desvantagem é o desempenho, comprometido devido às várias

mudanças de estado do processador provocado pela mudança de camadas.

2/1

Page 32: 1 Conteúdo Estrutura do sistema operacional Funções do Kernel Bibliotecas Chamadas do sistema Rotinas do SO e System Calls Modos de acesso Linguagem de

Arqu

itetu

ra d

e Si

stem

as O

pera

cion

ais

– M

acha

do/M

aia

Estrutura do Sistema Operacional Arquitetura em Camadas do OpenVMS

4/5

Page 33: 1 Conteúdo Estrutura do sistema operacional Funções do Kernel Bibliotecas Chamadas do sistema Rotinas do SO e System Calls Modos de acesso Linguagem de

Arquitetura do núcleo do SO

• Máquina Virtual• Nível intermediário entre o SO e HW• Fornece uma cópia virtual do:

• HW• Modos de acesso• Interrupções• Dispositivos de E/S

• Isolamento das MV para permitir a convivência de diversos SOs

• Grande segurança;• Complexo para gerenciar recursos de HW

2/1

Page 34: 1 Conteúdo Estrutura do sistema operacional Funções do Kernel Bibliotecas Chamadas do sistema Rotinas do SO e System Calls Modos de acesso Linguagem de

Arqu

itetu

ra d

e Si

stem

as O

pera

cion

ais

– M

acha

do/M

aia

Estrutura do Sistema Operacional Máquina Virtual

4/6

A p 1V

M 1

VM

2

VM

n

G erência de M á qu in as V irtu a is

H a rdw are

SO 1

H V 1

A p 2

SO 2

H V 2

A p n

SO n

H V n

Page 35: 1 Conteúdo Estrutura do sistema operacional Funções do Kernel Bibliotecas Chamadas do sistema Rotinas do SO e System Calls Modos de acesso Linguagem de

Estrutura do Sistema Operacional Máquina Virtual Java

4/7

M áqu ina V irtu a l J ava

H ardw a re

Sistem a O p eracion a l

A p licaçã o

Page 36: 1 Conteúdo Estrutura do sistema operacional Funções do Kernel Bibliotecas Chamadas do sistema Rotinas do SO e System Calls Modos de acesso Linguagem de

Arquitetura do núcleo do SO

• Arquitetura Microkernel• Arquitetura microkernel (cliente x servidor): uma tendência nos sistemas

operacionais modernos é tornar o núcleo do sistema o menor e o mais simples possível.

• Para implementar esta idéia, os serviços do sistema são disponibilizados através de processos, onde cada um é responsável por oferecer um conjunto específico de funções, como gerência de arquivos, gerência de processos, gerência de memória e escalonamento.

• Sempre que uma aplicação deseja algum serviço, é realizada uma solicitação ao processo responsável.

• Neste caso, a aplicação que está solicitando o serviço é chamada de cliente, enquanto o processo que responde à solicitação é chamado de servidor.

2/1

Page 37: 1 Conteúdo Estrutura do sistema operacional Funções do Kernel Bibliotecas Chamadas do sistema Rotinas do SO e System Calls Modos de acesso Linguagem de

Arquitetura do núcleo do SO

• Arquitetura Microkernel• Um cliente, que pode ser uma aplicação do usuário ou um outro

componente do sistema operacional, solicita um serviço enviando uma mensagem para o servidor.

• O servidor responde ao cliente através de uma outra mensagem. A principal função do núcleo é realizar a comunicação, ou seja, a troca de mensagens entre o cliente e o servidor.

• A utilização deste modelo permite que os servidores operem em modo usuário, não tendo acesso direto a certos componentes do sistema.

• Apenas o núcleo do sistema, responsável pela comunicação entre clientes e servidores, executa em modo kernel.

• Como conseqüência, se ocorrer um erro em algum servidor,este poderá parar, mas o sistema não ficará inteiramente comprometido, aumentando assim a sua disponibilidade 2/1

Page 38: 1 Conteúdo Estrutura do sistema operacional Funções do Kernel Bibliotecas Chamadas do sistema Rotinas do SO e System Calls Modos de acesso Linguagem de

Arquitetura do núcleo do SO• Arquitetura Microkernel

• Como conseqüência, se ocorrer um erro em algum servidor,este poderá parar, mas o sistema não ficará inteiramente comprometido, aumentando assim a sua disponibilidade.

• Como os servidores se comunicam através de trocas de mensagens, não importa se os clientes e servidores processam em um sistema com um único processador, com vários processadores ou ainda em um ambiente de sistema distribuído.

• A arquitetura microkernel permite isolar as funções do sistema operacional por diversos servidores pequenos e dedicados a serviços específicos, tornando o núcleo menor, mais fácil de depurar (procurar e solucionar erros) e, com isso, aumentando a sua confiabilidade.

• Apesar de todas as vantagens deste modelo, sua implementação é muito difícil. A começar pelo desempenho, comprometido devido às várias trocas de modo de acesso a cada troca de mensagens entre cliente e servidor.

• Outro problema é que certas funções do sistema operacional, como operações de E/S, exigem acesso direto ao hardware. Assim, o núcleo do sistema, além de promover a comunicação entre clientes e servidores, passa a incorpora funções críticas do sistema, como escalonamento, tratamento de interrupções e gerência de dispositivos.

2/1

Page 39: 1 Conteúdo Estrutura do sistema operacional Funções do Kernel Bibliotecas Chamadas do sistema Rotinas do SO e System Calls Modos de acesso Linguagem de

Estrutura do Sistema Operacional Arquitetura Microkernel

4/8

M odo kernel

M odo u suá rio

M icrokernel

men

sage

m

mensagem

H ardw are