SlideShare une entreprise Scribd logo
1  sur  8
Télécharger pour lire hors ligne
UNIVERSIDADE FEDERAL DO CEARÁ 
BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO 
RONILDO OLIVEIRA DA SILVA 
SISTEMAS OPERACIONAIS: 
CONCEITOS BÁSICOS SOBRE SISTEMAS OPERACIONAIS 
PRFESSOR LUIS RODOLFO REBOUÇAS COUTINHO 
QUIXADÁ 
2014
SUMÁRIO 
INTRODUÇÃO.......................................................................................................................2 
PROCESSOS........................................................................................................................2 
ESPAÇOS DE ENDEREÇOS................................................................................................2 
SISTEMAS DE ARQUIVOS..................................................................................................3 
SISTEMAS DE ENTRADA E SAIDA....................................................................................4 
SISTEMAS DE PROTEÇÃO.................................................................................................4 
Hardware...........................................................................................................................4 
Software.............................................................................................................................4 
LINHAS DE COMANDO (SHELL)........................................................................................5 
SISTEMAS OPERACIONAIS MONOLITICOS.....................................................................5 
SISTEMAS OPERACIONAIS EM CAMADAS......................................................................5 
MICROKERNELS..................................................................................................................6 
CLIENTE SERVIDOR............................................................................................................6 
MÁQUINAS VIRTUAIS..........................................................................................................6 
EXOKERNELS......................................................................................................................7 
REFERÊNCIAS BIBLIOGRÁFICAS.....................................................................................7
3 
INTRODUÇÃO 
Um sistema operacional, ou software base é um conjunto de rotinas que 
desempenham o papel de controle de recursos, como o compartilhamento de memórias, 
escalonamento de processos, gerência de dispositivos de E/S (entrada e saída), 
interrupções, etc. 
Além de se responsabilizar pela gerência, o sistema operacional é também visto 
como uma camada de abstração entre o computador e o usuário, fornecendo facilidade, e 
segurança ao se manusear softwares aplicativos. 
Vejamos alguns conceitos básicos sobre os sistemas operacionais, características, 
seus subsistemas e mecanismos. 
PROCESSOS 
Um processo pode ser entendido como a execução ou parte da execução de um 
programa. Sabemos que um sistema operacional moderno é multitarefa baseado em 
ciclos de tempo (clock), ou seja, várias instâncias e processos podem estar aptos a serem 
executadas em uma pilha de execução na memória principal. Esse espaço na memória 
reservado para o processo é denominado espaço de endereçamento. 
O sistema operacional utiliza do clock para controlar de modo periódico e temporal 
o acesso dos processos ao processador. Um exemplo comum é quando cada processo 
empilhado tem alguns microssegundos para permanecer em execução. Quando um 
processo é desempilhado para dar “visibilidade” a outro, ele precisa salvar seu estado (um 
dos principais serviços do espaço de endereçamento) antes da troca para que se possa 
continuar quando o mesmo voltar à atividade. 
É válido considerar também que processos podem ser dependentes de outros, 
automaticamente podemos enxergar uma hierarquia onde processos raízes podem criar 
e/ou chamar outros processos nós como uma ramificação. Como dificilmente essas 
estruturas são lineares, o sistema operacional usa de mecanismos de escalonamento 
com o objetivo de não deixar o processador ocioso e nem permitir que apenas alguns 
processos cheguem à execução. 
ESPAÇOS DE ENDEREÇOS 
O espaço de endereçamento contém o programa executável, os dados e sua 
pilha de execução. Cada processo possui um conjunto de registradores, um ponteiro que 
aponta para a pilha e várias informações necessárias para executar e retomar a execução 
um programa após uma parada seja ela confirmada ou não.
4 
Todos os sistemas computacionais possuem uma memória principal, e 
eventualmente, os processos que dão atividade ao sistema são armazenados nesse 
dispositivo de armazenamento temporário. Quando falamos de processos, citamos os 
espaços alocados para cada um deles e suas particularidades. 
Na gerência desses processos, podemos encontrar alguns conflitos como: dois 
processos acessando o mesmo espaço de memória, ou necessidade de mais espaço 
ocupado por outras instâncias. Hoje, as memórias principais são de tamanhos elevados, 
mas se acontecesse de um ou mais processos utilizarem todo o espaço de 
endereçamento e mais um pouco? 
Esse problema seria resolvido com o gerenciamento de espaços de endereços por 
meio do uso de uma Memória Virtual, que é um espaço alocado no disco, de grande 
capacidade, porém mais lenta. 
SISTEMAS DE ARQUIVOS 
Além dos processos, memórias e dispositivos, o sistema operacional também 
gerencia arquivos. 
O sistema de arquivos se atrela aos outros vários subsistemas, por exemplo: 
Quando um arquivo é lido, ele precisa ser inicialmente localizado em uma memória, 
normalmente na secundária, e para isso, é necessário que o sistema de E/S faça a busca 
no disco, carregado nos espaço de endereços da memória principal, e assim, ser aberto, 
editado e salvo novamente no disco. 
Um pouco diferente do sistema de blocos do disco, o sistema operacional adota 
uma hierarquia de diretórios para a manipulação mais organizada de arquivos. Esse 
conceito é bem similar ao visto no tópico de processos, onde um diretório raíz pode 
possuir vários subdiretórios, e esses subdiretórios serem pais de outros diretórios, um 
exemplo de árvore. 
A princípio, um sistema em árvore, é mais lento (por conta das buscas por 
subdiretórios) que um linear (onde todos os arquivos estão em um único lugar), porém, o 
sistema operacional usa de um parâmetro denominado path, que é o endereço do arquivo 
a ser processado, um processo recebe esse parâmetro e não mais precisa efetuar buscas 
para encontrar sua localização a cada iteração, o que torna o nível de organização, muito 
superior. 
Outra vantagem é que ao inserir uma unidade de disco removível, o sistema de 
arquivos considera e trata esse dispositivo de armazenamento como um diretório, ou seja, 
a hierarquia e o acesso continuarão sendo o mesmo e pertencerá a mesma árvore de 
diretórios.
5 
SISTEMAS DE ENTRADA E SAIDA 
Num sistema computacional, se fossemos resumi-lo, poderíamos dizer que é um 
sistema com entrada, processamento e saída. Esse é um modelo adotado para simplificar 
como as operações manipuladas pelo usuário interagem com o sistema operacional e 
retorna um resultado referente ao processamento dessas instruções. À medida que os 
sistemas computacionais se tornam mais complexos novos dispositivos vêm surgindo e é 
de responsabilidade de o sistema operacional gerenciá-los. 
Todo sistema operacional possui um sistema de E/S. Em um sistema 
computacional de dispositivos on-board, podemos verificar que alguns ou todos eles 
possuem uma compatibilidade com o programa de E/S do sistema operacional, ou seja, 
eles são considerados independentes de dispositivos. Outros, normalmente off-board, se 
comportam de maneira diferente e necessitam de um programa “tradutor” que abstraia a 
camada física (dispositivo), e forneça uma boa comunicação com o sistema operacional. 
Esses softwares são denominados drivers de dispositivos específicos. 
SISTEMAS DE PROTEÇÃO 
Vejamos alguns exemplos de artifícios utilizados pelo sistema operacional para 
evitar acessos indevidos durante o funcionamento de um sistema computacional. 
Hardware 
Quem tem prioridade de acesso à memória? Quem pode ser deixado em segundo 
plano numa chamada de E/S? 
Essas e outras “perguntas-conflito” podem ser solucionadas pelo fato do sistema 
operacional trabalhar em modo supervisor, ou seja, o usuário e suas rotinas não podem 
ter privilégios e acessos superiores às chamadas de sistema ou interrupções de E/S. 
Se isso ocorresse, o usuário poderia escrever em locais de memória não 
permitidos ou não existentes, modificaria o temporizador da CPU, etc. 
Software 
Qual seria a vantagem de qualquer usuário ter acesso aos arquivos do sistema 
operacional e acesso aos seus arquivos pessoais? Ambas as perguntas podem ser 
respondidas com “nenhuma”. Uma modificação de arquivos do sistema pode trazer 
grandes problemas futuros ou imediatos e seus arquivos pessoais talvez não fossem para 
serem vistos por qualquer pessoa. 
Para isso, o sistema operacional toma conta da segurança própria e do seu 
usuário, foi com esse propósito que nos sistemas Unix, por exemplo, temos um sistema
6 
de segurança baseado em cadeia de bits, denominados bits rwx, onde a cadeia de bits 
representada por: 
 R – Permissão de leitura; 
 W – Permissão de escrita; 
 X – Permissão de execução; 
Essas permissões são aplicadas aos níveis de usuário do sistema: 
 U – Usuários; 
 G – Grupos; 
 O – Outros; 
Exemplo de permissão de arquivo: 
LINHAS DE COMANDO (SHELL) 
Figura 1: Arquivo com permissões totais para usuário, 
permissões negadas para outros, e negação de escrita 
para grupos. 
Disponível em: http://pt.wikipedia.org/wiki/Chmod 
O shell é um software aplicativo responsável pela interpretação de comandos via 
terminal, em sistemas sem interfaces gráficas, o shell é considerado o meio por onde o 
usuário escreve instruções (em texto no próprio terminal), que são então interpretadas a 
cada linha de prompt, e assim é iniciada a execução do processo ou da árvore de 
processos. 
Só com a finalização da execução, o shell estará apto novamente para o 
recebimento de novas instruções. 
SISTEMAS OPERACIONAIS MONOLITICOS 
Podemos considera um sistema operacional monolítico como uma aplicação 
composta por diversos módulos que são compilados separadamente e depois “linkados” 
de forma que possa interagir livremente uma com as outras constituindo um grande e 
único programa executável em modo supervisor.
7 
Seu desempenho é bem maior que as demais estruturas de sistemas, porém como 
são aplicações unidas, uma falha pode paralisar todo o núcleo. Por não possuir 
separação de funcionalidades, essa liberdade de controle em demasia torna o sistema 
vulnerável. 
SISTEMAS OPERACIONAIS EM CAMADAS 
Essa arquitetura de organização trata os possíveis erros dos sistemas monolíticos, 
pois define hierarquicamente o sistema operacional em subsistemas sobrepostos, tal 
quais as camadas do protocolo TCP/IP. Cada módulo oferece um conjunto de funções 
que pode ser usado por outros módulos de camadas superiores. 
Fazendo uma analogia a interação usuário-computador, a vantagem da 
estruturação em camadas é isolar o sistema operacional (núcleo), facilitando sua 
alteração, depuração, e prevenção. Como são camadas dispostas uma sobre as outras 
(do menor ao maior nível), os níveis mais internos, por exemplo, os que se comunicam 
diretamente com o núcleo ou hardware são mais protegidos. 
MICROKERNELS 
Assim como os computadores, processadores e quaisquer dispositivos, o kernel 
também vem aumentando seu desempenho e diminuindo de tamanho. As camadas dos 
serviços são agora dispostas em processos. 
Cada processo agora tem a responsabilidade de gerenciar um conjunto específico 
de funções (em modo usuário, o que previne erros no núcleo) como: gerência de 
memória, gerência de arquivos, gerência de processos etc. 
O núcleo que nessa arquitetura é minúsculo, o que torna um mecanismo muito 
complexo, porém eficiente. Sem esse novo paradigma, o kernel fornecia o controle e a 
abstração de camadas mais baixas do sistema operacional. Como microkernel, apenas 
gerencia a comunicação entre esses processos específicos como sua principal função. 
CLIENTE SERVIDOR 
Constituidora da parte da arquitetura de microkernels, o modelo Cliente Servidor é 
bem similar ao detalhado anteriormente. Alguns processos denominados servidores, 
recebem as solicitações de serviços (leitura e/ou escrita de bloco, por exemplo) enviadas 
pelos processos clientes (ambos, processos no microkernel).
8 
Como o kernel é muito pequeno e mais livre de códigos e operações de núcleo, a 
sua funcionalidade se resume em coordenar a comunicação coerente entres os processos 
clientes e servidores. 
MÁQUINAS VIRTUAIS 
Um exemplo de máquina virtual bastante utilizada é a Java Virtual Machine, criada 
pela Sun Microsystems, que objetivava o suporte a linguagem Java. Quando se executa 
um código Java, o interpretador da máquina virtual se encarrega de gerar os próprios 
bytecodes, que são cadeias de bytes próprios do Java. Uma das vantagens de utilizar 
uma máquina virtual, é que será gerado o mesmo bytecode, o que torna a aplicação em 
Java altamente portátil. 
Como é dependente de uma máquina virtual, o desempenho da aplicação é 
considerada visivelmente inferior a um código compilado em uma máquina real. 
EXOKERNELS 
É um caso especial de microkernel, com menos mecanismos em modo supervisor, 
ou seja, ainda beneficiados pelos acessos em modo usuário, os processos em modo de 
exokernel podem ter acesso ao hardware mais diretamente ao invés de ter de obter 
confirmações de biblioteca ou de núcleo. 
REFERÊNCIAS BIBLIOGRÁFICAS 
MACHADO, F. B. Maia, L. P. Arquitetura de Sistemas Operacionais. 3. Ed. LTC. 2002. 
TANENBAUM, Andrew S. Sistemas Operacionais Modernos. 2. Ed. Prentice Hall 
(Pearson), 2003.

