Sistema de arquivo. Sistemas de arquivos de computador - descrição e características do sistema de arquivos de PC

Arquivo- um conjunto nomeado de dados apresentados em um meio de armazenamento de computador. O conceito de arquivo se aplica principalmente aos dados armazenados em discos e, portanto, os arquivos são geralmente identificados com áreas de armazenamento em disco nessas mídias.

Sistema de arquivo inclui regras para a formação de nomes de arquivos e formas de acessá-los, um sistema de índice de arquivos e uma estrutura para armazenamento de arquivos em discos.

O arquivo tem um nome e atributos(arquivado, somente leitura, oculto, sistema), caracterizado pelo tamanho em bytes, data e hora da criação ou última alteração.

O nome do arquivo consiste em duas partes: o nome real e a extensão (tipo). Tipo pode estar faltando. O nome é separado do tipo por um caractere de ponto. No Windows, você pode nomear arquivos com até 255 caracteres. O tipo indica o tipo e a finalidade do arquivo, alguns deles são padrão, por exemplo:

· .COM e .EXE – arquivos executáveis;

· .BAT - arquivo em lote de comandos;

· .TXT – arquivo de texto de qualquer tipo;

· .MDB - Arquivo de banco de dados de acesso;

· .XLS – planilha Excel;

· .DOC – arquivo de texto do editor Microsoft Word;

· .ZIP - arquivo compactado Winzip/PkZip.

O uso de extensões padrão permite não especificá-las na execução de programas do sistema e pacotes de aplicativos, sendo utilizado o princípio padrão.

Diretório (pasta, diretório) - um conjunto nomeado de arquivos combinados com base no fato de pertencerem ao mesmo produto de software ou por outros motivos. A expressão “o arquivo está incluído no diretório” ou “o arquivo está contido no diretório” significa que as informações sobre este arquivo são gravadas na área do disco relacionada a esse diretório. Os nomes dos diretórios seguem as mesmas regras dos nomes dos arquivos. Os diretórios geralmente não possuem uma extensão, embora uma possa ser atribuída.

Em cada disco físico ou lógico existe raiz(head) diretório que não pode ser criado, excluído ou renomeado pelo usuário. É indicado pelo caractere '\' (em alguns sistemas operacionais você também pode usar '/'). Outros diretórios e arquivos podem ser registrados no diretório head. Os subdiretórios podem, por sua vez, conter diretórios de nível inferior. Essa estrutura é chamada sistema hierárquico ou árvore diretórios nos quais o diretório principal forma a raiz da árvore e os diretórios restantes são como ramificações.

Agrupar arquivos em diretórios não significa que eles estejam agrupados de alguma forma em um local do disco. Além disso, o mesmo arquivo pode ficar “espalhado” (fragmentado) por todo o disco. Arquivos com os mesmos nomes podem estar localizados em vários diretórios do disco, mas vários arquivos com o mesmo nome não podem estar localizados no mesmo diretório.

Para que o sistema operacional acesse o arquivo, você deve especificar:

· caminho ao longo da árvore de diretórios;

· nome completo do arquivo.

Esta informação está indicada em especificações de arquivo, que tem o seguinte formato:

[unidade:][caminho]nome do arquivo[.type]

Colchetes indicam que a parte correspondente da especificação pode ser omitida. Neste caso o valor é usado padrão.

Se nenhuma unidade for especificada, a unidade atual será usada. Atual disco é o disco em que o sistema operacional está sendo executado no momento.

Caminho-sequência de pastas que precisam ser navegadas até o arquivo desejado. Os nomes no caminho são escritos em ordem decrescente de precedência e separados pelo caractere "\". O diretório que contém o diretório atual é chamado parental.

Muitas vezes é necessário processar vários arquivos de uma só vez com um comando. Por exemplo, exclua todos os arquivos de backup com extensão BAK ou reescreva vários arquivos de documentos com os nomes doc1.txt, doc2.txt, etc. máscaras, permitindo descrever um grupo de arquivos com um nome. Existem apenas duas máscaras:

· o símbolo * no nome ou extensão do arquivo substitui qualquer número permitido de caracteres;

· símbolo? substitui qualquer caractere ou falta de caractere em um nome ou extensão de arquivo.

Nossos exemplos corresponderão às máscaras *.bak (todos os arquivos com extensão bak) e doc?.txt (todos os arquivos com extensão txt e um nome de 4 caracteres começando com doc).

Perguntas sobre o tema enviadas para teste:

1. Definição de SO. Conceitos básicos do sistema operacional Windows (multitarefa, interface gráfica do usuário, incorporação e vinculação de dados).

2. Interface gráfica do usuário, seus principais componentes (janelas, ferramentas de diálogo, gerenciamento padrão de janelas e ferramentas de diálogo).

3. Trabalhando com teclado e mouse no Windows. Combinações de teclas padrão e operações do mouse.

4. Trabalhando com arquivos e pastas no Windows - operações e recursos básicos. Programas “Meu Computador” e “Explorer”.

5. Busca de informações no Windows.

6. Crie atalhos para aplicativos e documentos.

7. Painel de controle e seus principais componentes.

8. Tratamento de falhas no Windows.

9. Configurando aplicativos DOS para Windows.

e colocar banner é OBRIGATÓRIO!!!

Plano de aula nº 5

Na disciplina CIÊNCIA DA COMPUTAÇÃO

Seção 2. Tecnologia da informação Sistema de arquivos de um computador pessoal. Gerenciador de arquivos Norton Commander

Metas:

didático: repita o conceito de sistema de arquivos de um computador pessoal, ensine os alunos a usar o gerenciador de arquivos Norton Commander.

em desenvolvimento: desenvolver o pensamento informativo dos alunos.

educacional: educar os alunos como especialistas modernos que podem aplicar novas tecnologias avançadas em atividades práticas.

Tipo de aulas (tipo de aula): palestra

Formas organizacionais de treinamento: palestra-conversa

Métodos de ensino: conversação

Meios de educação

Tipo e formas de controle do conhecimento: levantamento frontal

Controles

Conexões intrassujeitos

Conexões interdisciplinares

Tipos de trabalho independente dos alunos

Trabalho de casa: repetir notas de aula

Progresso da aula

Sistema de arquivos de um computador pessoal

Pastas e arquivos (tipo de arquivo, nome de arquivo). Sistema de arquivo. Operações básicas com arquivos no sistema operacional

Arquivo. Todos os programas e dados são armazenados na memória de longo prazo (externa) do computador na forma de arquivos. Um arquivo é uma certa quantidade de informações (programa ou dados) que possui um nome e é armazenada na memória de longo prazo (externa).

O nome do arquivo consiste em duas partes separadas por um ponto: o nome real nome do arquivo E extensão, definindo seu tipo (programa, dados, etc.). O nome real do arquivo é fornecido pelo usuário e o tipo de arquivo geralmente é definido automaticamente pelo programa quando ele é criado.

Diferentes sistemas operacionais possuem diferentes formatos de nome de arquivo. No sistema operacional MS-DOS, o próprio nome do arquivo não deve conter mais do que oito letras do alfabeto latino e números, e a extensão consiste em três letras latinas, por exemplo: proba.txt

No sistema operacional Windows, o nome do arquivo pode ter até 255 caracteres, podendo ser utilizado o alfabeto russo, por exemplo: Unidades de informação.doc

Sistema de arquivo. Cada meio de armazenamento (disquete, disco rígido ou laser) pode armazenar um grande número de arquivos. A ordem em que os arquivos são armazenados no disco é determinada pelo sistema de arquivos instalado.

Para discos com um pequeno número de arquivos (até várias dezenas), é conveniente usar um sistema de arquivos de nível único, quando o diretório (índice do disco) é uma sequência linear de nomes de arquivos.

Se centenas e milhares de arquivos estiverem armazenados em um disco, para facilitar a pesquisa, os arquivos serão organizados em um sistema de arquivos hierárquico de vários níveis, que possui uma estrutura em “árvore”.

Elementar, raiz, o diretório contém aninhados Diretórios de 1º nível, por sua vez, cada um deles contém aninhados Diretórios de 2º nível etc. Deve-se observar que os arquivos podem ser armazenados em diretórios em todos os níveis.

Operações de arquivo. Ao trabalhar em arquivos em um computador, as seguintes operações são executadas com mais frequência:

* copiando– uma cópia do arquivo é colocada em outro diretório;

* em movimento– o próprio arquivo é movido para outro diretório;

* eliminação– a entrada do arquivo é excluída do diretório;

* renomear– o nome do arquivo é alterado.

Representação gráfica do arquivo sistemas. Sistema de arquivos hierárquico MS DOS, contendo diretórios e arquivos, é apresentado no sistema operacional Windows por meio de uma interface gráfica e na forma de um sistema hierárquico de pastas e documentos. Pasta em janelasé análogo ao diretório do MS-DOS.

No entanto, as estruturas hierárquicas destes sistemas são um pouco diferentes. No sistema de arquivos hierárquico MS-DOS, o topo da hierarquia de objetos é o diretório raiz do disco, que pode ser comparado ao tronco de uma árvore - galhos (subdiretórios) crescem nele e folhas (arquivos) estão localizadas em os ramos.

