Skip to main content

Posts

GDT Explained

GDT contains a number of entries, Segment Descriptors . Usually each is 8 bytes long and marks the starting point, length, and access rights of the segment. It is stored in memory of course. The address is stored in a special 48-bit CPU register called Global Descriptor Table Register (GDTR). The lower 16 bits inform the size of the GDT while the upper 32 bits inform the location of the GDT in memory. The GDT itself is a 64-bit long entries. These entries define whether the current segment that the processor is running is for Ring 0 or Ring 3. Ring levels are restrictions, Ring 0 is for system use while Ring 3 is for application use. Such protection exists to prevent applications from causing the kernel to crash and to tell the processor which instructions are valid. –snipped–

Orders received!

ADZU Open Lab will be switching to Edubuntu 6.06 Dapper Drake! Wee! Expecting Ubuntu sovereignty in the University! More power Ubuntu Linux Development Team. A Freedom Toaster empowered by Shuttleworth Foundation is badly needed in our University. The network administrator, Sir Greg, also suggested Xubuntu 6.06 in the College Internet Access Area (CIAA). Well, it’s easy as one-two-three.

I’m back!

It’s good to be back to one’s abode. I haven’t been blogging lately for the reason that my dad was confined and there were no other who could watch over him except me. Good thing that my dad’s okay now. Got to go, have to finish the enrollment process. God bless.

20!

Twenty factorial? Thank God for all the blessings especially the gift of life. Thank you mom and dad for taking care of me. Thank you everyone! Happy birthday to me! I am no longer a teenage lad. I could not believe it. Time flies so fast.

Revamp, an apology

[Previous Post] Sorry I forgot the private flag because I was in a hurry awhile ago. I hope it didn’t deface Planet Ubuntu-PH. [OS Development] Global Descriptor Table conquered! Nothing special, more tasks ahead. So far so good. Linux 0.01 is cool and MiniOS (Minix) too! Hail to you Linus Torvalds and Andrew Tanenbaum.

Jeepney, today - 2

Thinking of the song? No, definitely not Kala’s hit in the Myx Daily Top 10. It was 31 down 7 o’clock in the evening, the last day of our training. The sky was darkening and the wind blew softly as I walked toward the terminal. Going home later than 6 o’clock in the evening is such a waste of time I heard myself whisper. Before taking the jeepney in line, I have decided to sit down and buy a bottle of coke in a bakery situated near the end of the terminal. While taking a sip, I observed people passing by. Definitely not Manila, whispering to myself and reminiscing the events a year ago. 5 minutes would be long enough for me to begin sipping air so I took a jeepney. I have waited for the jeepney to be filled up. Not exceeding 10 minutes, the wheels started rolling as expected. This year is going to be the hardest school year ever. Again, talking to myself. Anticipating sleepless nights, hardworks, additional duties or obligations, etc. Then suddenly while thinking o...

Kernel head

This is a late post. Simply explains how the kernel sits in after grub. [BITS 32] global _start extern kernel_entry PAGEALIGN equ 1<<0 MEMORYINFO equ 1<<1 HEADERFLAGS equ PAGEALIGN | MEMORYINFO ; 0x3 that is HEADERMAGIC equ 0x1BADB002 CHECKSUM equ -(HEADERMAGIC + HEADERFLAGS) STACKSIZE equ 0x4000 section .text ALIGN 4 ; section must be 4 byte-aligned multibootheader ; dd HEADERMAGIC dd HEADERFLAGS dd CHECKSUM _start: mov esp, stack+STACKSIZE push eax push ebx call kernel_entry jmp $ ; GDT here ; ISRs here section .bss ALIGN 4 stack resb STACKSIZE ; 16KB of memory I’m just sad tonight, that’s why I decided to post this out of nothing. Well I guess keeping myself busy would be wise enough.