FFS: Blocos Lógicos e Físicos em Partições

1

Eu estava lendo Sistema de arquivos rápido para UNIX onde diz o seguinte na página 3:

By ‘‘partition’’ here we refer to the subdivision of physical space on a disk drive. In the traditional file system, as in the new file system, file systems are really located in logical disk partitions that may overlap. This overlapping is made available, for example, to allow programs to copy entire disk drives containing multiple file systems

Eu não entendo muito bem o que "sobreposição" significa aqui. Aqui está o meu entendimento da organização do disco:

Os discos são divididos em setores (blocos físicos) que são necessariamente consecutivos. As partições são divisões lógicas do disco, com blocos de tamanho em múltiplos inteiros do tamanho do setor, que possuem um sistema de arquivos instalado.

A partição em si reside necessariamente em um pedaço contíguo do disco (embora os arquivos dentro da partição possam ser distribuídos aleatoriamente dentro da partição).

  1. O meu entendimento da organização do disco está correto?
  2. O que o papel significa por partição sobreposta?
por Shrikant Giridhar 22.06.2017 / 08:22

1 resposta

2

Tenha em mente que o texto que você está lendo é de cerca de 35 anos atrás, e enquanto muitas das características dos "Fast File Systems" sobreviveram, e. no ext2, eu suponho que você está fazendo isso para estudar a história.

Disks are divided into sectors (physical blocks) which are necessarily consecutive.

Classificar de. Fisicamente , o disco rígido é dividido em pratos, cada um com uma cabeça de leitura / gravação. Um círculo concêntrico em uma bandeja forma uma trilha, e o conjunto de trilhas na mesma posição para cada prato forma um cilindro. As faixas são divididas em setores.

Esta é uma estrutura 3D, não linear, por isso não pode ser consecutiva. No entanto, cada setor (em cada cilindro, em cada cabeça) recebe um número de bloco, e esses números de bloco são consecutivos, e os blocos físicos consecutivos estão localizados muito próximos uns dos outros.

Assim, do ponto de vista do sistema operacional, um disco rígido consiste em vários blocos físicos, com endereços de blocos físicos consecutivos (ou endereços de setores, porque cada bloco é um setor físico).

No PC (e não no PDP-11 / VAX como no documento), o endereçamento do disco rígido passou de um esquema de cilindro / cabeça / setor (CHS) para um esquema de endereço de bloco (LBA).

Partitions are logical divisions of the disk, with blocks of size in integer multiples of the sector size, ...

Sim. Block é uma palavra perigosa, porque pode significar coisas diferentes em contextos diferentes. Os sistemas de arquivos usam "blocos de sistema de arquivos" ou "blocos de alocação", que são múltiplos do tamanho do bloco físico. As partições, pelo menos as partições no estilo PC e BSD, normalmente usam blocos físicos como "tamanho do bloco de partição".

... which have a file system installed.

Não necessariamente. Também pode ser swap de espaço, ou uma partição estendida do PC (um espaço reservado para permitir mais de quatro partições), ou uma partição bruta do BSD (veja abaixo).

The partition itself necessarily resides in a contiguous chunk of the disk (although files inside the partition may be spread out randomly within the partition).

Sim. Uma partição é apenas um conjunto contíguo de blocos físicos (dados por blocos inicial e final, ou bloco inicial e número de blocos nesta paritição).

Portanto, nada nos impede de definir uma partição que contenha várias outras partições. De fato, se você olhar o exemplo de partição BDS em bsdlabel ,

 8 partitions:
   #      size   offset    fstype   [fsize bsize bps/cpg]
   a:    81920       16    4.2BSD     1024  8192    16
   b:   160000    81936      swap
   c:  1173930        0    unused        0     0        # "raw" part, don't edit

A parti�o a consiste no bloco 16-81935, na parti�o b dos blocos 81936-1681936 e na parti�o c dos blocos 0-1173929. Então, a partição c "contém" as partições aeb (e alguns blocos extras).

A última partição "bruta" que abrange todo o disco é por conveniência: Permite que o sistema operacional acesse o disco completo, por exemplo, para copiá-lo inteiramente. No Linux, isso não é necessário, porque o sistema operacional pode acessar o dispositivo de bloco que representa o disco inteiro.

Note que é impossível que uma partição "contêiner" tenha um sistema de arquivos, porque isso colidiria com os sistemas de arquivos ou outros dados nas partições contidas.

    
por 22.06.2017 / 10:48