OSDev.org

The Place to Start for Operating System Developers
It is currently Thu Mar 28, 2024 3:50 pm

All times are UTC - 6 hours




Post new topic This topic is locked, you cannot edit posts or make further replies.  [ 4 posts ] 
Author Message
 Post subject: where do i start?
PostPosted: Fri Sep 09, 2005 11:00 pm 
Offline
Member
Member

Joined: Thu Jul 07, 2005 11:00 pm
Posts: 1546
I have recently decided that my crappy real mode os is going to protected mode; of course most of the code relied on segmentation, so i scrapped most of the code, now i just need some help figuring out where to start over from, i already got basic screen printing(printf,printc) and have made a pokeb and peekb function

but now what?

edit:
btw im new to protected mode but not necessarily assmebly or real mode

edit2:
im an idiot i forgot, i dont even need poke or peek, a simple: byte *ptr;ptr=adress;data=*ptr
im an idiot


Last edited by earlz on Fri Sep 09, 2005 11:00 pm, edited 2 times in total.

Top
 Profile  
 
 Post subject: Re: where do i start?
PostPosted: Tue Oct 12, 2021 11:06 pm 
Offline

Joined: Tue Oct 12, 2021 10:27 pm
Posts: 1
You might want to get interrupts (See here: https://wiki.osdev.org/Interrupt_Descriptor_Table) and an interrupt controller (see: https://wiki.osdev.org/PIC) working. You'll probably need to set up a clock (see: https://wiki.osdev.org/RTC) and a timer (see: https://wiki.osdev.org/Programmable_Interval_Timer). Then you might want write up some drivers for NICs or other devices. Or add support for ACPI or USB. If you want to support AMD64, you should enter long mode. See https://wiki.osdev.org/What_Order_Shoul ... ings_In%3F to get a general direction to start working on and https://wiki.osdev.org/Going_Further_on_x86 for a more specific roadmap. Hope this is what you were looking for.


Top
 Profile  
 
 Post subject: Re: where do i start?
PostPosted: Wed Oct 13, 2021 8:29 am 
Offline
Member
Member

Joined: Wed Aug 30, 2017 8:24 am
Posts: 1593
I would say, the very first thing you need to get working is memory management. Possibly with a temporary IDT that only handles exceptions and just always panics. Once memory works, move on to initializing the CPU (as in, GDT, IDT, TSS, all the little MSRs, maybe paging), and then tackle interrupts and discover the hardware. That last one mainly means to start reading ACPI tables to find out what hardware is in the system, then move on to enumerating the PCI bus(ses) you find in the ACPI tables, then probably USB. This is also when you will need to decide on how to work with drivers, how to expose devices to the applications, and where you want to go ultimately. I don't know any OS that can make do without hardware discovery, but what to do with the discovered hardware can be complicated.

_________________
Carpe diem!


Top
 Profile  
 
 Post subject: Re: where do i start?
PostPosted: Wed Oct 13, 2021 7:36 pm 
Offline
Member
Member

Joined: Wed Mar 30, 2011 12:31 am
Posts: 676
This thread is 16 years old. Please do not continue old threads without good reason.

_________________
toaruos on github | toaruos.org | gitlab | twitter | bim - a text editor


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic This topic is locked, you cannot edit posts or make further replies.  [ 4 posts ] 

All times are UTC - 6 hours


Who is online

Users browsing this forum: No registered users and 59 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group