{
"$type": "site.standard.document",
"bskyPostRef": {
"cid": "bafyreidj5vrm5i6utf2sp7kzvxva77nkauydvozjo23frcdze2y567m2jy",
"uri": "at://did:plc:ndtvnkebzmsduapq2rqlsru4/app.bsky.feed.post/3mb2rablifvo2"
},
"path": "/syndications/kl-os-2025-12-28/",
"publishedAt": "2025-12-28T00:00:00.000Z",
"site": "https://scientiac.space",
"tags": [
"https://scientiac.space/syndications/kl-os-2025-12-28/POSSE",
"Day 7"
],
"textContent": "Day 7 was about Memory Allocation. First the memory regions were defined in the linker script so that it can determine the position to avoid overlapping the memory to kernel's static data.\n\nThe size of the memory space was `64 * 1024 * 1024` bytes or `64MB` and it is aligned to a `4KB` boundary.\n\nThen a function `alloc_pages` was implemented which allocated `n` pages of memory and returned it's starting address.",
"title": "KL-OS: Memory Allocation",
"updatedAt": "2026-04-22T08:40:38.671Z"
}