No Windows, no topo da hierarquia de pastas está a pasta Desktop (Figura 1).

Área de Trabalho

Bairro de rede da lixeira do meu computador

A B C B E PC1 PC2 PC3 PC4

Arroz. 1. Estrutura hierárquica de pastas

O próximo nível é representado pelas pastas Meu Computador, Lixeira e Vizinhança de Rede (se o computador estiver conectado a uma rede local).

Gerenciador de arquivos Norton Commander

Introdução

O shell operacional Norton Commander (NC) foi projetado para facilitar o uso de um computador pessoal durante o trabalho diário nos sistemas operacionais MS-DOS e Windows. O Norton Commander permite realizar operações frequentemente utilizadas em arquivos, diretórios e discos, como copiar e excluir arquivos, navegar em diretórios, pesquisar arquivos e muitas outras, de forma simples e conveniente.

O arquivo principal é denominado nc.exe. Normalmente, o Norton é instalado na unidade C: no diretório NC. Portanto, para executá-lo na linha de comando você precisa digitar:

C:\>C:\NC\NC

C:\>NC\NC

Ao iniciar o Norton Commander, duas janelas azuis chamadas painéis, semelhantes às mostradas na figura, aparecem na tela.

Tela NC pode ser dividido em quatro partes. Vamos listá-los de cima para baixo:

* Menus suspensos;

* Painéis informativos – esquerdo e direito;

* Linha de comando;

* Teclas de teclas de função.

Os menus suspensos permitem executar quase todas as funções NC. Ele pode ser acessado a partir do teclado usando a tecla.

Painéis- estas são as principais janelas para exibir informações sobre a estrutura do sistema de arquivos do seu PC, ou seja, sobre a localização de arquivos e diretórios. Cada painel pode conter as seguintes informações:

* nomes de arquivos completos (indicando o tamanho, data e hora da última modificação) e abreviados (apenas nome), em vários métodos de classificação;

* árvore hierárquica de arquivos (colocação de arquivos e subdiretórios em diretórios);

* informações sobre este diretório ou disco.

Linha de comando- espaço para o usuário digitar diretamente comandos do MS DOS e emitir mensagens. É aqui que o cursor da linha de comando do DOS está localizado.

As teclas de função são usadas especificamente para executar rapidamente o comando desejado. O manipulador do mouse tem permissão para acessar esses botões.

Se você olhar com atenção, em um dos painéis você encontrará um retângulo verde-acinzentado destacando uma posição específica. Este é o cursor do painel do Norton Commander. Ele é movido usando as mesmas teclas normais, ou seja, as teclas do cursor. O cursor pode ser movido entre painéis pressionando a tecla ou . Estas operações também podem ser realizadas usando o mouse. Façamos uma ressalva que pela palavra “cursor” precisamos entender justamente esta seleção do fundo da posição selecionada. Com sua ajuda podemos navegar por arquivos, diretórios e unidades de computador. Observe que no canto superior esquerdo do painel do diretório aberto (atual, não raiz) existem os símbolos “..” (dois pontos, não confundir com os dois pontos “:”). Esta posição destina-se a sair deste diretório para um diretório de nível superior. O painel no qual o cursor está localizado é denominado painel ativo.

As operações com o arquivo selecionado podem ser realizadas pressionando a tecla. Se o arquivo selecionado tiver a extensão “com”, “exe” ou “bat”, então ele começará a ser executado. Caso contrário, nada acontecerá.

Algumas operações (copiar, mover, excluir, etc.) podem ser executadas não em um objeto, mas em grupos de arquivos selecionados de uma só vez. Para selecionar os arquivos, mova o cursor até o arquivo desejado e pressione a tecla, o nome do arquivo ficará destacado em amarelo, a seguir selecione o próximo arquivo da mesma forma e assim por diante. Os arquivos também podem ser selecionados pressionando a tecla [+]. Em seguida, no painel que aparece, digite um padrão de arquivos que deseja selecionar (por exemplo, “*. com“ – todos os arquivos com extensão “com”) e clique em. Você pode excluir alguns arquivos do grupo de arquivos selecionados pressionando ou pressionando [-], digitando um modelo de arquivo e pressionando .

Teclas de função

Como já mencionado, a linha inferior da tela lista os comandos disponíveis para as teclas de função. Vamos dar uma olhada neles.

Chave - “Ajuda” - “Ajuda”

Ao pressionar esta tecla, a seção “Ajuda” é exibida na tela, descrevendo a finalidade das teclas e comandos para a operação que está sendo realizada. Se nenhuma operação estiver sendo realizada no momento, a tecla acessará o conteúdo de todas as seções do sistema de ajuda.

Você pode navegar pela Ajuda pressionando as teclas apropriadas.

Tecla - “Chamar” - “Usuário”

Através da tecla, o usuário pode acessar um menu adicional de comandos criados por ele (se criado), executados ao pressionar qualquer tecla. Este menu pode conter comandos e programas usados ​​com mais frequência durante o trabalho.

Tecla - “Leitura” - “Visualizar”

Este comando permite visualizar o conteúdo dos arquivos na tela sem alterá-los. A vantagem do comando de visualização de arquivos sobre os editores de texto é que ele permite visualizar arquivos de qualquer tamanho e fazer isso muito rapidamente.

Tecla - “Editar” - “Editar”

Usando este comando, o arquivo selecionado é carregado no editor integrado Norton Commander (a propósito, você pode conectar qualquer outro editor externo).

Selecione um arquivo e clique em .

Chave - “Copiar” - “Copiar”

Este comando permite copiar.

Chave - “Novo nome” - “RenMov”

Usando este comando você pode renomear e mover arquivos ou diretórios.

Chave - “NovKat” - “Mkdir”

A chave permite criar um novo diretório no painel ativo, que será um subdiretório do atual.

Lembre-se de que os nomes dos diretórios podem ter no máximo oito caracteres e uma extensão de até três caracteres, o que é opcional em princípio.

Tecla - “Excluir” - “Excluir”

Usando o comando disponível com esta chave, você pode excluir arquivos e diretórios.

Antes de excluir um grupo de arquivos, será perguntado se você tem certeza desta operação (quadro vermelho com as palavras “Ok” e “Cancelar”), se tiver certeza, clique em , caso contrário, clique em .

Tecla - “Menu” - “Menu”

Este comando abre o acesso ao menu suspenso na linha superior da tela. Seus comandos e suas funções serão descritos na seção correspondente deste manual.

Tecla - "Sair" - "Sair"

Pressionar a tecla sai do Norton Commander. Também pergunta se você tem certeza desta operação (uma moldura cinza com as palavras “Sim” e “Não”), se tiver certeza pressione , se não tiver certeza pressione .

Alterar unidade -Drive

Este item de menu permite alterar rapidamente o disco de trabalho nos painéis esquerdo e direito. Ao selecionar este comando, uma lista de dispositivos de armazenamento conectados (discos) é exibida, selecione o que você precisa e pressione . Este comando também é executado quando você pressiona a combinação de teclas - para o painel esquerdo e - para o painel direito.

Trabalhando com o mouse

O manipulador do mouse facilita muito o trabalho com o Norton Commander. Ao usá-lo, você pode mover livremente o cursor vermelho do “mouse” pela tela e realizar diversas ações.

* Para selecionar um arquivo, mova o cursor vermelho do mouse sobre o arquivo e pressione o botão esquerdo do mouse.

* Para iniciar um arquivo para execução, clique duas vezes nele com o botão esquerdo - o programa será iniciado.

* Para incluir um arquivo em um grupo, pressione o botão direito do mouse (semelhante a pressionar a tecla).

* Para selecionar uma posição em qualquer menu, mova o cursor para a posição desejada usando o mouse e pressione o botão esquerdo do mouse.

Por exemplo, para copiar um arquivo selecionado, mova o cursor vermelho do mouse sobre o arquivo, pressione o botão esquerdo do mouse, selecione a palavra “Copiar” na linha inferior e pressione o botão esquerdo do mouse novamente. Se você estiver satisfeito com o propósito da cópia, pressione a tecla direita - a cópia será executada, cancele a cópia - tecla do teclado.

O uso do mouse não exclui a possibilidade de digitar comandos no teclado.

Executando comandos DOS

Os comandos podem ser digitados diretamente na linha de comando do DOS. Para fazer isso, basta digitar o comando no teclado e pressionar. Se um comando exigir um nome de arquivo e sua extensão, selecione o arquivo, digite o nome do comando e (mantenha pressionado).

Plano de aula nº 5

Sistema de arquivos de um computador pessoal. Gerenciador de arquivos Norton Commander

Apreciado? Por favor, agradeça-nos! É grátis para você e é uma grande ajuda para nós! Adicione nosso site à sua rede social:

