dd "прямой" против "nocache"

Потому что это явно указано в коде:

pos = sprintf(buf, " %02d:%02d:%02d ",
  realtime->tm_hour, realtime->tm_min, realtime->tm_sec);

Исполняемый файл uptimeиз пакета procps(, например. Ubuntu)вызывает функцию с именем print_uptime(). Эта функция живет вproc/whattime.cв источниках procps. Функция просто выводит строку, созданнуюsprint_uptime()в том же исходном файле C, который строит выводную строку побитно.

Первый бит, добавляемый к строке, добавляется с начальным пробелом, как показано выше.

Пространство существует с по крайней мере с 2002 в procpsреализации uptime.

Обратите внимание, что uptime -pне выводит пробел:

$ uptime -p
up 8 weeks, 8 hours, 41 minutes

$ uptime --version
uptime from procps-ng 3.3.12

Как заметил maxxvw , версия утилиты GNU coreutils использует аналогичный тип вывода.

Утилита uptimeв системах BSD отличается от формата вывода:

$ uptime
11:56PM  up 23:58, 1 user, load averages: 0.04, 0.02, 0.00

4
08.07.2020, 23:05
1 ответ

Отказ от ответственности :Я не могу сказать точно, но это мое предположение.

Нет кэша:

Чтение невыровненного ввода непосредственно с устройства.

Прямой ввод/вывод:

Чтение и запись выровненных данных без использования внутренних буферов ОС или L *кэширования.


Подводя итог, если вы хотите вообще избежать кэширования OS/L *, просто выберите вариант directввода-вывода. Если вы пытаетесь избежать только кэширования чтения, nocacheдолжно быть достаточно.

3
18.03.2021, 23:21

Теги

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