Você está na página 1de 43

Estruturas do sistema operacional

Sistema de vários componentes e


camadas de software

Windows

9
Três eventos que causam a troca para
o modo supervisor (kernel)

1. Interrupções de hardware de um dispositivo de E/S (disco, clock,


mouse, etc.):
• São assíncronos, e independentes do processo em execução
• Por exemplo: timer informa que fatia de tempo terminou, ou
dispositivo de E/S avisa que completou operação de escrita

2. Execução de uma instrução que causa uma exceção


• Por exemplo: divisão por zero, ou acessso a endereço
inválido
• Núcleo geralmente encerra o processo!

3. Programa em execução faz uma chamada de sistema (system


call) solicitando um serviço do Sistema Operacional

Nos três casos, núcleo faz a troca de contexto e passa controle da


CPU a outra tarefa (processo). 31
Exemplo com chamada Open
Interface das Chamadas de Sistema

• Interface de programação fornecida pelo SO


• Geralmente escrita em linguagem de alto nível (C, C++ ou
Java)
• Normalmente, as aplicações utilizam uma Application
Program Interface (API)
• Interface (API) que encapsula o acesso directo aos system
calls As APIs mais utilizadas são:
• Win32 API para Windows,
• POSIX API para sistemas baseados em POSIX
(incluindo quase todas as versões do UNIX, Linux e
Mac OSX)
• Java API para a Java Virtual Machine (JVM)

18
Portabilidade

aplicação do usuário

read(fd, buffer, var)

API

read() do Solaris read() do Linux read() do AIX

Solaris Linux AIX

45
Chamadas de Sistema
 Modos de Acesso:
 Modo usuário;
 Modo kernel ou Supervisor ou Núcleo;
 São determinados por um conjunto de bits localizados
no 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;
25
Chamadas de Sistema
 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, com um
acesso reduzido de instruções;
 Por que? Para garantir a segurança e a
integridade do sistema;
37
Chamadas de Sistema
 Modo Kernel:
 Aplicações têm acesso direto aos recursos da
máquina, ou seja, ao hardware;
 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;
27
Chamadas de Sistema
 Se uma aplicação precisa realizar alguma instrução
privilegiada, ela realiza uma chamada de
sistema, 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 Sistema Operacional no modo kernel;
 As chamadas se diferem de SO para SO, no entanto, os
conceitos relacionados às chamadas são similares
independentemente do SO;

28
Chamadas de Sistema
 TRAP: instrução que permite o acesso ao
modo kernel;
– Interrupção de software; exceções;
Overflows

Interrupção: é normalmente iniciada por
– dispositivos de I/O.

29
Chamadas de Sistema
 Outros exemplos de chamadas de sistema:
 Chamadas para gerenciamento de processos:
 Fork (CreateProcess – WIN32) – cria um processo;
 Chamadas para gerenciamento de diretórios:
 Mount – monta um diretório;
 Chamadas para gerenciamento de arquivos:
 Close (CloseHandle – WIN32) – fechar um arquivo;
 Outros tipos de chamadas:
 Chmod: modifica permissões;

30
Máquinas virtuais

Máquina não virtual Máquina virtual


Virtualização
Execução de vários sistemas operacionais (simultaneamente e
independentemente) em um único computador.
Cada Sistema Operacional executa em uma máquina virtual (VM) que
acessa recursos através de um monitor.
O Monitor (ou hypervisor):
• implementa - em software - exatamente as instruções da máquina
hospedeira, e traduz essas para as instruções da máquina física.
• permite compartilhar os recursos (CPU, memória, disco, etc.) e
multiplexar o uso dos demais dispositivos, com total isolamento.

Vantagens:
• Melhor utilização dos recursos de HW (usado em data centers)
• Evita que um sistema operacional hospedado possa derrubar uma
máquina
Desvantagens:
• Torna mais lenta a execução de cada sistema hospedado

Exemplos: VMware, Bochs, Xen, Virtual Box, Virtual PC,…


Dois tipos de máquinas virtuais

Exemplos:
Hyper-V (Microsoft)
VMware ESX Server

Usado em servidores
de datacentros

(Guest OS Virtualization)
Exemplos:
VirtualBox, VMware
Server, VMware
Workstation and
Microsoft Virtual PC

Usado em PCs e
máquinas pouco
compartilhadas 55
MÁQUINAS VIRTUAIS E CONTAINERS

Principais Diferenças

Oracle VirtualBox e Docker

By Caio Raposo
FUNCIONAMENTO DA JVM

JAVAC (Compilador)

Windows
JVM (Interpretador) Linux

MacOS
Para maiores esclarecimentos: Resenha tipos de
hipervisor e tipos de virtualização!
https://www.gta.ufrj.br/ensino/eel879/trabalhos_vf_2010_2/luizaugusto/tipos_arq.html

Você também pode gostar