10.8 XIP — eXecute In Place, выполнение на месте |
Предыдущая Содержание Следующая |
В стандартном Linux программы обычно загружаются и выполняются в системной памяти. Загрузчик загружает разделы текста с носителя (дискового или флеш-памяти) в эту память. Другие страницы получаются по запросу страниц, если это требуется, с помощью обработчика ошибки страницы. В случае uClinux, так как обработчик ошибки страницы невозможен, весь текстовый раздел должен быть сразу считан в оперативную память загрузчиком. Загрузчик файлов типа "flat" выделяет память размером с текст вместе со стеком, данными и таблицей переадресации. В системе с небольшим количеством памяти uClinux предоставляет альтернативу, XIP. С XIP становится возможным выполнять код с накопителя без необходимости загружать его в ОЗУ. Загрузчик использует непосредственно указатель на память накопителя и это позволяет сэкономить на выделении памяти, которое в противном случае пришлось бы делать для текстового раздела. Обратите внимание, что для исполнения память для данных и стека всё же должна быть выделена. XIP имеет некоторые ограничения или требования, которые должны учитываться при разработке. Перечислим их здесь.
|
Предыдущая Содержание Следующая |