Ну я просто дёргал код из обработчика прерывания от таймера. Так что модулем тут никак.Mario wrote:wolf.ram
Мне кажется прямая линковка с Асм кодом кода Си не самая лучшая идея. Можно же в виде подгружаемых модулей реализовывать.
Search found 21 matches
Re: Ядро и C
Re: Ядро и C
Гы. Забавно, что утверждение о том, что переход на си может увеличить скорость, находится в одном посте с методом, позволяющим эту самую скорость просадить из-за разрушения буфера пар call/ret (и вытекающим отсюда простоем декодера, вынужденного ждать, пока до ret непосредственно дойдёт управление,...
Re: Ядро и C
хм, интересно такое "в принципе" возможно? было бы здорово если все так гладко было бы Можно. И не только «в принципе», но и на практике. Руководство: В самое начало файла kernel.asm впихиваем директиву «format ELF», чтоб фасм делал объектники. В самый конец файла kernel.asm вписываем «rb...
Ядро и C
Пытаюсь прикрутить к ядру немного сишного кода. Но fasm ругается. Но обо всём по порядку. Если просто вписываю в файл kernel.asm в начало строку format elf, получаю ELF-объектник, линкую его ld как бинарь с началом адресов в 0x00, то ядро запускается и работает так же, как и просто скомпиленное сраз...
Re: Таймер
Cкосится. Планировщик переключает задачи на каждом тике. Почему ? Надо спросить у Вилле . Хех, ну так-то смысл изменения частоты таймера был в том, чтоб сделать переключение задач чаще, а значит сделать работу системы более "мягкой". Только при этом сбивалось время, вот я и поправил этот ...
Таймер
Подправил в ядре работу с таймером. А точнее - сделал счетчик миллисекунд, прошедших с начала запуска, более независимым от частоты таймера. Частоту таймера можно настраивать при компиляции ядра, в файле const.inc. Публикую сдесь, ибо как SVN-ами пользоваться не учен, а diff-ы выкладывать - так мног...