SlideShare una empresa de Scribd logo
1 de 47
Descargar para leer sin conexión
Conceitos básicos e serviços doConceitos básicos e serviços do
Sistema OperacionalSistema Operacional
Prof. Marcos Ribeiro Quinet de Andrade
Universidade Federal Fluminense - UFF
Pólo Universitário de Rio das Ostras - PURO
Tipos de serviço doTipos de serviço do S.O.S.O.
O S.O. fornece um ambiente para a execução de
programas através de serviços para os programas
e para os usuários desses programas
Apesar da forma como esses serviços sãoApesar da forma como esses serviços são
oferecidos variar de sistema para sistema existem
algumas classes de serviços que são comuns a
todos os sistemas operacionais
Tipos de serviço doTipos de serviço do S.O.S.O.
Serviços mais comuns gerenciados pelo S.O.:
◦ Execução de programas;
◦ Operações de entrada/saída;
◦ Manipulação de sistema de arquivos;
◦ Detecção de erros;◦ Detecção de erros;
◦ Alocação de recursos;
◦ Proteção.
Conceitos Básicos deConceitos Básicos de
Sistemas OperacionaisSistemas Operacionais
Principais conceitos:
◦ Processo;
◦ Memória;
4
Memória;
◦ Chamadas de Sistema;
Processo: chave do SO;
◦ Caracterizado por programas em execução;
◦ Cada processo possui:
Um espaço de endereço;
ProcessosProcessos
5
Um espaço de endereço;
Uma lista de alocação de memória (mínimo, máximo);
Um conjunto de registradores (contador de programa);
◦ O Sistema Operacional controla todos os processos;
Estados básicos de um processo:
Executando
ProcessosProcessos
6
Executando
Bloqueado Pronto
1 2
3
4
ProcessosProcessos
Ex.: processo bloqueado (suspenso)
Quando o SO suspende um processo P1
temporariamente para executar um processo P2, o
processo P1 deve ser reiniciado exatamente no mesmo
estado no qual estava ao ser suspenso. Para tanto,
7
estado no qual estava ao ser suspenso. Para tanto,
todas as informações a respeito do processo P1 são
armazenadas em uma tabela de processos (process
table). Essa tabela é um vetor ou uma lista encadeada
de estruturas.
ProcessosProcessos
Um processo pode resultar na execução de outros
processos, chamados de processos-filhos:
◦ Características para a hierarquia de processos:
Comunicação (Interação) e Sincronização;
Segurança e proteção;
8
Uma árvore de no máximo três níveis;
Escalonadores de processos – processo que escolhe
qual será o próximo processo a ser executado;
◦ Diversas técnicas para escalonamento de processos;
ProcessosProcessos
Comunicação e sincronismo entre processos –
possíveis soluções:
◦ Semáforos;
◦ Monitores;
◦ Instruções especiais em hardware;
9
◦ Instruções especiais em hardware;
◦ Troca de mensagens;
Gerenciamento de MemóriaGerenciamento de Memória
Gerenciamento elementar (década de 60)
◦ Sistema monoprogramado;
◦ Sem paginação:
Apenas um processo na memória;
Acesso a toda a memória;
10
Acesso a toda a memória;
Gerenciamento mais avançado (atualidade)
◦ Sistema multiprogramado;
◦ Mais de um processo na memória;
◦ Chaveamento de processos: por entrada/saída ou por limite de
tempo (sistema de tempo compartilhado);
Compartilhamento de MemóriaCompartilhamento de Memória
Partições Fixas
◦ Cada processo é alocado em uma dada partição da
memória (pré-definida);
◦ Partições são liberadas quando o processo termina;
Partições Variáveis
11
Partições Variáveis
◦ Memória é alocada de acordo com o tamanho e número
de processos;
◦ Otimiza o uso da memória;
Comunicação entre usuário e o SOComunicação entre usuário e o SO
Chamadas ao Sistema (system calls) fornecem uma
interface entre um programa em execução e o S.O. Estão,
geralmente, disponíveis como instruções nas linguagens
de baixo nível ou até mesmo em linguagens de alto nível,
como C.como C.
Podem ser classificadas em duas categorias:
◦ Controle de processos.
◦ Gerenciamento de arquivos e de dispositivos de E/S.
Chamadas aoChamadas ao SistemaSistema
Modos de Acesso:
◦ Modo usuário;
◦ Modo kernel ou Supervisor ou Núcleo;
◦ São determinados por um conjunto de bits localizados no
13
registrador de status do processador: PSW (program status word);
Por meio desse registrador, o hardware verifica se a instrução pode ou
não ser executada pela aplicação;
◦ Protege o próprio kernel do Sistema Operacional na RAM contra
acessos indevidos;
Chamadas aoChamadas ao SistemaSistema
Modo usuário:
◦ Aplicações não têm acesso direto aos recursos da
máquina, ou seja, ao hardware;
◦ Quando o processador trabalha no modo usuário, a
aplicação só pode executar instruções sem privilégios,
14
aplicação só pode executar instruções sem privilégios,
com um acesso reduzido de instruções;
◦ Por que? Para garantir a segurança e a integridade do
sistema;
Chamadas aoChamadas ao SistemaSistema
Modo Kernel:
◦ Aplicações têm acesso direto aos recursos da máquina,
ou seja, ao hardware;
◦ Operações com privilégios;
15
◦ Operações com privilégios;
◦ Quando o processador trabalha no modo kernel, a
aplicação tem acesso ao conjunto total de instruções;
◦ Apenas o SO tem acesso às instruções privilegiadas;
Alteração entre modosAlteração entre modos
Se uma aplicação precisa realizar alguma instrução privilegiada,
ela realiza uma chamada ao sistema (system call), que altera
do modo usuário para o modo kernel;
Chamadas de sistemas são a porta de entrada para o modo
Kernel;
◦ São a interface entre os programas do usuário no modo usuário e o
16
◦ São a interface entre os programas do usuário no modo usuário e o
Sistema Operacional no modo kernel;
◦ As chamadas diferem de SO para SO, no entanto, os conceitos
relacionados às chamadas são similares independentemente do
SO;
Execução de chamadas ao sistemaExecução de chamadas ao sistema
TRAP: instrução que permite o acesso ao modo
kernel;
Exemplo:
◦ Instrução do UNIX:
17
count = read(fd,buffer,nbytes);
Arquivo a ser lido
Ponteiro para o Buffer
Bytes a serem lidos
O programa sempre deve checar o retorno da
chamada de sistema para saber se algum erro
ocorreu!!!
Um exemplo de chamada ao sistemaUm exemplo de chamada ao sistema
Os 11 passos para fazer uma chamada ao sistema para o comando “read
(arq, buffer, nbytes)”
Após o passo 5, é executado um TRAP, passando do modo usuário para o modo
sistema
ExemplosExemplos dede chamadaschamadas aoao sistemasistema
ExemplosExemplos dede chamadaschamadas aoao sistemasistema
Chamadas ao Sistema API (Chamadas ao Sistema API (applicationapplication
programprogram interfaceinterface) WIN32) WIN32
Estrutura dos SistemasEstrutura dos Sistemas
OperacionaisOperacionaisOperacionaisOperacionais
Estrutura dos Sistemas OperacionaisEstrutura dos Sistemas Operacionais
Principais tipos de estruturas:
◦ Monolíticos;
◦ Em camadas;
23
◦ Em camadas;
◦ Máquinas Virtuais;
◦ Arquitetura Micro-kernel;
◦ Cliente-Servidor;
Estrutura dos Sistemas OperacionaisEstrutura dos Sistemas Operacionais
-- MonolíticoMonolítico
Todos os módulos do sistema são compilados
individualmente e depois ligados uns aos outros em um
único arquivo-objeto;
O Sistema Operacional é um conjunto de processos que
podem interagir entre si a qualquer momento sempre que
24
podem interagir entre si a qualquer momento sempre que
necessário;
Cada processo possui uma interface bem definida com
relação aos parâmetros e resultados para facilitar a
comunicação com os outros processos;
Simples;
Primeiros sistemas UNIX e MS-DOS;
Estrutura dos Sistemas OperacionaisEstrutura dos Sistemas Operacionais
-- MonolíticoMonolítico
Modo kernel
aplicação aplicação
Modo usuário
25
System call
Hardware
Estrutura dos Sistemas OperacionaisEstrutura dos Sistemas Operacionais
-- MonolíticoMonolítico
Os serviços (chamadas) requisitados ao sistema
são realizados por meio da colocação de
parâmetros em registradores ou pilhas de
serviços seguida da execução de uma instrução
26
serviços seguida da execução de uma instrução
chamada TRAP;
Estrutura dos Sistemas OperacionaisEstrutura dos Sistemas Operacionais
–– Em camadasEm camadas
Possui uma hierarquia de níveis;
Primeiro sistema em camadas: THE (idealizado por E.W.
Dijkstra);
◦ Possuía 6 camadas, cada qual com uma função diferente;
27
◦ Sistema em batch simples;
Vantagem: isolar as funções do sistema operacional,
facilitando manutenção e depuração
Desvantagem: cada nova camada implica uma mudança
no modo de acesso
Atualmente: modelo de 2 camadas
Estrutura dos Sistemas OperacionaisEstrutura dos Sistemas Operacionais
–– Em camadasEm camadas
Nível 4
Nível 5
28
Nível 1
Nível 2
Nível 3
Nível 0
Fornecimento de Serviços
Estrutura dos Sistemas OperacionaisEstrutura dos Sistemas Operacionais
–– Em camadasEm camadas
• Alocação do processador;
• Chaveamento entre os
Nível 4
Nível 5
29
• Chaveamento entre os
processos em execução –
multiprogramação;
Nível 1
Nível 2
Nível 3
Nível 0
Estrutura dos Sistemas OperacionaisEstrutura dos Sistemas Operacionais
–– Em camadasEm camadas
• Gerenciamento da memória;
• Alocação de espaço para
processos na memória e no disco:
• Processo dividido em partes
Nível 4
Nível 5
30
• Processo dividido em partes
(páginas) para ficarem no disco;
Nível 1
Nível 2
Nível 3
Nível 0
Estrutura dos Sistemas OperacionaisEstrutura dos Sistemas Operacionais
–– Em camadasEm camadas
• Comunicação entre os
processos;
Nível 4
Nível 5
31
processos;
Nível 1
Nível 2
Nível 3
Nível 0
Estrutura dos Sistemas OperacionaisEstrutura dos Sistemas Operacionais
–– Em camadasEm camadas
Nível 4
Nível 5
32
• Gerenciamento dos dispositivos
de entrada/saída –
armazenamento de informações
de/para tais dispositivos;
Nível 1
Nível 2
Nível 3
Nível 0
Estrutura dos Sistemas OperacionaisEstrutura dos Sistemas Operacionais
–– Em camadasEm camadas
Nível 4
Nível 5
33
• Programas dos usuários;
• Alto nível de abstração;
Nível 1
Nível 2
Nível 3
Nível 0
Estrutura dos Sistemas OperacionaisEstrutura dos Sistemas Operacionais
–– Em camadasEm camadas
• Processo do operador do sistema;
Nível 4
Nível 5
34
• Processo do operador do sistema;
Nível 1
Nível 2
Nível 3
Nível 0
Estrutura dos Sistemas OperacionaisEstrutura dos Sistemas Operacionais ––
Máquina VirtualMáquina Virtual
Idéia em 1960 com a IBM VM/370;
Modelo de máquina virtual cria um nível intermediário
entre o SO e o Hardware;
Esse nível cria diversas máquinas virtuais independentes
35
Esse nível cria diversas máquinas virtuais independentes
e isoladas, onde cada máquina oferece um cópia virtual
do hardware, incluindo modos de acesso, interrupções,
dispositivos de E/S, etc.;
Cada máquina virtual pode ter seu próprio SO;
Evolução do OS/360 para o TSS/360:
◦ Compartilhamento de tempo (TimeSharing);
◦ Tanto a multiprogramação quanto a interface com o
hardware eram realizadas pelo mesmo processo –
Estrutura dos Sistemas OperacionaisEstrutura dos Sistemas Operacionais
–– Máquina VirtualMáquina Virtual
36
hardware eram realizadas pelo mesmo processo –
sobrecarga gerando alto custo;
Surge o CP/CMS VM/370 (Mainframes IBM)
◦ Duas funções distintas em processos distintos:
Ambiente para multiprogramação;
Máquina estendida com interface para o hardware;
Estrutura dos Sistemas OperacionaisEstrutura dos Sistemas Operacionais
–– Máquina VirtualMáquina Virtual
Principais conceitos:
◦ Monitor da Máquina Virtual (VMM): roda sobre o hardware e
implementa multiprogramação fornecendo várias máquinas virtuais
é o coração do sistema;
37
◦ CMS (Conversational Monitor System):
TimeSharing;
Executa chamadas ao Sistema Operacional;
◦ Máquinas virtuais são cópias do hardware, incluindo os modos kernel e
usuário;
◦ Cada máquina pode rodar um Sistema Operacional diferente;
Estrutura dos Sistemas OperacionaisEstrutura dos Sistemas Operacionais
–– Máquina VirtualMáquina Virtual
Cópias virtuais do 370s TimeSharing;
Chamadas ao Sistema
38
Instruções de E/S
Hardware (VMM)
VM/370
CMS CMSCMS
TRAP
Chamadas ao sistema
TRAP
Monitor da MMonitor da MMonitor da MMonitor da Máquina Virtualquina Virtualquina Virtualquina Virtual
roda sobre o hardware e
implementa multiprogramação
Cada máquina pode rodar um
Sistema Operacional
diferente
Estrutura dos Sistemas OperacionaisEstrutura dos Sistemas Operacionais ––
Máquina VirtualMáquina Virtual
Atualmente, a idéia de máquina virtual é utilizada em
contextos diferentes:
◦ Programas MS-DOS: rodam em computadores 32bits;
As chamadas feitas pelo MS-DOS ao Sistema Operacional são realizadas
e monitoradas pelo monitor da máquina virtual (VMM);
39
e monitoradas pelo monitor da máquina virtual (VMM);
Virtual 8086;
◦ Programas JAVA (Máquina Virtual Java-JVM): o compilador Java
produz código para a JVM (bytecode). Esse código é executado pelo
interpretador Java:
Programas Java rodam em qualquer plataforma, independentemente do
Sistema Operacional;
Estrutura dos Sistemas OperacionaisEstrutura dos Sistemas Operacionais ––
Máquina VirtualMáquina Virtual
Vantagens
◦ Flexibilidade;
Desvantagem:
◦ Simular diversas máquinas virtuais não é uma tarefa
40
◦ Simular diversas máquinas virtuais não é uma tarefa
simples sobrecarga;
Estrutura dos Sistemas OperacionaisEstrutura dos Sistemas Operacionais ––
Baseados emBaseados em KernelKernel (núcleo)(núcleo)
Kernel é o núcleo do Sistema Operacional
Provê um conjunto de funcionalidades e serviços
que suportam várias outras funcionalidades do
SO
O restante do SO é organizado em um conjunto
41
O restante do SO é organizado em um conjunto
de rotinas não-kernel
Kernel
Hardware
Rotinas não kernel
Interface com usuário
Estrutura dos Sistemas OperacionaisEstrutura dos Sistemas Operacionais ––
MicroMicro--KernelKernel
42
Modo kernel
Modo usuário
Microkernel
mensagem
m
ensagem
Hardware
Estrutura dos Sistemas OperacionaisEstrutura dos Sistemas Operacionais ––
Cliente/ServidorCliente/Servidor
Reduzir o Sistema Operacional a um nível mais
simples:
◦ Kernel: implementa a comunicação entre processos
clientes e processos servidores Núcleo mínimo;
43
◦ Maior parte do Sistema Operacional está
implementado como processos de usuários (nível mais
alto de abstração);
◦ Sistemas Operacionais Modernos;
Estrutura dos Sistemas OperacionaisEstrutura dos Sistemas Operacionais
–– Cliente/ServidorCliente/Servidor
Cada processo servidor trata de uma tarefa
44
processo
cliente
processo
cliente
servidor
processos
servidor
terminal
..........
servidor
arquivos
Núcleo (kernel)
Estrutura dos Sistemas OperacionaisEstrutura dos Sistemas Operacionais
–– Cliente/ServidorCliente/Servidor
Os processos servidores não têm acesso
direto ao hardware. Assim, se algum
problema ocorrer com algum desses
servidores, o hardware não é afetado;
45
processo
cliente
processo
cliente
servidor
processos
servidor
terminal
..........
servidor
arquivos
Núcleo (kernel)
Estrutura dos Sistemas OperacionaisEstrutura dos Sistemas Operacionais
–– Cliente/ServidorCliente/Servidor
processo
cliente
processo
cliente
servidor
processos
servidor
terminal
..........
servidor
arquivos
46
O mesmo não se aplica aos serviços que controlam
os dispositivos de E/S, pois essa é uma tarefa difícil
de ser realizada no modo usuário devido à limitação
de endereçamento. Sendo assim, essa tarefa ainda
é feita no kernel.
Núcleo (kernel)
Estrutura dos Sistemas OperacionaisEstrutura dos Sistemas Operacionais ––
Cliente/ServidorCliente/Servidor
Adaptável para Sistemas Distribuídos;
1 2 3 4
Máquina Máquina Máquina Máquina
47
Cliente
Kernel
Cliente
Kernel Kernel Kernel
Servidor
Rede de
Comunicação
Mensagem
Cliente Servidor
Servidor

