Buscar

Aula 03 Estruturas do Sistema Operacional

Prévia do material em texto

Universidade Federal de Ouro Preto - UFOP
Departamento de Computação e Sistemas - DECSI
CSI437 – Sistemas Operacionais
Prof. Samuel Brito
Estruturas do Sistema 
Operacional
2
Introdução
• Um sistema operacional oferece um ambiente dentro do qual os 
programas são executados.
• Internamente, os sistemas operacionais variam muito em sua 
composição.
• O projeto de um novo sistema operacional exige que os objetivos 
do sistema sejam muito bem definidos antes que o projeto seja 
iniciado.
• Diferentes pontos de vista para enxergar um sistema operacional:
– Focalizar os serviços oferecidos pelo sistema.
– Interface colocada à disposição de usuários e programadores.
– Componentes e suas interconexões. 
COMPONENTES DE UM 
SISTEMA OPERACIONAL
Estruturas do Sistema Operacional
4
Componentes de um Sistema 
Operacional
• Gerência de processos
• Gerência de memória principal
• Gerência de arquivos
• Gerência do sistema de E/S
• Gerência do armazenamento secundário
• Redes
• Sistema de proteção
• Sistema interpretador de comandos
5
Gerência de Processos
• Processo:
– Programa em execução.
– Compiladores, editores de texto, tarefas do sistema, etc.
• Necessidade de recursos:
– Tempo de CPU, memória, arquivos e dispositivos de E/S.
– Alocação de recursos é feita no início ou durante execução dos 
processos.
– Recursos são a fonte principal de “alimentação” dos processos.
– Exemplo:
• Processo que tem como função exibir informações de um arquivo na tela:
– Inicialmente, é dado ao processo o nome do arquivo desejado.
– O mesmo irá executar instruções apropriadas para obter as informações e mostrá-
las na tela.
– Quando o processo finaliza, o S.O. “toma de volta” todos os recursos cedidos e 
reutilizáveis.
6
Gerência de Processos
• Um programa por si só não é um processo!
– Programa é uma entidade passiva.
– Processo é uma entidade ativa.
• Um processo possui um contador de programa que 
especifica a próxima instrução a ser executada.
– Execução do processo é sequencial.
– Uma instrução é executada em nome do processo.
– Dois processos podem estar associados a um único 
programa.
• Considerados duas sequências de execução separadas.
– Utilização de threads:
• Diversos contadores de programa.
7
Gerência de Processos
• Processo é a unidade de trabalho do 
sistema operacional.
– S.O. consiste de uma coleção de processos.
• O S.O. é responsável por:
– Criar e remover os processos de usuário e de 
sistema.
– Suspender e retomar processos.
– Prover mecanismos para a sincronização e a 
comunicação entre processos.
– Prover mecanismos para o tratamento de deadlock.
8
Gerência de Memória 
Principal
• Memória principal é fundamental para a operação de 
um computador moderno.
• Trata-se de um grande conjunto de words ou bytes 
endereçáveis.
• Pode ser enxergada como um depósito de dados 
rapidamente acessíveis, compartilhados por 
dispositivos de E/S e pela CPU.
• Único dispositivo de armazenamento grande que a 
CPU pode endereçar e acessar diretamente.
9
Gerência de Memória 
Principal
• Responsabilidades do S.O. sobre a 
gerência de memória:
– Registrar quais partes da memória estão 
sendo usadas atualmente e por quem.
– Decidir quais processos devem ser 
carregados para a memória quando o 
espaço de memória se tornar disponível.
– Alocar e liberar espaço de memória 
conforme a necessidade.
10
Gerência de Arquivos
• Computadores podem armazenar informações em diferentes 
tipos de mídias físicas:
– Fitas magnéticas, discos magnéticos, discos óticos, etc.
• Cada tipo de dispositivo possui diferentes propriedades:
– Velocidade de acesso, capacidade, taxa de transferência, método 
de acesso (sequencial ou aleatório), etc.
• Sistema operacional abstrai as propriedades físicas dos 
dispositivos de armazenamento para prover uma unidade de 
armazenamento lógica:
– Arquivo.
• Coleção de informações relacionadas, definidas pelo seu criador.
• Programas e dados.
11
Gerência de Arquivos
• Responsabilidades do S.O. sobre a 
gerência de arquivos:
– Criação e remoção de arquivos.
– Criação e remoção de diretórios.
– Suporte a primitivas para manipulação de 
arquivos e diretórios.
– Mapeamento de arquivos em 
armazenamento secundário.
– Cópias de segurança (backup) de arquivos.
12
Gerência do Sistema de E/S
• Uma das finalidades de um S.O. é ocultar do 
usuário as peculiaridades dos dispositivos de 
hardware.
• Responsabilidades do SO relacionadas a E/S:
– Controle dos recursos de buffers/caches;
– Definição de uma interface geral e comum para 
acionamento dos dispositivos.
– Implementação dos acionadores de dispositivos 
específicos (driver de dispositivo).
13
Gerência do Armazenamento 
Secundário 
• Armazenamento secundário:
– Sistema de armazenamento de dados não volátil.
– Visa complementar a memória principal.
• A maioria dos sistemas modernos usa discos como o principal meio de 
armazenamento.
• A velocidade de operação de um computador pode depender das 
velocidades do subsistema de disco e dos algoritmos para manipular 
esse subsistema.
• Responsabilidades do S.O. em relação ao armazenamento secundário:
– Gerenciamento do espaço livre.
– Alocação do armazenamento.
– Mapeamento de arquivos em discos.
– Escalonamento do disco.
14
Redes
• Em um sistema distribuído, processadores têm 
clock e memória particulares.
• A forma de conexão entre eles é através de 
uma rede de comunicação.
• Responsabilidades do S.O. em relação à rede:
– Controlar o acesso à rede pelos processos.
– Garantir a disponibilidade de protocolos mais 
comuns.
– Oferecer recursos eficientes.
15
Sistema de Proteção
• Usualmente, um S.O. garante acesso a 
diversos programas, processos e usuários:
– É essencial que tais acessos sejam 
controlados e protegidos contra abusos 
(propositais ou acidentais).
• Exemplo:
– Hardware de endereçamento de memória garante que 
um processo só possa ser executado dentro do seu 
próprio espaço de endereços.
– Temporizador garante que nenhum processo possa 
obter controle da CPU indefinidamente.
16
Sistema de Proteção
• Proteção:
– Qualquer mecanismo para controle de acesso 
de programas, processos ou usuários em 
relação aos recursos.
• Responsabilidades do SO em relação a 
proteção:
– Distinguir uso autorizado do não autorizado.
– Especificar os controles a serem impostos.
– Prover uma maneira de manter a obediência.
17
Sistema Interpretador de Comandos
• Interpretador de comandos é um dos 
programas mais importantes do S.O.
– Interface entre o usuário e o sistema 
operacional.
• Interpretadores de comandos podem tomar 
formas variadas e diferentes nomes:
– Interpretação de linha de comando.
– Shell (Unix / Linux).
– Sistemas gerenciadores de janelas (KDE, Gnome, 
X11, etc.).
SERVIÇOS DO SISTEMA 
OPERACIONAL
Estruturas do Sistema Operacional
19
Serviços do Sistema 
Operacional
Conjunto de serviços que oferecem funções úteis ao 
usuário:
• Interface de usuário:
– Interface de linha de comando, interface batch e interface 
gráfica de usuário.
• Execução de programa:
– Carregamento do programa em memória e posterior 
execução do mesmo.
– Programa precisa ainda terminar sua execução, de forma 
normal ou anormal.
20
Serviços do Sistema 
Operacional
• Operações de E/S:
– Um processo pode requerer operações de E/S.
– Para cada dispositivo, funções especiais podem ser providas.
• Gravação de CD/DVD, apagar uma tela de vídeo, etc.
– Usuários não podem controlar dispositivos de E/S diretamente.
• S.O. fornece um meio para executar tarefas relacionadas a esses 
dispositivos.
• Manipulação do sistema de arquivos:
– Programas precisam ler e escreverem sistemas de arquivos.
– Criação/remoção de arquivos por nome, procurar determinado 
arquivo e listar informações do mesmo.
21
Serviços do Sistema 
Operacional
• Comunicações:
– Processos podem trocar informações entre si:
• Processos executando em um mesmo computador.
• Processos executando em máquinas fisicamente distantes.
– Memória compartilhada e/ou troca de mensagens.
• Detecção de erro:
– S.O. precisa estar ciente de possíveis erros.
– Possíveis ocorrências:
• CPU, memórias, dispositivos de E/S e programas de usuário.
– Para cada tipo de erro, o S.O. deve tomar a medida 
apropriada para garantir a computação correta e 
consistente.
22
Serviços Adicionais do Sistema 
Operacional
Determinados serviços não tem foco direto 
no usuário, mas garantem a operação 
eficiente do próprio sistema.
• Alocação de recursos:
– Muitos usuários ou várias tarefas 
simultaneamente exigem alocação de 
recursos.
– Escalonamento de CPU, alocação de 
memória, operações de E/S, etc.
23
Serviços Adicionais do Sistema 
Operacional
• Contabilidade:
– Quais usuários fazem uso de quais/quantos recursos do sistema.
– Estatísticas de uso podem ser utilizadas até para cobranças 
financeiras de serviços.
– Reconfigurar o sistema, a fim de aprimorar os serviços de 
computação.
• Proteção e segurança:
– Proteção envolve a garantia de controle de todo o acesso aos 
recursos do sistema.
– Segurança do sistema exige autenticação para acessar os 
recursos do sistema.
• Também defende dispositivos de E/S externos (modems, adaptadores, 
etc.).
24
Serviços do Sistema 
Operacional 
CHAMADAS DE SISTEMA
Estruturas do Sistema Operacional
26
Chamadas de Sistema
• As chamadas de sistema (System Calls) 
oferecem uma interface com os serviços 
disponibilizados por um sistema operacional.
– Rotinas escritas em C/C++.
– Certas tarefas de nível mais baixo podem ter que ser 
escritas em linguagem assembly.
• Tarefas onde o hardware precisa ser acessado diretamente.
• Em UNIX as chamadas de sistema podem ser 
feitas diretamente por um programa em C/C++.
– Em Windows: Win32.
27
Chamadas de Sistema
• Exemplo de utilização de chamadas de sistema:
– Criação de um programa simples para ler dados de um 
arquivo e copiá-los para outro arquivo (novo).
28
Chamadas de Sistema
• Até mesmo programas simples utilizam várias chamadas de sistema.
– Entretanto, esse nível de detalhe normalmente é transparente 
para o programador.
• Interface de Programa de Aplicação (API).
–Conjunto de funções que estão disponíveis, incluindo 
parâmetros que são passados a cada função e os valores de 
retorno que o programador pode esperar.
– Portabilidade.
–Win32, POSIX, API Java, etc.
• Por que usar uma API em vez de invocar chamadas de sistema reais?
– Portabilidade de programas.
– Chamadas de sistema são mais detalhadas e difíceis de 
manipular.
29
Chamadas de Sistema
• Tipicamente, cada chamada de sistema possui um número 
associado.
– A interface de chamada de sistemas mantém uma tabela 
indexada com esses números.
• A interface de chamada de sistema invoca a chamada desejada no 
kernel do S.O. e retorna o estado e valores de retorno para o 
usuário.
• Quem faz a chamada não precisa ter qualquer informação sobre 
como a chamada de sistema foi implementada.
– Precisa apenas conhecer a interface e saber o que o S.O. fará 
como resultado da chamada.
– A maioria dos detalhes do S.O. ficam escondidos dos usuários 
atrás de APIs.
30
Relação entre API e Chamada de 
Sistema
31
Relação entre API e Chamada de 
Sistema
• Programa em C invocando a função printf( ), que utiliza a 
chamada de sistema write( ). 
32
Chamadas de Sistema
• Frequentemente a execução de uma chamada de sistema requer mais do 
que a identificação da chamada desejada.
– Para obter entradas, por exemplo, podemos ter que especificar o arquivo ou 
dispositivo a ser usado como origem, entre outras informações.
• Três métodos são comumente utilizados para se passar parâmetros para 
o sistema operacional:
– Passagem por meio de registradores da CPU.
– Armazenamento em um bloco (tabela) na memória cujo endereço é passado em 
um registrador da CPU.
• Linux e Solaris.
– Armazenamento na pilha do programa, de onde o S.O. extrai os dados.
• Mais comuns: método do bloco ou da pilha.
– Por quê?
• Exemplo: MIPS.
• Não limitam o número ou tamanho dos parâmetros!
33
Passagem de Parâmetros 
via Tabela
34
Chamadas de Sistema
• Tipos de chamadas de sistema:
– Controle de processos
– Manipulação de arquivos
– Manipulação de dispositivos
– Manutenção de informações
– Comunicações
– Proteção
35
Exemplos de Chamadas de Sistema 
do Windows e UNIX
36
Controle de Processos
• Um processo precisa ser capaz de interromper 
sua execução normalmente ou de forma anormal.
– Se termina de forma anormal ou se encontrar um 
problema e causar uma exceção, um dump de 
memória é apanhado e uma mensagem de erro é 
gerada.
• Dump é gravado em disco e pode ser examinado por um 
depurador para determinar a causa do problema.
• Após finalização, controle é transferido para o 
interpretador de comandos que irá executar o 
próximo trabalho da fila.
37
Controle de Processos
• Um processo pode precisar de carregar e 
executar outro programa.
– Exemplo: linha de comando.
– S.O. precisa fornecer esse serviço e gerenciar a 
execução do novo programa.
• Listar e alterar atributos de um processo.
• Criar e terminar um processo criado.
• Alocar e liberar memória.
• Finalização de um processo:
– Espera por tempo.
– Espera por evento.
38
Manipulação de Arquivos
• Suporte a criação e deleção de arquivos.
– Nome e uma série de atributos.
• Para que possa ocorrer a leitura/escrita/reposicionamento, 
arquivos precisam ser inicialmente abertos.
• Arquivos precisam ser fechados ao fim do seu uso.
– Indicar que não está sendo usado.
• Ler e modificar atributos de arquivos.
• Mesmos conceitos se aplicam aos diretórios.
39
Manipulação de Dispositivos
• Um programa para executar pode precisar de recursos extras (memória, 
acesso a arquivos, etc).
– Se os recursos estão disponíveis o programa poderá utilizá-los de imediato.
– Caso contrário, será necessário aguardá-los.
• Recursos podem ser enxergados como sendo dispositivos físicos (disco, 
fita) ou virtuais (arquivos).
• Em sistemas multiusuários, a requisição pelo dispositivo se faz necessária.
– Obtenção de uso exclusivo.
– Liberação do dispositivo.
– Semelhante as chamadas de sistema para arquivos.
• Sistemas operacionais podem tratar arquivos e dispositivos da mesma 
forma, por meio de um conjunto de chamadas de sistema.
– Exemplo: UNIX (/dev).
40
Manutenção de Informações
• Algumas chamadas de sistema servem somente para 
transferência de informações entre o programa de 
usuário e o sistema operacional.
– Exemplos:
• Chamada de sistema para retornar a hora e data atuais.
• Chama de sistema para retornar informações sobre o sistema.
• Além disso, o S.O. mantém informações sobre todos 
os processos.
– Chamadas de sistema para acessar e alterar essas 
informações.
– Em UNIX: 
• /proc
41
Comunicações
• Comunicação entre processos:
– Troca de mensagens:
• Por meio de um canal de comunicação.
– Memória compartilhada:
• Acesso a regiões de memória de outros processos.
Troca de mensagens Mem. Compartilhada
PROGRAMAS DO SISTEMA 
OPERACIONAL
Estruturas do Sistema Operacional
43
Programas do Sistema 
Operacional
• Sistemas operacionais modernos 
possuem uma coleção de programas.
– Programas do sistema fornecem um 
ambiente conveniente para 
desenvolvimento e execução de 
programas.
• Alguns sãosimplesmente interfaces do 
usuário para chamadas de sistema.
• Outros são complexos.
44
Programas do Sistema 
Operacional
Programas do sistema são divididos em categorias:
• Gerência de arquivos:
– Criam, removem, copiam, renomeiam,... arquivos e diretórios.
• Informações de status:
– Espaço disponível em disco ou memória, data e hora, 
desempenho, depuração, etc.
• Modificação de arquivos:
– Editores de texto, comandos para procurar conteúdo de 
arquivos ou realizar transformações do texto.
45
Programas do Sistema 
Operacional
• Suporte para linguagem de programação:
– Compiladores, montadores, depuradores e interpretadores 
para linguagens de programação comuns.
• Carga e execução de programas:
– Carregadores de programa em memória.
• Comunicações:
– Conexões virtuais entre os processos, usuários e outros 
sistemas computacionais.
– Mensagens, navegação em páginas Web, correio 
eletrônico, acesso remoto, etc.
DIFERENTES ESTRUTURAS 
DO SISTEMA OPERACIONAL
Estrutura do Sistema Operacional
47
Diferentes Estruturas do Sistema 
Operacional
• Sistemas operacionais são grandes e 
complexos.
– Uma técnica comum no projeto é particionar 
tarefas em componentes menores.
• Diferentes organizações internas de um S.O.:
– Simples
– Camadas
– Microkernels
– Módulos
48
Estrutura Simples
• Sistemas operacionais que não possuem 
estruturas bem definidas.
– Começaram com sistemas pequenos, simples e 
limitados.
– Cresceram para além de seu escopo original.
– Exemplo:
• MS-DOS:
– Projetado e implementado originalmente por pessoas que não 
tinham ideia de que ele se tornaria tão popular.
– Escrito para fornecer o máximo de funcionalidade no menor 
espaço possível.
– Apesar de possuir alguma estrutura, interfaces e níveis de 
funcionalidade não são bem definidos nem isolados.
49
Estrutura Simples
• Estrutura do MS-DOS:
50
Estrutura Simples
• Outro exemplo:
– UNIX original.
• Limitado pelo 
hardware da 
época.
• Duas partes 
principais apenas:
– O núcleo do 
sistema 
(kernel).
– Programas do 
sistema.
kernel
51
Enfoque em Camadas
• O S.O. é dividido em níveis, cada um construído sobre os níveis 
inferiores.
– O nível 0 é o hardware.
– O nível mais alto é a interface com o usuário.
• Vantagens:
– Com a modularidade, cada nível se torna mais fácil de construir, usando as 
funções dos níveis inferiores.
– Facilidade de depuração.
• Dificuldade:
– Definição apropriada das diversas camadas.
– Qual nível fica o driver de dispositivo de armazenamento?
• Deve ficar abaixo das rotinas de gerência de memória.
– Outro problema:
• Custo adicional para trafegar informações de uma camada para outra.
52
Enfoque em Camadas
53
Microkernels
• Sistemas com muitas funcionalidades dentro do kernel 
podem se tornar muito complexos.
• Uma opção é manter o menor kernel possível e mover 
todo o resto para o espaço de usuário.
– Microkernels fornecem uma gerência mínima de processo e 
memória e facilidade de comunicação.
• A principal função do microkernel é fornecer facilidade 
de comunicação entre o programa cliente e os 
diversos serviços executados no espaço de usuário:
– Comunicação fornecida por troca de mensagens.
54
Microkernels
• Benefícios:
– Facilidade de extensão do sistema operacional.
• Novos serviços são acrescentados ao espaço de 
usuário.
– Não exigem modificação do kernel.
• Mudanças no kernel tendem a ser menores.
– Mais segurança e confiabilidade:
• A maioria dos serviços executam como processos 
do usuário.
• Se um serviço falhar, o restante do sistema 
permanecerá intocável.
55
Módulos
• Uso de técnicas de programação orientada a objetos 
é uma boa metodologia para projetar um sistema 
operacional.
– Criação de um kernel modular.
• Kernel modular:
– Conjunto de componentes básicos.
– Vincula dinamicamente serviços adicionais.
• Durante o processo de boot ou durante a execução.
• Módulos carregáveis dinamicamente.
– Implementações do Solaris, Linux e Mac Os X.
56
Módulos
• Módulos carregáveis do Solaris:
MÁQUINAS VIRTUAIS
Estruturas do Sistema Operacional
58
Máquinas Virtuais
• Ideia fundamental é separar o hardware ou um 
computador isolado em vários ambientes de 
execução diferentes (diferentes S.O.).
– Cria-se uma ilusão de que cada ambiente de execução 
separado está executando seu próprio computador 
privado.
– Provê uma interface idêntica à do hardware básico.
– Cada processo recebe uma cópia (virtual) do 
computador básico.
• Exemplos:
– VMWare, Virtual PC, Virtual Box, Xen, etc.
59
Máquinas Virtuais
Ambiente tradicional Ambiente Virtual
60
Máquinas Virtuais
• Conceito originalmente utilizado em 
mainframes IBM (VM, 1972).
– Cada usuário tinha a visão que seu terminal se 
comportava como um computador individual.
– Na verdade, terminais estavam ligados a um 
grande mainframe que executava as 
máquinas virtuais.
– Impressoras e leitoras de cartões eram 
virtualmente conectadas a cada máquina 
virtual.
61
Máquinas Virtuais
• Máquinas virtuais são completamente isoladas do 
hardware real e das demais máquinas.
• Dificuldade na implementação de uma máquina 
virtual:
– Enorme esforço para isolar e duplicar o hardware.
– Sistemas de disco.
• Suponha que a máquina tenha três unidades de disco, mas 
queira dar suporte a sete máquinas virtuais.
– Não pode alocar uma unidade de disco para cada máquina virtual.
• Solução:
– Prover discos virtuais que são idênticos em todos os aspectos, exceto 
o tamanho.
62
Máquinas Virtuais
• Para que serve um ambiente virtual?
– Recursos logísticos:
• Backups, checkpoints, migração de serviços, etc.
– Replicação de hardware:
• Honeyfarms:
– Uso de máquinas virtuais na detecção de novos vírus.
– Ambiente de testes e desenvolvimento:
• Testes em diferentes ambientes e cenários (hardware e software).
– Portabilidade de Hardware:
• Solução para uso de aplicações de outras plataformas.
– Consolidação de servidores:
• Migração de vários servidores para uma única plataforma.
• Custo de manutenção/gerenciamento reduzidos.
• Espaço físico e consumo energético reduzidos.
• Melhor aproveitamento de hardware subutilizado.
• Redução no número de licenças de software.
63
Máquinas Virtuais
• Desvantagens:
– Sobrecarga afeta todas as máquinas virtuais:
• Quantidade de máquinas virtuais que um computador pode 
suportar não é ilimitada.
• Necessário fazer um balanceamento.
– Segurança:
• Se houver uma vulnerabilidade no gerenciador da máquina 
virtual, por exemplo, todas as máquinas virtuais podem vir 
a ser afetadas.
– Portabilidade:
• Dependendo da solução em uso, a migração de uma 
máquina virtual pode não ser uma tarefa fácil.
• Exemplo: Sistemas dependentes do conjunto de instruções.
64
Máquinas Virtuais
• Desvantagens (cont.):
– Contingência:
• Em aplicações críticas, é importante ter um computador 
para atuar no lugar da máquina principal em caso de 
falhas.
• Se máquina principal para, todas as virtuais também irão 
parar.
– Desempenho:
• Podem haver aplicações onde o desempenho é degradado 
com o uso de arquiteturas virtuais.
– Gastos:
• Gastos não previstos em manutenção podem ocorrer.
• Além de mão-de-obra, treinamento, etc.
65
Máquina Virtual Java
• Programas Java compilados são bytecodes que 
podem rodar em qualquer arquitetura onde 
exista uma Máquina Virtual Java (JVM).
• A JVM consiste de:
– Class loader (carga)
– Class verifier (verificação) 
– Runtime interpreter (interpretação)
• Compiladores de tempo real (just-in-time JIT) 
aumentam a performance.
66
Máquina Virtual Java
67
Dúvidas?
	Slide 1
	IntroduçãoComponentes de um Sistema Operacional
	Componentes de um Sistema Operacional
	Gerência de Processos
	Gerência de Processos
	Gerência de Processos
	Gerência de Memória Principal
	Gerência de Memória Principal
	Gerência de Arquivos
	Gerência de Arquivos
	Gerência do Sistema de E/S
	Gerência do Armazenamento Secundário
	Redes
	Sistema de Proteção
	Sistema de Proteção
	Sistema Interpretador de Comandos
	Serviços do sistema operacional
	Serviços do Sistema Operacional
	Serviços do Sistema Operacional
	Serviços do Sistema Operacional
	Serviços Adicionais do Sistema Operacional
	Serviços Adicionais do Sistema Operacional
	Serviços do Sistema Operacional
	Chamadas de sistema
	Chamadas de Sistema
	Chamadas de Sistema
	Chamadas de Sistema
	Chamadas de Sistema
	Relação entre API e Chamada de Sistema
	Relação entre API e Chamada de Sistema
	Chamadas de Sistema
	Passagem de Parâmetros via Tabela
	Chamadas de Sistema
	Exemplos de Chamadas de Sistema do Windows e UNIX
	Controle de Processos
	Controle de Processos
	Manipulação de Arquivos
	Manipulação de Dispositivos
	Manutenção de Informações
	Comunicações
	Programas do Sistema operacional
	Programas do Sistema Operacional
	Programas do Sistema Operacional
	Programas do Sistema Operacional
	Diferentes estruturas do sistema operacional
	Diferentes Estruturas do Sistema Operacional
	Estrutura Simples
	Estrutura Simples
	Estrutura Simples
	Enfoque em Camadas
	Enfoque em Camadas
	Microkernels
	Microkernels
	Módulos
	Módulos
	Máquinas virtuais
	Máquinas Virtuais
	Máquinas Virtuais
	Máquinas Virtuais
	Máquinas Virtuais
	Máquinas Virtuais
	Máquinas Virtuais
	Máquinas Virtuais
	Máquina Virtual Java
	Máquina Virtual Java
	Dúvidas?

Continue navegando