Guus Bosman

software engineering director


You are here

Study

Image: 
vu

First exercise +- ready

Still going strong, I really think I'm done with the programming for the first exercise. For those interested, here you can see what the kernel shows when I try to start a 800kb process while there are 2 separate holes, one of 500kb and one of 300kb...

vu

Memory defrag is ready

Today is even gonna be hotter than yesterday... and yep; still inside :) But today's going well. First of all: it works! My system call "memory defrag" actually defrags the memory, both text and data segments and updates the freelist error-free*. Means I can start on a new exercise today! A few things to be done, the most important one is let the method be called before the exec system call, but this will be trivial. Finish some documentation, clean up my code, and deploy it. But the thing works, jippie!

And another good thing is that the people renovating our flat are done with our balconies, so the noise in the morning won't come from straight next to the bed anymore but from a floor higher...

Somehow all my contacts in MSN Messenger have disappeared... no idea how!

----
*(I think).

vu

Bit behind schedule

Full with energy working on the memory compacting again. I'm a bit behind schedule, have to work a bit harder. Rewriting the memory manager's code, the kernel does a nice job but mm is rather buggy. The weather is beautiful... :(

vu

phys_copy_ext

This morning I implemented the phys_copy_ext (memory copy with overlap), which means all the building bricks are there. I can fysically move a process (with overlap if necessary), I can adjust the process tables for moving a text or a data/bss segment of a process, and I have a algorithm to defragment memory. Tomorrow morning I'll glue these together, and then I'll submit my first exercise for testing, Sunday or Monday.

This afternoon we went shopping; I bought a suit! Tomorrow Henrik, a collegue, will get married. it's gonna be fun!

vu

Kernel moves segments now

After a long, boring day, I'm having some results. Now I can move (using kernel-code) the data/stack segment or the text segment of a running process. The kernel recognizes shared text-segments, and everything seems to work all right. Nice feeling, but I'm pretty tired of programming now. We'll go swimming tonight, that always nice and good the empty the mind.

vu

I love programming

Oi! It works again! I love programming. Íî îáè÷àì Ñàøà íàé-ìíîãîòî ðàçáèðà ñå.

vu

Minix memcopy policy

Well, the policy is fine. No completely implemented yet, but it works for data/bss parts of processes. Now I'll have to move my temporary stuff from the memory manager to the kernel; boring but has to be done. After that I'll implement a phys_copy which handles overlap.

vu

Minix memory compaction

Yesterday afternoon I got the basic technology right, now I'm working on a policy. The goal of the exercise is: implement memory compaction. It's not extremely specific though about what is considered memory compaction, so I have to find a good policy myself. I'm now thinking about this: fetch a hole (start with first one, lowest in memory). If this is imediately followed by a process, this process should be moved (slided down), and the current hole size = hole size - proc. size. If the hole is not followed by a process (for example next to the BIOS or shadowed ROM area), see if the next thing it's followed by it a hole, and copy it (when it fits) -- no sliding thus. If copied: hole size = hole size - proc size, else hole++.

vu

Process moved!

Wow! Yes yes yes, I did it -- I just moved a process in memory! How exciting! Minix 2.0.0 gives a process a part of the memory and will never move it, but I added a (debugging) system call to move a process. Currently it will just move to whatever place there is available, but I am very happy it works. It's really nice programming like this: huge glass of water, espresso, Nirvana, Minix source code book next to me, calculator (for memory address conversions), pen & paper (idem) and Minix running in a virtual computer in Windows 2000... I love programming.

vu

Sleepy

Again a short night, pretty sleepy today. The Minix programming goes slow (because of that I think). Doing some NT install stuff also.

Pages

Recent comments

Recently read

Books I've recently read: