ARQUITECTURA DO
WINDOWS
MS DOS
No sistema operativo MS-DOS, a
BIOS (Basic Input Output System),
disponibilizava os drivers para o
hardware por meio de:
zInterrupções
de software
O próprio MS-DOS exportava serviços
por meio de interrupções de software
WINDOWS 3.X
zO
MS-DOS era executado no 8088 ou
nos processadores que lhe sucederam
em modo REAL.
z O Windows 3.x surgiu como uma
interface gráfica para o DOS.
z Quando se executava o Windows o PC
funcionava em modo ROTEGIDO,
quando se saia e volta ao DOS
retornava ao modo REAL.
WINDOWS 3.X
z
z
z
O Windows passou a dispor de device-drivers
em modo protegido, capazes de manipular
interrupções de I/O
Estes drivers localizavam-se na directoria
windows\system, e possuíam a extensão .drv
Semelhantes no funcionamento as DLL e
serviam para fazer de interface entre o
hardware e o Kernel do windows sem nunca
abandonar o modo protegido
WINDOWS 3.X
z Maquina
Virtual
z Com os processadores de 32 bits
(80386) foi possível aperfeiçoar o
conceito de multi-tarefa, melhorando o
conceito de maquina virtual
z Para uma aplicação a Máquina Virtual
(VM), oferece a ilusão de um
computador completo.
WINDOWS 3.X
z
z
z
No entanto o Windows continuava a usar o
DOS e a BIOS para as operações de I/O em
disco e arquivos
No Windows 3.0 o sistema operativo
comutava para o modo virtual 8086 sempre
que havia necessidade de operações de I/O.
O Windows forçava as aplicações a
esperarem em fila única para os serviços do
modo real
WINDOWS 95/2000
z Diferente
das versões anteriores requer
um processador de 32 bits
z Oferece vários níveis de privilégios para
os programas em execução
z Os componentes do sistema operativo
que formam o Kernel do sistemasão
executados como maior nível de
previlégio, é o ring zero ou anel zero
WINDOWS 95/2000
z No
nível zero um programa pode aceder
a qualquer posição de memória ou de
I/O e pode executar qualquer instrução
z Ao código que corre no nível zero é
denominado de código supervisor
z Os programas ou aplicações para
windows são executado no nível de
menor previlégio ou seja anel 3
WINDOWS 95/2000
z
z
No nível 3 o sistema operativo disponibiliza as
aplicações mecanismos para controle de
acesso à memória as portas I/O, de modo a
se proteger das aplicações
Quando uma aplicação tenta realizar uma
operação que o seu nível não permite o
processador interrompe o programa e gera
uma excepção que é tratada pelo sistema
operativo.
MÁQUINAS VIRTUAIS
z Para
compatibilizar o Windows com as
aplicações DOS, permitindo a execução
das aplicações DOS dentro do Windows.
z O problema que vem do dos é que são
aplicações mono-tarefa e monoutilizador
z Para permitir a partilha de recursos o
Windows implementou as máquinas
virtuais
MÁQUINAS VIRTUAIS
z Uma
VM é um conjunto de recursos de
hardware e software que reage aos
programas da mesma maneira que um
máquina real com teclado, video, rato, …
z O hardware emulado por uma VM, inclui:
Espaço de endereçamento I/O
z Espaço de memória
z Interrupções do controlador PIC
z Registos do processador
z
MÁQUINAS VIRTUAIS
z Numa
VM o acesso ao hardware é
interceptado, através de excepções pelo
Windows
z A gestão das VM usa as características
do processador para a gestão e criação
das VMs, como sejam:
Tradução de endereços
z Intercepção de instruções I/O
z Comutação de tarefas
z
MÁQUINAS VIRTUAIS
z
z
z
Quando um processo, dentro de uma VM faz
uma acessos a portos I/O, o processador
intercepta este acesso e transfere para o
WMM
O WMM pode impedir o acesso a algumas
região da memória ou a portas I/O ou
redireccionar o acesso para outra região de
memória ou para um VxD
Cada VM tem a sua própria porta I/O e o seu
espaço de memória
MÁQUINAS VIRTUAIS
z Cada
VM pode ter o seu próprio
controlador de interrupções
z No caso de um interrupção por software
um device-driver virtual (VxD) traduz a
chamada à interrupção no modo
protegido para uma chamada à tabela
de vectores de interrupção em modo real
MÁQUINAS VIRTUAIS
z Hardware
virtual – Software que atende
os pedidos de in e out executadas pela
VM tal como o circuito fisico o faria
z O VMM cria várias VMs independentes.
A VM do sistema é partilhada por todas
as aplicações Windows de 16 ou 32 bits,
enquanto que cada aplicativo DOS tem a
sua VM.
MÁQUINAS VIRTUAIS
zO
VMM partilha a execução das varias
aplicações em execução com o
processador.
MÁQUINAS VIRTUAIS
z Conceito
de THREAD
z Um thread consiste numa sequencia de
instruções do estado do processador e
de quaisquer recursos associados
aquela sequencia.
z Cada programa de DOS tem um Thread
z Os programas Windows têm inicialmente
uma thread, mas podem criar outras
concorrentes
MÁQUINAS VIRTUAIS
zA
VM do sistema tem varias threads em
execução
z A VM de um programa DOS apenas tem
uma thread
z Cabe à VMM escolher qual a thread a
executar
Download

ARQUITECTURA DO WINDOWS