Saltar para o conteúdo

Hierarchical File System

Origem: Wikipédia, a enciclopédia livre.

Hierarchical File System, ou HFS, também é um sistema de arquivos diferente encontrado no z/OS, um sistema operacional dos mainframes da IBM.

Hierarchical File System (HFS), é um sistema de arquivos desenvolvido pela Apple Computer para uso em computadores rodando o Mac OS. Originalmente projetado para uso em floppy e discos rígidos, ele também pode ser encontrado em suporte read-only como CD-ROMs. HFS também pode ser referenciado como HFS Standard e Mac OS Standard, sendo que o seu sucessor HFS+ também é chamado HFS Extended ou Mac OS Extended.

Ícone de esboço Este artigo sobre informática é um esboço. Você pode ajudar a Wikipédia expandindo-o.


Hierarchical File System Da Wikipédia, a enciclopédia livre Para outros usos, veja HFS (disambiguation) . HFS Developer (s) apple Computer Nome completo Hierarchical File System introduzido 17 de setembro de 1985 com o sistema 2.1 identificador de partição Apple_HFS ( a Apple Partition Map ) 0xAF ( MBR ) estruturas conteúdo do diretório B-tree alocação de arquivos bitmap bad blocks B-tree limites Max. tamanho do volume 2 TB ( 2 × 1024 4 bytes ) Max. tamanho do arquivo 2 GB ( 2 × 1024 3 bytes ) Max. número de arquivos 65535 Max. comprimento filename 31 caracteres caracteres permitidos em nomes de arquivos Todos os valores de 8 bits, exceto dois pontos ":". Desanimado nula e nonprints. Características datas registradas Criação, modificação, backup intervalo de datas 01 de janeiro de 1904 - 06 de fevereiro de 2040 resolução data 1s Forks Apenas 2 (dados e recursos) Atributos Cor (3 bits, todas as outras bandeiras 1 bit), bloqueado, ícone personalizado, pacote, invisível, aliás, sistema, artigos de papelaria, inited, sem recursos INIT, compartilhada, desktop Permissões do sistema de arquivos AppleShare compressão transparente Sim (third-party), Stacker criptografia transparente não De outros Suportados sistemas operacionais Mac OS , OS X , Linux , Microsoft Windows (através MacDrive ou Boot Camp [ carece de fontes? ] IFS motoristas) Hierarchical File System ( HFS ) é uma propriedade do sistema de arquivos desenvolvido pela Apple Inc. para uso em sistemas de computadores que executam o Mac OS . Originalmente projetado para uso em disquetes e discos rígidos , ele também pode ser encontrado em somente leitura mídias como CD-ROMs . HFS também é conhecido como Mac OS Standard (ou, erroneamente, "HFS Standard"), enquanto seu sucessor, HFS Plus , é também chamado de Mac OS Extended (ou, erroneamente, "HFS Extensão"). Com a introdução do OS X 10.6 , a Apple retirou o suporte para a formatação ou gravação de discos e HFS imagens , que permanecem apoiados como somente leitura volumes. [1]