Em geral. Na teoria da ciência da computação, são definidos os seguintes três tipos principais de estruturas de dados: linear, tabular e hierárquica. Livro de exemplo: sequência de folhas - estrutura linear. Partes, seções, capítulos, parágrafos – hierarquia. Índice – tabela – conecta – hierárquico com linear. Os dados estruturados possuem um novo atributo - Endereço. Então:

      Estruturas lineares (listas, vetores). Listas regulares. O endereço de cada elemento é determinado exclusivamente pelo seu número. Se todos os elementos da lista tiverem comprimento igual – vetores de dados.

      Estruturas tabulares (tabelas, matrizes). A diferença entre uma tabela e uma lista - cada elemento - é determinada por um endereço que consiste não em um, mas em vários parâmetros. O exemplo mais comum é uma matriz - endereço - dois parâmetros - número da linha e número da coluna. Tabelas multidimensionais.

      Estruturas hierárquicas. Usado para apresentar dados irregulares. O endereço é determinado pela rota - do topo da árvore. Sistema de arquivos - computador. (A rota pode exceder – a quantidade de dados, dicotomia – há sempre dois ramos – esquerda e direita).

Ordenando estruturas de dados. O método principal é a classificação. ! Ao adicionar um novo elemento a uma estrutura ordenada, é possível alterar o endereço dos existentes. Para estruturas hierárquicas – indexação – cada elemento possui um número único – que é então usado na classificação e pesquisa.

    Elementos básicos de um sistema de arquivos

O primeiro passo histórico no armazenamento e gerenciamento de dados foi o uso de sistemas de gerenciamento de arquivos.

Um arquivo é uma área nomeada da memória externa que pode ser gravada e lida. Três parâmetros:

    sequência de um número arbitrário de bytes,

    um nome próprio exclusivo (na verdade, um endereço).

    dados do mesmo tipo – tipo de arquivo.

As regras para nomear arquivos, como os dados armazenados em um arquivo são acessados ​​e a estrutura desses dados dependem do sistema de gerenciamento de arquivos específico e possivelmente do tipo de arquivo.

O primeiro sistema de arquivos desenvolvido, no sentido moderno, foi desenvolvido pela IBM para sua série 360 ​​(1965-1966). Mas nos sistemas atuais praticamente não é utilizado. Estruturas de dados de lista usadas (volume EC, seção, arquivo).

A maioria de vocês está familiarizada com os sistemas de arquivos dos sistemas operacionais modernos. Isto é principalmente MS DOS, Windows e alguns com construção de sistema de arquivos para várias variantes do UNIX.

Estrutura de arquivos. Um arquivo representa uma coleção de blocos de dados localizados em mídia externa. Para trocar com um disco magnético no nível do hardware, você precisa especificar o número do cilindro, o número da superfície, o número do bloco na trilha correspondente e o número de bytes que precisam ser escritos ou lidos desde o início deste bloco. Portanto, todos os sistemas de arquivos alocam explícita ou implicitamente algum nível básico que garante o trabalho com arquivos que representam um conjunto de blocos endereçáveis ​​​​diretamente no espaço de endereço.

Nomeando arquivos. Todos os sistemas de arquivos modernos suportam nomeação de arquivos em vários níveis, mantendo arquivos adicionais com uma estrutura especial - diretórios - na memória externa. Cada diretório contém os nomes dos diretórios e/ou arquivos contidos nesse diretório. Assim, o nome completo de um arquivo consiste em uma lista de nomes de diretórios mais o nome do arquivo no diretório que contém imediatamente o arquivo. A diferença entre a forma como os arquivos são nomeados em diferentes sistemas de arquivos é onde começa a cadeia de nomes. (Unix, DOS-Windows)

Proteção de arquivos. Os sistemas de gerenciamento de arquivos devem fornecer autorização para acesso aos arquivos. Em geral, a abordagem é que em relação a cada usuário cadastrado de um determinado sistema computacional, para cada arquivo existente, sejam indicadas ações que são permitidas ou proibidas para esse usuário. Houve tentativas de implementar esta abordagem na íntegra. Mas isso causou muita sobrecarga tanto no armazenamento de informações redundantes quanto no uso dessas informações para controlar a elegibilidade de acesso. Portanto, a maioria dos sistemas modernos de gerenciamento de arquivos usa a abordagem de proteção de arquivos implementada pela primeira vez no UNIX (1974). Neste sistema, cada usuário cadastrado está associado a um par de identificadores inteiros: o identificador do grupo ao qual esse usuário pertence e o seu próprio identificador no grupo. Assim, para cada arquivo, é armazenado o identificador completo do usuário que criou esse arquivo, e são anotadas quais ações ele próprio pode realizar com o arquivo, quais ações com o arquivo estão disponíveis para outros usuários do mesmo grupo, e quais usuários de outros grupos podem fazer com o arquivo. Esta informação é muito compacta, requer poucos passos durante a verificação, e este método de controle de acesso é satisfatório na maioria dos casos.

Modo de acesso multiusuário. Se o sistema operacional suportar o modo multiusuário, é bem possível que dois ou mais usuários tentem trabalhar simultaneamente com o mesmo arquivo. Se todos esses usuários apenas lerem o arquivo, nada de ruim acontecerá. Mas se pelo menos um deles alterar o arquivo, será necessária a sincronização mútua para que este grupo funcione corretamente. Historicamente, os sistemas de arquivos adotaram a seguinte abordagem. Na operação de abertura de arquivo (primeira e obrigatória operação com a qual deve iniciar uma sessão de trabalho com arquivo), entre outros parâmetros, foi indicado o modo de operação (leitura ou alteração). + existem procedimentos especiais para sincronizar as ações do usuário. Não permitido pelos registros!

    Registro no diário em sistemas de arquivos. Princípios gerais.

A execução de uma verificação do sistema (fsck) em sistemas de arquivos grandes pode levar muito tempo, o que é lamentável, considerando os sistemas atuais de alta velocidade. A razão pela qual não há integridade no sistema de arquivos pode ser a desmontagem incorreta, por exemplo, o disco estava sendo gravado no momento do encerramento. Os aplicativos poderiam atualizar os dados contidos nos arquivos, e o sistema poderia atualizar os metadados do sistema de arquivos, que são “dados sobre dados do sistema de arquivos”, em outras palavras, informações sobre quais blocos estão associados a quais arquivos, quais arquivos estão localizados em quais diretórios, e similar. . Erros (falta de integridade) em arquivos de dados são ruins, mas muito piores são erros nos metadados do sistema de arquivos, que podem levar à perda de arquivos e outros problemas sérios.

Para minimizar problemas de integridade e minimizar o tempo de reinicialização do sistema, um sistema de arquivos registrado em diário mantém uma lista de alterações que fará no sistema de arquivos antes de realmente gravar as alterações. Esses registros são armazenados em uma parte separada do sistema de arquivos chamada “diário” ou “log”. Depois que essas entradas de diário (log) forem gravadas com segurança, o sistema de arquivos de registro em diário fará essas alterações no sistema de arquivos e, em seguida, excluirá essas entradas do “log” (log). As entradas de log são organizadas em conjuntos de alterações relacionadas ao sistema de arquivos, de forma semelhante à forma como as alterações adicionadas a um banco de dados são organizadas em transações.

Um sistema de arquivos registrado em diário aumenta a probabilidade de integridade porque as entradas do arquivo de log são feitas antes das alterações serem feitas no sistema de arquivos e porque o sistema de arquivos retém essas entradas até que sejam aplicadas de forma completa e segura ao sistema de arquivos. Quando você reinicia um computador que usa um sistema de arquivos registrado em diário, o programa de montagem pode garantir a integridade do sistema de arquivos simplesmente verificando o arquivo de log em busca de alterações esperadas, mas não feitas, e gravando-as no sistema de arquivos. Na maioria dos casos, o sistema não precisa verificar a integridade do sistema de arquivos, o que significa que um computador que usa um sistema de arquivos registrado em diário estará disponível para uso quase imediatamente após a reinicialização. Conseqüentemente, as chances de perda de dados devido a problemas no sistema de arquivos são significativamente reduzidas.

A forma clássica de um sistema de arquivos registrado em diário é armazenar alterações nos metadados do sistema de arquivos em um diário (log) e armazenar alterações em todos os dados do sistema de arquivos, incluindo alterações nos próprios arquivos.

    Sistema de arquivos MS-DOS (FAT)

O sistema de arquivos MS-DOS é um sistema de arquivos baseado em árvore para discos pequenos e estruturas de diretórios simples, com a raiz sendo o diretório raiz e as folhas sendo arquivos e outros diretórios, possivelmente vazios. Os arquivos gerenciados por este sistema de arquivos são colocados em clusters, cujo tamanho pode variar de 4 KB a 64 KB em múltiplos de 4, sem usar a propriedade adjacência de forma mista para alocar memória em disco. Por exemplo, a figura mostra três arquivos. O arquivo File1.txt é bastante grande: envolve três blocos consecutivos. O pequeno arquivo File3.txt utiliza o espaço de apenas um bloco alocado. O terceiro arquivo é File2.txt. é um grande arquivo fragmentado. Em cada caso, o ponto de entrada aponta para o primeiro bloco alocável pertencente ao arquivo. Se um arquivo usa vários blocos alocados, o bloco anterior aponta para o próximo na cadeia. O valor FFF é identificado com o final da sequência.

Partição de disco FAT

Para acessar arquivos com eficiência, use tabela de alocação de arquivos– Tabela de Alocação de Arquivos, localizada no início da partição (ou unidade lógica). É do nome da tabela de alocação que vem o nome deste sistema de arquivos – FAT. Para proteger a partição, duas cópias do FAT são armazenadas nela, caso uma delas seja corrompida. Além disso, as tabelas de alocação de arquivos devem ser colocadas em endereços estritamente fixos para que os arquivos necessários para iniciar o sistema sejam localizados corretamente.

