nanOS (My Introduction)

This forums is for OS project announcements including project openings, new releases, update notices, test requests, and job openings (both paying and volunteer).
Post Reply
Shroomster
Posts: 9
Joined: Thu Aug 21, 2008 1:36 pm

nanOS (My Introduction)

Post by Shroomster »

Not sure where one makes introductions around here, but I guess this is as good a place as any (just move this if I am mistaken). I am a second year CS student who is interested in Operating Systems and has a hobbie OS. It is named nanOS, which stands for "needs a name Operating System". It is currently at version 0.0.4 and is not much, with only a kernel. Here is a summary of what it is so far:

drivers:
  • console
    keyboard
    shell
    -- rudimentary, at best
    timer
kernel components:
  • global descriptor table
    interrupt descriptor table
    interrupt requests
    interrupt service requests
Image

I am currently working on a simple memory manager and a floppy driver. When it reaches 0.0.5, I will post a floppy image and probably the source (haven't decided). Any input would be helpful, as I am probably in way over my head :wink:. Which is to say if anyone wants to help out, that'd be cool too.

P.S. The drivers are part of the kernel right now, but eventually (after I have a memory manager and a file system driver) the rest of the drivers will be loaded by the kernel.
User avatar
01000101
Member
Member
Posts: 1599
Joined: Fri Jun 22, 2007 12:47 pm
Contact:

Re: An introduction...?

Post by 01000101 »

welcome!
You seem to have some of the basics down. Do you have a working memory manager yet?

Nice ASCII-art btw.
Shroomster
Posts: 9
Joined: Thu Aug 21, 2008 1:36 pm

Re: An introduction...?

Post by Shroomster »

Nope, not yet. That and a floppy device driver are next on my to-do list. Does anyone have any opinions about the easiest and simplest (yet solid) memory management scheme?
User avatar
Alboin
Member
Member
Posts: 1466
Joined: Thu Jan 04, 2007 3:29 pm
Location: Noricum and Pannonia

Re: An introduction...?

Post by Alboin »

easiest and simplest (yet solid) memory management scheme?
mallocesque: dlmalloc, slab allocation
regional: linked list
physical: stack
C8H10N4O2 | #446691 | Trust the nodes.
User avatar
Dex
Member
Member
Posts: 1444
Joined: Fri Jan 27, 2006 12:00 am
Contact:

Re: An introduction...?

Post by Dex »

01000101 wrote:Nice ASCII-art btw.
Its simple, you type your string in the box and click http://www.network-science.de/ascii/

And welcome to the forum, i have written a pmode floppy driver demo, let me know if you want to see it.
Shroomster
Posts: 9
Joined: Thu Aug 21, 2008 1:36 pm

Re: An introduction...?

Post by Shroomster »

@dex: Yea I would definitely like to see that. And yup, that was generated, I would never have the patience to do ascii art like that 8)
User avatar
Dex
Member
Member
Posts: 1444
Joined: Fri Jan 27, 2006 12:00 am
Contact:

Re: An introduction...?

Post by Dex »

Here you go http://www.dex4u.com/demos/FddDemo.zip
It boots, sets up basic GDT, IDT, A20, goes to pmode and than using the pmode floppy driver, loads the boot sector to screen. It includes full fasm code.

If you want just the driver here it is http://www.dex4u.com/demos/FloppyDriver.zip
User avatar
01000101
Member
Member
Posts: 1599
Joined: Fri Jun 22, 2007 12:47 pm
Contact:

Re: An introduction...?

Post by 01000101 »

Shroomster wrote:@dex: Yea I would definitely like to see that. And yup, that was generated, I would never have the patience to do ascii art like that 8)
lol, well it is cool anyway.
User avatar
AndrewAPrice
Member
Member
Posts: 2299
Joined: Mon Jun 05, 2006 11:00 pm
Location: USA (and Australia)

Re: An introduction...?

Post by AndrewAPrice »

Everyone likes ASCII art. I'm not very talented at it, but it's fun when you have some time.

You've inspired me to add some to my OS, but where could I actually display it? My window manager is initialised pretty early in the boot process. I guess as soon as it turns on, you have a 1 to 2 second wait as my MM initialised itself, followed by the drivers/servers loading, so I could place it there.
My OS is Perception.
User avatar
Dex
Member
Member
Posts: 1444
Joined: Fri Jan 27, 2006 12:00 am
Contact:

Re: An introduction...?

Post by Dex »

Shroomster
Posts: 9
Joined: Thu Aug 21, 2008 1:36 pm

Re: An introduction...?

Post by Shroomster »

@MessiahAndrw: Yeah, that's where I put mine, but since there's no real wait (as I don't have anything big to load like a MM yet), I just have the timer wait for a second... Otherwise you'd never see the splash screen :P. Once there is one, I'll definitely get rid of the wait.

@Dex: Hmm.. That's food for thought.... I think I'll have to try that.
User avatar
AndrewAPrice
Member
Member
Posts: 2299
Joined: Mon Jun 05, 2006 11:00 pm
Location: USA (and Australia)

Re: nanOS (My Introduction)

Post by AndrewAPrice »

The problem with a splash screen is that in your debug build (yes, I'm using Visual Studio terminology here - in contrast with your release build which you publish) you'd usually want your startup to be as verbose as possible, so you can take note of any strange goings because you're guaranteed to have things in your bootup sequence which don't perform as they're suppose to.
My OS is Perception.
xyzzy
Member
Member
Posts: 391
Joined: Wed Jul 25, 2007 8:45 am
Libera.chat IRC: aejsmith
Location: London, UK
Contact:

Re: nanOS (My Introduction)

Post by xyzzy »

MessiahAndrw wrote:The problem with a splash screen is that in your debug build (yes, I'm using Visual Studio terminology here - in contrast with your release build which you publish) you'd usually want your startup to be as verbose as possible, so you can take note of any strange goings because you're guaranteed to have things in your bootup sequence which don't perform as they're suppose to.
Output verbose startup messages on a serial port?
Post Reply