[NSWI004] Second assignment scoring (kernel heap)

Vojtech Horky horky at d3s.mff.cuni.cz
Tue Nov 19 09:54:35 CET 2019


Hello,

we finished checking assignment 02 (heap for the kernel). Again, our 
comments are in your home directories on lab.d3s.mff.cuni.cz.

Because we noticed that several of you continued refactoring the code 
even after deadline, we took commits from Thursday/Friday to include the 
improved code in the evaluation.

You should see the exact commit hash we looked at in the notes. If you 
believe we should have looked at other commit or we overlooked something 
etc., please, contact as as soon as possible.

Generally, I was quite impressed, several teams really tried hard to 
implement an effective allocator or used advanced data structures. We 
assigned extra points for this.

On the other hand, almost all solutions lacked an overview documentation 
how the allocator works on the very high level (whether it is a bitmap, 
linked-list of blocks; whether meta-data are interleaved with user data 
or not etc.).

As a sidenote: I noticed that some of you are not completely familiar 
with the concept of extern and static functions in C. Generally, when 
you would use private (as meant in Java, for example), you should use 
static in C. That limits the visibility of the symbol to the current 
source file (and typically, you do not need "forward" declaration for 
such functions). I would recommend reading either this thread on SO [1] 
or these articles [2,3] if you feel you are confused about this concept.

[1] https://stackoverflow.com/q/3684450
[2] https://www.codesdope.com/c-storage-classes/
[3] https://jameshfisher.com/2017/08/28/c-extern-function/

- VH



More information about the NSWI004 mailing list