Является ли один большой запрос на чтение/запись менее затратным для операционной системы, чем несколько небольших запросов на чтение/запись?

Вам необходимо установить модули ядра (внутри виртуальной машины ), чтобы они соответствовали образу вашего ядра. Внутри виртуальной машины вы установили ядро ​​Debian, которое вы можете получить либо из /boot/vmlinuz-4.9.0-3-amd64внутри виртуальной машины, либо, по крайней мере, из https://packages.debian.org/stretch/linux-image-4.9.0-3-amd64(, если оттуда вы загрузили более новое ядро ​​для обновления виртуальной машины ). Удивлен, что он вообще работал без initrd.

PS :Вероятно, проще просто загрузиться с помощью загрузчика (grub ), установленного в образе.

0
25.07.2019, 18:15
1 ответ

Я думаю, что текст здесь относится к буферизации внутри приложения. Это обычно делается даже библиотекой C. Например, если вы вызываете getchar(), библиотека C не запрашивает у ОС ни одного байта, а читает полный блок (на пару килобайт, обычно ), так что следующий getchar()не запрашивает. не нужно делать системный вызов. Возврат данных из буфера внутри процесса намного быстрее, чем системный вызов, который обязательно включает переключение из пользовательского режима в режим ядра.

Is a single big read/write request on Linux really expensive compared to multiple small read/write requests?

Большой запрос, вероятно, дешевле, так как он экономит накладные расходы на несколько маленьких запросов. Но откуда вы взяли эту идею? Я не вижу, чтобы в связанном документе упоминались большие или маленькие запросы?

1
28.01.2020, 02:39

Теги

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