Является ли функция «страница -на -диск», о которой Линус говорит в своей автобиографии, по существу концепцией обмена, которую мы используем сегодня?

Вы можете использовать

ls -b /opt/ManageEngine/OpManager

, чтобы получить список каталогов, в котором непечатаемые -символы были заменены escape-последовательностями(\NNNи подобными ), которые можно скопировать -и вставить в командную строку, как -.

Другой аналогичный вариант

ls -q /opt/ManageEngine/OpManager

, который заменяет непечатаемые символы вопросительными знаками. Поскольку вопросительный знак является подстановочным знаком оболочки, означающим «любой одиночный символ здесь», этот тип вывода также можно легко использовать в качестве параметра для команды rm. Однако возможно, что более чем один файл будет соответствовать строке подстановочного знака, поэтому я бы рекомендовал использовать sudo rm -i /opt/ManageEngine/OpManager/<copy-pasted wildcard string here>, чтобы вы могли подтвердить, что удаляете только правильный файл и ничего больше.

Старым -школьным способом было бы использовать

ls -i /opt/ManageEngine/OpManager

, чтобы просмотреть список каталогов с указанным номером инода каждого файла, а затем удалить проблемный файл, используя номер инода. Сначала убедитесь, что вы получаете правильный файл:

sudo find /opt/ManageEngine/OpManager -inum <inode number here> -type f -print

Затем удалите:

sudo find /opt/ManageEngine/OpManager -inum <inode number here> -type f -delete
28
13.08.2020, 07:30
3 ответа

Да, это фактически подкачка. Цитирование примечаний к выпуску для версии 0.12:

Virtual memory.

In addition to the "mkfs" program, there is now a "mkswap" program on the root disk. The syntax is identical: "mkswap -c /dev/hdX nnn", and again: this writes over the partition, so be careful. Swapping can then be enabled by changing the word at offset 506 in the bootimage to the desired device. Use the same program as for setting the root file system (but change the 508 offset to 506 of course).

NOTE! This has been tested by Robert Blum, who has a 2M machine, and it allows you to run gcc without much memory. HOWEVER, I had to stop using it, as my diskspace was eaten up by the beta-gcc-2.0, so I'd like to hear that it still works: I've been totally unable to make a swap-partition for even rudimentary testing since about christmastime. Thus the new changes could possibly just have backfired on the VM, but I doubt it.

В версии 0.12 пейджинг используется для ряда функций, а не только для переключения на устройство :по требованию -для загрузки (только для загрузки страниц из двоичных файлов по мере их использования ), совместного использования (совместное использование общих страниц между процессами ).

36
18.03.2021, 23:13

Да, это именно та концепция, известная как подкачка или подкачка . (Давным-давно эти термины имели несколько иное значение, но в 21 веке они являются синонимами, за исключением, возможно, некоторых операционных систем, отличных от -Unix.)

Чтобы было ясно, подкачка не была инновационной функцией, :большинство «серьезных» систем Unix имели ее, и эта функция старше, чем Unix. Что подкачка сделала для Linux, так это превратила его в «серьезный» Unix, тогда как MINIX предназначался для образовательных целей.

Обмен сегодня по-прежнему является той же концепцией. Эвристика для принятия решения о том, какие страницы сохранять и когда их сохранять, стала намного сложнее, но основной принцип остался прежним.

30
18.03.2021, 23:13

Подкачка — это концепция, предшествовавшая виртуальной памяти и даже защите памяти. :она просто означает размещение процесса на диске, чтобы освободить место для другого. Первоначальный Unix имел две особенности в этом отношении :программы «общий текст», которые сохраняли программный код только один раз в памяти и выгружали только раздел данных. И у него был системный вызов «fork», который выгружал процесс на диск, не заменяя образ памяти и вместо этого сохраняя копию (дочернего )работающего.

Страница -на -диск, в отличие от свопинга, позволяет запускать процессы, которые не помещаются в физической памяти. Для этого требуется вся защищаемая память, сопоставление памяти виртуальных адресов с физическими адресами и перезапускаемый механизм ошибки страницы, который позволит изменить сопоставление с неотображенного виртуального адреса на разумно выбираемый физический адрес и возобновить команду, которая была прервана, потому что недостающего отображения.

UNIX могла работать на процессорах 68000 (, включая подкачку )без MMU, и она хорошо использовала MMU, если он был доступен для защиты памяти, но потребовалось, чтобы 68010 действительно имел механизмы, позволяющие возобновлять программа после ошибки страницы.

Модель 80386 была во многих отношениях убогой и устаревшей конструкцией. Но его встроенный -в MMU и способность правильно страницировать -отказ сразу же сделали его более жизнеспособным для UNIX -подобных систем, которые могли не просто свопить, но и страницировать -на -диск.

Историческая ирония заключается в том, что эта великая жертва кремния (, полноценный -полноценный MMU и виртуальный -способный дизайн ЦП заняли довольно много места на кристалле )богам современных систем. был в основном занят любителями, а «крупная рыба», такая как Xenix и OS/2, в конце концов отошла на второй план.

Хотя вы можете назвать «ничего выгруженного и не запланированного для запуска» так же, как «подкачка», на самом деле это не все -или -ничего, как исходное значение слова «подкачка».

Разница была утрачена за десятилетия, прошедшие с тех пор, как подкачка по запросу -была настолько более полезной и масштабируемой, чем обычная подкачка, что она заменила ее, как только необходимые функции ЦП и MMU стали обычным явлением, но замедление и пробуксовка, связанные с либо сделаны для похожего внешнего вида -и -ощущения.

22
18.03.2021, 23:13

Теги

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