Cosa significa esattamente "montare un file system di root"?


2

Nel processo di avvio di Linux abbiamo quello initrdche è un file system radice e viene montato prima che il vero file system radice sia pronto per il montaggio. Qual è la procedura di montaggio? Cosa dovrebbe succedere in modo da poter dire che il file system è montato? E perché diciamo "file system radice" anziché solo "file system"?

Risposte:


3

Dice "Root filesystem" perché possono esserci molti altri filesystem montati all'avvio. Eseguire il root o /è come C-Drive su Windows. Viene montato un filesystem, quando è accessibile alle funzioni di sistema di livello superiore tramite il suo mountpoint.

A proposito del processo di montaggio ... Non so quanto sia tecnica una risposta che desideri, quindi per favore non sentirti offeso da questa eccessiva semplificazione. Ecco come lo spiegherei ai miei clienti: collegare un Flashdrive.

  1. L'utente collega USB Flashdrive
  2. Il sistema operativo rileva che "qualcosa" è collegato alla porta USB X
  3. Il sistema operativo rileva la porta e scopre che esiste un'unità flash
  4. Il sistema operativo assegna un nodo al dispositivo (diciamo /dev/sdb)
  5. Sonde del sistema operativo /dev/sdbe trova una tabella delle partizioni con sulla partizione primaria
  6. Il sistema operativo assegna un nodo dispositivo alla partizione (diciamo /dev/sdb1)
  7. Il sistema operativo /dev/sdb1rileva e riconosce un file system FAT32
  8. Il sistema operativo monta il file system su /dev/sdb1un nuovo mountpoint (come /media/pendrive/)
  9. Il contenuto del file system è accessibile al sistema e quindi all'utente

Il contenuto del dispositivo (dati non elaborati) è solo un gruppo di zero e uno. Quando si monta un dispositivo, il sistema aggiunge qualcosa come un "filtro di lettura / scrittura" sopra quegli zeri e quelli, che traduce gli zeri e quelli in file effettivi e viceversa.

Ad esempio: quando salvi "Hello World" nel file di testo in /media/pendrive, il filtro lo traduce in base alle regole del file system e alla fine una serie di zeri e uno e scrive /dev/sdb1.


1

* I sistemi nix richiedono che ci sia un filesystem /, chiamato anche root . Con un initrd, il root è un filesystem virtuale all'interno di initrd. Il sistema deve eseguire un "pivot mount" in base al quale il vero filesystem è montato sul root, e il filesystem initrd viene rimontato sotto quello.

L'atto effettivo del montaggio registra semplicemente un filesystem con il VFS all'interno del kernel in modo che sappia dove cercare per trovare i file all'interno di una directory specifica.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.