Contenu connexe

Tendances

Resumo sistemas operacionais
Resumo sistemas operacionaisResumo sistemas operacionais
Resumo sistemas operacionaisDaniel Brandão
 
Componentes do Sistema operacional
Componentes do Sistema operacional Componentes do Sistema operacional
Componentes do Sistema operacional Rodrigo Rodrigues
 
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
 
Sistemas Operativos De Grande Porte
Sistemas Operativos De Grande PorteSistemas Operativos De Grande Porte
Sistemas Operativos De Grande Portearturramisio
 
Classificação – sistemas operativos
Classificação – sistemas operativosClassificação – sistemas operativos
Classificação – sistemas operativosTROLITO LALALAL
 
Sistemas operacionais aula 01
Sistemas operacionais   aula 01Sistemas operacionais   aula 01
Sistemas operacionais aula 01Professor Douglas
 
Sistemas Operacionais - Aula 2 - Visão Geral de Sistemas Operacionais
Sistemas Operacionais - Aula 2 - Visão Geral de Sistemas OperacionaisSistemas Operacionais - Aula 2 - Visão Geral de Sistemas Operacionais
Sistemas Operacionais - Aula 2 - Visão Geral de Sistemas OperacionaisCharles Fortes
 
Aula 5a - Sistemas Operacionais
Aula 5a - Sistemas OperacionaisAula 5a - Sistemas Operacionais
Aula 5a - Sistemas OperacionaisJocelma Rios
 
Sistemas operacionais
Sistemas operacionaisSistemas operacionais
Sistemas operacionaisvini_campos
 
Sistemas operacionais
Sistemas operacionaisSistemas operacionais
Sistemas operacionaisAbnel Junior
 
Sistema operacional
Sistema operacionalSistema operacional
Sistema operacionalMichael Soto
 
Fundamentos de Sistemas Operacionais - Aula 1 - Introdução à disciplina
Fundamentos de Sistemas Operacionais - Aula 1 - Introdução à disciplinaFundamentos de Sistemas Operacionais - Aula 1 - Introdução à disciplina
Fundamentos de Sistemas Operacionais - Aula 1 - Introdução à disciplinaHelder Lopes
 
Visão geral do sistema operacional
Visão geral do sistema operacionalVisão geral do sistema operacional
Visão geral do sistema operacionalLuciano Crecente
 
Cap05 processos e threads
Cap05   processos e threadsCap05   processos e threads
Cap05 processos e threadsfernandao777
 
Sistemas Operacionais - Introducao
Sistemas Operacionais - IntroducaoSistemas Operacionais - Introducao
Sistemas Operacionais - IntroducaoLuiz Arthur
 
Sistema operacional introdução
Sistema operacional introduçãoSistema operacional introdução
Sistema operacional introduçãoCleber Ramos
 

Tendances (20)

Resumo sistemas operacionais
Resumo sistemas operacionaisResumo sistemas operacionais
Resumo sistemas operacionais
 
Componentes do Sistema operacional
Componentes do Sistema operacional Componentes do Sistema operacional
Componentes do Sistema operacional
 
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
 
Sistemas Operativos De Grande Porte
Sistemas Operativos De Grande PorteSistemas Operativos De Grande Porte
Sistemas Operativos De Grande Porte
 
Classificação – sistemas operativos
Classificação – sistemas operativosClassificação – sistemas operativos
Classificação – sistemas operativos
 
teAula 11
teAula 11teAula 11
teAula 11
 
Sistemas operacionais aula 01
Sistemas operacionais   aula 01Sistemas operacionais   aula 01
Sistemas operacionais aula 01
 
Sistemas Operacionais - Aula 2 - Visão Geral de Sistemas Operacionais
Sistemas Operacionais - Aula 2 - Visão Geral de Sistemas OperacionaisSistemas Operacionais - Aula 2 - Visão Geral de Sistemas Operacionais
Sistemas Operacionais - Aula 2 - Visão Geral de Sistemas Operacionais
 
Aula 5a - Sistemas Operacionais
Aula 5a - Sistemas OperacionaisAula 5a - Sistemas Operacionais
Aula 5a - Sistemas Operacionais
 
Sistemas Operacionais e Mercado de Trabalho
Sistemas Operacionais e Mercado de TrabalhoSistemas Operacionais e Mercado de Trabalho
Sistemas Operacionais e Mercado de Trabalho
 
Sistemas operacionais
Sistemas operacionaisSistemas operacionais
Sistemas operacionais
 
Sistemas operacionais
Sistemas operacionaisSistemas operacionais
Sistemas operacionais
 
Sistema operacional
Sistema operacionalSistema operacional
Sistema operacional
 
SO - Aula 05 - Concorrencia
SO - Aula 05 - ConcorrenciaSO - Aula 05 - Concorrencia
SO - Aula 05 - Concorrencia
 
Sistemas operacionais
Sistemas operacionaisSistemas operacionais
Sistemas operacionais
 
Fundamentos de Sistemas Operacionais - Aula 1 - Introdução à disciplina
Fundamentos de Sistemas Operacionais - Aula 1 - Introdução à disciplinaFundamentos de Sistemas Operacionais - Aula 1 - Introdução à disciplina
Fundamentos de Sistemas Operacionais - Aula 1 - Introdução à disciplina
 
Visão geral do sistema operacional
Visão geral do sistema operacionalVisão geral do sistema operacional
Visão geral do sistema operacional
 
Cap05 processos e threads
Cap05   processos e threadsCap05   processos e threads
Cap05 processos e threads
 