A tabela de alocação de arquivos consiste em elementos de 16 bits e contém as seguintes informações sobre cada cluster de disco lógico:

    o cluster não é usado;

    o cluster é usado pelo arquivo;

    cluster ruim;

    último cluster de arquivos;.

Como cada cluster deve receber um número exclusivo de 16 bits, o FAT suporta um máximo de 216 ou 65.536 clusters em um disco lógico (e também reserva alguns dos clusters para suas próprias necessidades). Assim, obtemos o tamanho máximo do disco servido pelo MS-DOS em 4 GB. O tamanho do cluster pode ser aumentado ou diminuído dependendo do tamanho do disco. No entanto, quando o tamanho do disco excede um determinado valor, os clusters tornam-se muito grandes, o que leva à desfragmentação interna do disco. Além de informações sobre arquivos, a tabela de alocação de arquivos também pode conter informações sobre diretórios. Isto trata os diretórios como arquivos especiais com entradas de 32 bytes para cada arquivo contido nesse diretório. O diretório raiz tem um tamanho fixo - 512 entradas para um disco rígido, e para disquetes esse tamanho é determinado pelo tamanho do disquete. Além disso, o diretório raiz está localizado imediatamente após a segunda cópia do FAT porque contém os arquivos necessários ao carregador de inicialização do MS-DOS.

Ao procurar um arquivo em um disco, o MS-DOS é forçado a procurar na estrutura de diretórios para encontrá-lo. Por exemplo, para executar o arquivo executável C:\Program\NC4\nc.exe localiza o arquivo executável fazendo o seguinte:

    lê o diretório raiz da unidade C: e procura o diretório do programa nele;

    lê o Programa de cluster inicial e procura neste diretório por uma entrada sobre o subdiretório NC4;

    lê o cluster inicial do subdiretório NC4 e procura nele uma entrada para o arquivo nc.exe;

    lê todos os clusters do arquivo nc.exe.

Este método de pesquisa não é o mais rápido entre os sistemas de arquivos atuais. Além disso, quanto maior a profundidade dos diretórios, mais lenta será a busca. Para acelerar a operação de pesquisa, você deve manter uma estrutura de arquivos equilibrada.

Vantagens da gordura

    É a melhor escolha para unidades lógicas pequenas, porque... começa com sobrecarga mínima. Em discos cujo tamanho não exceda 500 MB, funciona com desempenho aceitável.

Desvantagens da gordura

    Como o tamanho de uma entrada de arquivo é limitado a 32 bytes e as informações devem incluir tamanho do arquivo, data, atributos, etc., o tamanho do nome do arquivo também é limitado e não pode exceder 8+3 caracteres para cada arquivo. O uso dos chamados nomes de arquivo curtos torna o uso do FAT menos atraente do que outros sistemas de arquivos.

    Usar FAT em discos maiores que 500 MB é irracional devido à desfragmentação do disco.

    O sistema de arquivos FAT não possui nenhum recurso de segurança e oferece suporte a recursos mínimos de segurança da informação.

    A velocidade das operações no FAT é inversamente proporcional à profundidade do aninhamento de diretórios e ao espaço em disco.

    Sistema de arquivos UNIX - sistemas (ext3)

O moderno, poderoso e gratuito sistema operacional Linux oferece um amplo espaço para o desenvolvimento de sistemas modernos e softwares customizados. Alguns dos desenvolvimentos mais interessantes nos kernels Linux recentes são tecnologias novas e de alto desempenho para gerenciar armazenamento, posicionamento e atualização de dados em disco. Um dos mecanismos mais interessantes é o sistema de arquivos ext3, que está integrado ao kernel Linux desde a versão 2.4.16 e já está disponível por padrão nas distribuições Linux da Red Hat e SuSE.

O sistema de arquivos ext3 é um sistema de arquivos com diário, 100% compatível com todos os utilitários criados para criar, gerenciar e ajustar o sistema de arquivos ext2, que tem sido usado em sistemas Linux nos últimos anos. Antes de descrever em detalhes as diferenças entre os sistemas de arquivos ext2 e ext3, vamos esclarecer a terminologia dos sistemas de arquivos e armazenamento de arquivos.

No nível do sistema, todos os dados em um computador existem como blocos de dados em algum dispositivo de armazenamento, organizados usando estruturas de dados especiais em partições (conjuntos lógicos em um dispositivo de armazenamento), que por sua vez são organizados em arquivos, diretórios e não utilizados (gratuitos). espaço.

Os sistemas de arquivos são criados em partições de disco para simplificar o armazenamento e a organização de dados na forma de arquivos e diretórios. O Linux, assim como o sistema Unix, usa um sistema de arquivos hierárquico composto de arquivos e diretórios, que contêm respectivamente arquivos ou diretórios. Arquivos e diretórios em um sistema de arquivos Linux são disponibilizados ao usuário por meio da montagem deles (o comando "mount"), que geralmente faz parte do processo de inicialização do sistema. A lista de sistemas de arquivos disponíveis para uso é armazenada no arquivo /etc/fstab (FileSystem TABle). A lista de sistemas de arquivos não montados atualmente pelo sistema é armazenada no arquivo /etc/mtab (Mount TABle).

Quando um sistema de arquivos é montado durante a inicialização, um bit no cabeçalho (o "bit limpo") é apagado, indicando que o sistema de arquivos está em uso e que as estruturas de dados usadas para controlar o posicionamento e organização de arquivos e diretórios dentro desse sistema de arquivos pode ser mudado.

Um sistema de arquivos é considerado completo se todos os blocos de dados nele contidos estiverem em uso ou livres; cada bloco de dados alocado é ocupado por um e apenas um arquivo ou diretório; todos os arquivos e diretórios podem ser acessados ​​após o processamento de uma série de outros diretórios no sistema de arquivos. Quando um sistema Linux é desligado deliberadamente usando comandos do operador, todos os sistemas de arquivos são desmontados. A desmontagem de um sistema de arquivos durante o desligamento define um "bit limpo" no cabeçalho do sistema de arquivos, indicando que o sistema de arquivos foi desmontado corretamente e pode, portanto, ser considerado intacto.

Anos de depuração e redesenho do sistema de arquivos e o uso de algoritmos aprimorados para gravar dados em disco reduziram bastante a corrupção de dados causada por aplicativos ou pelo próprio kernel do Linux, mas eliminar a corrupção e a perda de dados devido a quedas de energia e outros problemas do sistema ainda é um desafio . No caso de uma falha ou simples desligamento de um sistema Linux sem usar procedimentos de desligamento padrão, o “bit limpo” não é definido no cabeçalho do sistema de arquivos. Na próxima vez que o sistema for inicializado, o processo de montagem detectará que o sistema não está marcado como "limpo" e verificará fisicamente sua integridade usando o utilitário de verificação do sistema de arquivos Linux/Unix "fsck" (File System CheckK).

Existem vários sistemas de arquivos com registro em diário disponíveis para Linux. Os mais famosos deles são: XFS, um sistema de arquivos com registro em diário desenvolvido pela Silicon Graphics, mas agora lançado como código aberto; RaiserFS, um sistema de arquivos com registro em diário projetado especificamente para Linux; JFS, um sistema de arquivos com registro em diário originalmente desenvolvido pela IBM, mas agora lançado como código aberto; ext3 é um sistema de arquivos desenvolvido pelo Dr. Stephan Tweedie na Red Hat e vários outros sistemas.

O sistema de arquivos ext3 é uma versão Linux com diário do sistema de arquivos ext2. O sistema de arquivos ext3 tem uma vantagem significativa sobre outros sistemas de arquivos com diário - é totalmente compatível com o sistema de arquivos ext2. Isso torna possível usar todos os aplicativos existentes projetados para manipular e personalizar o sistema de arquivos ext2.

O sistema de arquivos ext3 é suportado pelos kernels Linux versão 2.4.16 e posteriores e deve ser habilitado usando a caixa de diálogo Configuração de sistemas de arquivos ao construir o kernel. Distribuições Linux como Red Hat 7.2 e SuSE 7.3 já incluem suporte nativo para o sistema de arquivos ext3. Você só pode usar o sistema de arquivos ext3 se o suporte ext3 estiver embutido em seu kernel e você tiver as versões mais recentes dos utilitários "mount" e "e2fsprogs".

Na maioria dos casos, a conversão de sistemas de arquivos de um formato para outro envolve fazer backup de todos os dados contidos, reformatar as partições ou volumes lógicos que contêm o sistema de arquivos e, em seguida, restaurar todos os dados nesse sistema de arquivos. Devido à compatibilidade dos sistemas de arquivos ext2 e ext3, todas essas etapas não precisam ser realizadas e a tradução pode ser feita usando um único comando (executar com privilégios de root):

# /sbin/tune2fs -j<имя-раздела >

Por exemplo, a conversão de um sistema de arquivos ext2 localizado na partição /dev/hda5 em um sistema de arquivos ext3 pode ser feita usando o seguinte comando:

# /sbin/tune2fs -j /dev/hda5