Más contenido relacionado

La actualidad más candente

Gerência de processos
Gerência de processosGerência de processos
Gerência de processosVirgínia
 
Sistemas Operacionais Processos e Threads - Wellington Pinto de Oliveira
Sistemas Operacionais Processos e Threads - Wellington Pinto de OliveiraSistemas Operacionais Processos e Threads - Wellington Pinto de Oliveira
Sistemas Operacionais Processos e Threads - Wellington Pinto de OliveiraWellington Oliveira
 
Aula 12 - Escalonamento
Aula 12 - EscalonamentoAula 12 - Escalonamento
Aula 12 - Escalonamentocamila_seixas
 
Aula3 escalonamento
Aula3 escalonamentoAula3 escalonamento
Aula3 escalonamentoBruno Rick
 
Sistemas Operacionais - Aula 06 (Estrutura do S.O)
Sistemas Operacionais - Aula 06 (Estrutura do S.O)Sistemas Operacionais - Aula 06 (Estrutura do S.O)
Sistemas Operacionais - Aula 06 (Estrutura do S.O)Leinylson Fontinele
 
Fundamentos de Sistemas Operacionais - Aula 2 - Conceitos Iniciais
Fundamentos de Sistemas Operacionais - Aula 2 - Conceitos IniciaisFundamentos de Sistemas Operacionais - Aula 2 - Conceitos Iniciais
Fundamentos de Sistemas Operacionais - Aula 2 - Conceitos IniciaisHelder Lopes
 
