Почему просто блокировка файлов в многопользовательских системах не достаточно?

Ричи утверждает, что блокировка файла недостаточна для предотвращения путаницы, вызванной такими программами, как редакторы, которые делают копию файла во время редактирования, а затем записывают исходный файл после завершения. Можете ли вы объяснить, что он имел в виду?

1 ответ

Решение

Он также сказал, что блокировки не были необходимы, утверждение, которое большинство инженеров считают неверным.

Это было написано Д.М. Ричи и К. Томпсоном, UNIX-система для разделения времени, в Техническом журнале Bell System, Vol. 57, № 6 (июль-август 1978 г.), часть 2, с. 1905-1929.

В контексте замечаний указывалось на необходимость блокировки в соответствии с целями операционной системы. Это была эпоха файловых систем Unix v6 (и, возможно, более ранних) для обеспечения блокировки файлов. Поскольку файловая система не сталкивалась с большими обновляемыми базами данных, блокировки было недостаточно.

В этом не было необходимости, поскольку ядро ​​системы управляло внутренними структурами данных с блокировками, а система поддерживала "логическую согласованность", если два автора работали с одним файлом одновременно. Я думаю, что последний относится в первую очередь к нескольким процессам, добавляющимся к stdout или stderr.

Другие вопросы по тегам