Page 1 of 1

Things to do before GUI

Posted: Sun Feb 01, 2009 8:30 am
by BPearl
Hellow everybody,

I have developed the following parts for my OS:
1. Bootloader
2. A second stage bootloader
3. Installed a FAT12 filesystem (Only reading files)
4. Enabled A20 & protected mode
5. Installed IDT,GDT & IRQ
6. Programmed PIT and PIC
7. A Kernel in C
8. Installed a Keyboard Driver

My question is that what else should i need to be developed before coding a GUI?

Re: Things to do before GUI

Posted: Sun Feb 01, 2009 8:34 am
by djmauretto
My question is that what else should i need to be developed before coding a GUI?
Video Driver :wink:

Re: Things to do before GUI

Posted: Sun Feb 01, 2009 8:37 am
by captainwiggles
physical + virtual memory manager
mult tasking
mult threads
user space api
IPC

Theres prob more too, but i can't think of them just now, basically a gui is probably one of the last things you want to do.

Re: Things to do before GUI

Posted: Sun Feb 01, 2009 12:36 pm
by neon
My question is that what else should i need to be developed before coding a GUI?
Depends on your design. You can technically just have a video driver and interface with VESA or VGA. If you want a modular system, you can go as far as:

-video drivers
-graphics drivers
-graphics APIs
-GUI shells

All of these may require additional topics:

-memory managers (physical and/or virtual)
-disk drivers/filesystem drivers (if the above are separate programs)
-etc...

Re: Things to do before GUI

Posted: Sun Feb 01, 2009 2:13 pm
by JJeronimo
captainwiggles wrote:mult tasking
mult threads
user space api
IPC
Why?
- DOS has GUIs and doesn't support multi-tasking.
- Unix did not have multi-threading when X was invented.
- The API can be in kernel space. Why not?
- The MenuetOS GUI doesn't use IPC.

JJ

Re: Things to do before GUI

Posted: Sun Feb 01, 2009 2:16 pm
by piranha
The above things can make it easier to develop the GUI if used correctly.

-JL

Re: Things to do before GUI

Posted: Sun Feb 01, 2009 4:36 pm
by JJeronimo
piranha wrote:The above things can make it easier to develop the GUI if used correctly.
I can agree that having an user space GUI API implemented can help developing the GUI. But that's not true for the rest.
In fact, I thing using IPC for a GUI complicates it. And the same is true for multi-threading.

Ok. If you want a GUI, you certainly want some form of multitasking. But again, it doesn't help developing the GUI.

JJ

Re: Things to do before GUI

Posted: Sun Feb 01, 2009 8:44 pm
by Steve the Pirate
Well, the thing that you definitely need is a physical and virtual memory manager. It would probably be a very good idea to have some kind of multitasking also, and to be able to run executables...

Re: Things to do before GUI

Posted: Mon Feb 02, 2009 6:55 am
by AndrewAPrice
BPearl wrote:Hellow everybody,

I have developed the following parts for my OS:
1. Bootloader
2. A second stage bootloader
3. Installed a FAT12 filesystem (Only reading files)
4. Enabled A20 & protected mode
5. Installed IDT,GDT & IRQ
6. Programmed PIT and PIC
7. A Kernel in C
8. Installed a Keyboard Driver

My question is that what else should i need to be developed before coding a GUI?
Now you have to decide between micro/macro-kernel, how you will do your memory management, get processes/threads in and multitask, it's all up to you!