Sistemas Operacionais parte 2
Sistemas Operacionais  parte 2Sistemas Operacionais  parte 2
Sistemas Operacionais parte 2Matheus Brito
 
Sistemas Operacionais - Aula 05 (Concorrência)
Sistemas Operacionais - Aula 05 (Concorrência)Sistemas Operacionais - Aula 05 (Concorrência)
Sistemas Operacionais - Aula 05 (Concorrência)Leinylson Fontinele
 
Introducao a Sistemas Operacionais
Introducao a Sistemas OperacionaisIntroducao a Sistemas Operacionais
Introducao a Sistemas OperacionaisIsaac Vieira
 
Sistemas Operacionais - Aula 04 - Prática 1 - (SOSim)
Sistemas Operacionais - Aula 04 - Prática 1 - (SOSim)Sistemas Operacionais - Aula 04 - Prática 1 - (SOSim)
Sistemas Operacionais - Aula 04 - Prática 1 - (SOSim)Leinylson Fontinele
 
Sistemas operacionais lista de exercicios
Sistemas operacionais lista de exerciciosSistemas operacionais lista de exercicios
Sistemas operacionais lista de exerciciosCarlos Melo
 
Arquitetura de Computadores: Processos e Threads
Arquitetura de Computadores: Processos e ThreadsArquitetura de Computadores: Processos e Threads
Arquitetura de Computadores: Processos e ThreadsEvandro Júnior
 
