GNU/Linux >> Linux Esercitazione >  >> Linux

Linux - Il filesystem sotto Linux applica la serializzazione, il che significa che solo una modifica al filesystem avviene effettivamente in un dato momento?

https://unix.stackexchange.com/a/12818/674
dice

I file di blocco vengono utilizzati dai programmi per garantire che due istanze
separate (corrette) di un programma, che potrebbero essere eseguite contemporaneamente su un sistema
, non accedano a qualcos'altro contemporaneamente. L'idea è
prima che il programma acceda alla sua risorsa, verifica la presenza di un
file di blocco e, se il file di blocco esiste, genera un errore o attende che
scompaia. Quando non esiste, il programma che desidera "acquisire"
la risorsa crea il file, quindi altre istanze che potrebbero
incontrarsi in seguito attenderanno che questo processo venga completato. Naturalmente, questo presuppone che il programma che "acquisisce" il blocco lo rilasci effettivamente
e non dimentica di eliminare il file di blocco.

Questo funziona perché il filesystem in tutti i sistemi operativi simili a UNIX
impone la serializzazione, il che significa che solo una modifica al filesystem
avviene effettivamente in un dato momento
. Una specie di blocco con
database e simili.

Cosa significa l'ultimo paragrafo?

È corretto che in Linux un file possa essere scritto contemporaneamente da due processi e il sistema operativo non fornisce la sincronizzazione implicita ma richiede la sincronizzazione esplicita dai programmatori?

Il file di blocco è un modo esplicito per sincronizzare l'accesso allo stesso file da più processi?

Grazie.

Risposta accettata:


Linux
  1. Modifica la versione del kernel su un server cloud Linux utilizzando la modalità di ripristino

  2. Qual è lo scopo del file .bash_profile nella directory home dell'utente in Linux

  3. Come reindirizzare l'output del comando time su un file in Linux?

  4. Il comando sed di Linux non modifica il file di destinazione

  5. Impostazione/modifica dell'attributo ctime o Change time su un file

Come impostare o modificare il fuso orario in Linux

Come modificare lo schema di partizione sul tuo server Linux?

Linux Mint vs Ubuntu:qual è il migliore per te?

4 strumenti per scaricare qualsiasi file utilizzando la riga di comando in Linux

Cambia UID/GID solo di un thread in Linux

Come tagliare un file a una determinata dimensione sotto Linux?