сколько блоков на одной странице диска? Размер буфера равен размеру сектора?

Я собираюсь сказать «нет», или «не в bash 4.4», или «не без изменения кода и повторной -компиляции», так как это значение находится в переменной с именем current_command_number, и оно только когда-либо упоминается и увеличивается:

$ grep -r current_command_number *.c
eval.c:extern int current_command_number, current_command_line_count, line_number;
eval.c:       current_command_number++;
shell.c:int current_command_number = 1;
shell.c:  current_command_number = 1;
y.tab.c:extern int current_command_number;
y.tab.c:              temp = itos (current_command_number);

shell.cдважды устанавливает его в 1 :во время создания экземпляра переменной и в функцииshell_reinitialize. Эта функция также сбрасывает приглашение, re -инициализирует историю и удаляет все переменные и функции. Эта функция вызывается только один раз из main().

Единственная внешняя видимость этой переменной находится в функции decode_prompt_string, которая сама вызывается, когда предполагается отобразить или повторно отобразить подсказку.

0
22.03.2020, 01:06
1 ответ

Я не уверен, что вы подразумеваете под «одной страницей диска». В виртуальной памяти есть страницы, а в дисках их нет.

Жесткие диски имеют размер физического сектора (сегодня обычно 4096 байт )и размер логического сектора (обычно 512 байт ). Это связано с тем, что давным-давно жесткие диски имели размер физического сектора 512 байт, а логические/физические размеры были введены для того, чтобы поддерживать его (некоторую )совместимость.

Вы можете узнать размер физического и логического секторов вашего жесткого диска, например, с помощью fdisk -l.

В спецификации жесткого диска «размер буфера» обычно означает объем внутренней оперативной памяти контроллера жесткого диска, используемый для буферизации. Но это намного больше, чем 512 байт. Я понятия не имею, какую конкретную спецификацию с «размером буфера = 512 байт» вы читали, поэтому я не могу это комментировать.

1
28.04.2021, 23:19

Теги

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