Fso parte iii
Fso parte iiiFso parte iii
Fso parte iiipaulocsm
 
Gerências de Processos: Sincronização
Gerências de Processos: SincronizaçãoGerências de Processos: Sincronização
Gerências de Processos: SincronizaçãoAlexandre Duarte
 
2009 1 - sistemas operacionais - aula 5 - semaforos e problemas classicos
2009 1 - sistemas operacionais - aula 5 - semaforos e problemas classicos2009 1 - sistemas operacionais - aula 5 - semaforos e problemas classicos
2009 1 - sistemas operacionais - aula 5 - semaforos e problemas classicosComputação Depressão
 
Processos e threads
Processos e threadsProcessos e threads
Processos e threadsSilvino Neto
 
Sistemas Operacionais - Gnu/Linux Gerenciando Processos
Sistemas Operacionais - Gnu/Linux Gerenciando ProcessosSistemas Operacionais - Gnu/Linux Gerenciando Processos
Sistemas Operacionais - Gnu/Linux Gerenciando ProcessosLuiz Arthur
 

La actualidad más candente (20)

Aula 11,12,13,14...
Aula 11,12,13,14...Aula 11,12,13,14...
Aula 11,12,13,14...
 
Gerência de processos
Gerência de processosGerência de processos
Gerência de processos
 
Conceito de processos
Conceito de processosConceito de processos
Conceito de processos
 
Sistemas Operacionais Processos e Threads - Wellington Pinto de Oliveira
Sistemas Operacionais Processos e Threads - Wellington Pinto de OliveiraSistemas Operacionais Processos e Threads - Wellington Pinto de Oliveira
Sistemas Operacionais Processos e Threads - Wellington Pinto de Oliveira
 
Aula 12 - Escalonamento
Aula 12 - EscalonamentoAula 12 - Escalonamento
Aula 12 - Escalonamento
 
Aula3 escalonamento
Aula3 escalonamentoAula3 escalonamento
Aula3 escalonamento
 
Sistemas Operacionais - Aula 06 (Estrutura do S.O)
Sistemas Operacionais - Aula 06 (Estrutura do S.O)Sistemas Operacionais - Aula 06 (Estrutura do S.O)
Sistemas Operacionais - Aula 06 (Estrutura do S.O)
 
Fundamentos de Sistemas Operacionais - Aula 2 - Conceitos Iniciais
Fundamentos de Sistemas Operacionais - Aula 2 - Conceitos IniciaisFundamentos de Sistemas Operacionais - Aula 2 - Conceitos Iniciais
Fundamentos de Sistemas Operacionais - Aula 2 - Conceitos Iniciais
 
Sistemas Operacionais parte 2
Sistemas Operacionais  parte 2Sistemas Operacionais  parte 2
Sistemas Operacionais parte 2
 
SO-02 Processos
SO-02 ProcessosSO-02 Processos
SO-02 Processos
 
Sistemas Operacionais - Aula 05 (Concorrência)
Sistemas Operacionais - Aula 05 (Concorrência)Sistemas Operacionais - Aula 05 (Concorrência)
Sistemas Operacionais - Aula 05 (Concorrência)
 
Introducao a Sistemas Operacionais
Introducao a Sistemas OperacionaisIntroducao a Sistemas Operacionais
Introducao a Sistemas Operacionais
 
Sistemas Operacionais - Aula 04 - Prática 1 - (SOSim)
Sistemas Operacionais - Aula 04 - Prática 1 - (SOSim)Sistemas Operacionais - Aula 04 - Prática 1 - (SOSim)
Sistemas Operacionais - Aula 04 - Prática 1 - (SOSim)
 
Sistemas operacionais lista de exercicios
Sistemas operacionais lista de exerciciosSistemas operacionais lista de exercicios
Sistemas operacionais lista de exercicios
 
Arquitetura de Computadores: Processos e Threads
Arquitetura de Computadores: Processos e ThreadsArquitetura de Computadores: Processos e Threads
Arquitetura de Computadores: Processos e Threads
 
Fso parte iii
Fso parte iiiFso parte iii
Fso parte iii
 
Gerências de Processos: Sincronização
Gerências de Processos: SincronizaçãoGerências de Processos: Sincronização
Gerências de Processos: Sincronização
 
2009 1 - sistemas operacionais - aula 5 - semaforos e problemas classicos
2009 1 - sistemas operacionais - aula 5 - semaforos e problemas classicos2009 1 - sistemas operacionais - aula 5 - semaforos e problemas classicos
2009 1 - sistemas operacionais - aula 5 - semaforos e problemas classicos
 
Processos e threads
Processos e threadsProcessos e threads
Processos e threads
 
Sistemas Operacionais - Gnu/Linux Gerenciando Processos
Sistemas Operacionais - Gnu/Linux Gerenciando ProcessosSistemas Operacionais - Gnu/Linux Gerenciando Processos
Sistemas Operacionais - Gnu/Linux Gerenciando Processos
 

