O que determina o tamanho da página e o tamanho do cluster?

2

O tamanho da página de memória determinada pela própria RAM ou pelo sistema operacional? Ou seja, o tamanho da página de uma RAM é o mesmo para todos os sistemas operacionais que usam a RAM?

É o tamanho de um cluster de um sistema de arquivos determinado pelo próprio sistema de arquivos ou pelo SO que usa o sistema de arquivos? Por exemplo, o tamanho do cluster de uma partição ntfs é o mesmo quando a partição é usada no Linux e no Windows?

Obrigado.

    
por Tim 01.01.2015 / 23:17

1 resposta

5

Tamanho da página de memória
As restrições no tamanho da página de memória são principalmente os critérios de desempenho e hardware da MMU (Memory Management Unit). Obviamente, o tamanho de página escolhido tem que ser suportado pela MMU (ou seja, o hardware de mapeamento de página que fornece traduções de memória virtual). O tamanho da página é escolhido para a quantidade de código ou dados que devem ser trocados para dentro ou para fora quando ocorre uma falha de página (uma pequena função não está na memória, então nós trocamos dados e lemos em apenas 1K de código ou usamos 8K de código?) e o custo de transferir essa quantidade de código / dados (por exemplo, a leitura em dois setores é mais rápida do que a leitura de 16 setores). Historicamente, o 4KiB tem sido um equilíbrio adequado para muitos sistemas. O tamanho real usado é especificado no código de memória virtual do sistema operacional.

Tamanho do cluster
O tamanho do cluster é puramente uma unidade de sistema de arquivos e o termo "cluster" é basicamente uma terminologia da Microsoft. O termo genérico é unidade de alocação dentro de um sistema de arquivos. A unidade de alocação é intrínseca à instalação específica do sistema de arquivos (ou seja, uma partição NTFS pode ter um tamanho de cluster de 4 KiB e outra partição NTFS na mesma unidade de disco pode ter clusters de 64 KiB).

A unidade de alocação do sistema de arquivos é principalmente para a contabilidade de setores de disco livres (ou seja, não alocados) versus em uso (ou seja, alocados para arquivos e diretórios) (na partição). Cada arquivo é composto de uma lista ordenada de unidades de alocação (ou seja, clusters).

O tamanho da alocação é escolhido / especificado no momento da criação do sistema de arquivos (ou seja, formatação), e deve ser baseado em alguns setores (mas preferencialmente uma potência de 2), já que o tamanho do setor é a unidade fundamental de acesso. e E / S de disco físico. Um pequeno tamanho de alocação (tal como apenas 1 setor) tende a ter um impacto mais negativo (em vez de positivo, ou seja, menor desperdício de espaço) no desempenho do sistema de arquivos (e disco), como uma tabela de alocação maior e mais contabilidade. Um pequeno tamanho de alocação também restringiria o endereçamento de alocação e a capacidade total do sistema de arquivos. Um grande tamanho de alocação é benéfico quando o sistema de arquivos tem que abranger uma partição grande e / ou o tamanho típico do arquivo será grande (o tamanho grande do cluster poderia reduzir a fragmentação), mas às custas de mais desperdício de espaço.

Observe que a E / S de disco não precisa ser executada em unidades com tamanho de alocação (por exemplo, se o arquivo for menor que um setor de 512 bytes, o sistema operacional pode optar por ler apenas o primeiro setor em vez de todo grupo). Mas qualquer sistema operacional que acesse um sistema de arquivos deve aderir ao seu tamanho de alocação intrínseca (ou seja, o tamanho da alocação não pode ser alterado).

Veja também Quais são os setores de disco? e Desvantagens de um pequeno tamanho de unidade de alocação

    
por 02.01.2015 / 00:34