Какая информация точно находится в битах управления доступом таблицы страниц?

egrep "foo|bar" *.txt

или

grep "foo\|bar" *.txt
grep -E "foo|bar" *.txt

выборочно цитируя страницу справочника гну-grep:

   -E, --extended-regexp
          Interpret PATTERN as an extended regular expression (ERE, see below).  (-E is specified by POSIX.)

Matching Control
   -e PATTERN, --regexp=PATTERN
          Use PATTERN as the pattern.  This can be used to specify multiple search patterns, or to protect  a  pattern
          beginning with a hyphen (-).  (-e is specified by POSIX.)

(...)

   grep understands two different versions of regular expression syntax: “basic” and “extended.”  In  GNU grep,  there
   is  no  difference  in  available  functionality  using  either  syntax.   In  other implementations, basic regular
   expressions are less powerful.  The following description applies to extended regular expressions; differences  for
   basic regular expressions are summarized afterwards.

В начале я не читал далее, таким образом, я не распознал тонкие различия:

Basic vs Extended Regular Expressions
   In basic regular expressions the meta-characters ?, +, {, |, (, and ) lose their special meaning; instead  use  the
   backslashed versions \?, \+, \{, \|, \(, and \).

Я всегда использовал egrep и напрасно parens, потому что я извлек уроки из примеров. Теперь я изучил что-то новое.:)

1
23.05.2017, 14:33
1 ответ

Этот ответ для архитектуры IA-32. Я принял информационную форму Руководства Разработчика программного обеспечения Архитектуры Intels IA-32, Страница 1751/3044 (!):

Таблица 4-6. Формат 32-разрядной Записи Таблицы страниц, который Карты 4 кбайта Page:

  • 0 (P): Существующий; должен быть 1 для отображения 4-килобайтовой страницы
  • 1 (R/W): Чтение-запись; если 0, записи не могут быть позволены 4-килобайтовой странице, на которую ссылается эта запись (см. Раздел 4.6),
  • 2 (U/S): пользователь/супервизор; если 0, доступы непривилегированного режима не предоставляются к 4-килобайтовой странице, на которую ссылается эта запись (см. Раздел 4.6),
  • 3 (PWT): запись уровня страницы - через; косвенно решает, что тип памяти раньше получал доступ к 4-килобайтовой странице, на которую ссылается эта запись (см. Раздел 4.9), запись (см. Раздел 4.9),
  • 4 (PCD): кэш уровня страницы отключает; косвенно решает, что тип памяти раньше получал доступ к 4-килобайтовой странице, на которую ссылается эта запись (см. Раздел 4.9),
  • 5 (A): Полученный доступ; указывает, получило ли программное обеспечение доступ к 4-килобайтовой странице, на которую ссылается эта запись (см. Раздел 4.8),
  • 6 (D): Грязный; указывает, записало ли программное обеспечение в 4-килобайтовую страницу, на которую ссылается эта запись (см. Раздел 4.8),
  • 7 (PAT): Если PAT поддерживается, косвенно решает, что тип памяти раньше получал доступ к 4-килобайтовой странице, на которую ссылается эта запись (см. Раздел 4.9.2); иначе, зарезервированный (должен быть 0),
  • 8 (G): Глобальный; если CR4. PGE = 1, определяет, глобален ли перевод (см. Раздел 4.10); проигнорированный иначе
  • 11:9: Проигнорированный
  • 31:12: на Физический адрес 4-килобайтовой страницы ссылается эта запись
1
27.01.2020, 23:54

Теги

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