mov eax , cr0
or eax , 0x01
mov cr0 , eax



back to months list

Project : The "Microkernel" Operating System

Journal Entry Date : 2024.01.03

Today I finally made IST working. Interrupt's still jammed though. I don't know why, but I think the structure itself is a bit fundamentally "broken." Gotta fix that right now.

Aside from that, I can't be satisfied from my segmentation system, because I think it has gone too complicated. So, my first-priority task is to make system simple and unanimated. There should be a way to establish/use segmentation very strategically and strictly. Until then, I'm gonna focus on what I can do currently.

"My idea" in segmentation...


Brief concept on segmentation system

Basically, there's this "Segments pool" that contains all the segments. Each segments has its value(like 0x08, 0x10, ...), base, limit and type, contained in the structures in pool. When the segments are registered, they can be used in lots of things like task segments or kernel segments. And there's very important thing, the code segment and data segment. There will also be functions that switches code segment and data segment to whatever stored in the pool.

This... might require some major amendments in future..