Sistemas Operacionais - Introducao
Sistemas Operacionais - IntroducaoSistemas Operacionais - Introducao
Sistemas Operacionais - Introducao
 
Sistema operacional introdução
Sistema operacional introduçãoSistema operacional introdução
Sistema operacional introdução
 

En vedette

Trabalho do sistemas operativos
Trabalho do sistemas operativosTrabalho do sistemas operativos
Trabalho do sistemas operativosDavid Pereira
 
Sistema Operativo
Sistema OperativoSistema Operativo
Sistema Operativoguest7185f
 
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 (Windows X Linux)
Sistemas Operacionais (Windows X Linux)Sistemas Operacionais (Windows X Linux)
Sistemas Operacionais (Windows X Linux)Paulo Guimarães
 
Conceitos de sistemas operacionais
Conceitos de sistemas operacionaisConceitos de sistemas operacionais
Conceitos de sistemas operacionaisAparicio Junior
 
Aula 01-Fundamentos da Computação
Aula 01-Fundamentos da ComputaçãoAula 01-Fundamentos da Computação
Aula 01-Fundamentos da ComputaçãoRafael Moraes
 
Sistemas Operacionais
Sistemas OperacionaisSistemas Operacionais
Sistemas OperacionaisVirgínia
 
Introducao a Sistemas Operacionais
Introducao a Sistemas OperacionaisIntroducao a Sistemas Operacionais
Introducao a Sistemas OperacionaisIsaac Vieira
 
Evolução dos sistemas operativos
Evolução dos sistemas operativosEvolução dos sistemas operativos
Evolução dos sistemas operativosJulio Bita
 
Apresentação Final Ambientes Operacionais - Biblio's Fanatic
Apresentação Final Ambientes Operacionais - Biblio's FanaticApresentação Final Ambientes Operacionais - Biblio's Fanatic
Apresentação Final Ambientes Operacionais - Biblio's FanaticJordan Claussen
 
Sistemas Operacionais Windows e Linux
Sistemas Operacionais Windows e LinuxSistemas Operacionais Windows e Linux
Sistemas Operacionais Windows e LinuxFelipe Cesar Costa
 
Conceitos básicos sobre a Internet
Conceitos básicos sobre a InternetConceitos básicos sobre a Internet
Conceitos básicos sobre a Internetdomgenaro
 
Principais Conceitos Internet
Principais Conceitos InternetPrincipais Conceitos Internet
Principais Conceitos InternetClaudio Toldo
 
Introdução ao Software Livre
Introdução ao Software LivreIntrodução ao Software Livre
Introdução ao Software LivrePeslPinguim
 
Aula 01 - Sistemas Operacionais - Conceitos Básicos
Aula 01 - Sistemas Operacionais - Conceitos BásicosAula 01 - Sistemas Operacionais - Conceitos Básicos
Aula 01 - Sistemas Operacionais - Conceitos BásicosMauro Duarte
 

En vedette (20)

Trabalho do sistemas operativos
Trabalho do sistemas operativosTrabalho do sistemas operativos
Trabalho do sistemas operativos
 
Sistema Operativo
Sistema OperativoSistema Operativo
Sistema Operativo
 
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 (Windows X Linux)
Sistemas Operacionais (Windows X Linux)Sistemas Operacionais (Windows X Linux)
Sistemas Operacionais (Windows X Linux)
 
Conceitos de sistemas operacionais
Conceitos de sistemas operacionaisConceitos de sistemas operacionais
Conceitos de sistemas operacionais
 
Aula 01-Fundamentos da Computação
Aula 01-Fundamentos da ComputaçãoAula 01-Fundamentos da Computação
Aula 01-Fundamentos da Computação
 
Sistemas Operacionais
Sistemas OperacionaisSistemas Operacionais
Sistemas Operacionais
 
Trabalho do Semestre da Faculdade
Trabalho do Semestre da FaculdadeTrabalho do Semestre da Faculdade
Trabalho do Semestre da Faculdade
 
Apostila UML
Apostila UMLApostila UML
Apostila UML
 
Introducao a Sistemas Operacionais
Introducao a Sistemas OperacionaisIntroducao a Sistemas Operacionais
Introducao a Sistemas Operacionais
 
Sistemas Operacionais
Sistemas OperacionaisSistemas Operacionais
Sistemas Operacionais
 
Evolução dos sistemas operativos
Evolução dos sistemas operativosEvolução dos sistemas operativos
Evolução dos sistemas operativos
 
Croqui Audaces
Croqui AudacesCroqui Audaces
Croqui Audaces
 
Dimensão da Terra
Dimensão da TerraDimensão da Terra
Dimensão da Terra
 
Apresentação Final Ambientes Operacionais - Biblio's Fanatic
Apresentação Final Ambientes Operacionais - Biblio's FanaticApresentação Final Ambientes Operacionais - Biblio's Fanatic
Apresentação Final Ambientes Operacionais - Biblio's Fanatic
 
Sistemas Operacionais Windows e Linux
Sistemas Operacionais Windows e LinuxSistemas Operacionais Windows e Linux
Sistemas Operacionais Windows e Linux
 
Conceitos básicos sobre a Internet
Conceitos básicos sobre a InternetConceitos básicos sobre a Internet
Conceitos básicos sobre a Internet
 
Principais Conceitos Internet
Principais Conceitos InternetPrincipais Conceitos Internet
Principais Conceitos Internet
 
Introdução ao Software Livre
Introdução ao Software LivreIntrodução ao Software Livre
Introdução ao Software Livre
 
Aula 01 - Sistemas Operacionais - Conceitos Básicos
Aula 01 - Sistemas Operacionais - Conceitos BásicosAula 01 - Sistemas Operacionais - Conceitos Básicos
Aula 01 - Sistemas Operacionais - Conceitos Básicos
 

Similaire à Conceitos básicos de sistemas operacionais

Similaire à Conceitos básicos de sistemas operacionais (20)

1ª aula sistema operacional
1ª aula  sistema operacional1ª aula  sistema operacional
1ª aula sistema operacional
 
Linux Solaris
Linux SolarisLinux Solaris
Linux Solaris
 
2. conceito de processos
2. conceito de processos2. conceito de processos
2. conceito de processos
 
S.o aula 5678
S.o aula 5678S.o aula 5678
S.o aula 5678
 
