/simplebuddy

linux buddy demo using C

Primary LanguageC

The program implemented Buddy memory allocation in the wiki

$ make
$ ./buddytest
     |2^4
 step| 64K | 64K | 64K | 64K | 64K | 64K | 64K | 64K | 64K | 64K | 64K | 64K | 64K | 64K | 64K | 64K |
 1   |2^4
 2   |2^4
     |2^3                                            |2^3
     |2^2                    |2^2                    |2^3
     |2^1        |2^1        |2^2                    |2^3
     |2^0  |2^0  |2^1        |2^2                    |2^3
 2   |A:2^0|2^0  |2^1        |2^2                    |2^3
 3   |A:2^0|2^0  |2^1        |2^2                    |2^3
 3   |A:2^0|2^0  |B:2^1      |2^2                    |2^3
 4   |A:2^0|2^0  |B:2^1      |2^2                    |2^3
 4   |A:2^0|C:2^0|B:2^1      |2^2                    |2^3
 5   |A:2^0|C:2^0|B:2^1      |2^2                    |2^3
     |A:2^0|C:2^0|B:2^1      |2^1        |2^1        |2^3
 5   |A:2^0|C:2^0|B:2^1      |D:2^1      |2^1        |2^3
 6   |A:2^0|C:2^0|B:2^1      |D:2^1      |2^1        |2^3
     |A:2^0|C:2^0|B:2^1      |D:2^1      |2^1        |2^3
 6   |A:2^0|C:2^0|2^1        |D:2^1      |2^1        |2^3
 7   |A:2^0|C:2^0|2^1        |D:2^1      |2^1        |2^3
     |A:2^0|C:2^0|2^1        |2^1        |2^1        |2^3
     |A:2^0|C:2^0|2^1        |2^2                    |2^3
 7   |A:2^0|C:2^0|2^1        |2^2                    |2^3
 8   |A:2^0|C:2^0|2^1        |2^2                    |2^3
     |2^0  |C:2^0|2^1        |2^2                    |2^3
 8   |2^0  |C:2^0|2^1        |2^2                    |2^3
 9   |2^0  |C:2^0|2^1        |2^2                    |2^3
     |2^0  |2^0  |2^1        |2^2                    |2^3
     |2^1        |2^1        |2^2                    |2^3
     |2^2                    |2^2                    |2^3
     |2^3                                            |2^3
     |2^4
 9   |2^4