File-Backed e seções com backup de arquivo de página
Todas as seções de memória têm suporte ("com suporte") por arquivos de disco que podem conter, temporariamente ou permanentemente, os dados a serem compartilhados.
Ao criar uma seção, você pode identificar um arquivo de dados específico ao qual a seção será apoiada. Essas seções são chamadas de seções com backup de arquivo .
Se você não identificar um arquivo de backup, a seção será apoiada pelo arquivo de paginação do sistema e a seção será chamada de seção com suporte de arquivo de página . Os dados nas seções com backup de arquivo podem ser gravados permanentemente no disco. Os dados em seções com backup de arquivo de página nunca são gravados permanentemente no disco.
Uma seção com backup de arquivo reflete o conteúdo de um arquivo real no disco; em outras palavras, é um arquivo mapeado em memória. Qualquer acesso a locais de memória em uma determinada seção com suporte de arquivo corresponde aos acessos aos locais no arquivo associado.
Se um processo mapear a exibição como somente leitura, todos os dados lidos do modo de exibição serão lidos de forma transparente do arquivo. Da mesma forma, se o processo mapear a exibição como leitura/gravação, todos os dados lidos da exibição ou gravados no modo de exibição serão lidos de forma transparente ou gravados no arquivo. Em ambos os casos, a memória virtual do modo de exibição não usa nenhum espaço nos arquivos de página.
Uma seção com backup de arquivo também pode ser mapeada como copy-on-write. Nesse caso, os dados da exibição são lidos do arquivo, mas todos os dados gravados na exibição não são gravados no arquivo; Em vez disso, ele é descartado depois que o modo de exibição final é não mapeado e o último identificador para a seção é fechado.
Uma seção com suporte de arquivo de página é apoiada pelos arquivos de página em vez de por qualquer arquivo explícito no disco. Todas as alterações feitas em uma seção com backup de arquivo de página são descartadas automaticamente depois que o objeto de seção é destruído. As seções com suporte de arquivo de página podem ser usadas como segmentos de memória compartilhada entre dois processos.
Qualquer seção, com backup de arquivo ou não, pode ser compartilhada entre dois processos. O mesmo intervalo de endereços de memória física é mapeado para um intervalo de endereços de memória virtual dentro de cada processo (embora não necessariamente para o mesmo endereço virtual).