Size: a a a

pro.osdev - os development

2021 October 06

BD

Berkus Decker in pro.osdev - os development
на месте
источник

BD

Berkus Decker in pro.osdev - os development
сразу
источник

W

Wild_Wind in pro.osdev - os development
+
источник

BD

Berkus Decker in pro.osdev - os development
делать прослойку перед паникой, в виде исключения
которое никем не поймается и вызовет генерик панику
из которой будет ничего не понятно

супер решение
источник

d

disba1ancer in pro.osdev - os development
а объект исключения на что? там же можно сообщение сохранить
источник

BV

Boris Vinogradov in pro.osdev - os development
а вот поддержка этого добра выйдет в копеечку
источник

BV

Boris Vinogradov in pro.osdev - os development
и ночи без сна
источник

BD

Berkus Decker in pro.osdev - os development
зачем его сохранять, если можно не сохранять
источник

BD

Berkus Decker in pro.osdev - os development
ты не совсем понял что я сказал

вот сделал ты объект исключения
и бросил его
в контексте прерывания, где у тебя нету catch() ни одного

оно раскрутило стек до начала прерывания и сказало, бля, паника, НЕТ ОБРАБОТЧИКОВ ИСКЛЮЧЕНИЙ

и хуй ты когда узнаешь что у тебя было в том объекте исключения
источник

BD

Berkus Decker in pro.osdev - os development
паниковал бы сразу - получил бы внятную диагностику
источник

BD

Berkus Decker in pro.osdev - os development
а теперь удачи это всё воспроизвести
источник

BD

Berkus Decker in pro.osdev - os development
воспроизведется уже у клиента на проде
источник

BD

Berkus Decker in pro.osdev - os development
где-нибудь на марсе
источник

d

disba1ancer in pro.osdev - os development
давайте больше не будем про исключения, у меня есть вопрос про аллокатор, тут уже говорили про поддержку регионов, так вот у меня есть аллокатор для непрерывного региона памяти, но я хочу задействовать память не из одного региона, а из всех доступных (повторюсь страничной адресации нет, либо будет маппинг 1:1), как посоветуете хранить регионы, связным списком или массивом, и что ещё желательно туда засунуть?
источник

BD

Berkus Decker in pro.osdev - os development
в ядре не просто так лежит много разных типов аллокаторов
источник

BD

Berkus Decker in pro.osdev - os development
каждый заточен на свои нужды
источник

BD

Berkus Decker in pro.osdev - os development
где-то надо быстро аллоцировать и похуй на оверхед, где-то надо плотно и похуй на скорость
источник

BD

Berkus Decker in pro.osdev - os development
я для начала сделал генерик free-lists based аллокатор
источник

BD

Berkus Decker in pro.osdev - os development
он достаточно гибкий в качестве аллокатора общего уровня, но когда доберешься до более интересных мест может понадобиться slab, tlsf или что еще поинтереснее
источник

d

disba1ancer in pro.osdev - os development
но ведь он либо фрагментирует, либо дорого мержить память при освобождении
источник