Что такое атомарность в контексте файловых систем? - PullRequest
1 голос
/ 17 октября 2011

Согласно webopedia это когда процессор одновременно читает и пишет на шину ... исключая другие процессоры от доступа к ней.

В базах данных это означает, что в соответствии с wikipedia

набор операций либо выполняется, либо вообще не выполняется.

В параллельном программировании это означает, что набор операций происходит мгновенно, как замечено системой wikipedia

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

Кажется, что это слово используется слишком часто, и люди используют b.c. это звучит круто ... но есть ли более академическое определение в отношении файловых систем?

Кажется, что атомное относится к неразрушению чего-либо, то есть к атому ... в общем случае. Я постоянно слышу термин «атомарное чтение» и «атомарная запись», который используется для файловой системы Google.

Мое предположение означало бы, что это происходит полностью или не происходит вообще и за один "шаг". Ссылаясь на единство времени (появляется мгновенно) и композиции (все части завершены).

Это звучит правильно?

Ответы [ 3 ]

2 голосов
/ 17 октября 2011

Это верно.Это основное свойство, что, хотя некоторые операции могут состоять из меньшего набора шагов, вы никогда не сможете наблюдать это в состоянии, когда некоторые, но не все из этих шагов были выполнены.

1 голос
/ 17 октября 2011

Ваше определение кажется довольно здравым.Здесь отлично говорят MIT здесь об атомарности в отношении компьютерного программного и аппаратного обеспечения.Небольшое неудобство, которое я имею в связи с вашим определением, заключается в том, что вы делаете так, как будто что-то «атомное» происходит за один шаг.Это и правильно, и неправильно.

Как вы увидите в выступлении, атомарность определяется следующим образом:

Recoverable + Isolated = Atomic
A sequence of composite steps but whose invoker cannot discover is composite.

Основная идея здесь заключается в том, что что-то "атомное" может быть разделено вдискретные шаги (в реализации), но вызывающий никогда не узнает об этом.Например, даже атомарная запись состоит из нескольких шагов.

0 голосов
/ 17 октября 2011

С Гипотеза Брюера и осуществимость последовательных, доступных, допускающих разбиение на разделы веб-сервисов , написанные Сетом Гилбертом и Нэнси Линч:

Атомная или линеаризуемая согласованность - это условие, ожидаемое большинством веб-сервисы сегодня.3. При такой гарантии непротиворечивости существует общий порядок для всех операций, так что каждая операция выглядит как будто это было завершено в один момент. Это эквивалентно требуя, чтобы запросы распределенной разделяемой памяти действовали так, как будто они выполнялись на одном узле, отвечая на операции один за время. Одним из важных свойств атомарной разделяемой памяти для чтения / записи является что любая операция чтения, которая начинается после завершения операции записи должен вернуть это значение или результат более поздней операции записи.

...