Очистить все виджеты в макете в pyqt

Я изучаю внутреннее устройство ядра Linux, и во время чтения «Понимания ядра Linux» меня поразило несколько вопросов, связанных с памятью. Один из них заключается в том, как ядро ​​Linux обрабатывает отображение памяти, если в моей системе установлена ​​физическая память размером, скажем, всего 512 МБ.

На момент чтения ядро ​​отображает 0 (или 16) MB-896MB физической памяти в линейный адрес 0xC0000000 и может напрямую адресовать его. Итак, в описанном выше случае, когда у меня только 512 МБ:

  • Как ядро ​​может отобразить 896 МБ только из 512 МБ? В описанной схеме ядро ​​настроено так, что каждый процесс ' В таблицах страниц виртуальные адреса от 0xC0000000 до 0xFFFFFFFF (1 ГБ) отображались непосредственно на физические адреса от 0x00000000 до 0x3FFFFFFF (1 ГБ). Но когда у меня есть только 512 МБ физической памяти, как я могу сопоставить виртуальные адреса из 0xC0000000-0xFFFFFFFF с физическими 0x00000000-0x3FFFFFFF? Дело в том, что у меня физический диапазон только 0x00000000-0x20000000.

  • Как насчет процессов пользовательского режима в этой ситуации?

  • В каждой статье объясняется только ситуация, когда вы установили 4 ГБ памяти, а ядро ​​отображает 1 ГБ в пространство ядра, а пользовательские процессы используют оставшийся объем оперативной памяти.

Я был бы признателен за любую помощь в улучшении моего понимание.

Спасибо ..!

48
задан TheLoneJoker 24 December 2010 в 22:59
поделиться