Thursday, August 11, 2005

energy regained

I have regained the energy and enthusiasm to work and read. I am porting the 2.4 hcd to the new 2.6.12 usb stack. I have also started looking at memory management, and started reading the L4 sources. However reading and trying to understand the usb stack sucks enough of my daily vitality. The device/driver subsystems, khubd etc. should start to make sense as soon as I see the code running live.

Friday, August 05, 2005

Dull weeks

Its been 2 weeks since my time in Turkey. Just recently managed to adapt back to Cambridge. I have started looking at L4 more seriously. I've skipped details such as installing/copying interrupt handlers etc. These are only simple linker tricks. Just details I shouldn't spend too much time on. Currently I'm trying to get familiar with the L4 code-base.

I've heard about kenge, a kernel library + python-based build system for L4 configurations. Also there's something called Iguana, as a device driver framework, but the latter wasn't very exciting for me as it seemed to involve too much distributed computing overhead (object oriented rpc, e.g. as in DCOM, RMI, CORBA etc.) such as granting object ownership ... i'm not saying these are unnecessary, surely you have to build on top of the basic IPC mechanism, but I have to investigate to have a better opinion. I'm afraid that it gets inflated too much, and things become slow and complex, as in the above OO RPC examples. Besides these middlware concepts have already been tried in OSes like sprite, fiasco I believe? Anyways, maybe I'm wrong, but having middleware operations for interrupts surely didn't make sense at all(mentioned somewhere in the documents). I will investigate further.

My current aim is to implement/modify the cache/tlb/mmu operations during startup (head.S?) to get more practical on them, examine current linking, interrupt, virtual memory, concurrency and ipc mechanisms.