Wow. It's kinda strange to even consider that I am taking part in the creation of an operating system... It really wasn't that long ago that I wasn't even capable of writing a functional program... I owe a good portion of my achievements to you posters here on DANIWEB (especially Ancient Dragon).

Now on to my question(s):

1) A couple of friends and I have taken on the challenge of creating our very own OS. I still have much to learn, so I get a little bit lost every now and then, but for the most part, I pull through. Our 'team leader' has assigned me the task of rewriting the standard c libraries, and I was wondering if this is really a necessary task (I plan on doing it either way, as it will be good practice). -- He has told me that the more important functions include memory, and output functions. What is your input on this matter?

2) Regarding #1, how would I go about recreating malloc, and printf?

-- Please keep all of your answers exclusive of asm, unless that is the absolute only way to do it.

3) Are there any other things that I may need to know before I get too into this?

--
Please forgive any mistake I make. I admit that I am by far no professional, and have an immense amount to learn before I even become close to that. If you see a mistake, please tell me, so that I do not make a mistake in the future. :)

Thanks again, you have helped me come a long way.

Recommended Answers

All 10 Replies

Would this work to output a character?

void output(int c)
{
    *(unsigned short *)0xB8000 = 0x0F00 | c;
}

I found this while searching, and it looks useful. :)

hey 0xB8000 is the starting address of VDU memory. If u write any thing on this memory location it will be displayed on the screen.

But one thing I want to know what is ur operating system's specification, i mean 8-bit, 16-bit...

And u should know what is ur target hardware(uProccessor). before proceeding.

And u should know what is ur target hardware(uProccessor). before proceeding.

Exactly. Work out those details before commencing this big a task.

Sorry for stealing others thread.
<<And u should know what is ur target hardware(uProccessor). before proceeding
What does this mean? I am so dumb that I don't understand.

EDIT:

I ask this because I know very little about OS. WinXP works well with various hardware configuration, So is not an OS hardware independent

Sorry for stealing others thread.

Then don't do it in the first place.

OS is like a layer between ur hardware and ur application program. OS is very close to hardware. So it is not wrong to say that OS is hardware dependent.

As far as WinXp is concerned it is developed in such way to work with uProccessors which are dominating the market like: intel, AMD etc.

But still it will not work with 8-bit uprocessors.

Oh Now I get it. To make the OS independent of hardware is in the hands of the programmers. Thanks:)

To make the OS independent of hardware is in the hands of the programmers.

More true would be, "To make the OS compatible with maximum amount of uPs that are being used in the target market."

Oh Now I get it. To make the OS independent of hardware is in the hands of the programmers. Thanks:)

Yes indeed!

Sorry for stealing others thread.

Hehe. No kiddin'!

Not complaining... I have been a bit... inactive, so even if I wanted to, I really couldn't complain. :P

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.