A opção "-j" do comando "tune2fs" cria um diário ext3 em um sistema de arquivos ext2 existente. Após converter o sistema de arquivos ext2 em ext3, você também deve fazer alterações nas entradas do arquivo /etc/fstab para indicar que a partição agora é um sistema de arquivos "ext3". Você também pode usar a detecção automática do tipo de partição (a opção “auto”), mas ainda é recomendado especificar explicitamente o tipo de sistema de arquivos. O exemplo de arquivo /etc/fstab a seguir mostra as alterações antes e depois de uma transferência do sistema de arquivos para a partição /dev/hda5:

/dev/ hda5 /opt ext2 padrões 1 2

/dev/ hda5 /opt ext3 padrões 1 0

O último campo em /etc/fstab especifica a etapa do processo de inicialização durante a qual a integridade do sistema de arquivos deve ser verificada usando o utilitário “fsck”. Ao usar o sistema de arquivos ext3, você pode definir esse valor como “0”, conforme mostrado no exemplo anterior. Isso significa que o programa "fsck" nunca verificará a integridade do sistema de arquivos, devido ao fato de que a integridade do sistema de arquivos é garantida pela reversão do diário.

A conversão do sistema de arquivos raiz para ext3 requer uma abordagem especial e é melhor realizada no modo de usuário único após a criação de um disco RAM que suporte o sistema de arquivos ext3.

Além de ser compatível com utilitários do sistema de arquivos ext2 e fácil tradução do sistema de arquivos de ext2 para ext3, o sistema de arquivos ext3 também oferece vários tipos diferentes de registro em diário.

O sistema de arquivos ext3 suporta três modos de registro em diário diferentes que podem ser ativados no arquivo /etc/fstab. Esses modos de registro são os seguintes:

    Diário/diário – registra todas as alterações nos dados e metadados do sistema de arquivos. O mais lento dos três modos de registro. Este modo minimiza a chance de perder alterações de arquivo feitas no sistema de arquivos.

    Sequencial/ordenado – Grava alterações apenas nos metadados do sistema de arquivos, mas grava as atualizações dos dados do arquivo no disco antes das alterações nos metadados do sistema de arquivos associados. Este modo de registro ext3 é instalado por padrão.

    Writeback - apenas as alterações nos metadados do sistema de arquivos são gravadas, com base no processo padrão para gravação de alterações nos dados do arquivo. Este é o método de registro mais rápido.

As diferenças entre esses modos de registro são sutis e profundas. Usar o modo de diário requer que o sistema de arquivos ext3 grave cada alteração no sistema de arquivos duas vezes - primeiro no diário e depois no próprio sistema de arquivos. Isso pode reduzir o desempenho geral do seu sistema de arquivos, mas esse modo é mais apreciado pelos usuários porque minimiza a chance de perder alterações de dados em seus arquivos, uma vez que tanto as alterações de metadados quanto as alterações de dados do arquivo são gravadas no log ext3 e podem ser repetido quando o sistema é reinicializado.

Usando o modo "sequencial", apenas as alterações nos metadados do sistema de arquivos são registradas, o que reduz a redundância entre a gravação no sistema de arquivos e no diário, razão pela qual esse método é mais rápido. Embora as alterações nos dados do arquivo não sejam gravadas no diário, elas devem ser feitas antes que as alterações nos metadados do sistema de arquivos associados sejam feitas pelo daemon de registro no diário ext3, o que pode reduzir ligeiramente o desempenho do seu sistema. O uso desse método de registro em diário garante que os arquivos no sistema de arquivos nunca fiquem fora de sincronia com os metadados do sistema de arquivos associados.

O método writeback é mais rápido que os outros dois métodos de registro em diário porque armazena apenas alterações nos metadados do sistema de arquivos e não espera que os dados associados ao arquivo sejam alterados na gravação (antes de atualizar itens como tamanho do arquivo e informações de diretório). Como os dados do arquivo são atualizados de forma assíncrona em relação às alterações registradas nos metadados do sistema de arquivos, os arquivos no sistema de arquivos podem mostrar erros nos metadados, por exemplo, um erro na indicação do proprietário dos blocos de dados (cuja atualização não foi concluída em a hora em que o sistema foi reinicializado). Isto não é fatal, mas pode interferir na experiência do usuário.

A especificação do modo de registro em diário usado em um sistema de arquivos ext3 é feita no arquivo /etc/fstab desse sistema de arquivos. O modo "Sequencial" é o padrão, mas você pode especificar diferentes modos de registro alterando as opções da partição desejada no arquivo /etc/fstab. Por exemplo, uma entrada em /etc/fstab indicando o uso do modo de registro de writeback seria semelhante a esta:

/dev/hda5 /opt dados ext3=writeback 1 0

    Sistema de arquivos da família Windows NT (NTFS)

      Estrutura física do NTFS

Vamos começar com fatos gerais. Uma partição NTFS, em teoria, pode ter quase qualquer tamanho. Claro que existe um limite, mas nem vou indicá-lo, pois será suficiente para os próximos cem anos de desenvolvimento da tecnologia informática - em qualquer taxa de crescimento. Como isso funciona na prática? Quase o mesmo. O tamanho máximo de uma partição NTFS é atualmente limitado apenas pelo tamanho dos discos rígidos. O NT4, entretanto, terá problemas ao tentar instalar em uma partição se alguma parte dela estiver a mais de 8 GB do início físico do disco, mas esse problema afeta apenas a partição de inicialização.

Digressão lírica. O método de instalação do NT4.0 em um disco vazio é bastante original e pode levar a pensamentos errados sobre os recursos do NTFS. Se você informar ao instalador que deseja formatar a unidade para NTFS, o tamanho máximo oferecido será de apenas 4 GB. Por que tão pequeno se o tamanho de uma partição NTFS é praticamente ilimitado? O fato é que a seção de instalação simplesmente não conhece este sistema de arquivos :) O programa de instalação formata este disco em um FAT normal, cujo tamanho máximo no NT é de 4 GB (usando um enorme cluster não padrão de 64 KB), e O NT é instalado neste FAT. Mas já durante a primeira inicialização do próprio sistema operacional (ainda em fase de instalação), a partição é rapidamente convertida para NTFS; portanto, o usuário não percebe nada, exceto a estranha “limitação” no tamanho do NTFS durante a instalação. :)

      Estrutura da seção - visão geral

Como qualquer outro sistema, o NTFS divide todo o espaço útil em clusters - blocos de dados usados ​​​​de cada vez. O NTFS suporta quase qualquer tamanho de cluster - de 512 bytes a 64 KB, enquanto um cluster de 4 KB é considerado um padrão específico. O NTFS não apresenta anomalias na estrutura do cluster, portanto não há muito a dizer sobre este tema, em geral, bastante banal.

Um disco NTFS é convencionalmente dividido em duas partes. Os primeiros 12% do disco são alocados para a chamada zona MFT - o espaço no qual o metarquivo MFT cresce (mais sobre isso abaixo). Não é possível gravar nenhum dado nesta área. A zona MFT é sempre mantida vazia - isso é feito para que o arquivo de serviço mais importante (MFT) não fique fragmentado à medida que cresce. Os 88% restantes do disco são espaço normal de armazenamento de arquivos.

O espaço livre em disco, entretanto, inclui todo o espaço fisicamente livre - partes não preenchidas da zona MFT também estão incluídas lá. O mecanismo para usar a zona MFT é o seguinte: quando os arquivos não podem mais ser gravados no espaço normal, a zona MFT é simplesmente reduzida (nas versões atuais dos sistemas operacionais exatamente pela metade), liberando assim espaço para gravação de arquivos. Quando o espaço é liberado na área normal da MFT, a área pode se expandir novamente. Ao mesmo tempo, não se pode descartar uma situação em que arquivos regulares permaneçam nesta zona: não há anomalia aqui. Bem, o sistema tentou mantê-la livre, mas nada funcionou. A vida continua... O metarquivo MFT ainda pode ficar fragmentado, embora isso seja indesejável.

      MFT e sua estrutura

O sistema de arquivos NTFS é uma conquista notável de estruturação: cada elemento do sistema é um arquivo - até mesmo informações de serviço. O arquivo mais importante em NTFS é chamado MFT, ou Master File Table - uma tabela geral de arquivos. Ele está localizado na zona MFT e é um diretório centralizado de todos os outros arquivos do disco e, paradoxalmente, de si mesmo. A MFT é dividida em entradas de tamanho fixo (geralmente 1 KB), e cada entrada corresponde a um arquivo (no sentido geral da palavra). Os primeiros 16 arquivos são de natureza de serviço e inacessíveis ao sistema operacional - são chamados de metarquivos, sendo o primeiro metarquivo o próprio MFT. Esses primeiros 16 elementos MFT são a única parte do disco que possui uma posição fixa. Curiosamente, a segunda cópia dos três primeiros registros, para maior confiabilidade (eles são muito importantes), é armazenada exatamente no meio do disco. O restante do arquivo MFT pode ser localizado, como qualquer outro arquivo, em locais arbitrários do disco - você pode restaurar sua posição usando o próprio arquivo, “enganchando” na própria base - o primeiro elemento MFT.

        Metarquivos

