команда man: есть ли способ узнать значение вывода команды>

Это показатель эффективности. ЦП работает намного быстрее, чем последовательный порт, что если бы ядро ​​позволяло процессу пользовательского пространства запускаться каждый раз, когда в буфере оставалось немного места, оно в конечном итоге отправлялось бы в пользовательское пространство и обратно для каждого отдельного байта данных. Это очень расточительное время ЦП:

$ time dd if=/dev/zero of=/dev/null bs=1 count=10000000
10000000+0 records in
10000000+0 records out
10000000 bytes (10 MB, 9.5 MiB) copied, 5.95145 s, 1.7 MB/s

real    0m5.954s
user    0m1.960s
sys     0m3.992s

$ time dd if=/dev/zero of=/dev/null bs=1000 count=10000
10000+0 records in
10000+0 records out
10000000 bytes (10 MB, 9.5 MiB) copied, 0.011041 s, 906 MB/s

real    0m0.014s
user    0m0.000s
sys     0m0.012s

Вышеупомянутый тест даже не считывает и не записывает реальное устройство: вся разница во времени заключается в том, как часто система переключается между пользовательским пространством и пространством ядра.

Если пользовательское пространство не хочет задерживаться, оно может использовать неблокирующий ввод-вывод или может проверить с помощью вызова select () , чтобы узнать, есть ли место для записи на устройство. ... а если нет, он может сбросить остаток в собственный буфер и продолжить обработку. По общему признанию, это действительно усложняет ситуацию, поскольку теперь у вас есть буфер, который вы должны очистить ... но если вы используете stdio, это в любом случае верно.

-1
09.07.2014, 15:45
1 ответ

Вы можете использовать команду info, чтобы узнать больше деталей о любой команде в coreutils.

Вот часть команды info ls, объясняющая опцию -l:

`-l'
`--format=long'
`--format=verbose'
     In addition to the name of each file, print the file type, file
     mode bits, number of hard links, owner name, group name, size, and
     timestamp (*note Formatting file timestamps::), normally the
     modification time.  Print question marks for information that
     cannot be determined.
     ........
3
29.04.2021, 00:38

Теги

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