Small OS plan, need some guide lines

Question about which tools to use, bugs, the best way to implement a function, etc should go here. Don't forget to see if your question is answered in the wiki first! When in doubt post here.
Supermonkey

Small OS plan, need some guide lines

Post by Supermonkey »

Hi all,
I'm new to OS programming and have managed to put together a simple boot loader and kernel, which is booted from a floppy. The kernel currently takes 3 commands off the user via the keyboard, which are cls (clear screen), help and exit. I need to know really where to go now? I realise this must have been asked 20,000 times, I attempted to perform a search, read FAQ's etc but I'd like just a simple straight up list of what I can do next.
I'm not a stupid newbie(well I am sorta), and I'm not attempting tocreate the next windows. I'm just playing around and trying to expand my knowledge and really I would just like a simple command driven OS which can execute some kind of programs created by the user(me).

Any advice/help is much appreciated,

Jonny
kerim

Re:Small OS plan, need some guide lines

Post by kerim »

If you haven't written video and keyboard drivers, then you should do it next. Then, you should choose a file system to support, and make a driver for it, and then think about what kind of memory management you're going to use, and then implement it.
Supermonkey

Re:Small OS plan, need some guide lines

Post by Supermonkey »

Cheers for the help, I'm about to redo the kernel in C and have found a few bits on keyboard drivers, so I should be sorted there! I'll report back when I have that done.

cheers again

Jonny
GLneo

Re:Small OS plan, need some guide lines

Post by GLneo »

are you in pmode or realmode?
User avatar
Pype.Clicker
Member
Member
Posts: 5964
Joined: Wed Oct 18, 2006 2:31 am
Location: In a galaxy, far, far away
Contact:

Re:Small OS plan, need some guide lines

Post by Pype.Clicker »

maybe the FAQ could help you ...
Tora OS

Re:Small OS plan, need some guide lines

Post by Tora OS »

OS Dev is very difficult and quite frustrating at times.

My Guidelines are:

-Have fun with it
-Dont expect to make something as great as MS-DOS 6.22 (if you are building a command line os) in just a few weeks.

errr...i had a list of these someplace..


My Design Guidelines are:
-PMODE, REAL MODE, or unReal Mode
-What kind of kernel (monolithic, etc.)
-Kind of media supported (FD, CD, HD, USB Drives, etc.)
-Kind of drivers you want (KBD, Mouse, VGA, etc.)
-GUI or Command Line or both
-Vitural Consoles if command line (or maybe a vitural console with GUI too...that would be cool)
-Fault Protection (just kill the app? kill the whole system?)
-Memory Management (stick to the 640 conventional ram or go beyond, and how to organize the ram)
-Console size (80x25, 80x50, etc.)
-Screen Size (if gui...640x480, 800x600, etc)
-C or ASM or both
-FAT12 support? Other FS support?
-command line part of kernel or is it an app?

what am i missing....i know im missing something......pretty good for just making it up on the fly though.
User avatar
Pype.Clicker
Member
Member
Posts: 5964
Joined: Wed Oct 18, 2006 2:31 am
Location: In a galaxy, far, far away
Contact:

Re:Small OS plan, need some guide lines

Post by Pype.Clicker »

So you seem to be more the Lino Commando type of guy.

If i can afford a suggestion :
- forget about realmode
- let applications access as much memory as you can. There's no point in making systems limited to 640KB on machines having 256MB of ram ...
- try to propose programming interfaces that make the application ignorant of the actual size of the screen, fonts, etc. (really)

That should avoid you further frustration (you might like to do realmode OS, and you might later thing that "really, pmode is what you need". But i don't think you'll ever think that "really, i should have stuck to realmode. pmode is definitely just crap")
Supermonkey

Re:Small OS plan, need some guide lines

Post by Supermonkey »

I'm definatly doing it just to have fun, and I will be definatly taking it slow because I have another much more important project in development.
The C kernel I'm writing will be in protected mode and my first step is to just get to keyboard interrupts, I'll then sit back and take it from there......After all wheres the need to rush! ;D

Cheers for the advice

Jonny
Tora OS

Re:Small OS plan, need some guide lines

Post by Tora OS »

Supermonkey wrote: I'm definatly doing it just to have fun, and I will be definatly taking it slow because I have another much more important project in development.
The C kernel I'm writing will be in protected mode and my first step is to just get to keyboard interrupts, I'll then sit back and take it from there......After all wheres the need to rush! ;D

Cheers for the advice

Jonny
dont forget to remap the IRQ's first, like I did. Otherwise you will get a Double Fault Protection everytime the timer irq fires (IRQ0)
Supermonkey

Re:Small OS plan, need some guide lines

Post by Supermonkey »

dont forget to remap the IRQ's first, like I did. Otherwise you will get a Double Fault Protection everytime the timer irq fires (IRQ0)
Yeh I read some where about that. I was wondering, what C compiler is suitable? is lcc any good? I have never used C before, only C++ but most seem to use C for OS design so i thought I would aswell.

cheers

Jonny
Tora OS

Re:Small OS plan, need some guide lines

Post by Tora OS »

I use GCC in DJGPP for Windows. It works nicely.

For ASM I use NASM

For linking i use LD.


I have never tried any other compilers out before so I really do not know if there are better ones out there.
Supermonkey

Re:Small OS plan, need some guide lines

Post by Supermonkey »

Ok cheers, well while doing a bit of research I've come accross some C++ based kernel code and a few functions for C++ so I may have a go at a C++ kernel, especially since I'm used to C++.

We'll see how it goes ;)

Jonny
mar-rih

Re:Small OS plan, need some guide lines

Post by mar-rih »

I advise you to use Linux Os and its GCC compiler.

djgpp is not enouph for making OS and as example look at this artical for begginer devolopers OSs, its nice and good artical for beginner but it does't work on cygwin.

the artical
http://www.osdever.net/bkerndev/index.php?the_id=90
Supermonkey

Re:Small OS plan, need some guide lines

Post by Supermonkey »

That site looks excellent, cheers! I hadn't come across this. I have major reading to do.

cheers

Jonny
Tora OS

Re:Small OS plan, need some guide lines

Post by Tora OS »

mar-rih wrote: I advise you to use Linux Os and its GCC compiler.

dgjpp is not enouph for making OS
any reason why?

that article says for compilers: - DJGPP (GCC for DOS/Windoows)
Post Reply