Os primeiros 16 arquivos NTFS (metarquivos) são de natureza de serviço. Cada um deles é responsável por algum aspecto da operação do sistema. A vantagem dessa abordagem modular é sua incrível flexibilidade - por exemplo, no FAT, danos físicos na própria área FAT são fatais para o funcionamento de todo o disco, e o NTFS pode deslocar, até mesmo fragmentar, todo o seu serviço. áreas, contornando quaisquer falhas superficiais - exceto os primeiros 16 elementos MFT.

Os metarquivos estão localizados no diretório raiz de um disco NTFS - eles começam com o símbolo de nome "$", embora seja difícil obter qualquer informação sobre eles usando meios padrão. É curioso que esses arquivos também tenham um tamanho indicado bem real – você pode descobrir, por exemplo, quanto o sistema operacional gasta para catalogar todo o seu disco olhando o tamanho do arquivo $MFT. A tabela a seguir mostra os metarquivos usados ​​atualmente e sua finalidade.

uma cópia dos primeiros 16 registros MFT colocados no meio do disco

arquivo de suporte de registro (veja abaixo)

informações de serviço - rótulo do volume, versão do sistema de arquivos, etc.

lista de atributos de arquivo padrão no volume

diretório raiz

mapa de espaço livre de volume

setor de inicialização (se a partição for inicializável)

um arquivo que registra os direitos do usuário para usar o espaço em disco (começou a funcionar apenas no NT5)

arquivo - uma tabela de correspondência entre letras maiúsculas e minúsculas em nomes de arquivos no volume atual. É necessário principalmente porque em NTFS os nomes dos arquivos são escritos em Unicode, o que equivale a 65 mil caracteres diferentes, cuja busca por equivalentes grandes e pequenos não é trivial.

        Arquivos e fluxos

Portanto, o sistema possui arquivos – e nada além de arquivos. O que esse conceito inclui no NTFS?

    Em primeiro lugar, um elemento obrigatório é a gravação no MFT, pois, como mencionado anteriormente, todos os arquivos do disco são mencionados no MFT. Todas as informações sobre o arquivo são armazenadas neste local, com exceção dos próprios dados. Nome do arquivo, tamanho, localização no disco de fragmentos individuais, etc. Se um registro MFT não for suficiente para obter informações, vários serão usados, e não necessariamente consecutivos.

    Elemento opcional - fluxos de dados de arquivo. A definição de “opcional” pode parecer estranha, mas, mesmo assim, não há nada de estranho aqui. Em primeiro lugar, o arquivo pode não conter dados - neste caso, não consome o espaço livre do próprio disco. Em segundo lugar, o arquivo pode não ser muito grande. Então entra em ação uma solução bastante bem-sucedida: os dados do arquivo são armazenados diretamente na MFT, no espaço restante dos dados principais dentro de um registro da MFT. Arquivos que ocupam centenas de bytes geralmente não têm sua incorporação “física” na área principal do arquivo - todos os dados desse arquivo são armazenados em um só lugar - no MFT.

A situação com os dados do arquivo é bastante interessante. Cada arquivo no NTFS, em geral, possui uma estrutura um tanto abstrata - não possui dados propriamente ditos, mas existem fluxos. Um dos fluxos tem o significado que conhecemos - dados de arquivo. Mas a maioria dos atributos de arquivo também são fluxos! Assim, verifica-se que o arquivo possui apenas uma entidade básica - o número em MFT, e todo o resto é opcional. Essa abstração pode ser usada para criar coisas bastante convenientes - por exemplo, você pode “anexar” outro fluxo a um arquivo gravando quaisquer dados nele - por exemplo, informações sobre o autor e o conteúdo do arquivo, como é feito no Windows 2000 (a guia mais à direita nas propriedades do arquivo, visualizada no Explorer). Curiosamente, esses fluxos adicionais não são visíveis pelos meios padrão: o tamanho do arquivo observado é apenas o tamanho do fluxo principal que contém os dados tradicionais. Você pode, por exemplo, ter um arquivo de comprimento zero que, quando apagado, liberará 1 GB de espaço livre - simplesmente porque algum programa ou tecnologia astuto prendeu nele um fluxo adicional de gigabyte (dados alternativos). Mas na verdade, no momento, os threads praticamente não são usados, então não se deve ter medo de tais situações, embora hipoteticamente sejam possíveis. Apenas tenha em mente que um arquivo em NTFS é um conceito mais profundo e global do que se poderia imaginar simplesmente navegando pelos diretórios do disco. E por último: o nome do arquivo pode conter quaisquer caracteres, inclusive todo o conjunto de alfabetos nacionais, já que os dados são apresentados em Unicode – uma representação de 16 bits que dá 65.535 caracteres diferentes. O comprimento máximo do nome do arquivo é de 255 caracteres.

      Catálogos

Um diretório NTFS é um arquivo específico que armazena links para outros arquivos e diretórios, criando uma estrutura hierárquica de dados no disco. O arquivo do catálogo é dividido em blocos, cada um contendo o nome do arquivo, atributos básicos e um link para o elemento MFT, que já fornece informações completas sobre o elemento do catálogo. A estrutura de diretórios interna é uma árvore binária. Isto significa o seguinte: para encontrar um arquivo com um determinado nome em um diretório linear, como um FAT, o sistema operacional precisa examinar todos os elementos do diretório até encontrar o correto. Uma árvore binária organiza os nomes dos arquivos de forma que a busca por um arquivo seja realizada de forma mais rápida - obtendo respostas de dois dígitos para perguntas sobre a localização do arquivo. A pergunta que uma árvore binária pode responder é: em qual grupo, em relação a um determinado elemento, está o nome que você procura - acima ou abaixo? Começamos com essa pergunta até o elemento intermediário, e cada resposta restringe a área de pesquisa em duas vezes, em média. Os arquivos são, digamos, simplesmente classificados em ordem alfabética, e a pergunta é respondida da maneira óbvia - comparando as letras iniciais. A área de busca, reduzida pela metade, começa a ser explorada de forma semelhante, começando novamente a partir do elemento intermediário.

Conclusão - para procurar um arquivo entre 1000, por exemplo, o FAT terá que fazer em média 500 comparações (o mais provável é que o arquivo seja encontrado no meio da busca), e um sistema baseado em árvore terá para fazer apenas cerca de 10 (2 ^ 10 = 1024). A economia de tempo de pesquisa é óbvia. Porém, não se deve pensar que nos sistemas tradicionais (FAT) tudo é tão negligenciado: em primeiro lugar, manter uma lista de arquivos na forma de uma árvore binária é bastante trabalhoso e, em segundo lugar, mesmo o FAT realizado por um sistema moderno (Windows2000 ou Windows98) usa pesquisa de otimização semelhante. Este é apenas mais um fato a ser adicionado à sua base de conhecimento. Eu também gostaria de dissipar o equívoco comum (que eu mesmo compartilhei recentemente) de que adicionar um arquivo a um diretório na forma de uma árvore é mais difícil do que a um diretório linear: essas são operações bastante comparáveis ​​no tempo - o fato é que para adicionar um arquivo ao diretório, primeiro você precisa ter certeza de que ainda não existe um arquivo com esse nome :) - e aqui em um sistema linear teremos dificuldades em encontrar um arquivo, descrito acima, que mais do que compensa a simplicidade de adicionar um arquivo ao diretório.

Que informações podem ser obtidas simplesmente lendo um arquivo de catálogo? Exatamente o que o comando dir produz. Para realizar uma navegação simples no disco, você não precisa entrar no MFT para cada arquivo, basta ler as informações mais gerais sobre os arquivos nos arquivos do diretório. O diretório principal do disco - a raiz - não é diferente dos diretórios comuns, exceto por um link especial para ele desde o início do metarquivo MFT.

      Exploração madeireira

NTFS é um sistema tolerante a falhas que pode facilmente restaurar-se para um estado correto no caso de quase qualquer falha real. Qualquer sistema de arquivos moderno é baseado no conceito de transação - uma ação executada total e corretamente ou não executada. O NTFS simplesmente não possui estados intermediários (errôneos ou incorretos) - o quantum de alteração de dados não pode ser dividido em antes e depois da falha, trazendo destruição e confusão - ele é confirmado ou cancelado.

Exemplo 1: os dados estão sendo gravados no disco. De repente, descobriu-se que não foi possível gravar no local onde havíamos decidido gravar a próxima parte dos dados - danos físicos à superfície. O comportamento do NTFS neste caso é bastante lógico: a transação de gravação é totalmente revertida - o sistema percebe que a gravação não foi executada. O local é marcado como com falha e os dados são gravados em outro local – uma nova transação é iniciada.

Exemplo 2: um caso mais complexo – os dados estão sendo gravados no disco. De repente, bang - a energia é desligada e o sistema é reinicializado. Em que fase a gravação parou, onde estão os dados e onde estão as bobagens? Outro mecanismo do sistema vem em socorro - o log de transações. O fato é que o sistema, percebendo seu desejo de gravar em disco, marcou esse estado no metarquivo $LogFile. Ao reiniciar, este arquivo é examinado quanto à presença de transações inacabadas que foram interrompidas por um acidente e cujo resultado é imprevisível - todas essas transações são canceladas: o local onde a gravação foi feita é marcado novamente como livre, índices e elementos MFT retornam ao estado em que estavam antes da falha e o sistema como um todo permanece estável. Bem, e se ocorrer um erro ao gravar no log? Também está tudo bem: a transação ou ainda não começou (há apenas uma tentativa de registrar as intenções de realizá-la), ou já terminou - ou seja, há uma tentativa de registrar que a transação realmente já foi concluído. Neste último caso, na próxima inicialização, o próprio sistema compreenderá perfeitamente que na verdade tudo foi escrito corretamente de qualquer maneira, e não prestará atenção à transação “inacabada”.

