Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Definindo Windows
Falaremos somente sobre Windows NT
NT 3.51 NT 4 Windows 2000 (NT5) Windows XP (NT 5.1) Windows 2003 Server (NT 5.2) Windows Vista e Longhorn Server (NT 6)
NTDLL
Security
I/O Manager
Memory Manager
O Memory Manager
Pea chave do Windows Baixo nvel, abaixo da implementao de gerenciamento de memria das linguagens ou frameworks
Nesse ponto do Windows, no importa se existe um Garbage Collector ou no
Funcionalidades
Espao de memria linear para todos os processos Gerencia espao de endereamento dos processos e seus Working Sets Memria Virtual e memria fsica File Mapping (arquivos mapeados) Memria compartilhada e copy-on-write Trabalha em conjunto com o Cache Manager e o I/O Manager
5
Processo?
basicamente uma instncia de um executvel um container para um address space e suas threads Conceito de segurana (tokens), cota, tabela de handles.
Arquivos Chaves de registros Primitivas de sincronizao, etc
Memria Virtual
Os programas no acessam a memria fsica diretamente Prov acesso linear memria Permite usar mais memria do que a quantidade instalada na mquina
Memria no voltil como retaguarda para excesso de uso: arquivo de paginao
System
(Kernel, Executive, HAL)
2Gb
Memria do Processo (user mode)
Aplicao
(User Process Space)
0
8
Memria Virtual
Como a memria virtual mapeada para a memria fsica
CR3 PD PT page dados
1024 PDEs
1024 PTEs
4096 bytes
Pginas de memria
Alocao por pgina de memria (4kb ou 4MB) Limite abstrado pelo Heap Manager do Windows ou da linguagem ou framework usado Determinado pelo hardware
10
12
Page Faults
O que acontece quando o programa acessa um dado que no est mais na memria?
Exceo/interrupo de hardware tratada pelo Memory Manager Restaurao da memria O que acontece se no existe memria fsica disponvel
Indicadores de memria
Virtual Memory Working Set Private Bytes
14
Mais funcionalidades
Flags de permisso de uso de memria
PAGE_READONLY PAGE_READWRITE PAGE_EXECUTE_READ PAGE_EXECUTE_READWRITE
16
Windows 64 bits
Windows Server sempre foi preparado para 64 bits, agora o Windows XP tambm Nos prximos anos todos os novos processadores sejam x64, suportando tanto sistemas operacionais 64 bits quanto 32 bits
17
Nmeros
Architectural component Virtual memory Paging file size Hyperspace Paged pool Non-paged pool System cache System PTEs 64-bit Windows 16 terabytes 512 terabytes 8 GB 128 GB 128 GB 1 terabyte 128 GB 32-bit Windows 4 GB 16 terabytes 4 MB 470 MB 256 MB 1 GB 660 MB
http://support.microsoft.com/default.aspx?scid=kb;en-us;294418
18
FileMapping
Mapeando arquivos na memria Uso na carga de executveis e DLLs Page faults Copy on write Prefetch do Windows XP SuperFetch do Windows Vista
19
20