Similar a 02 so

Visão Geral: Estruturas do Sistema Operacional
Visão Geral: Estruturas do Sistema OperacionalVisão Geral: Estruturas do Sistema Operacional
Visão Geral: Estruturas do Sistema OperacionalAlexandre Duarte
 
Apresentação Sobre Sistemas Operacionais com Orbis OS
Apresentação Sobre Sistemas Operacionais com Orbis OSApresentação Sobre Sistemas Operacionais com Orbis OS
Apresentação Sobre Sistemas Operacionais com Orbis OSLucasNogueira565696
 
Sistemas operacionais
Sistemas operacionaisSistemas operacionais
Sistemas operacionaisvini_campos
 
2 organização do sistema operativo - sistemas operativos
2   organização do sistema operativo - sistemas operativos2   organização do sistema operativo - sistemas operativos
2 organização do sistema operativo - sistemas operativosMaria194536
 
Informática para Internet - Informática Aplicada - Aula 07
Informática para Internet - Informática Aplicada - Aula 07Informática para Internet - Informática Aplicada - Aula 07
Informática para Internet - Informática Aplicada - Aula 07Anderson Andrade
 
Implementação de Serviços de Rede - Aula 1 - Estrutura do Sistema Operacional
Implementação de Serviços de Rede - Aula 1 - Estrutura do Sistema OperacionalImplementação de Serviços de Rede - Aula 1 - Estrutura do Sistema Operacional
Implementação de Serviços de Rede - Aula 1 - Estrutura do Sistema OperacionalCleber Fonseca
 
Componentes do Sistema operacional
Componentes do Sistema operacional Componentes do Sistema operacional
Componentes do Sistema operacional Rodrigo Rodrigues
 
Sistemas operativos trabalho 10ºano
Sistemas operativos trabalho 10ºanoSistemas operativos trabalho 10ºano
Sistemas operativos trabalho 10ºanoHus Juky
 
Sistemas Operacionais - Aula 6 - Estrutura do Sistema Operacional
Sistemas Operacionais - Aula 6 - Estrutura do Sistema OperacionalSistemas Operacionais - Aula 6 - Estrutura do Sistema Operacional
Sistemas Operacionais - Aula 6 - Estrutura do Sistema OperacionalCharles Fortes
 
M1_Sistemas Operativos.pptx
M1_Sistemas Operativos.pptxM1_Sistemas Operativos.pptx
M1_Sistemas Operativos.pptxDoraestevao
 
Máquinas Multiníveis - Nível da Microarquitetura
Máquinas Multiníveis - Nível da MicroarquiteturaMáquinas Multiníveis - Nível da Microarquitetura
Máquinas Multiníveis - Nível da MicroarquiteturaLincoln Lamas
 
Princípios básicos da análise de malware
Princípios básicos da análise de malwarePrincípios básicos da análise de malware
Princípios básicos da análise de malwareMarcelo Souza
 
[Cliqueapostilas.com.br] arquitetura-de-sistemas-operacionais
[Cliqueapostilas.com.br] arquitetura-de-sistemas-operacionais[Cliqueapostilas.com.br] arquitetura-de-sistemas-operacionais
[Cliqueapostilas.com.br] arquitetura-de-sistemas-operacionaisSuperTec1
 
Sistema operacional introdução
Sistema operacional introduçãoSistema operacional introdução
Sistema operacional introduçãoCleber Ramos
 
Modulo 3-IMEI-A02-Sistemas Operativos.pdf
Modulo 3-IMEI-A02-Sistemas Operativos.pdfModulo 3-IMEI-A02-Sistemas Operativos.pdf
Modulo 3-IMEI-A02-Sistemas Operativos.pdf5abcaeag
 
parte2 fundamentos de arquitetura 1 e 2 pdf
parte2 fundamentos de arquitetura 1 e 2 pdfparte2 fundamentos de arquitetura 1 e 2 pdf
parte2 fundamentos de arquitetura 1 e 2 pdfAriclenesKinkela
 
sistemas operativos.ppt
sistemas operativos.pptsistemas operativos.ppt
sistemas operativos.pptssuserb52d9e
 

Similar a 02 so (20)

Visão Geral: Estruturas do Sistema Operacional
Visão Geral: Estruturas do Sistema OperacionalVisão Geral: Estruturas do Sistema Operacional
Visão Geral: Estruturas do Sistema Operacional
 
Apresentação Sobre Sistemas Operacionais com Orbis OS
Apresentação Sobre Sistemas Operacionais com Orbis OSApresentação Sobre Sistemas Operacionais com Orbis OS
Apresentação Sobre Sistemas Operacionais com Orbis OS
 
Sistemas operacionais
Sistemas operacionaisSistemas operacionais
Sistemas operacionais
 
2 organização do sistema operativo - sistemas operativos
2   organização do sistema operativo - sistemas operativos2   organização do sistema operativo - sistemas operativos
2 organização do sistema operativo - sistemas operativos
 
Apresentacao Aula03 So
Apresentacao Aula03 SoApresentacao Aula03 So
Apresentacao Aula03 So
 
Informática para Internet - Informática Aplicada - Aula 07
Informática para Internet - Informática Aplicada - Aula 07Informática para Internet - Informática Aplicada - Aula 07
Informática para Internet - Informática Aplicada - Aula 07
 
Implementação de Serviços de Rede - Aula 1 - Estrutura do Sistema Operacional
Implementação de Serviços de Rede - Aula 1 - Estrutura do Sistema OperacionalImplementação de Serviços de Rede - Aula 1 - Estrutura do Sistema Operacional
Implementação de Serviços de Rede - Aula 1 - Estrutura do Sistema Operacional
 
Componentes do Sistema operacional
Componentes do Sistema operacional Componentes do Sistema operacional
Componentes do Sistema operacional
 
Sistemas operativos trabalho 10ºano
Sistemas operativos trabalho 10ºanoSistemas operativos trabalho 10ºano
Sistemas operativos trabalho 10ºano
 
1ª aula sistema operacional
1ª aula  sistema operacional1ª aula  sistema operacional
1ª aula sistema operacional
 
Sistemas Operacionais - Aula 6 - Estrutura do Sistema Operacional
Sistemas Operacionais - Aula 6 - Estrutura do Sistema OperacionalSistemas Operacionais - Aula 6 - Estrutura do Sistema Operacional
Sistemas Operacionais - Aula 6 - Estrutura do Sistema Operacional
 