Ainda assim, lembre-se de que o registro em log não é uma panacéia absoluta, mas apenas um meio de reduzir significativamente o número de erros e falhas do sistema. É improvável que o usuário médio do NTFS perceba um erro do sistema ou seja forçado a executar o chkdsk - a experiência mostra que o NTFS é restaurado para um estado completamente correto, mesmo em caso de falhas em momentos muito ocupados com a atividade do disco. Você pode até otimizar o disco e pressionar reset no meio desse processo - a probabilidade de perda de dados, mesmo nesse caso, será muito baixa. É importante entender, entretanto, que o sistema de recuperação NTFS garante a exatidão do sistema de arquivos, não dos seus dados. Se você estava gravando em um disco e travou, seus dados podem não ser gravados. Não existem milagres.

Os arquivos NTFS têm um atributo bastante útil - "compactado". O fato é que o NTFS possui suporte integrado para compactação de disco - algo para o qual antes era necessário usar Stacker ou DoubleSpace. Qualquer arquivo ou diretório pode ser armazenado individualmente no disco em formato compactado - esse processo é totalmente transparente para os aplicativos. A compactação de arquivos tem uma velocidade muito alta e apenas uma grande propriedade negativa - a enorme fragmentação virtual dos arquivos compactados, que, no entanto, não incomoda ninguém. A compactação é realizada em blocos de 16 clusters e utiliza os chamados “clusters virtuais” - novamente uma solução extremamente flexível que permite obter efeitos interessantes - por exemplo, metade do arquivo pode ser compactado e a outra metade não. Isso é conseguido devido ao fato de que o armazenamento de informações sobre a compactação de determinados fragmentos é muito semelhante à fragmentação normal de um arquivo: por exemplo, um registro típico do layout físico de um arquivo real descompactado:

clusters de arquivos de 1 a 43 são armazenados em clusters de discos a partir de 400, clusters de arquivos de 44 a 52 são armazenados em clusters de discos a partir de 8530...

Layout físico de um arquivo compactado típico:

clusters de arquivos de 1 a 9 são armazenados em clusters de discos a partir de 400 clusters de arquivos de 10 a 16 não são armazenados em nenhum lugar clusters de arquivos de 17 a 18 são armazenados em clusters de discos a partir de 409 clusters de arquivos de 19 a 36 não são armazenados em nenhum lugar. ...

Percebe-se que o arquivo compactado possui clusters “virtuais”, nos quais não há informações reais. Assim que o sistema vê esses clusters virtuais, ele imediatamente entende que os dados do bloco anterior, um múltiplo de 16, devem ser descompactados, e os dados resultantes irão apenas preencher os clusters virtuais - isso, na verdade, é todo o algoritmo .

      Segurança

O NTFS contém muitos meios de delimitar os direitos dos objetos - acredita-se que este seja o sistema de arquivos mais avançado de todos os existentes atualmente. Em teoria, isto é sem dúvida verdade, mas nas implementações actuais, infelizmente, o sistema de direitos está muito longe do ideal e, embora rígido, nem sempre é um conjunto lógico de características. Os direitos atribuídos a qualquer objeto e claramente respeitados pelo sistema estão evoluindo - grandes alterações e adições aos direitos já foram feitas várias vezes e, no Windows 2000, finalmente chegaram a um conjunto bastante razoável.

Os direitos do sistema de arquivos NTFS estão inextricavelmente ligados ao próprio sistema - ou seja, eles, em geral, não precisam ser respeitados por outro sistema se ele tiver acesso físico ao disco. Para impedir o acesso físico, o Windows 2000 (NT5) ainda introduziu um recurso padrão – veja abaixo mais sobre isso. O sistema de direitos no seu estado actual é bastante complexo e duvido que possa dizer ao leitor em geral algo interessante e útil para ele na vida quotidiana. Se você estiver interessado neste tópico, encontrará muitos livros sobre arquitetura de rede NT que descrevem isso com mais detalhes.

Neste ponto a descrição da estrutura do sistema de arquivos pode ser completada; resta descrever apenas um certo número de coisas simplesmente práticas ou originais.

Essa coisa está no NTFS desde tempos imemoriais, mas era usada muito raramente - e ainda assim: Hard Link é quando o mesmo arquivo tem dois nomes (vários ponteiros de diretório de arquivos ou diretórios diferentes apontam para o mesmo registro MFT). Digamos que o mesmo arquivo tenha os nomes 1.txt e 2.txt: se o usuário deletar o arquivo 1, o arquivo 2 permanecerá. Se ele deletar o 2, o arquivo 1 permanecerá, ou seja, os dois nomes, desde o momento da criação,. são completamente iguais. O arquivo é apagado fisicamente somente quando seu sobrenome é excluído.

      Links Simbólicos (NT5)

