
Wizard Code: A View on Low-Level Programming - mabynogy
http://vendu.twodots.nl/wizardcode.html
======
nitrix
I have followed the work of vendu on his OS over the years. He has mastered
the art. If anyone is interested, you should get in touch with him and try to
extract some of the genius sauce out of his brain; especially that memory
allocator.

~~~
crazyfin
thanks man! :)

the malloc in the book can be considered obsolete - i'm coming up with
something hopefully better, even though my rewrite is seriously under
construction at the moment.

for some memory management stuff, feel free to consult

    
    
        https://github.com/vendu/OS-Zero/tree/master/kern/mem
    

cya,

vendu

------
wmu
Impressive work. One note: use of MMX instructions in 2017 is odd, as MMX is
dead.

~~~
rep_movsd
MMX is not really dead - how else would you do byte level integer processing?
AFAIK the later SIMD instructions are all float based

~~~
hrydgard
Not true, SSE2 added support for performing all the MMX operations, but at
128-bit width in the SSE registers. AVX2 expanded that out to 256-bit width
later.

~~~
stephencanon
Right--there is _no_ reason to use MMX today, and two good reasons not to.
SSE2 and follow-on extensions give better performance, and the SSE registers
do not alias the x87 stack, which removes the risk of a particularly nasty and
difficult to diagnose class of bug (failure to issue EMMS following MMX usage
can cause x87 stack corruption billions of cycles later in an apparently
unrelated call tree).

~~~
crazyfin
hey!

as i told you guys above, i didn't have sse2+ around at the time i wrote those
chapters.

thanks a million for the note on x87 stack corruption, i didn't know about
that bug. ;)

hack on,

vendu