Atps sistemas operacionais
Atps sistemas operacionaisAtps sistemas operacionais
Atps sistemas operacionais
 
So cap01
So cap01So cap01
So cap01
 
Visão Geral: Introdução
Visão Geral: IntroduçãoVisão Geral: Introdução
Visão Geral: Introdução
 
Estruturas de Sistemas Operacionais
Estruturas de Sistemas OperacionaisEstruturas de Sistemas Operacionais
Estruturas de Sistemas Operacionais
 
Sistema operacional
Sistema operacionalSistema operacional
Sistema operacional
 
Conceito de processos
Conceito de processosConceito de processos
Conceito de processos
 
Sistemas Operacionais parte 2
Sistemas Operacionais  parte 2Sistemas Operacionais  parte 2
Sistemas Operacionais parte 2
 
Atividade sd
Atividade sdAtividade sd
Atividade sd
 
Unidade 3.3 Estrutura de Diretórios Linux
Unidade 3.3 Estrutura de Diretórios LinuxUnidade 3.3 Estrutura de Diretórios Linux
Unidade 3.3 Estrutura de Diretórios Linux
 
Questões de Sistemas Operacionais
Questões de Sistemas Operacionais Questões de Sistemas Operacionais
Questões de Sistemas Operacionais
 
Sistemas Operacionais - Aula 02 (Visão geral de sistemas operacionais)
Sistemas Operacionais - Aula 02 (Visão geral de sistemas operacionais)Sistemas Operacionais - Aula 02 (Visão geral de sistemas operacionais)
Sistemas Operacionais - Aula 02 (Visão geral de sistemas operacionais)
 
Antonio menezes solaris
Antonio menezes solarisAntonio menezes solaris
Antonio menezes solaris
 
Sistema
SistemaSistema
Sistema
 
Sistemas operacionais
Sistemas operacionaisSistemas operacionais
Sistemas operacionais
 
S.o aula 121314
S.o aula 121314S.o aula 121314
S.o aula 121314
 
Trabalho de sistemas operativos
Trabalho de sistemas operativosTrabalho de sistemas operativos
Trabalho de sistemas operativos
 

Plus de Ronildo Oliveira

Desenvolvimento de jogos Mobile - FliSol 2017
Desenvolvimento de jogos Mobile - FliSol 2017Desenvolvimento de jogos Mobile - FliSol 2017
Desenvolvimento de jogos Mobile - FliSol 2017Ronildo Oliveira
 
Towards a Computational Model of Melody Identification in Polyphonic Music
Towards a Computational Model of Melody Identification in Polyphonic MusicTowards a Computational Model of Melody Identification in Polyphonic Music
Towards a Computational Model of Melody Identification in Polyphonic MusicRonildo Oliveira
 
Relato de Experiência de Monitoria da Disciplina de Estrutura de Dados, Estr...
Relato de Experiência de Monitoria da Disciplina de  Estrutura de Dados, Estr...Relato de Experiência de Monitoria da Disciplina de  Estrutura de Dados, Estr...
Relato de Experiência de Monitoria da Disciplina de Estrutura de Dados, Estr...Ronildo Oliveira
 
Avaliação Heurística de um Ambiente Virtual para Análise de Rotas de Execução...
Avaliação Heurística de um Ambiente Virtual para Análise de Rotas de Execução...Avaliação Heurística de um Ambiente Virtual para Análise de Rotas de Execução...
Avaliação Heurística de um Ambiente Virtual para Análise de Rotas de Execução...Ronildo Oliveira
 
A relevância da participação em centros acadêmicos para a formação complement...
A relevância da participação em centros acadêmicos para a formação complement...A relevância da participação em centros acadêmicos para a formação complement...
A relevância da participação em centros acadêmicos para a formação complement...Ronildo Oliveira
 
Resolução Parcial - Redes de Computadores - Kurose 6ª Edição
Resolução Parcial - Redes de Computadores - Kurose 6ª EdiçãoResolução Parcial - Redes de Computadores - Kurose 6ª Edição
Resolução Parcial - Redes de Computadores - Kurose 6ª EdiçãoRonildo Oliveira
 
Realidade Virtual e Realidade Aumentada em Jogos
Realidade Virtual e Realidade Aumentada em JogosRealidade Virtual e Realidade Aumentada em Jogos
Realidade Virtual e Realidade Aumentada em JogosRonildo Oliveira
 
Scape From Weirdland - O Jogo
Scape From Weirdland - O JogoScape From Weirdland - O Jogo
Scape From Weirdland - O JogoRonildo Oliveira
 
Documento de Requisitos do Sistema - Meu Telefone
Documento de Requisitos do Sistema - Meu TelefoneDocumento de Requisitos do Sistema - Meu Telefone
Documento de Requisitos do Sistema - Meu TelefoneRonildo Oliveira
 
Slide Encontros Universitários 2015 UFC - SOLID, Design de Software e Progra...
Slide Encontros Universitários 2015 UFC  - SOLID, Design de Software e Progra...Slide Encontros Universitários 2015 UFC  - SOLID, Design de Software e Progra...
Slide Encontros Universitários 2015 UFC - SOLID, Design de Software e Progra...Ronildo Oliveira
 
Calculo I - Uma Breve Introdução ao Estudo de Integrais
Calculo I - Uma Breve Introdução ao Estudo de IntegraisCalculo I - Uma Breve Introdução ao Estudo de Integrais
Calculo I - Uma Breve Introdução ao Estudo de IntegraisRonildo Oliveira
 
Apresentação de Slide - Deadlocks
Apresentação de Slide - DeadlocksApresentação de Slide - Deadlocks
Apresentação de Slide - DeadlocksRonildo Oliveira
 
Resolução de Problemas - Sistemas Operacionais
Resolução de Problemas - Sistemas OperacionaisResolução de Problemas - Sistemas Operacionais
Resolução de Problemas - Sistemas OperacionaisRonildo Oliveira
 
Fases do desenvolvimento de software baseado no código de ética.
Fases do desenvolvimento de software baseado no código de ética.Fases do desenvolvimento de software baseado no código de ética.
Fases do desenvolvimento de software baseado no código de ética.Ronildo Oliveira
 
Exercícios Resolvidos - Arquitetura e Organização de Computadores
Exercícios Resolvidos - Arquitetura e Organização de ComputadoresExercícios Resolvidos - Arquitetura e Organização de Computadores
Exercícios Resolvidos - Arquitetura e Organização de ComputadoresRonildo Oliveira
 