Um recurso muito mais prático que permite criar diretórios virtuais - exatamente iguais aos discos virtuais usando o comando subst no DOS. As aplicações são bastante variadas: em primeiro lugar, simplificando o sistema de catálogo. Se você não gostar do diretório Documents and settings\Administrator\Documents, poderá vinculá-lo ao diretório raiz - o sistema ainda se comunicará com o diretório por um caminho selvagem e você terá um nome muito mais curto que é completamente equivalente para isso. Para criar tais conexões, você pode usar o programa de junção (junction.zip(15 Kb), 36 kb), escrito pelo famoso especialista Mark Russinovich (http://www.sysinternals.com). O programa só funciona em NT5 (Windows 2000), assim como o próprio recurso. Para remover uma conexão, você pode usar o comando rd padrão. AVISO: A tentativa de excluir um link usando o Explorer ou outros gerenciadores de arquivos que não entendem a natureza virtual de um diretório (como FAR) excluirá os dados referenciados pelo link! Tome cuidado.

      Criptografia (NT5)

Um recurso útil para pessoas preocupadas com seus segredos - cada arquivo ou diretório também pode ser criptografado, impossibilitando a leitura de outra instalação do NT. Combinado com uma senha padrão e praticamente inquebrável para inicializar o próprio sistema, esse recurso fornece segurança suficiente para a maioria dos aplicativos para os dados importantes que você seleciona.

Uma janela de pasta típica é mostrada na figura.

A janela contém os seguintes elementos obrigatórios.

    Barra de titulo- o nome da pasta está escrito nela. Usado para arrastar uma janela.

    Ícone do sistema. Abre o menu de serviço, que permite controlar o tamanho e a localização da janela.

    Botões de controle de tamanho: desdobrar (restaurar), dobrar, fechar.

    Barra de menu(menu suspenso). Garantido para fornecer acesso a todos os comandos em uma determinada janela.

    Barra de ferramentas. Contém botões de comando para executar as operações mais comuns. Muitas vezes o usuário pode personalizar este painel colocando os botões necessários nele.

    Barra de endereço. Indica o caminho de acesso à pasta atual. Permite navegar rapidamente para outras seções da estrutura do arquivo.

    Área de trabalho. Exibe ícones de itens armazenados em uma pasta e você pode controlar como eles são exibidos.

    Barras de rolagem– permitem rolar o conteúdo da janela horizontalmente ou verticalmente se a informação não couber na janela.

    Barra de status. Exibe informações adicionais sobre objetos na janela.

Sistema de arquivos de um computador pessoal

O sistema de arquivos fornece armazenamento e acesso a arquivos em disco. O princípio de organização do sistema de arquivos é tabular. A superfície do disco é considerada uma matriz tridimensional, cujas dimensões são os números da superfície, do cilindro e do setor. Sob cilindro significa a coleção de todas as trilhas pertencentes a superfícies diferentes e equidistantes do eixo de rotação. Os dados sobre onde um determinado arquivo é gravado são armazenados na área do sistema do disco em uma tabela especial de alocação de arquivos ( Tabela FAT). A tabela FAT é armazenada em duas cópias, cuja identidade é controlada pelo sistema operacional.

OS MS-DOS, OS/2, Windows-95/NT implementam campos de 16 bits em tabelas FAT. Este sistema foi denominado FAT-16. Tal sistema permite que você coloque no máximo 65.536 registros sobre a localização das unidades de armazenamento de dados. A menor unidade de armazenamento de dados é setor. O tamanho do setor é 512 bytes. Grupos de setores são combinados condicionalmente em agrupamentos, que são a menor unidade de endereçamento de dados. O tamanho do cluster depende da capacidade do disco: no Fat-16, para discos de 1 a 2 GB, 1 cluster ocupa 64 setores ou 32 KB. Isso é irracional, pois mesmo um arquivo pequeno ocupa 1 cluster. Arquivos grandes que ocupam vários clusters acabam com um cluster vazio. Portanto, a perda de capacidade dos discos em um sistema FAT-16 pode ser muito grande. Com discos com mais de 2,1 GB, o FAT-16 não funciona.

O Windows 98 e versões anteriores possuem um sistema de arquivos mais avançado - FAT-32 com campos de 32 bits na tabela de alocação de arquivos. Ele fornece um tamanho de cluster pequeno para discos de grande capacidade. Por exemplo, para um disco de até 8 GB, 1 cluster ocupa 8 setores (4 KB).

Arquivoé uma sequência nomeada de bytes de comprimento arbitrário. Antes do advento do Windows 95, o esquema de nomenclatura de arquivo geralmente aceito era 8.3 (nome abreviado) - 8 caracteres para o nome real do arquivo, 3 caracteres para a extensão de seu nome. A desvantagem dos nomes curtos é o seu baixo conteúdo. A partir do Windows 95, foi introduzido o conceito de nome longo (até 256 caracteres). Pode conter quaisquer caracteres, exceto nove caracteres especiais: \ / : * ? "< > |.

Extensão de nome Todos os caracteres após o último ponto são contados. Nos sistemas operacionais modernos, a extensão do nome carrega informações importantes sobre o tipo de arquivo para o sistema. Os tipos de arquivo são registrados e associam o arquivo ao programa (aplicativo) que o abre. Por exemplo, o arquivo MyText.doc será aberto pelo processador de texto MS Word, já que a extensão .doc geralmente está associada a este aplicativo. Normalmente, se um arquivo não estiver associado a nenhum programa de abertura, um sinalizador será indicado em seu ícone - o logotipo do Microsoft Windows, e o usuário poderá especificar o programa de abertura selecionando-o na lista fornecida.

Logicamente, a estrutura de arquivos é organizada de acordo com um princípio hierárquico: pastas de níveis inferiores são aninhadas dentro de pastas de níveis superiores. O nível superior de aninhamento é o diretório raiz do disco. Os termos "pasta" e "diretório" são equivalentes. Cada diretório de arquivo no disco corresponde a uma pasta do sistema operacional com o mesmo nome. No entanto, o conceito de pasta é um pouco mais amplo. Portanto, no Windows 95 existem pastas especiais que fornecem acesso conveniente aos programas, mas que não correspondem a nenhum diretório do disco.

Atributos de arquivo- são parâmetros que definem algumas propriedades dos arquivos. Para acessar os atributos de um arquivo, clique com o botão direito em seu ícone e selecione o menu Propriedades. Existem 4 atributos principais: "Somente leitura", "Oculto", "Sistema", Arquivo". O atributo "Somente leitura" sugere que o arquivo não se destina a ser modificado. O atributo "Oculto" indica que este arquivo não deve ser exibido na tela ao realizar operações de arquivo. O atributo “Sistema” marca os arquivos mais importantes do sistema operacional (geralmente também possuem o atributo “Oculto”). nenhum significado especial.

Uma das principais tarefas do SO é garantir a troca de dados entre aplicativos e dispositivos periféricos de computador. Nos sistemas operacionais modernos, as funções de troca de dados com dispositivos periféricos são executadas por subsistemas de entrada/saída. O subsistema de entrada/saída inclui drivers para controlar dispositivos externos e um sistema de arquivos.

Para proporcionar comodidade ao usuário com dados armazenados em discos, o sistema operacional substitui a organização física dos dados por seu modelo lógico. Estrutura lógica - uma árvore de diretórios exibida na tela pelo programa Explorer, etc.

Arquivo– uma área nomeada de memória externa na qual os dados podem ser gravados e lidos. Os arquivos são armazenados em memória independente de energia, geralmente em discos magnéticos. Os dados são organizados em arquivos com a finalidade de armazenamento confiável e de longo prazo de informações e com a finalidade de compartilhar informações. Os atributos podem ser definidos para um arquivo; em redes de computadores, os direitos de acesso podem ser definidos.

O sistema de arquivos inclui:

A coleção de todos os arquivos em um disco lógico;

Estruturas de dados usadas para gerenciar arquivos - tabelas de espaço em disco livre e usado, tabelas de locais de arquivos, etc.

Ferramentas de software do sistema que permitem realizar operações em arquivos, como criar, excluir, copiar, mover, renomear, pesquisar.

Cada sistema operacional possui seu próprio sistema de arquivos.

Funções do sistema de arquivos:

Alocação de memória em disco;

Nomeando o arquivo;

Mapear o nome do arquivo para o endereço físico correspondente na memória externa;

Fornecimento de acesso a dados;

Proteção e recuperação de dados;

Tipos de arquivo

Os sistemas de arquivos suportam vários tipos de arquivos funcionalmente diferentes, que normalmente incluem:

Arquivos normais, ou simplesmente arquivos que contêm informações arbitrárias que o usuário insere neles ou que são criadas como resultado da operação do sistema ou de programas do usuário. O conteúdo de um arquivo normal é determinado pelo aplicativo que funciona com ele. Os arquivos regulares são divididos em duas grandes classes: executáveis ​​e não executáveis. O sistema operacional deve ser capaz de reconhecer seu próprio arquivo executável.

Catálogos– um tipo especial de arquivos que contém informações de ajuda do sistema sobre um conjunto de arquivos localizados neste diretório (contém nomes e informações sobre os arquivos). Do ponto de vista do usuário, os diretórios permitem organizar o armazenamento de dados em disco. Do ponto de vista do sistema operacional, os diretórios são usados ​​para gerenciar arquivos.

Arquivos especiais são arquivos fictícios que correspondem a dispositivos de E/S e são projetados para executar comandos de E/S.

Via de regra, o sistema de arquivos possui uma estrutura hierárquica, no topo da qual existe um único diretório raiz, cujo nome é igual ao nome da unidade lógica, e os níveis são criados pelo fato de que um inferior- O diretório de nível está incluído em um diretório de nível superior.

Cada arquivo de qualquer tipo possui seu próprio nome simbólico, as regras para a formação de nomes simbólicos são diferentes em cada sistema operacional. Os sistemas de arquivos organizados hierarquicamente usam três tipos de nomes: simples ou simbólico, nome completo ou composto e relativo.

Nome simples define um arquivo dentro do mesmo diretório. Os arquivos podem ter os mesmos nomes simbólicos se estiverem localizados em diretórios diferentes. "Muitos arquivos - um nome simples."

Nome completoé uma sequência de nomes simbólicos simples de todos os diretórios pelos quais passa o caminho da raiz para um determinado arquivo e o próprio nome do arquivo. O nome completo do arquivo identifica exclusivamente o arquivo no sistema de arquivos. "Um arquivo - um nome completo"

Nome relativo file é definido através do conceito de diretório atual, ou seja, o diretório no qual o usuário está localizado atualmente. O sistema de arquivos captura o nome do diretório atual para que possa usá-lo como complemento do nome relativo para formar o nome completo. O usuário escreve o nome do arquivo começando no diretório atual.

Se o sistema operacional suportar vários dispositivos de memória externos (disco rígido, unidade de disquete, CD ROM), o armazenamento de arquivos poderá ser organizado de duas maneiras:

1. Cada dispositivo hospeda um sistema de arquivos autônomo (próprio), ou seja, os arquivos localizados neste dispositivo são descritos por sua árvore de diretórios como não estando relacionados à árvore de diretórios de outro dispositivo;

2. Montagem de sistemas de arquivos (sistema operacional UNIX). O usuário tem a oportunidade de combinar sistemas de arquivos localizados em diferentes dispositivos em um único sistema de arquivos, que terá uma única árvore de diretórios.

Atributos de arquivo– propriedades atribuídas ao arquivo. Atributos principais – Somente leitura, Sistema, Oculto, Arquivo.

O sistema de arquivos do sistema operacional deve fornecer ao usuário um conjunto de operações para trabalhar com arquivos no formato chamadas do sistema. Este conjunto inclui chamadas de sistema: criar (criar um arquivo), ler (ler), escrever (escrever), fechar (fechar) e alguns outros. Ao trabalhar com um arquivo, via de regra, não é executada uma operação, mas uma sequência. Por exemplo, ao trabalhar em um editor de texto. Qualquer que seja a operação executada em um arquivo, o sistema operacional deve realizar uma série de ações que são universais para todas as operações:

1. Utilizando o nome simbólico do arquivo, encontre suas características, que ficam armazenadas no sistema de arquivos do disco;

2. Copie as características do arquivo para o OP;

3. Com base nas características do arquivo, verifique os direitos de acesso para realizar a operação solicitada (leitura, gravação, exclusão);

4. Após realizar uma operação com um arquivo, limpe a área de memória alocada para armazenamento temporário das características do arquivo.

Trabalhar com um arquivo começa com uma chamada do sistema ABRIR, que copia as características do arquivo e verifica as permissões e termina com uma chamada do sistema FECHAR, o que libera o buffer com características e impossibilita continuar trabalhando com o arquivo sem reabri-lo.

Organização de arquivos de dados chamada de distribuição de arquivos entre diretórios, diretórios entre unidades lógicas. Unidade lógica – Diretório – Arquivo. O usuário tem a oportunidade de obter informações sobre a organização do arquivo de dados.

Os princípios de colocação de arquivos, diretórios e informações do sistema em um dispositivo de memória externo específico são chamados Organização física do sistema de arquivos.