Page 1 of 1

Some Questions about continuing with OS and hardware

Posted: Mon Aug 22, 2016 3:06 pm
by Chpetrou
Hello

I finished the Bare Bones, and played with the kernel appearance and messages a bit. I mostly understood how the kernel works until now.

First, is this kernel a Microkernel, a Monolithic, or a Hybrid ? Also the mode of the processor and the memory management etc. are implemented in the GRUB boot-loader?

Second, i am trying as a starting point to make the OS work as a simple calculator, but how can i use the keyboard as an input, like in C++ "cin and cout", or C "scanf and printf" ?

Also how can i interact with hardware directly without any libraries or some kind of "help", for example you don't have some variables which count something that is happening in hardware to do something. How do you create drivers for a discontinued product?

Lastly, how can i implement something like a file manager and something like bash, and make a CLI OS like early BSD or early UNIX, and then make something like windows 1.0 which had the DoS behind and something like an early "GUI" which in fact was a graphical shell on top of DOS, or something like Mac OS System 1, or at least just a color window that each box is a program and the user can choose what program he wants? (I know that a GUI OS needs many things like display server, Desktop Environment and things like these)

Thanks in advance

Re: Some Questions about continuing with OS and hardware

Posted: Tue Aug 23, 2016 3:52 am
by glauxosdever
Hi,


In my opinion, it's probably better to write the kernel internals first (interrupt handlers, memory manager, scheduler), and only then bother with the hardware. Since you completed Bare Bones, I can recommend the following articles: As for reading bytes from the keyboard, you need to write the appropriate drivers.


Regards,
glauxosdever

Re: Some Questions about continuing with OS and hardware

Posted: Tue Aug 23, 2016 5:55 am
by matt11235
glauxosdever wrote:Hi,


In my opinion, it's probably better to write the kernel internals first (interrupt handlers, memory manager, scheduler), and only then bother with the hardware. Since you completed Bare Bones, I can recommend the following articles: As for reading bytes from the keyboard, you need to write the appropriate drivers.


Regards,
glauxosdever
I never saw that Going Further on x86 article, it looks really useful. Thanks :)