A parte do sistema de arquivos do sistema operacional?

9

Eu queria saber se um sistema de arquivos em um dispositivo de armazenamento é parte do sistema operacional?

Eu não acho que seja. Em vez disso, faz parte do dispositivo de armazenamento e existe fora de qualquer sistema operacional, embora tenha sido criado por um sistema operacional. O meu entendimento está certo?

No entanto, em Wikipédia :

Most operating systems provide a file system, as a file system is an integral part of any modern operating system.

Para o LVM, é parte do sistema operacional? Se sim, então o sistema de arquivos virtual construído no LVM é parte do SO?

    
por Tim 04.06.2011 / 03:29

6 respostas

9

O próprio sistema de arquivos, representado pela ordem física da informação em uma representação de armazenamento, é independente do sistema operacional. O SO contém um driver que permite trabalhar com o sistema de arquivos. Alguns sistemas de arquivos podem ter apenas um sistema operacional que possa conversar com ele, e esse sistema operacional possui esse sistema de arquivos embutido nele (pense no sistema de arquivos original do Novell NetWare); mas isso não impede que alguma pessoa empreendedora escreva um driver para outro SO apenas porque.

O LVM não é um sistema de arquivos, é um gerenciador de volumes. Os gerenciadores de volume, como sistemas de arquivos, dependem de dados armazenados em uma apresentação de armazenamento lógico para definir melhor como acessar esse armazenamento para volumes lógicos adicionais. No caso do LVM, tanto o Linux quanto o BSD podem usar o mesmo formato de armazenamento para suas respectivas implementações de LVM.

O gerenciador de volume do Windows é o Disco Dinâmico, e algumas pessoas empreendedoras criaram drivers do Linux para acessá-los.

Se você pegasse um conjunto de discos, instalasse um Linux de algum tipo, configurasse-os com o LVM, instalasse vários ext3 filesystems nos volumes lógicos e então colocasse as unidades em uma máquina FreeBSD, que a máquina FreeBSD ser capaz de ler os discos. Provavelmente. Isso ocorre porque o FreeBSD possui drivers que entendem o layout físico do LVM e do ext3 e implementam as estruturas necessárias de memória e acesso ao sistema operacional necessárias para interagir com eles.

Os drivers necessários para interpretar o layout de armazenamento são quase sempre "no sistema operacional", mas o layout de armazenamento propriamente dito não é considerado como sendo.

    
por 04.06.2011 / 04:30
4

Respondi a este no ServerFault . Aqui está a resposta novamente:

O problema aqui é a palavra "sistema de arquivos". Nos mundos POSIX / Unix / Linux, isso significa várias coisas diferentes.

  1. O "sistema de arquivos" às vezes é todo o sistema de arquivos, enraizado em / e apresentado aos softwares de aplicativos pelo kernel do sistema operacional. Com esse significado, as pessoas falam de sistemas operacionais POSIX tendo uma "única árvore do sistema de arquivos ", por exemplo.
  2. Um "sistema de arquivos" é às vezes uma (ou mais) fatia (s) de um (ou vários) DASD (s) - uma ou mais coleções de setores de disco contíguos formatados como um único volume com um determinado formato - como demarcado por algum esquema de particionamento de disco. Com esse significado, as pessoas falam, digamos, "formatando meu /usr filesystem ".
  3. Um "sistema de arquivos" às vezes é uma árvore abstrata de arquivos e diretórios, apresentada por um driver de sistema de arquivos (ou seja, a camada VFS) para o resto do sistema. Com esse significado, as pessoas falam, por exemplo, "montando o sistema de arquivos proc em /proc ".

A prosa da Wikipédia é o significado # 1. Isso é, na verdade, parte do sistema operacional, pois é um sistema operacional fornecido e uma abstração específica do sistema operacional fornecida aos softwares de aplicativos que são executados no sistema operacional.

O significado # 2 não faz parte do sistema operacional. É uma estrutura de dados em disco que um ou mais sistemas operacionais são capazes de entender. As estruturas de dados no disco para o LVM, especificamente, fornecem maneiras de dividir um ou mais DASDs em um ou mais volumes. Eles não fazem parte do sistema operacional em si. (Mas, da mesma forma, "LVM" tem vários significados e pode significar os drivers e utilitários do LVM no sistema operacional, tanto quanto pode significar as estruturas de dados no disco que esses drivers e utilitários manipulam. Por exemplo, "Eu corri LVM do disco de recuperação. ")

O significado # 3 é uma abstração específica do sistema operacional fornecida por drivers de sistema de arquivos específicos do sistema operacional. Os drivers do sistema de arquivos são, de fato, parte do sistema operacional, embora sejam geralmente distintos e separados do sistema operacional kernel .

    
por 05.06.2011 / 15:26
2

