Page 1 of 1

A very basic OS....

Posted: Tue Feb 19, 2008 11:47 pm
by arman08
Hello friends...
First of all, this is the best forum out there for learning about OS dev. It really helped me a lot...
Actually i took "Mini OS" as my college project and i have to finish it in a month... From reading many tutorials available, i am able to write a 2 stage bootloader which boots successfully and loads a file from floppy.. I am successfully able to enter protected mode also... After doing this, i am not sure what to do next?
I mean i want to develop a very basic mini OS, which will boot itself and show a shell on which basic commands can be executed... please help me out here friends, i'll be very very thankful to you...
i want to know what steps should i follow next after entering PMode? The OS should be very basic (to meet the deadline)... Hope you are getting my point...
Thanks a lot in advance...

Posted: Tue Feb 19, 2008 11:59 pm
by piranha
* Sighs with great emphasis *

In the Beginner Mistakes section on the Wiki, it states that deadline are not good!
Google? Might help.....Or the Wiki
-JL

Posted: Wed Feb 20, 2008 12:45 am
by jerryleecooper
Make...

1. loading from your own floppy driver...
// binary code files

3. your own file system

Posted: Wed Feb 20, 2008 12:49 am
by 01000101
If all you need is a shell, and no extra driver support (besides keyboard), then just learn about whatever video mode you are in.

Once you know about your video mode, google around or wiki around to get user input from the keyboards scancodes and then parse them to the screen. After you can handler user input, making a "shell" is not all that difficult.

Read the wiki!!!

Posted: Wed Feb 20, 2008 1:23 am
by arman08
thanks a lot friends for ur support...

@01000101 :
Yes i need just a basic shell which should accept user input and process basic commands (at least for now.. will add more features later).. Thanks a lot.. i'll stdy about vidoe modes and accessing keyboard.... Thanks...

Posted: Wed Feb 20, 2008 2:49 am
by codemastersnake
I would personally recommend that you should be in Real Mode and use BIOS Function calls. I am recommending this becase since you said that you have one month time which is seriously not enough for developing an Operating System.

More over Protected mode make you to write your own drivers for everything that you do. Right from text mode driver to Network Card driver.

So I would recommend that you should stick to Real Mode and then write functions for displaying date on screen.

Download koolOS ver 2.1 if you want the source code.

URL: http://magneto.yurx.com

Posted: Wed Feb 20, 2008 10:24 am
by Dex
I agree with Snake, with so little time, your best stick with realmode.
You can still make a semi usable OS, as a example take a look at my 2k Dos clone.
Took about a week to code, but it runs many old dos games.
More info here:
http://board.flatassembler.net/topic.php?t=5275&start=0

Or maybe you could add more functions, as its a on going project, that is open source.

Posted: Wed Feb 20, 2008 10:57 am
by astrocrep
Check out the Bran Kernel Dev Tutorial on osdever.net

It will show you have to do basic screen output and keyoard input in PMODE.

You should be using it as a learning tool and not a cut and paste.

Good luck,
Rich

Posted: Fri Feb 22, 2008 10:53 pm
by naiksidd_85
james molloy has a good tutorial i recomend you use it.click here

Posted: Sat Feb 23, 2008 8:35 am
by codemastersnake
astrocrep wrote:Check out the Bran Kernel Dev Tutorial on osdever.net

It will show you have to do basic screen output and keyoard input in PMODE.

You should be using it as a learning tool and not a cut and paste.

Good luck,
Rich
That Tute is awesome but is not enough to get the marks in the exams. In the end he will only be having a throw away vary vary basic OS. See I am not saying wny thing against anybody but is saying that if you want to make good impresion then you should stick to real mode, Use BIOS functions and you can build a DOS like OS in a short time. But that will also need about 8-10 hrs of programming per day If I am not wrong!

Posted: Sat Feb 23, 2008 12:56 pm
by JamesM
That Tute is awesome but is not enough to get the marks in the exams.
If you want good marks in an exam, Don't copy-paste from ANY tutorial. It's not a case of "the tutorial isn't good enough to 'get you' good marks - you should be coding for your exam. Take the specification sheets, the intel developer manuals, and code it yourself. That way when your lecturer marks it, he won't spot Bran's code jumping out at him like a sore thumb (EVERYONE in osdev has seen bran's tut).

Posted: Sat Feb 23, 2008 1:03 pm
by Wave
JamesM wrote:
That Tute is awesome but is not enough to get the marks in the exams.
If you want good marks in an exam, Don't copy-paste from ANY tutorial. It's not a case of "the tutorial isn't good enough to 'get you' good marks
I think that was what he tried to say.

Posted: Sun Feb 24, 2008 9:32 am
by jal
JamesM wrote:(EVERYONE in osdev has seen bran's tut).
Mmmm, I'm not quite sure I have :). Well, seen maybe. I've seen a lot.


JAL

Posted: Sun Feb 24, 2008 6:47 pm
by neon
In the Beginner Mistakes section on the Wiki, it states that deadline are not good!
This is not entirely true. In large scale software, deadlines are a must to insure productivity. OSs can get very large and thus falls into this category.

On the other hand, OP, as the above also mentions that OSs can get very complicated. Expecting to complete a project of this size in a month is simply not possible as it is clear that you do not know what is needed within an OS.

Posted: Mon Feb 25, 2008 1:33 am
by Solar
The Wiki paragraph in question reads:
Deadlines

Whether for university, hobby, or commercial uses, operating system development takes time. The Linux kernel took over one year of very dedicated work to get into a semblance of usefulness, and all Linus Torvalds did was mimic existing and well-documented behaviour to get an already-existing userspace to run on it. Moreover, for every project as successful as Linux, there are literally hundreds of projects that consumed a man-year or more of work without ever getting as far as hosting a functional shell.

Therefore, plan a reasonable road map of what you want to get done. Do not assume that in 3 months your OS will have a GUI and voice recognition, because operating system development does not contain any RAD tools in it at all. In fact, it is completely void of them. (void. It's a joke. Get it?)
There's nothing wrong in that.

OP said:
The OS should be very basic (to meet the deadline)...
I second the notion that starting out on the path of OSDev with a deadline in mind will result in two things: Failed project, frustrated developer.