Minicurso de Desenvolvimento Android - Iguatu - CE
Minicurso de Desenvolvimento Android - Iguatu - CEMinicurso de Desenvolvimento Android - Iguatu - CE
Minicurso de Desenvolvimento Android - Iguatu - CERonildo Oliveira
 
Curso Android - 02 configuração do ambiente (Tutorial de Instalação Eclipse +...
Curso Android - 02 configuração do ambiente (Tutorial de Instalação Eclipse +...Curso Android - 02 configuração do ambiente (Tutorial de Instalação Eclipse +...
Curso Android - 02 configuração do ambiente (Tutorial de Instalação Eclipse +...Ronildo Oliveira
 
Curso Android - 01 Introdução ao Android
Curso Android - 01 Introdução ao AndroidCurso Android - 01 Introdução ao Android
Curso Android - 01 Introdução ao AndroidRonildo Oliveira
 
Curso Android - 03 Conceitos Chaves
Curso Android - 03 Conceitos ChavesCurso Android - 03 Conceitos Chaves
Curso Android - 03 Conceitos ChavesRonildo Oliveira
 

Plus de Ronildo Oliveira (20)

Desenvolvimento de jogos Mobile - FliSol 2017
Desenvolvimento de jogos Mobile - FliSol 2017Desenvolvimento de jogos Mobile - FliSol 2017
Desenvolvimento de jogos Mobile - FliSol 2017
 
Towards a Computational Model of Melody Identification in Polyphonic Music
Towards a Computational Model of Melody Identification in Polyphonic MusicTowards a Computational Model of Melody Identification in Polyphonic Music
Towards a Computational Model of Melody Identification in Polyphonic Music
 
Relato de Experiência de Monitoria da Disciplina de Estrutura de Dados, Estr...
Relato de Experiência de Monitoria da Disciplina de  Estrutura de Dados, Estr...Relato de Experiência de Monitoria da Disciplina de  Estrutura de Dados, Estr...
Relato de Experiência de Monitoria da Disciplina de Estrutura de Dados, Estr...
 
Avaliação Heurística de um Ambiente Virtual para Análise de Rotas de Execução...
Avaliação Heurística de um Ambiente Virtual para Análise de Rotas de Execução...Avaliação Heurística de um Ambiente Virtual para Análise de Rotas de Execução...
Avaliação Heurística de um Ambiente Virtual para Análise de Rotas de Execução...
 
A relevância da participação em centros acadêmicos para a formação complement...
A relevância da participação em centros acadêmicos para a formação complement...A relevância da participação em centros acadêmicos para a formação complement...
A relevância da participação em centros acadêmicos para a formação complement...
 
Resolução Parcial - Redes de Computadores - Kurose 6ª Edição
Resolução Parcial - Redes de Computadores - Kurose 6ª EdiçãoResolução Parcial - Redes de Computadores - Kurose 6ª Edição
Resolução Parcial - Redes de Computadores - Kurose 6ª Edição
 
Realidade Virtual e Realidade Aumentada em Jogos
Realidade Virtual e Realidade Aumentada em JogosRealidade Virtual e Realidade Aumentada em Jogos
Realidade Virtual e Realidade Aumentada em Jogos
 
Scape From Weirdland - O Jogo
Scape From Weirdland - O JogoScape From Weirdland - O Jogo
Scape From Weirdland - O Jogo
 
Documento de Requisitos do Sistema - Meu Telefone
Documento de Requisitos do Sistema - Meu TelefoneDocumento de Requisitos do Sistema - Meu Telefone
Documento de Requisitos do Sistema - Meu Telefone
 
Slide Encontros Universitários 2015 UFC - SOLID, Design de Software e Progra...
Slide Encontros Universitários 2015 UFC  - SOLID, Design de Software e Progra...Slide Encontros Universitários 2015 UFC  - SOLID, Design de Software e Progra...
Slide Encontros Universitários 2015 UFC - SOLID, Design de Software e Progra...
 
Calculo I - Uma Breve Introdução ao Estudo de Integrais
Calculo I - Uma Breve Introdução ao Estudo de IntegraisCalculo I - Uma Breve Introdução ao Estudo de Integrais
Calculo I - Uma Breve Introdução ao Estudo de Integrais
 
Apresentação de Slide - Deadlocks
Apresentação de Slide - DeadlocksApresentação de Slide - Deadlocks
Apresentação de Slide - Deadlocks
 
Deadlocks (Resumo)
Deadlocks (Resumo)Deadlocks (Resumo)
Deadlocks (Resumo)
 
Resolução de Problemas - Sistemas Operacionais
Resolução de Problemas - Sistemas OperacionaisResolução de Problemas - Sistemas Operacionais
Resolução de Problemas - Sistemas Operacionais
 
Fases do desenvolvimento de software baseado no código de ética.
Fases do desenvolvimento de software baseado no código de ética.Fases do desenvolvimento de software baseado no código de ética.
Fases do desenvolvimento de software baseado no código de ética.
 
Exercícios Resolvidos - Arquitetura e Organização de Computadores
Exercícios Resolvidos - Arquitetura e Organização de ComputadoresExercícios Resolvidos - Arquitetura e Organização de Computadores
Exercícios Resolvidos - Arquitetura e Organização de Computadores
 
Minicurso de Desenvolvimento Android - Iguatu - CE
Minicurso de Desenvolvimento Android - Iguatu - CEMinicurso de Desenvolvimento Android - Iguatu - CE
Minicurso de Desenvolvimento Android - Iguatu - CE
 
Curso Android - 02 configuração do ambiente (Tutorial de Instalação Eclipse +...
Curso Android - 02 configuração do ambiente (Tutorial de Instalação Eclipse +...Curso Android - 02 configuração do ambiente (Tutorial de Instalação Eclipse +...
Curso Android - 02 configuração do ambiente (Tutorial de Instalação Eclipse +...
 
Curso Android - 01 Introdução ao Android
Curso Android - 01 Introdução ao AndroidCurso Android - 01 Introdução ao Android
Curso Android - 01 Introdução ao Android
 
Curso Android - 03 Conceitos Chaves
Curso Android - 03 Conceitos ChavesCurso Android - 03 Conceitos Chaves
Curso Android - 03 Conceitos Chaves
 

Conceitos básicos de sistemas operacionais

  • 1. UNIVERSIDADE FEDERAL DO CEARÁ BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO RONILDO OLIVEIRA DA SILVA SISTEMAS OPERACIONAIS: CONCEITOS BÁSICOS SOBRE SISTEMAS OPERACIONAIS PRFESSOR LUIS RODOLFO REBOUÇAS COUTINHO QUIXADÁ 2014
  • 2. SUMÁRIO INTRODUÇÃO.......................................................................................................................2 PROCESSOS........................................................................................................................2 ESPAÇOS DE ENDEREÇOS................................................................................................2 SISTEMAS DE ARQUIVOS..................................................................................................3 SISTEMAS DE ENTRADA E SAIDA....................................................................................4 SISTEMAS DE PROTEÇÃO.................................................................................................4 Hardware...........................................................................................................................4 Software.............................................................................................................................4 LINHAS DE COMANDO (SHELL)........................................................................................5 SISTEMAS OPERACIONAIS MONOLITICOS.....................................................................5 SISTEMAS OPERACIONAIS EM CAMADAS......................................................................5 MICROKERNELS..................................................................................................................6 CLIENTE SERVIDOR............................................................................................................6 MÁQUINAS VIRTUAIS..........................................................................................................6 EXOKERNELS......................................................................................................................7 REFERÊNCIAS BIBLIOGRÁFICAS.....................................................................................7
  • 3. 3 INTRODUÇÃO Um sistema operacional, ou software base é um conjunto de rotinas que desempenham o papel de controle de recursos, como o compartilhamento de memórias, escalonamento de processos, gerência de dispositivos de E/S (entrada e saída), interrupções, etc. Além de se responsabilizar pela gerência, o sistema operacional é também visto como uma camada de abstração entre o computador e o usuário, fornecendo facilidade, e segurança ao se manusear softwares aplicativos. Vejamos alguns conceitos básicos sobre os sistemas operacionais, características, seus subsistemas e mecanismos. PROCESSOS Um processo pode ser entendido como a execução ou parte da execução de um programa. Sabemos que um sistema operacional moderno é multitarefa baseado em ciclos de tempo (clock), ou seja, várias instâncias e processos podem estar aptos a serem executadas em uma pilha de execução na memória principal. Esse espaço na memória reservado para o processo é denominado espaço de endereçamento. O sistema operacional utiliza do clock para controlar de modo periódico e temporal o acesso dos processos ao processador. Um exemplo comum é quando cada processo empilhado tem alguns microssegundos para permanecer em execução. Quando um processo é desempilhado para dar “visibilidade” a outro, ele precisa salvar seu estado (um dos principais serviços do espaço de endereçamento) antes da troca para que se possa continuar quando o mesmo voltar à atividade. É válido considerar também que processos podem ser dependentes de outros, automaticamente podemos enxergar uma hierarquia onde processos raízes podem criar e/ou chamar outros processos nós como uma ramificação. Como dificilmente essas estruturas são lineares, o sistema operacional usa de mecanismos de escalonamento com o objetivo de não deixar o processador ocioso e nem permitir que apenas alguns processos cheguem à execução. ESPAÇOS DE ENDEREÇOS O espaço de endereçamento contém o programa executável, os dados e sua pilha de execução. Cada processo possui um conjunto de registradores, um ponteiro que aponta para a pilha e várias informações necessárias para executar e retomar a execução um programa após uma parada seja ela confirmada ou não.
  • 4. 4 Todos os sistemas computacionais possuem uma memória principal, e eventualmente, os processos que dão atividade ao sistema são armazenados nesse dispositivo de armazenamento temporário. Quando falamos de processos, citamos os espaços alocados para cada um deles e suas particularidades. Na gerência desses processos, podemos encontrar alguns conflitos como: dois processos acessando o mesmo espaço de memória, ou necessidade de mais espaço ocupado por outras instâncias. Hoje, as memórias principais são de tamanhos elevados, mas se acontecesse de um ou mais processos utilizarem todo o espaço de endereçamento e mais um pouco? Esse problema seria resolvido com o gerenciamento de espaços de endereços por meio do uso de uma Memória Virtual, que é um espaço alocado no disco, de grande capacidade, porém mais lenta. SISTEMAS DE ARQUIVOS Além dos processos, memórias e dispositivos, o sistema operacional também gerencia arquivos. O sistema de arquivos se atrela aos outros vários subsistemas, por exemplo: Quando um arquivo é lido, ele precisa ser inicialmente localizado em uma memória, normalmente na secundária, e para isso, é necessário que o sistema de E/S faça a busca no disco, carregado nos espaço de endereços da memória principal, e assim, ser aberto, editado e salvo novamente no disco. Um pouco diferente do sistema de blocos do disco, o sistema operacional adota uma hierarquia de diretórios para a manipulação mais organizada de arquivos. Esse conceito é bem similar ao visto no tópico de processos, onde um diretório raíz pode possuir vários subdiretórios, e esses subdiretórios serem pais de outros diretórios, um exemplo de árvore. A princípio, um sistema em árvore, é mais lento (por conta das buscas por subdiretórios) que um linear (onde todos os arquivos estão em um único lugar), porém, o sistema operacional usa de um parâmetro denominado path, que é o endereço do arquivo a ser processado, um processo recebe esse parâmetro e não mais precisa efetuar buscas para encontrar sua localização a cada iteração, o que torna o nível de organização, muito superior. Outra vantagem é que ao inserir uma unidade de disco removível, o sistema de arquivos considera e trata esse dispositivo de armazenamento como um diretório, ou seja, a hierarquia e o acesso continuarão sendo o mesmo e pertencerá a mesma árvore de diretórios.
  • 5. 5 SISTEMAS DE ENTRADA E SAIDA Num sistema computacional, se fossemos resumi-lo, poderíamos dizer que é um sistema com entrada, processamento e saída. Esse é um modelo adotado para simplificar como as operações manipuladas pelo usuário interagem com o sistema operacional e retorna um resultado referente ao processamento dessas instruções. À medida que os sistemas computacionais se tornam mais complexos novos dispositivos vêm surgindo e é de responsabilidade de o sistema operacional gerenciá-los. Todo sistema operacional possui um sistema de E/S. Em um sistema computacional de dispositivos on-board, podemos verificar que alguns ou todos eles possuem uma compatibilidade com o programa de E/S do sistema operacional, ou seja, eles são considerados independentes de dispositivos. Outros, normalmente off-board, se comportam de maneira diferente e necessitam de um programa “tradutor” que abstraia a camada física (dispositivo), e forneça uma boa comunicação com o sistema operacional. Esses softwares são denominados drivers de dispositivos específicos. SISTEMAS DE PROTEÇÃO Vejamos alguns exemplos de artifícios utilizados pelo sistema operacional para evitar acessos indevidos durante o funcionamento de um sistema computacional. Hardware Quem tem prioridade de acesso à memória? Quem pode ser deixado em segundo plano numa chamada de E/S? Essas e outras “perguntas-conflito” podem ser solucionadas pelo fato do sistema operacional trabalhar em modo supervisor, ou seja, o usuário e suas rotinas não podem ter privilégios e acessos superiores às chamadas de sistema ou interrupções de E/S. Se isso ocorresse, o usuário poderia escrever em locais de memória não permitidos ou não existentes, modificaria o temporizador da CPU, etc. Software Qual seria a vantagem de qualquer usuário ter acesso aos arquivos do sistema operacional e acesso aos seus arquivos pessoais? Ambas as perguntas podem ser respondidas com “nenhuma”. Uma modificação de arquivos do sistema pode trazer grandes problemas futuros ou imediatos e seus arquivos pessoais talvez não fossem para serem vistos por qualquer pessoa. Para isso, o sistema operacional toma conta da segurança própria e do seu usuário, foi com esse propósito que nos sistemas Unix, por exemplo, temos um sistema
  • 6. 6 de segurança baseado em cadeia de bits, denominados bits rwx, onde a cadeia de bits representada por:  R – Permissão de leitura;  W – Permissão de escrita;  X – Permissão de execução; Essas permissões são aplicadas aos níveis de usuário do sistema:  U – Usuários;  G – Grupos;  O – Outros; Exemplo de permissão de arquivo: LINHAS DE COMANDO (SHELL) Figura 1: Arquivo com permissões totais para usuário, permissões negadas para outros, e negação de escrita para grupos. Disponível em: http://pt.wikipedia.org/wiki/Chmod O shell é um software aplicativo responsável pela interpretação de comandos via terminal, em sistemas sem interfaces gráficas, o shell é considerado o meio por onde o usuário escreve instruções (em texto no próprio terminal), que são então interpretadas a cada linha de prompt, e assim é iniciada a execução do processo ou da árvore de processos. Só com a finalização da execução, o shell estará apto novamente para o recebimento de novas instruções. SISTEMAS OPERACIONAIS MONOLITICOS Podemos considera um sistema operacional monolítico como uma aplicação composta por diversos módulos que são compilados separadamente e depois “linkados” de forma que possa interagir livremente uma com as outras constituindo um grande e único programa executável em modo supervisor.
  • 7. 7 Seu desempenho é bem maior que as demais estruturas de sistemas, porém como são aplicações unidas, uma falha pode paralisar todo o núcleo. Por não possuir separação de funcionalidades, essa liberdade de controle em demasia torna o sistema vulnerável. SISTEMAS OPERACIONAIS EM CAMADAS Essa arquitetura de organização trata os possíveis erros dos sistemas monolíticos, pois define hierarquicamente o sistema operacional em subsistemas sobrepostos, tal quais as camadas do protocolo TCP/IP. Cada módulo oferece um conjunto de funções que pode ser usado por outros módulos de camadas superiores. Fazendo uma analogia a interação usuário-computador, a vantagem da estruturação em camadas é isolar o sistema operacional (núcleo), facilitando sua alteração, depuração, e prevenção. Como são camadas dispostas uma sobre as outras (do menor ao maior nível), os níveis mais internos, por exemplo, os que se comunicam diretamente com o núcleo ou hardware são mais protegidos. MICROKERNELS Assim como os computadores, processadores e quaisquer dispositivos, o kernel também vem aumentando seu desempenho e diminuindo de tamanho. As camadas dos serviços são agora dispostas em processos. Cada processo agora tem a responsabilidade de gerenciar um conjunto específico de funções (em modo usuário, o que previne erros no núcleo) como: gerência de memória, gerência de arquivos, gerência de processos etc. O núcleo que nessa arquitetura é minúsculo, o que torna um mecanismo muito complexo, porém eficiente. Sem esse novo paradigma, o kernel fornecia o controle e a abstração de camadas mais baixas do sistema operacional. Como microkernel, apenas gerencia a comunicação entre esses processos específicos como sua principal função. CLIENTE SERVIDOR Constituidora da parte da arquitetura de microkernels, o modelo Cliente Servidor é bem similar ao detalhado anteriormente. Alguns processos denominados servidores, recebem as solicitações de serviços (leitura e/ou escrita de bloco, por exemplo) enviadas pelos processos clientes (ambos, processos no microkernel).
  • 8. 8 Como o kernel é muito pequeno e mais livre de códigos e operações de núcleo, a sua funcionalidade se resume em coordenar a comunicação coerente entres os processos clientes e servidores. MÁQUINAS VIRTUAIS Um exemplo de máquina virtual bastante utilizada é a Java Virtual Machine, criada pela Sun Microsystems, que objetivava o suporte a linguagem Java. Quando se executa um código Java, o interpretador da máquina virtual se encarrega de gerar os próprios bytecodes, que são cadeias de bytes próprios do Java. Uma das vantagens de utilizar uma máquina virtual, é que será gerado o mesmo bytecode, o que torna a aplicação em Java altamente portátil. Como é dependente de uma máquina virtual, o desempenho da aplicação é considerada visivelmente inferior a um código compilado em uma máquina real. EXOKERNELS É um caso especial de microkernel, com menos mecanismos em modo supervisor, ou seja, ainda beneficiados pelos acessos em modo usuário, os processos em modo de exokernel podem ter acesso ao hardware mais diretamente ao invés de ter de obter confirmações de biblioteca ou de núcleo. REFERÊNCIAS BIBLIOGRÁFICAS MACHADO, F. B. Maia, L. P. Arquitetura de Sistemas Operacionais. 3. Ed. LTC. 2002. TANENBAUM, Andrew S. Sistemas Operacionais Modernos. 2. Ed. Prentice Hall (Pearson), 2003.