O sistema de arquivos faz parte do sistema operacional?

9

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

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

No entanto, na Wikipedia :

A maioria dos sistemas operacionais fornece um sistema de arquivos, pois um sistema de arquivos é parte integrante de qualquer sistema operacional moderno.

Para o LVM, isso faz parte do sistema operacional? Se sim, o sistema de arquivos virtual criado no LVM faz parte do sistema operacional?

Tim
fonte
Como o próprio sistema operacional reside no sistema de arquivos, eu diria que é parte integrante do sistema operacional, de maneira alguma contorná-lo.
Moab
De acordo com o seu motivo, o SO não faz parte do sistema de arquivos mais adequado que o inverso?
Tim
Na verdade, acho que um sistema de arquivos é um requisito da mídia de armazenamento, pois um sistema operacional pode residir na memória sem usar um disco rígido ou outro dispositivo de armazenamento.
Moab

Respostas:

10

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

O LVM não é um sistema de arquivos, é um gerenciador de volume. Os gerenciadores de volume, como os sistemas de arquivos, confiam nos 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, o Linux e os BSDs podem usar o mesmo formato de armazenamento para suas respectivas implementações do LVM.

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

Se você pegasse um conjunto de discos, instale algum tipo de Linux, configure-o com o LVM, instale vários ext3sistemas de arquivos nos volumes lógicos e, em seguida, coloque as unidades em uma máquina FreeBSD, para que a máquina FreeBSD possa ler os discos . Provavelmente. Isso ocorre porque o FreeBSD possui drivers que entendem o layout físico do LVM e do ext3 e implementam a memória necessária no sistema operacional e as estruturas de acesso necessárias para interagir com eles.

Os drivers necessários para interpretar o layout de armazenamento quase sempre estão "no sistema operacional", mas o próprio layout de armazenamento não é considerado.

SysAdmin1138
fonte
4

Eu respondi isso no ServerFault . Aqui está a resposta novamente:

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

  1. Às vezes, o "sistema de arquivos" é todo o sistema de arquivos, enraizado /e apresentado aos softwares de aplicativos pelo kernel do sistema operacional. Com esse significado, as pessoas falam de sistemas operacionais POSIX com uma "única árvore de sistema de arquivos ", por exemplo.
  2. Às vezes, um "sistema de arquivos" é uma (ou mais) fatia (s) de um (ou vários) dispositivo (s) de armazenamento de acesso direto ou DASD (s) - uma ou mais coleções de setores de disco contíguos formatados como um único volume com um volume determinado formato - como demarcado por algum esquema de particionamento de disco. Com esse significado, as pessoas falam, digamos, em "formatar meu /usrsistema de arquivos ".
  3. Às vezes, um "sistema de arquivos" é uma árvore juntável abstrata de arquivos e diretórios, apresentada por um driver de sistema de arquivos (ou seja, a camada VFS) ao restante do sistema. Com esse significado, as pessoas falam, digamos, em "montar o sistema de arquivos proc/proc ".

A prosa da Wikipedia é o significado número 1. De fato, isso faz parte do sistema operacional, pois é uma abstração do sistema operacional fornecida e específica do sistema operacional fornecida aos aplicativos que são executados no sistema operacional.

O significado nº 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 em disco do 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 múltiplos significados, e pode significar os drivers LVM e utilitários do sistema operacional, tanto quanto ele pode significar as estruturas de dados em disco, que esses drivers e utilitários manipular. Por exemplo, "Eu corri LVM do disco de resgate. ")

O significado 3 é uma abstração específica do sistema operacional fornecida pelos drivers do 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 kernel do sistema operacional .

JdeBP
fonte
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.

Zian Choy
fonte
Todas as respostas valem a pena, essa é a principal vantagem.
conner.xyz
2

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

Sempre afirmei 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 não fez nada disso.

Quanto ao fato de um sistema de arquivos fazer parte do sistema operacional ou 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 de um disquete ou CD, e o sistema de arquivos FUNCTION, que depende de ter alguma entidade inteligente (CPU ou processador periférico de algum tipo) para pegar o absurdo no disco e retornar como uma sequência significativa de bytes. O layout provavelmente está em conformidade com algum padrão, portanto, você pode, por exemplo, gravar um CD em um dispositivo e ler / reproduzir em outro. A questão é se esse layout é um "sistema de arquivos" ou se o "sistema" reside nos dispositivos inteligentes o suficiente para ler / gravar 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 a combinação de CPU e dispositivos periféricos, operando sob o controle de algum sistema operacional, que implementa essas APIs - o termo geralmente não se refere ao formato físico da mídia, ou mídia individual, removível ou não.

Daniel R Hicks
fonte
Pontos interessantes.
Maxpm
Mesmo no MS-DOS, o sistema operacional era MSDOS.SYSe o shell da linha de comando era COMMAND.COM.
usar o seguinte comando
1

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

user541686
fonte
1

Unidades de disco e dispositivos semelhantes a unidades de disco são "burros". Você solicita um LBA, devolve os 512, 2048 ou 4096 bytes que ele contém; vice-versa para escrever.

Uma camada do sistema de arquivos permite que você diga "Eu quero c: \ users \ public \ documents \ Whatever.doc" e realize operações de streaming nisso (abra, leia, escreva, busque, feche) - traduz de locais endereçáveis ​​a nomes a uma série de solicitações para leitura / gravação de LBAs.

Portanto, a camada do sistema de arquivos tem dois lados, o lado que se comunica com o dispositivo (ou bloco) do tipo unidade de disco e o outro lado que fala com o sistema operacional. É aqui que a especificidade do sistema operacional entra em jogo. 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 essas são apenas interfaces e não precisam realmente 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, a fim de acompanhar as informações sobre os arquivos, ou seja, gravar permissões, atributos, etc.

Há um pouco de problema com a 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 está ativa? O Linux resolve esse problema com um disco ram inicial ou com a criação do código do sistema de arquivos como parte do kernel. O Windows resolve esse problema, oferecendo ao carregador de inicialização do Windows a capacidade de ler partições FAT e NTFS. Os gerenciadores de inicialização podem ser burros, como a maioria dos gerenciadores de inicialização clássicos da BIOS, que apenas carregam o LBA 0 e o executam e esperam que o código seja coletado posteriormente, ou razoavelmente inteligente e com pequenas camadas de sistema de arquivos próprias, como UEFI, U-boot, etc.

LVM não é um sistema de arquivos. Ele pega um ou mais dispositivos de bloco e o abstrai 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 outros dispositivos de bloco. Sim, um LVM pode ser um dispositivo de bloco virtual e você pode ter uma cascata deles.

LawrenceC
fonte