Стоимость ловушки ошибки страницы

У меня есть приложение, которое периодически (через каждые 1 или 2 секунды) берет контрольные точки, разветвляясь. Таким образом, контрольная точка - это форк оригинального процесса, который просто не работает, пока его не попросят запустить, когда произойдет какая-то ошибка в исходном процессе.

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

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

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

Ответы на вопрос(1)

Ваш ответ на вопрос