M1_Sistemas Operativos.pptx
M1_Sistemas Operativos.pptxM1_Sistemas Operativos.pptx
M1_Sistemas Operativos.pptx
 
Máquinas Multiníveis - Nível da Microarquitetura
Máquinas Multiníveis - Nível da MicroarquiteturaMáquinas Multiníveis - Nível da Microarquitetura
Máquinas Multiníveis - Nível da Microarquitetura
 
Princípios básicos da análise de malware
Princípios básicos da análise de malwarePrincípios básicos da análise de malware
Princípios básicos da análise de malware
 
[Cliqueapostilas.com.br] arquitetura-de-sistemas-operacionais
[Cliqueapostilas.com.br] arquitetura-de-sistemas-operacionais[Cliqueapostilas.com.br] arquitetura-de-sistemas-operacionais
[Cliqueapostilas.com.br] arquitetura-de-sistemas-operacionais
 
Sistema operacional introdução
Sistema operacional introduçãoSistema operacional introdução
Sistema operacional introdução
 
Modulo 3-IMEI-A02-Sistemas Operativos.pdf
Modulo 3-IMEI-A02-Sistemas Operativos.pdfModulo 3-IMEI-A02-Sistemas Operativos.pdf
Modulo 3-IMEI-A02-Sistemas Operativos.pdf
 
1 - introducao.pdf
1 - introducao.pdf1 - introducao.pdf
1 - introducao.pdf
 
parte2 fundamentos de arquitetura 1 e 2 pdf
parte2 fundamentos de arquitetura 1 e 2 pdfparte2 fundamentos de arquitetura 1 e 2 pdf
parte2 fundamentos de arquitetura 1 e 2 pdf
 
sistemas operativos.ppt
sistemas operativos.pptsistemas operativos.ppt
sistemas operativos.ppt
 

