Объяснение находит дисплей команды. каталог

Потребовалось немного времени, но я думал, что удержу отвечать, пока у меня не было ответов на все 3 из моих дополнительных вопросов.

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

1. Разве комната не выполнилась, потому что не было достаточного количества непрерывной RAM?

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

2. Если так, есть ли легкий метод дефрагментации DMA - не обращаясь к системному перезапуску?

Повороты там не являются никаким способом уплотнить память, за исключением перезапуска встроенной системы. В случае MMU-меньшего-количества системы предотвращение является названием игры.

Часть меня обдумывает если его возможное для взламывания ядра Linux для эмуляции MMU в программном обеспечении. Я фигурирую, было ли это возможно, кто-то уже сделал бы это. Я не могу вообразить совершенно новым понятием ;)

3. Как я могу предотвратить его в будущем?

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

На первом повторении проекта мы полагались на мои вызовы сценария оболочки для выполнения критических функций (таких как комната). Мы не видели потребность в изобретении велосипед, если мы не должны были.

Однако я рекомендовал бы избежать оболочки, если это возможно, для MMU-меньшего-количества системы -

(Вопрос, что происходит, если Вы выполняетесь ls -la /path/to/directory/ | grep file-i-seek?)

(Ответ: это запускает новый подпроцесс),

Если необходимо реализовать часть базовой функциональности сценария оболочки в программе C, я рекомендую проверить исходный код, используемый в BusyBox. Возможности, Вы будете использовать C в своей встроенной системе..

2
22.10.2013, 01:53
2 ответа

Точка, отображаемая в выводе find просто текущее местоположение, когда Вы указали его с find . команда. То же также, когда Вы говорите find /home/me/a. В обоих случаях находка показывает Вам каталог, который Вы ищете в (как указано) и любые соответствующие файлы и каталоги это find находит в том месте.

Примеры

каталог мы смотрим в, .

$ find . ....
.
./abc.txt
./a.txt

Найдите шоу результатами с точки зрения аргумента, который Вы указали, т.е. ..

каталог мы смотрим в, /home/me/a

$ find /home/me/a ....
/home/me/a
/home/me/a/abc.txt
/home/me/a/a.txt

Снова find показывает результаты с точки зрения аргумента, который Вы указали, /home/me/a.

Терминология

Попытайтесь не думать о них с точки зрения внутреннего или внешнего, думать о спецификации как относительной или абсолютной. Родственник . и абсолютный /home/me/a. В любом случае find не заботится, это просто показывает каталоги и файлы, которые это находит от того местоположения вниз.

5
27.01.2020, 21:54

Используя относительный каталог ( find .) приводит к ожидаемым результатам ./abc.txt в то время как find /home/ma/a/abc.txt является идентичным, но абсолютным. Вы не ожидали бы видеть . при использовании полных путей.

Результаты идентичны в этом, Вы могли технически "найти и заменить" . с /home/me/a и наоборот.

1
27.01.2020, 21:54

Теги

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