I in the past used this site alot and realised I was lacking knowledge in certain areas so I have spent some time trying to get a bigger scope of knowledge.
Anyway just though I would say hi! Also this time around Im hoping to be mainly finding my answers from guides and books with maybe the odd question here and there. I recently bought developing a 32 bit operating system(MMURTL) and although I definatly want to do much of it very differant well I feel thanks to this book I have a better understanding of the requirements! I dont like how it bootstraps the OS but with the book including source code for drivers and such Im hoping I can get a bit further this time!
BTW I was looking through the documents section on this site and is it the case that part has been updated majorly in the last year?? Its just I have just downloaded a heap of useful documents from there that should really help me, also found a book on writing keyboard drivers and lots of other things and thats outwith the guide! Maybe its just because I am starting to realise the importance of prior reading and not just diving in there lol but either way the documents section seems to have much good stuff!
I also recently got my original version of xp, turned it to an iso, modded it and I can boot xp and ubuntu from it(from a usb external Hdd/flash drive) thanks to a great guide thats on the web, what I have done is install all my development compilers and other things on there, compile and link my code if required and move it to the pc with the internal drives which much of the time I will be messing with bootloaders so theres high risk of losing data. Running from USB is a bit slower with usb 1.1 but I figured I would share this with you all since its maybe a convienant way to develop an os and you arent having to constantly spend days re-installing everything upon botching some code. I know some of you may not be happy doing this but it helps in my situation and may be an idea for some of you if bochs isnt a viable option for some reason.
Just to finally say , although richards MMURTL book breaks with much of common practices well the theory side of his book shows alot of things to consider that I hadnt though about+ now I realise the importance of doing a memory manager first as well as setting up properly and using the GDT and IDT
Paging I kind of get well some forms of it I think hehe , what I was planning to do for my OS was have blocks of memory referanced in the gdt and you would get to your desired meory block by using the address of the start of the GDT and then an offset from the start of the gdt to the block to get to the start of your memory block needed.
Now the above may be totally wrong ^^ but is what I am saying feasible? and if so what kind of paging would this be? Im really sorry if this is wrong its just I figured Im best to make sure I understand what Im doing before I go and do it
Hi All+ is my memory management type feasible+my progress,
Re: Hi All+ is my memory management type feasible+my progress,
This is called segmentation and is for example supported on the 16bit and 32bit version of the x86 architecture.
The segment selector (DS, ES, FS, GS) points to an entry of the GDT (or LDT). If you try to read from ES:EDI for example, the CPU goes into the GDT, reads the entry to which ES points to, and adds the offset to EDI. The resulting address goes trough the paging mechanism (if enabled). And then this address will be used to read data from RAM.
If I were you I wouldn't do this. Mostly because most compilers (FPC, GCC, ...) don't support this memory model. In order to make use of the segment selectors you would have to use Watcom C or handwritten assembler routines.
The segment selector (DS, ES, FS, GS) points to an entry of the GDT (or LDT). If you try to read from ES:EDI for example, the CPU goes into the GDT, reads the entry to which ES points to, and adds the offset to EDI. The resulting address goes trough the paging mechanism (if enabled). And then this address will be used to read data from RAM.
If I were you I wouldn't do this. Mostly because most compilers (FPC, GCC, ...) don't support this memory model. In order to make use of the segment selectors you would have to use Watcom C or handwritten assembler routines.
Re: Hi All+ is my memory management type feasible+my progress,
ok thanks , dam I really liked the idea of that addressing style as well lol, looks like Im going to have to look at other ways of doing it that are compatible with gcc since in future I was hoping to port gcc, getting a basic memory manager, IDTs setup etc and gradually integrating c into my OS is a definate priority for me. Im going to check out the gcc manual to see what requirments are for memory to be able to get gcc working in future.
Thanks for the reply
Thanks for the reply
Re: Hi All+ is my memory management type feasible+my progress,
Thanks again berkus , advice taken. Still though It must be really dam rewarding when you get your os of the ground a bit and start seeing it being able to handle things!
- Combuster
- Member
- Posts: 9301
- Joined: Wed Oct 18, 2006 3:45 am
- Libera.chat IRC: [com]buster
- Location: On the balcony, where I can actually keep 1½m distance
- Contact:
Just a spambot. Nothing to see here, move along now.
OT: For the ones who saw it, the spambot here got killed.