02 so

  • 1. Conceitos básicos e serviços doConceitos básicos e serviços do Sistema OperacionalSistema Operacional Prof. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO
  • 2. Tipos de serviço doTipos de serviço do S.O.S.O. O S.O. fornece um ambiente para a execução de programas através de serviços para os programas e para os usuários desses programas Apesar da forma como esses serviços sãoApesar da forma como esses serviços são oferecidos variar de sistema para sistema existem algumas classes de serviços que são comuns a todos os sistemas operacionais
  • 3. Tipos de serviço doTipos de serviço do S.O.S.O. Serviços mais comuns gerenciados pelo S.O.: ◦ Execução de programas; ◦ Operações de entrada/saída; ◦ Manipulação de sistema de arquivos; ◦ Detecção de erros;◦ Detecção de erros; ◦ Alocação de recursos; ◦ Proteção.
  • 4. Conceitos Básicos deConceitos Básicos de Sistemas OperacionaisSistemas Operacionais Principais conceitos: ◦ Processo; ◦ Memória; 4 Memória; ◦ Chamadas de Sistema;
  • 5. Processo: chave do SO; ◦ Caracterizado por programas em execução; ◦ Cada processo possui: Um espaço de endereço; ProcessosProcessos 5 Um espaço de endereço; Uma lista de alocação de memória (mínimo, máximo); Um conjunto de registradores (contador de programa); ◦ O Sistema Operacional controla todos os processos;
  • 6. Estados básicos de um processo: Executando ProcessosProcessos 6 Executando Bloqueado Pronto 1 2 3 4
  • 7. ProcessosProcessos Ex.: processo bloqueado (suspenso) Quando o SO suspende um processo P1 temporariamente para executar um processo P2, o processo P1 deve ser reiniciado exatamente no mesmo estado no qual estava ao ser suspenso. Para tanto, 7 estado no qual estava ao ser suspenso. Para tanto, todas as informações a respeito do processo P1 são armazenadas em uma tabela de processos (process table). Essa tabela é um vetor ou uma lista encadeada de estruturas.
  • 8. ProcessosProcessos Um processo pode resultar na execução de outros processos, chamados de processos-filhos: ◦ Características para a hierarquia de processos: Comunicação (Interação) e Sincronização; Segurança e proteção; 8 Uma árvore de no máximo três níveis; Escalonadores de processos – processo que escolhe qual será o próximo processo a ser executado; ◦ Diversas técnicas para escalonamento de processos;
  • 9. ProcessosProcessos Comunicação e sincronismo entre processos – possíveis soluções: ◦ Semáforos; ◦ Monitores; ◦ Instruções especiais em hardware; 9 ◦ Instruções especiais em hardware; ◦ Troca de mensagens;
  • 10. Gerenciamento de MemóriaGerenciamento de Memória Gerenciamento elementar (década de 60) ◦ Sistema monoprogramado; ◦ Sem paginação: Apenas um processo na memória; Acesso a toda a memória; 10 Acesso a toda a memória; Gerenciamento mais avançado (atualidade) ◦ Sistema multiprogramado; ◦ Mais de um processo na memória; ◦ Chaveamento de processos: por entrada/saída ou por limite de tempo (sistema de tempo compartilhado);
  • 11. Compartilhamento de MemóriaCompartilhamento de Memória Partições Fixas ◦ Cada processo é alocado em uma dada partição da memória (pré-definida); ◦ Partições são liberadas quando o processo termina; Partições Variáveis 11 Partições Variáveis ◦ Memória é alocada de acordo com o tamanho e número de processos; ◦ Otimiza o uso da memória;
  • 12. Comunicação entre usuário e o SOComunicação entre usuário e o SO Chamadas ao Sistema (system calls) fornecem uma interface entre um programa em execução e o S.O. Estão, geralmente, disponíveis como instruções nas linguagens de baixo nível ou até mesmo em linguagens de alto nível, como C.como C. Podem ser classificadas em duas categorias: ◦ Controle de processos. ◦ Gerenciamento de arquivos e de dispositivos de E/S.
  • 13. Chamadas aoChamadas ao SistemaSistema Modos de Acesso: ◦ Modo usuário; ◦ Modo kernel ou Supervisor ou Núcleo; ◦ São determinados por um conjunto de bits localizados no 13 registrador de status do processador: PSW (program status word); Por meio desse registrador, o hardware verifica se a instrução pode ou não ser executada pela aplicação; ◦ Protege o próprio kernel do Sistema Operacional na RAM contra acessos indevidos;
  • 14. Chamadas aoChamadas ao SistemaSistema Modo usuário: ◦ Aplicações não têm acesso direto aos recursos da máquina, ou seja, ao hardware; ◦ Quando o processador trabalha no modo usuário, a aplicação só pode executar instruções sem privilégios, 14 aplicação só pode executar instruções sem privilégios, com um acesso reduzido de instruções; ◦ Por que? Para garantir a segurança e a integridade do sistema;
  • 15. Chamadas aoChamadas ao SistemaSistema Modo Kernel: ◦ Aplicações têm acesso direto aos recursos da máquina, ou seja, ao hardware; ◦ Operações com privilégios; 15 ◦ Operações com privilégios; ◦ Quando o processador trabalha no modo kernel, a aplicação tem acesso ao conjunto total de instruções; ◦ Apenas o SO tem acesso às instruções privilegiadas;
  • 16. Alteração entre modosAlteração entre modos Se uma aplicação precisa realizar alguma instrução privilegiada, ela realiza uma chamada ao sistema (system call), que altera do modo usuário para o modo kernel; Chamadas de sistemas são a porta de entrada para o modo Kernel; ◦ São a interface entre os programas do usuário no modo usuário e o 16 ◦ São a interface entre os programas do usuário no modo usuário e o Sistema Operacional no modo kernel; ◦ As chamadas diferem de SO para SO, no entanto, os conceitos relacionados às chamadas são similares independentemente do SO;
  • 17. Execução de chamadas ao sistemaExecução de chamadas ao sistema TRAP: instrução que permite o acesso ao modo kernel; Exemplo: ◦ Instrução do UNIX: 17 count = read(fd,buffer,nbytes); Arquivo a ser lido Ponteiro para o Buffer Bytes a serem lidos O programa sempre deve checar o retorno da chamada de sistema para saber se algum erro ocorreu!!!
  • 18. Um exemplo de chamada ao sistemaUm exemplo de chamada ao sistema Os 11 passos para fazer uma chamada ao sistema para o comando “read (arq, buffer, nbytes)” Após o passo 5, é executado um TRAP, passando do modo usuário para o modo sistema
  • 21. Chamadas ao Sistema API (Chamadas ao Sistema API (applicationapplication programprogram interfaceinterface) WIN32) WIN32
  • 22. Estrutura dos SistemasEstrutura dos Sistemas OperacionaisOperacionaisOperacionaisOperacionais
  • 23. Estrutura dos Sistemas OperacionaisEstrutura dos Sistemas Operacionais Principais tipos de estruturas: ◦ Monolíticos; ◦ Em camadas; 23 ◦ Em camadas; ◦ Máquinas Virtuais; ◦ Arquitetura Micro-kernel; ◦ Cliente-Servidor;
  • 24. Estrutura dos Sistemas OperacionaisEstrutura dos Sistemas Operacionais -- MonolíticoMonolítico Todos os módulos do sistema são compilados individualmente e depois ligados uns aos outros em um único arquivo-objeto; O Sistema Operacional é um conjunto de processos que podem interagir entre si a qualquer momento sempre que 24 podem interagir entre si a qualquer momento sempre que necessário; Cada processo possui uma interface bem definida com relação aos parâmetros e resultados para facilitar a comunicação com os outros processos; Simples; Primeiros sistemas UNIX e MS-DOS;
  • 25. Estrutura dos Sistemas OperacionaisEstrutura dos Sistemas Operacionais -- MonolíticoMonolítico Modo kernel aplicação aplicação Modo usuário 25 System call Hardware
  • 26. Estrutura dos Sistemas OperacionaisEstrutura dos Sistemas Operacionais -- MonolíticoMonolítico Os serviços (chamadas) requisitados ao sistema são realizados por meio da colocação de parâmetros em registradores ou pilhas de serviços seguida da execução de uma instrução 26 serviços seguida da execução de uma instrução chamada TRAP;
  • 27. Estrutura dos Sistemas OperacionaisEstrutura dos Sistemas Operacionais –– Em camadasEm camadas Possui uma hierarquia de níveis; Primeiro sistema em camadas: THE (idealizado por E.W. Dijkstra); ◦ Possuía 6 camadas, cada qual com uma função diferente; 27 ◦ Sistema em batch simples; Vantagem: isolar as funções do sistema operacional, facilitando manutenção e depuração Desvantagem: cada nova camada implica uma mudança no modo de acesso Atualmente: modelo de 2 camadas
  • 28. Estrutura dos Sistemas OperacionaisEstrutura dos Sistemas Operacionais –– Em camadasEm camadas Nível 4 Nível 5 28 Nível 1 Nível 2 Nível 3 Nível 0 Fornecimento de Serviços
  • 29. Estrutura dos Sistemas OperacionaisEstrutura dos Sistemas Operacionais –– Em camadasEm camadas • Alocação do processador; • Chaveamento entre os Nível 4 Nível 5 29 • Chaveamento entre os processos em execução – multiprogramação; Nível 1 Nível 2 Nível 3 Nível 0
  • 30. Estrutura dos Sistemas OperacionaisEstrutura dos Sistemas Operacionais –– Em camadasEm camadas • Gerenciamento da memória; • Alocação de espaço para processos na memória e no disco: • Processo dividido em partes Nível 4 Nível 5 30 • Processo dividido em partes (páginas) para ficarem no disco; Nível 1 Nível 2 Nível 3 Nível 0
  • 31. Estrutura dos Sistemas OperacionaisEstrutura dos Sistemas Operacionais –– Em camadasEm camadas • Comunicação entre os processos; Nível 4 Nível 5 31 processos; Nível 1 Nível 2 Nível 3 Nível 0
  • 32. Estrutura dos Sistemas OperacionaisEstrutura dos Sistemas Operacionais –– Em camadasEm camadas Nível 4 Nível 5 32 • Gerenciamento dos dispositivos de entrada/saída – armazenamento de informações de/para tais dispositivos; Nível 1 Nível 2 Nível 3 Nível 0
  • 33. Estrutura dos Sistemas OperacionaisEstrutura dos Sistemas Operacionais –– Em camadasEm camadas Nível 4 Nível 5 33 • Programas dos usuários; • Alto nível de abstração; Nível 1 Nível 2 Nível 3 Nível 0
  • 34. Estrutura dos Sistemas OperacionaisEstrutura dos Sistemas Operacionais –– Em camadasEm camadas • Processo do operador do sistema; Nível 4 Nível 5 34 • Processo do operador do sistema; Nível 1 Nível 2 Nível 3 Nível 0
  • 35. Estrutura dos Sistemas OperacionaisEstrutura dos Sistemas Operacionais –– Máquina VirtualMáquina Virtual Idéia em 1960 com a IBM VM/370; Modelo de máquina virtual cria um nível intermediário entre o SO e o Hardware; Esse nível cria diversas máquinas virtuais independentes 35 Esse nível cria diversas máquinas virtuais independentes e isoladas, onde cada máquina oferece um cópia virtual do hardware, incluindo modos de acesso, interrupções, dispositivos de E/S, etc.; Cada máquina virtual pode ter seu próprio SO;
  • 36. Evolução do OS/360 para o TSS/360: ◦ Compartilhamento de tempo (TimeSharing); ◦ Tanto a multiprogramação quanto a interface com o hardware eram realizadas pelo mesmo processo – Estrutura dos Sistemas OperacionaisEstrutura dos Sistemas Operacionais –– Máquina VirtualMáquina Virtual 36 hardware eram realizadas pelo mesmo processo – sobrecarga gerando alto custo; Surge o CP/CMS VM/370 (Mainframes IBM) ◦ Duas funções distintas em processos distintos: Ambiente para multiprogramação; Máquina estendida com interface para o hardware;
  • 37. Estrutura dos Sistemas OperacionaisEstrutura dos Sistemas Operacionais –– Máquina VirtualMáquina Virtual Principais conceitos: ◦ Monitor da Máquina Virtual (VMM): roda sobre o hardware e implementa multiprogramação fornecendo várias máquinas virtuais é o coração do sistema; 37 ◦ CMS (Conversational Monitor System): TimeSharing; Executa chamadas ao Sistema Operacional; ◦ Máquinas virtuais são cópias do hardware, incluindo os modos kernel e usuário; ◦ Cada máquina pode rodar um Sistema Operacional diferente;
  • 38. Estrutura dos Sistemas OperacionaisEstrutura dos Sistemas Operacionais –– Máquina VirtualMáquina Virtual Cópias virtuais do 370s TimeSharing; Chamadas ao Sistema 38 Instruções de E/S Hardware (VMM) VM/370 CMS CMSCMS TRAP Chamadas ao sistema TRAP Monitor da MMonitor da MMonitor da MMonitor da Máquina Virtualquina Virtualquina Virtualquina Virtual roda sobre o hardware e implementa multiprogramação Cada máquina pode rodar um Sistema Operacional diferente
  • 39. Estrutura dos Sistemas OperacionaisEstrutura dos Sistemas Operacionais –– Máquina VirtualMáquina Virtual Atualmente, a idéia de máquina virtual é utilizada em contextos diferentes: ◦ Programas MS-DOS: rodam em computadores 32bits; As chamadas feitas pelo MS-DOS ao Sistema Operacional são realizadas e monitoradas pelo monitor da máquina virtual (VMM); 39 e monitoradas pelo monitor da máquina virtual (VMM); Virtual 8086; ◦ Programas JAVA (Máquina Virtual Java-JVM): o compilador Java produz código para a JVM (bytecode). Esse código é executado pelo interpretador Java: Programas Java rodam em qualquer plataforma, independentemente do Sistema Operacional;
  • 40. Estrutura dos Sistemas OperacionaisEstrutura dos Sistemas Operacionais –– Máquina VirtualMáquina Virtual Vantagens ◦ Flexibilidade; Desvantagem: ◦ Simular diversas máquinas virtuais não é uma tarefa 40 ◦ Simular diversas máquinas virtuais não é uma tarefa simples sobrecarga;
  • 41. Estrutura dos Sistemas OperacionaisEstrutura dos Sistemas Operacionais –– Baseados emBaseados em KernelKernel (núcleo)(núcleo) Kernel é o núcleo do Sistema Operacional Provê um conjunto de funcionalidades e serviços que suportam várias outras funcionalidades do SO O restante do SO é organizado em um conjunto 41 O restante do SO é organizado em um conjunto de rotinas não-kernel Kernel Hardware Rotinas não kernel Interface com usuário
  • 42. Estrutura dos Sistemas OperacionaisEstrutura dos Sistemas Operacionais –– MicroMicro--KernelKernel 42 Modo kernel Modo usuário Microkernel mensagem m ensagem Hardware
  • 43. Estrutura dos Sistemas OperacionaisEstrutura dos Sistemas Operacionais –– Cliente/ServidorCliente/Servidor Reduzir o Sistema Operacional a um nível mais simples: ◦ Kernel: implementa a comunicação entre processos clientes e processos servidores Núcleo mínimo; 43 ◦ Maior parte do Sistema Operacional está implementado como processos de usuários (nível mais alto de abstração); ◦ Sistemas Operacionais Modernos;
  • 44. Estrutura dos Sistemas OperacionaisEstrutura dos Sistemas Operacionais –– Cliente/ServidorCliente/Servidor Cada processo servidor trata de uma tarefa 44 processo cliente processo cliente servidor processos servidor terminal .......... servidor arquivos Núcleo (kernel)
  • 45. Estrutura dos Sistemas OperacionaisEstrutura dos Sistemas Operacionais –– Cliente/ServidorCliente/Servidor Os processos servidores não têm acesso direto ao hardware. Assim, se algum problema ocorrer com algum desses servidores, o hardware não é afetado; 45 processo cliente processo cliente servidor processos servidor terminal .......... servidor arquivos Núcleo (kernel)
  • 46. Estrutura dos Sistemas OperacionaisEstrutura dos Sistemas Operacionais –– Cliente/ServidorCliente/Servidor processo cliente processo cliente servidor processos servidor terminal .......... servidor arquivos 46 O mesmo não se aplica aos serviços que controlam os dispositivos de E/S, pois essa é uma tarefa difícil de ser realizada no modo usuário devido à limitação de endereçamento. Sendo assim, essa tarefa ainda é feita no kernel. Núcleo (kernel)
  • 47. Estrutura dos Sistemas OperacionaisEstrutura dos Sistemas Operacionais –– Cliente/ServidorCliente/Servidor Adaptável para Sistemas Distribuídos; 1 2 3 4 Máquina Máquina Máquina Máquina 47 Cliente Kernel Cliente Kernel Kernel Kernel Servidor Rede de Comunicação Mensagem Cliente Servidor Servidor