conteúdo [ Hide ] 1 História 2 design 3 Limitações 4 Veja também 5 Referências 6 Ligações externas História [ editar ] HFS foi introduzido pela Apple em setembro de 1985, especificamente para apoiar primeira da Apple unidade de disco rígido para o Macintosh, substituindo o sistema de arquivo Macintosh (MFS), o sistema de arquivo original que havia sido introduzido ao longo de um ano e meio mais cedo, com o primeiro Macintosh computador . HFS se baseou fortemente na primeira hierárquica da Apple SOS sistema operacional para o fracassado Apple III , que também serviu como base para sistemas de arquivo hierárquicos sobre a Apple IIe e Apple Lisa . HFS foi desenvolvido por Patrick Dirks e Bill Bruffey. Ele compartilhou uma série de características de design com MFS que não estavam disponíveis em outros sistemas de arquivos do tempo (tal como DOS 's FAT ). Arquivos podem ter vários garfos (normalmente um conjunto de dados e uma bifurcação de recursos ), o que permitiu que os principais dados do arquivo a ser armazenados separadamente dos recursos, tais como ícones que podem precisar de ser localizada. Arquivos foram referenciadas com IDs de arquivo único, em vez de nomes de arquivos e nomes de arquivo poderia ser 255 caracteres (embora o localizador suportado apenas um máximo de 31 caracteres).

No entanto, MFS foi otimizado para ser usado em muito pequeno e lento media, nomeadamente disquetes , então HFS foi introduzido para superar alguns dos problemas de desempenho que chegaram com a introdução de mídia maior, nomeadamente discos rígidos . A principal preocupação foi o tempo necessário para exibir o conteúdo de uma pasta. Sob MFS todas as informações de arquivo e listagem de diretório foi armazenado em um único arquivo, que o sistema teve que procurar construir uma lista dos arquivos armazenados em uma pasta específica. Isso funcionou bem com um sistema com algumas centenas de kilobytes de armazenamento e, talvez, uma centena de arquivos, mas como os sistemas cresceu em megabytes e milhares de arquivos, o desempenho degradado rapidamente.

A solução foi substituir a estrutura de diretórios do MFS com um mais adequado para sistemas de arquivos maiores. HFS substituído a estrutura da tabela plana com o arquivo de catálogo que utiliza uma B-árvore estrutura que pode ser pesquisado muito rapidamente independentemente do tamanho. HFS também re-desenhado várias estruturas para ser capaz de realizar um número maior, inteiros de 16 bits a ser substituída por 32 bits quase universalmente. Estranhamente, um dos poucos lugares isso "upsizing" não ocorreu foi o diretório do arquivo em si, o que limita HFS a um total de 65.535 arquivos em cada disco lógico.

Enquanto HFS é um formato de sistema de arquivo proprietário, está bem documentado; geralmente há soluções disponíveis para acessar os discos HFS-formatados da maioria dos modernos sistemas operacionais .

Apple introduziu HFS em caso de necessidade com o seu primeiro 20 MB de disco rígido oferta para o Macintosh em Setembro de 1985, onde foi carregado na memória RAM de um disquete MFS na inicialização usando um arquivo de patch ( "Hard Disk 20"). No entanto, HFS não foi amplamente introduzido até que foi incluído no 128K ROM , que estreou com o Macintosh Plus em janeiro de 1986, juntamente com a unidade de disquete 800 KB maior para o Macintosh, que também usado HFS. A introdução de HFS foi o primeiro avanço pela Apple para deixar um modelo de computador Macintosh para trás: o original 128K Macintosh , que não tinha memória suficiente para carregar o código de HFS e foi imediatamente interrompida.

Em 1998, a Apple introduziu HFS Plus para tratar alocação ineficiente de espaço em disco em HFS e acrescentar outras melhorias. HFS ainda é suportado pelas versões atuais do Mac OS, mas a partir de OS X , um volume HFS não pode ser usado para arrancar , e começando com o OS X 10.6 (Snow Leopard), os volumes de HFS são somente leitura e não pode ser criado ou atualizado. A Apple anunciou que leia suporte para volumes HFS foi preterido no MacOS Sierra (10.12).

Projeto [ editar ] Um volume de armazenamento é inerentemente dividido em blocos lógicos de 512 bytes. Grupos do sistema de arquivos hierárquico destes blocos lógicos em blocos de alocação , que podem conter um ou mais blocos lógicos, dependendo do tamanho total do volume. HFS usa um valor de 16 bits para endereçar os blocos de atribuição, o que limita o número de blocos de alocação para 65,535 (2 16 -1).

Cinco estruturas tornar-se um volume HFS:

Blocos lógicos 0 e 1 do volume são os blocos de inicialização , que contêm informações de inicialização do sistema. Por exemplo, os nomes do sistema e Shell (geralmente o localizador de arquivos que são carregados na inicialização). Bloco lógico 2 contém o Mestre Diretório Bloco (aka MDB ). Isto define uma ampla variedade de dados sobre o próprio volume, por exemplo, data e selos de tempo para quando o volume foi criado, a localização das outras estruturas de volume, tais como o bitmap de volume ou o tamanho das estruturas lógicas, tais como blocos de alocação. Há também uma cópia do MDB chamado Alternate Mestre Diretório Bloco (aka Alternate MDB ), localizado na extremidade oposta do volume no segundo ao último bloco lógico. Este destina-se principalmente para uso por utilitários de disco e só é atualizado quando tanto o arquivo de catálogo ou Extents Overflow Arquivo crescer em tamanho. Bloco lógico 3 é o bloco de partida do Bitmap Volume , que mantém o controle de quais blocos de alocação estão em uso e que são livres. Cada bloco de atribuição em volume é representada por um bit no mapa: Se o bit for definido, o bloco está em uso; Se, é claro, em seguida, o bloco é livre para ser utilizado. Uma vez que o mapa de bits de volume deve ter um bit para representar cada bloco de atribuição, o seu tamanho é determinado pelo tamanho do próprio volume. O arquivo Extensão Overflow é um B-árvore que contém extensões adicionais que registro que blocos de alocação são alocados aos quais os arquivos, uma vez que os primeiros três extensões no arquivo de catálogo são usados. Versões posteriores também adicionou a capacidade para o arquivo Extensão Overflow para armazenar extensões que registram bad blocks, para evitar que o sistema de arquivos de tentar alocar um bloco ruim para um arquivo. O arquivo de catálogo é outro B-árvore que contém registros para todos os arquivos e diretórios armazenados no volume. Ele armazena quatro tipos de registros. Cada arquivo consiste de um registro da linha de arquivo e um registro do arquivo, enquanto cada diretório consiste em um registro Tópico Directory e um registro Directory. Arquivos e diretórios no arquivo de catálogo estão localizados pela sua única Catalog Node ID (ou CNID ). A Linha arquivo de gravação armazena apenas o nome do arquivo eo CNID de seu diretório pai. Um registro de arquivo armazena uma variedade de metadados sobre o arquivo incluindo a sua CNID, o tamanho do arquivo, três marcas de tempo (quando o arquivo foi criado, modificado pela última vez, último backup), as primeiras extensões de arquivo dos dados e bifurcações de recursos e ponteiros à First data e extensão de recursos registros do arquivo no arquivo Extensão Overflow. O registro do arquivo também armazena dois campos de 16 bytes que são usados ​​pelo Finder para armazenar atributos sobre o arquivo incluindo coisas como seu código de criador , o tipo de código , a janela do arquivo deve aparecer no e sua localização dentro da janela. A Linha diretório de gravação armazena apenas o nome do diretório e do CNID de seu diretório pai. Um registro de diretório que armazena os dados como o número de arquivos armazenados dentro do diretório, o CNID do diretório, três marcas de tempo (quando o diretório foi criado, modificado pela última vez, último backup). Como o registro do arquivo, o registro de diretório também armazena dois 16 campos de bytes para uso pelo Finder. Estes armazenar coisas como a largura e altura e x e y coordenadas para a janela usada para exibir o conteúdo do diretório, o modo de visualização (ícone de tela, exibição de lista, etc.) da janela e a posição de rolagem da janela Barra. Limitações [ editar ] O arquivo de catálogo, que armazena todos os registros de arquivos e diretórios em uma única estrutura de dados, resulta em problemas de desempenho quando o sistema permite multitarefa , como apenas um programa pode escrever para esta estrutura de cada vez, o que significa que muitos programas podem estar esperando na fila devido a um programa de "monopolizar" o sistema. [2] Ele também é uma preocupação séria confiabilidade, como danos a este arquivo pode destruir todo o sistema de arquivos. Isto contrasta com outros sistemas de arquivos que armazenam registros de arquivos e diretórios em estruturas separadas (tais como o sistema do DOS arquivos FAT ou o sistema de arquivos Unix ), onde ter estrutura distribuída através do disco significa que danificar um único diretório é geralmente não fatal e os dados possivelmente pode ser re-construída com dados contidos nas porções não-danificados.

Além disso, o limite de 65.535 blocos de alocação resultou em ficheiros que têm uma "mínimo" tamanho equivalente 1/65535 do tamanho do disco. Assim, qualquer dado volume, não importa o seu tamanho, só poderia armazenar um máximo de 65.535 arquivos. Além disso, qualquer arquivo seria alocado mais espaço do que realmente necessário, até o tamanho do bloco de alocação. Quando os discos eram pequenos, este foi de pouca importância, porque o tamanho do indivíduo bloco de alocação era trivial, mas como discos começaram a se aproximar da marca de 1 GB, a menor quantidade de espaço que qualquer arquivo pode ocupar (de um único bloco de alocação) tornou-se excessivamente grande , desperdiçando uma quantidade significativa de espaço em disco. Por exemplo, em um disco 1 GB, o tamanho do bloco de alocação sob HFS é de 16 KB, por isso mesmo um arquivo de 1 byte levaria até 16 KB de espaço em disco. Esta situação foi menos de um problema para os usuários tendo arquivos grandes (tais como imagens, bancos de dados ou de áudio), porque esses arquivos maiores desperdiçado menos espaço como uma porcentagem do seu tamanho. Os usuários com muitos arquivos pequenos, por outro lado, poderia perder uma quantidade abundante de espaço devido ao grande tamanho do bloco de alocação. Isso fez com que os discos de particionamento em volumes lógicos menores muito atraente para usuários de Mac, porque as pequenas documentos armazenados em um volume menor que ocupam muito menos espaço do que se residissem em uma partição grande. O mesmo problema existia no sistema de arquivos FAT16.

HFS salva o caso de um arquivo que é criado ou renomeado, mas é case-insensitive em operação.