DevPrep

Все темы › Управление памятью

Чем file-backed страницы отличаются от anonymous?

Senior PRO

Два вида страниц

File-backed — страница отображена из файла на диске: код (__TEXT), константы, dyld shared cache, mmap-нутые ресурсы и базы. У системы всегда есть «оригинал», поэтому при нехватке памяти такую страницу можно просто выбросить (если она clean) и перечитать с диска при следующем обращении. Стоимость — page fault и чтение с флеша, но не потеря данных.

Anonymous — страница не подкреплена ничем: куча (malloc), стеки, буферы изображений, vm_allocate. Единственная копия данных — в RAM. Выбросить её нельзя; варианты у системы: держать, сжать (memory compressor) или убить процесс.

Продолжение ответа с кодом и уточняющими вопросами интервьюера — в приложении DevPrep.

Полный ответ — в DevPrep

Потренируйтесь перед собеседованием

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

Скачать DevPrep в App Store