Activity Not Available
0
I Use This!

Project Summary

Analyzed 3 months ago. based on code collected 3 months ago.

Nano OSAn object oriented OS written in C++ and assembly.

How toI recommend trying out the floppy disk image(very recent) first. Please download the disk image. use qemu or bochs to boot the image.

After you satisfied your self please join the project and checkout the source. Play around and understand what is happening where. then discuss here and try to implement small chunks and small functionality.

I will suggest try out modifying the shell code to add few more commands.

Next modify IStream subsystem to handle int, pointer, HEX etc...

Present FeaturesMulti boot compliant (tested with GRUB) Hope it will work with syslinux too C++ minimal run time is present written as object oriented kernel 32-bit protected mode Memory manager for physical memory only CPU detection, Memory detection and IDE hard disk detection IDE hard disk read is possible Partion table parsing is in-built to IDE code FAT16 Partitions are recognised now

To DoMemory manager will be re-written using paging(first priority) Chris Gheezee's Malloc implementation based on heap implemented. Multi tasking (second priority) application loading atleast elf and coff binary.(third priority) I am planning to create a driver template so that it will be easy to write drivers floppy driver IDE driver ( See changelog bellow) network stack (might be mu-tcp/ip) ether net driver for rtl series and NE2k NFS client side (too ambitious ) Modify IStream and OStream for better functionality. specially implemet getstring() in cin Filesystem atleast FAT-16 will be nice. (any help on this with reference to the present code will be highly appreciated) Somany more Note Help me to grow this embryo

remember this is not going to compete with any other OS

This is purely for Experimentation and Learning, Covered under GNU GPL-V2

if you find this interesting and want to contribute, I will be happy to accept your code

change log9th december 2008: Kmalloc kfre krealloc implementation based on Chris gheeze's Heap based first fit allocator

18th december 2008: rudimentary dma and fdc code ported.

5th January 2009 : IDE hard disk driver is implmented. ( Only Reading) This works under BOCHS but not Under Qemu, I don't know Why???

7th January 2009 : IDE driver in read_sector a minor bug is fixed, Partition Scanning is implemented.

13th January 2009 : IDE driver now works fine under BOCHS and qemu. cpuinfo now displays properly.

9th February 209 : A rudimentary FAT16 is implmented, It now only be used to check if the Kernel recognizes FAT16 partition or not. The Image Works with qemu. For details how to PLease Check the Wiki.

11th March 2010 : Few modification to malloc family in kheap.cpp Initial PCI code but not working, initial tasking code not tested, Use of class template for singleton class. multiboot class is derived from singleton template.

20th March 2010 : Multitasking of 4 task for done. This is just to test the context switch is working correctly. :) enjoy.

Share

In a Nutshell, nanoos...

Languages

Languages?height=75&width=75
C++
86%
Assembly
10%
2 Other
4%

Lines of Code

Activity

30 Day Summary

Apr 9 2016 — May 9 2016

12 Month Summary

May 9 2015 — May 9 2016

Community

Ratings

Be the first to rate this project
 
Click to add your rating
   Spinner f6ecff617ec2ba7f559e6f535cad9b70a3f91120737535dab4d4548a6c83576c
 
Review this Project!