Как ядро ​​Linux может адресовать от 8 МБ до 1 ГБ виртуальной памяти в системах x86

Некоторые пояснения к комментарию / ответу @manatwork:

  • grep версия: grep '^ [^ |] \ + ||| \ (. \ + \? ||| \) \ 1 '

    • ^ : соответствует началу строки
    • [^ |] : соответствует любому исключенному символу |
    • \ + : сопоставить один или несколько раз с предыдущим шаблоном
    • ||| : ​​сопоставить ваш разделитель
    • \ ( и \) : сохранить значение, указанное в скобках в \ 1
    • . : сопоставить любой символ
    • \ + \? : один или несколько раз, но не жадный
    • ||| : сопоставить ваш разделитель еще раз
    • \ 1 : сопоставить предыдущий текст между скобками

    Идея здесь состоит в том, чтобы пропустить начало строки до первого разделителя, затем сохранить найденное значение до конца второго разделителя, а затем сопоставить только строку, имеющую точно такое же значение, как \ 1 после второго оператора (имеется в виду третье поле)

  • sed версия: sed -n '/ ^ [^ |] \ + ||| \ (. \ + \ ? ||| \) \ 1 / p '

    То же значение, что и grep , с дополнительными / в начале и в конце строки, чтобы указать шаблон, плюс дополнительная команда символ p в конце для печати совпадающих строк.

  • awk версия: awk -F '\\ | \\ | \\ |' '$ 2 == $ 3'

    • -F '\\ | \\ | \\ |' : укажите разделитель полей: ||| в данном случае экранирован
    • '$ 2 = = $ 3 ': фильтровать ввод только тогда, когда второе и третье поля равны
0
29.03.2018, 19:44
1 ответ

Я не уверен, в чем вопрос на самом деле -это делается с помощью блока пейджинга -возможно, см. здесь:https://stackoverflow.com/questions/18431261/how-does-x86-paging-work

Каталог страниц ниже 896 МБ по-прежнему хранится в swapper_pg_dir, он просто повторно инициализируется после первой инициализации размером 8 МБ. Все усложняется выше 896 МБ и ниже 4096 МБ, и еще больше усложняется выше 4096 МБ.

0
28.01.2020, 04:27

Теги

Похожие вопросы