Um sistema de arquivos é criado, mantido e usado por um sistema operacional, mas você tem razão em concluir que sua representação pode existir independentemente de um sistema operacional.

    
por 04.06.2011 / 03:48
2

Não há uma definição formal de "sistema operacional". Alguns costumavam manter que "sistema operacional" e "API de gerenciamento de arquivos" eram um e o mesmo, com o sistema operacional não tendo mais nada a fazer além de fornecer um analisador de comandos. (Afinal, isso é tudo o que o MS-DOS fez originalmente).

Eu sempre sustentei que o DOS não era um sistema operacional real - que o trabalho de um sistema operacional é abstrair e virtualizar o hardware e gerenciar recursos de hardware. O DOS fez essencialmente nada disso.

Quanto a saber se um sistema de arquivos é uma parte do sistema operacional ou uma parte do "dispositivo de armazenamento", muito depende, por sua vez, do que você entende por "sistema de arquivos". Há o layout físico, como o layout em um disquete ou CD, e há o sistema de arquivos FUNCTION, que depende de ter alguma entidade inteligente (CPU ou processador periférico de algum tipo) para tirar o absurdo do disco e retornar como uma sequência significativa de bytes. O layout, presumivelmente, está de acordo com algum padrão, assim você pode, por exemplo, gravar um CD em um dispositivo e ler / reproduzi-lo em outro. A questão é se esse layout é um "sistema de arquivos" ou se o "sistema" reside nos dispositivos inteligentes o suficiente para ler / escrever o layout.

Na maioria dos contextos de computador, usa-se o termo "sistema de arquivos" para se referir às APIs que permitem ler / gravar arquivos e à combinação de CPU e dispositivos periféricos, operando sob o controle de alguns sistemas operacionais, que os implementam. APIs - o termo geralmente não se refere ao formato físico da mídia ou mídia individual, removível ou não.

    
por 04.06.2011 / 03:57
1

A implementação particular faz parte do sistema operacional. A ideia abstrata, as especificações e os dados armazenados não são.

    
por 04.06.2011 / 04:35
1

Unidades de disco e dispositivos semelhantes a unidades de disco são "estúpidos". Você solicita um LBA, ele retorna os 512, 2048 ou 4096 bytes que ele contém; vice-versa por escrito.

Uma camada de sistema de arquivos permite que você diga "Eu quero c: \ users \ public \ documents \ whatever.doc" e realize operações de streaming (abra, leia, escreva, busque, feche) - isso se traduz de locais endereçáveis por nome a uma série de solicitações para ler / escrever LBAs.

Assim, a camada do sistema de arquivos tem dois lados, o outro lado que se comunica com o dispositivo semelhante a uma unidade de disco (ou bloco), e o outro lado que fala com o sistema operacional. É aqui que entra em jogo a especificidade do sistema operacional. Normalmente, o lado do dispositivo de bloco do sistema de arquivos é um driver de dispositivo, e o lado do sistema operacional é uma API utilizável pelos aplicativos. Mas estas são apenas interfaces e realmente não precisam afetar a operação subjacente da camada do sistema de arquivos.

Todos os sistemas de arquivos fazem com que dados adicionais sejam gravados e lidos fora dos dados do arquivo, para manter o controle das informações sobre os arquivos, ou seja, para registrar permissões, atributos, etc.

Existe um problema de ovo e galinha na inicialização - como os arquivos do sistema operacional são armazenados no sistema de arquivos, mas como eles são carregados se a camada do sistema de arquivos ainda não estiver ativa? O Linux resolve esse problema com um disco de RAM inicial ou construindo o código do sistema de arquivos como parte do kernel. O Windows resolve esse problema dando ao gerenciador de inicialização do Windows a capacidade de ler partições FAT e NTFS. Bootloaders podem ser burros, como a maioria dos bootloaders clássicos do BIOS que só carregam o LBA 0 e o executam e esperam que o código seja capturado posteriormente, ou razoavelmente inteligente e com pequenas camadas de sistema de arquivos próprias, como UEFI, U-boot, etc. / p>

O LVM não é um sistema de arquivos. Ele pega um ou mais dispositivos de bloco e faz um resumo em outro dispositivo de bloco "virtual" (em /dev/mapper - qualquer coisa em /dev/mapper é um dispositivo de bloco virtual). Você coloca um sistema de arquivos "em cima de" um LVM da mesma maneira que colocaria um sistema de arquivos "em cima" de uma partição. O LVM é outra camada entre um ou mais drivers de dispositivo e o sistema de arquivos, convertendo leituras e gravações em LBAs no dispositivo de bloco virtual para um ou mais dispositivos de bloco. Sim, um LVM pode ser um dispositivo de bloco virtual e você pode ter uma cascata deles.

    
por 10.07.2012 / 21:28