Snusmumriken
Только человек должен быть довольно доверенным ))
Hello, World! 🎄
Hello, World! 🎄
Работает очень медленно (без оптимизации)
0xSU
@Snusmumriken надеюсь, пишу в уместное время)
Была группа pro.lua, не могу найти, мб там бот какой меня кикнул, ты вроде там админ help
Snusmumriken
0xSU
Aqendo
банан
0xSU
анбанан пж
0xSU
Snusmumriken
Не нашёл тебя в списке удалённых юзеров, хмм
0xSU
Странная фигня
0xSU
С Пк тож не заходит, хотя группа по ссылке кликается
Мб проблема на моей стороне, ток почему...
Snusmumriken
Уже, запрещено
Hello, World! 🎄
Я попробовал добавить, пишет что этого пользователя может добавить только администратор 🤷♂️
Hello, World! 🎄
0xSU
ᴠɪᴋᴀʀɪ ʜᴏɴᴇsᴛ
Hello, World! 🎄
Hello, World! 🎄
А ок, вроде прерывания работают, пока что пустой обработчик для всех прерываний, но для клавиатуры уже все работает (есть обработчик).
Hello, World! 🎄
33 (0x21) это клавиатура.
0 это для теста заполнил пустым обработчиком, если без него в kernel.c, написать к примеру:
asm volatile("int $0x00");
То ядро перезагружается, скорее всего не может обработать прерывание т.к оно было не заполнено в таблице прерываний.
Hello, World! 🎄
Самое трудное наверно будет это реализация динамического выделения памяти
ᴠɪᴋᴀʀɪ ʜᴏɴᴇsᴛ
@fhello_world do you ever use PascaL ?
Hello, World! 🎄
ᴠɪᴋᴀʀɪ ʜᴏɴᴇsᴛ
language is a bit pretty but not efficient, but why do all schools have this lesson for generations even if it's only 2 days.
ᴠɪᴋᴀʀɪ ʜᴏɴᴇsᴛ
it's the first language i know 🤣 before actionscript
Hello, World! 🎄
my first language is C
UtoECat
Hello, World! 🎄
А исходники выкладываешь куда-нибудь?
Нет, не выкладываю. По сути я ещё практически нечему не научился в osdev, возможно через какое-то время я начну лучше разбираться и тогда на github создам репозиторий
Hello, World! 🎄
Щас я просто практически всё беру из уроков по osdev (но некоторые части уже могу сам без проблем написать, так сказать небольшой прогресс)
UtoECat
Snusmumriken
Snusmumriken
А что-то дефрагментировать начинают только когда уже и память и своп закончились
Snusmumriken
Есть такой интересный подход: неиспользуемая память как бы не нужна. Типа, что толку от твоих 64гб оперативки, если не использовать их на 100%?
Snusmumriken
В результате, правда, когда надо запустить что-то свежее или память таки начинает заканчиваться, ос судорожно начинает чистить под это место
Snusmumriken
Да я просто смотрю например на организацию памяти ведра, например, и она настолько же упоротая, для телефона, несколько смешная.
Snusmumriken
Мало того, для планшета или например ноутбука - точно так же смешно.
Snusmumriken
Заметно буквально следующее:
Ведру даже в режиме энергосбережения насрать на время автономности, количество и нагрузку фоновых процессов и так далее. Он не может в менеджере сделать простои для них, обязательно выводить все всплывающие окошки СРАЗУ а не условно раз в несколько секунд для экономии.
Ведро не будет нормально "усыплять" процессы или суспендить, если они сами этого не делают.
Плюс обожает гонять свои службы, в тысячный раз индексируя одно и то же наплевав на заряд батареи и то, что телефон не подключен к зарядке.
Hello, World! 🎄
Snusmumriken
Как виртуализация влияет на многопоточность?
Snusmumriken
Ответ: никак
Snusmumriken
Знаешь зачем виртуализация памяти в принципе нужна?
Snusmumriken
Это чисто секьюрити чек.
Дополнительных проверки что ты, выходя за границы выделенного блока памяти, не запишешь в память других приложений. Мол, в этом приложении делай что хочешь, хоть кашу с маслом, а в другие приложения не лезь.
Snusmumriken
Snusmumriken
Ты получаешь от ОС поинтеры определённого размера — трахайся с ними как хочешь.
Snusmumriken
Единственная разница — без виртуальной памяти, читая рандомные участки ты можешь прочитать память других приложений, или записать в память других приложений.
С виртуальной памятью — нет. Но процесс замедляется на проверки доступа и трансляцию указателей туда-сюда-обратно.
Это ВСЯ разница.
Snusmumriken
А то что у тебя условно начальный поинтер в приложении начинается с 0 или с 12345667 — для тебя, как для писателя приложения, не играет вообще ничего. Это просто цифра.
Snusmumriken
Snusmumriken
Просто если приложение А что-то избыточно запишет в свой первый блок, оно запишет в приложение Б, и то похерится.
Snusmumriken
Странички — тоже тема на самом деле, потому что их просто переставлять и чистить, плюс на индексацию уходит меньше памяти чем каждому выдавать "ровно запрошенный" диапазон, но те же косяки что и у харда.
Hello, World! 🎄
Snusmumriken
Чел, я это написал буквально четыре раза.
Snusmumriken
Не, приложение запрашивает у системы больше блоков — и они присобачиваются куда угодно в физической памяти (ну, со смещением страниц). Виртуальная же память как бы непрерывна.
Hello, World! 🎄
Hello, World! 🎄
Сообщения не сразу доходят
UtoECat
Snusmumriken
Snusmumriken
На случай мелких изменений требований, есть фишечка.
Приложение А такое: дай гиг памяти. ОС такая: "держи четыре гига, расходуй как хошь".
На случай крупных требований это уже правда так не работает, но большая часть требований на повышение — довольно мелкая. Плюс когда запас израсходован, новый блок надо пихать куда-то ещё.
Snusmumriken
Snusmumriken
Трансляция из виртуальной в реальную память будет проводиться в любом случае, без промахов, потому что просто есть табличка трансляции, промахиваться некуда. Просто добавляешь к виртуальному указателю смещение для данной странички, и всё.
Snusmumriken
Гипотетически, можно "промахиваться", если дополнительно оптимизировать эти смещения, на стыках страничек.
Snusmumriken
Не, кеш это кеш, кеш действительно подгружает "ближние" данные из физической оперативки.
Просто.. Чем больше странички тем меньше промахов. На стыках — да, будут промахи, как это и происходит ирл. И в этом нет ничего особенно страшного — промах означает подгрузку из свежей области.
Ну например. Допустим, у тебя аудиофайл который ты.. Нормализуешь по громкости? Каким-нибудь линейным однопроходным алгоритмом.
Он расположен на трёх виртуальных страничках, расположенных вразнобой. И при его последовательной обработке будет три промаха кеша. И всё.
Тысячи промахов? Миллионы? Нет ))
Hello, World! 🎄
ᴠɪᴋᴀʀɪ ʜᴏɴᴇsᴛ
good night
ᴠɪᴋᴀʀɪ ʜᴏɴᴇsᴛ
0xSU
ᴠɪᴋᴀʀɪ ʜᴏɴᴇsᴛ