Будет ли произвольное чтение адресного пространства ядра потоком ядра вызывать панику?

Как мы знаем в пользовательском пространстве, если какое-то виртуальное адресное пространство еще не выделено, но к нему осуществляется доступ, произойдет ошибка страницы.

Как насчет пространства ядра? Например, я хочу запустить поток ядра в Linux, чтобы наивно читать каждое слово самого высокого адресного пространства 1G.

Думаю, это нормально, т. е. произвольное чтение адресного пространства ядра потоком ядра не вызовет паники. Это правильно? Кто-нибудь может детализировать? А если читать на какой-то пустой области?


person Infinite    schedule 14.02.2011    source источник


Ответы (1)


Вы не можете прочитать адрес памяти, который не отображается в пространстве ядра, процессор поймает это и сгенерирует ошибку, о которой в Linux будет сообщено как Oops. См. http://www.kerneloops.org/.

person Yann Droneaud    schedule 14.02.2011