O sistema de arquivos sob o Linux reforça a serialização, o que significa que apenas uma mudança no sistema de arquivos realmente acontece a qualquer momento?

2

link diz

Lock files are used by programs to ensure two (well-behaved) separate instances of a program, which may be running concurrently on one system, don't access something else at the same time. The idea is before the program accesses its resource, it checks for presence of a lock file, and if the lock file exists, either error out or wait for it to go away. When it doesn't exist, the program wanting to "acquire" the resource creates the file, and then other instances that might come across later will wait for this process to be done with it. Of course, this assumes the program "acquiring" the lock does in fact release it and doesn't forget to delete the lock file.

This works because the filesystem under all UNIX-like operating systems enforces serialization, which means only one change to the filesystem actually happens at any given time. Sort of like locks with databases and such.

O que o último parágrafo significa?

É correto que no Linux, um arquivo possa ser escrito simultaneamente por dois processos, e o SO não forneça sincronização implícita, mas exija sincronização explícita dos programadores?

O arquivo de bloqueio é uma maneira explícita de sincronizar o acesso ao mesmo arquivo por vários processos?

Obrigado.

    
por Tim 18.10.2018 / 15:45

0 respostas