Недавно я читал системы управления базами данных (Рагху Рамакришнан и Йоханнес Геркке). В нем говорится, что диспетчер дискового пространства отвечает за операции выделения / освобождения / чтения / записи в единицах страницы, чтобы обеспечить максимальное количество операций с данными в одной главе чтения / записи, чтобы минимизировать время. Теперь для выполнения, скажем, функции, записи одной страницы на диск я могу сделать следующее: -
1 - записать n байтов данных в буфер в памяти, где n - размер страницы
2-Записать этот буфер в файл, используя простые операции ввода-вывода в C ++ (ofstream).
Мой вопрос заключается в том, будут ли эти n байтов успешно записаны в виде одной страницы на диске, или будут другие искажения при использовании этого процесса, который предотвращает запись буфера на диск в виде одной страницы данных, несмотря на его размер быть равным размеру страницы. В случае, если он не будет записан как одна страница, какой метод я должен принять? Большое спасибо!