Hello Friends,
I am Jaison, i like to build a os of my own with my friend. what the problem is we know a little knowledge about operating system and programing skills. you guys help us to kick start from where or how?
we need help on
- references or guides.
- books.
- development tools (we are using mac os x and ubuntu... no win)
- test machine. (i mean we are plaining to purchase an old pc which is for testing OS. so how to choose architecture and other requirements.)
i hope you guys will help
advance thanks....
Jaison
Please Guide Me
Re: Please Guide Me
Every good solution is obvious once you've found it.
- KotuxGuy
- Member
- Posts: 96
- Joined: Wed Nov 25, 2009 1:28 pm
- Location: Somewhere within 10ft of my favorite chubby penguin!
Re: Please Guide Me
Thanks for the benevolent response, Solar. Most people would have bashed the OP.
+1 for Solar!
+1 for Solar!
Give a man Linux, you feed the nearest optician ( Been staring at the PC too long again? ).
Give a man OS X, you feed the nearest NVidia outlet ( I need more GPU power!! )
Give a man Windows, you feed the entire Tylenol company ( Self explanatory )
Give a man OS X, you feed the nearest NVidia outlet ( I need more GPU power!! )
Give a man Windows, you feed the entire Tylenol company ( Self explanatory )
Re: Please Guide Me
jaisonjustus, I'm staring to program an Operating System too. Nowadays I'm trying to switch to Virtual Mode Memory.
My sources of information at the moment are:
* OS-Dev.
* GRUB Online manual
* Operating System Concepts by A. Silberschatz, P. B. Galvin (I borrowed form my University Library).
* The C Programming Language by Brian W. Kernighan, Dennis M. Ritchie (Creators of C language and UNIX Operating System).
* Operating Systems Slideshows from Operating Systems Course in my University (http://www.fib.upc.edu/en.html).
* Operating Systems Project students.
Maybe we can collaborate ... what ideas you have for your operating system?
My sources of information at the moment are:
* OS-Dev.
* GRUB Online manual
* Operating System Concepts by A. Silberschatz, P. B. Galvin (I borrowed form my University Library).
* The C Programming Language by Brian W. Kernighan, Dennis M. Ritchie (Creators of C language and UNIX Operating System).
* Operating Systems Slideshows from Operating Systems Course in my University (http://www.fib.upc.edu/en.html).
* Operating Systems Project students.
Maybe we can collaborate ... what ideas you have for your operating system?
-
- Posts: 2
- Joined: Thu Oct 28, 2010 1:59 am
Re: Please Guide Me
thanx pals...
hello geek,
i don't have any specific idea over the os... but iam sure more ideas will come while developing os... but before jumping into the sea... i need to know whatever things i need to survive...
i like to collaborate with you.. i like to learn more...
hello geek,
i don't have any specific idea over the os... but iam sure more ideas will come while developing os... but before jumping into the sea... i need to know whatever things i need to survive...
i like to collaborate with you.. i like to learn more...
Re: Please Guide Me
Hi,
I might recommend First You Learn about 8086 Real Mode And then Protected mode 80386 + processors. Then have a peek at the hardware ports ( Basic) and and keyboard controller . well that would give you the starting
I might recommend First You Learn about 8086 Real Mode And then Protected mode 80386 + processors. Then have a peek at the hardware ports ( Basic) and and keyboard controller . well that would give you the starting
Even the smallest person could change the course of the future - Lord Of The Rings.
In the end all that matters is what you have done - Alexander.
Even after a decade oh god those still gives me the shivers.
In the end all that matters is what you have done - Alexander.
Even after a decade oh god those still gives me the shivers.
- KotuxGuy
- Member
- Posts: 96
- Joined: Wed Nov 25, 2009 1:28 pm
- Location: Somewhere within 10ft of my favorite chubby penguin!
Re: Please Guide Me
Real Mode is easiest if you're not using GRUB, but it won't take you very far;
Protected Mode is what GRUB starts you in, for convenience reasons(you get all the RAM the system has to offer, you get memory protection, and user-space programs aren't all-powerful).
The reasons for using Real Mode are:
So, I would recommend using GRUB to boot your kernel, and let it configure graphics and stuff for you, instead of starting in Real Mode.
But, instead of doing all this yourself, I would recommend starting with one of the following tutorials:
Completing either of these tutorials will give you a kernel with a text-mode graphics, memory protection, memory allocation, a virtual file system, and a system call layer.
Completing the first will also give you multitasking, the second, a FAT12 file system driver, and VGA/VESA graphics.
That should get you started!
EDIT: 90th post for me!
Protected Mode is what GRUB starts you in, for convenience reasons(you get all the RAM the system has to offer, you get memory protection, and user-space programs aren't all-powerful).
The reasons for using Real Mode are:
- The BIOS implements tons of drivers for things like graphics, the keyboard, disk access, etc..
- It's what the processor starts in by default
So, I would recommend using GRUB to boot your kernel, and let it configure graphics and stuff for you, instead of starting in Real Mode.
But, instead of doing all this yourself, I would recommend starting with one of the following tutorials:
- JamesM's kernel tutorials(for UNIX-like development systems)
- BrokenThorn OS Development Series(for Windows development systems)
Completing either of these tutorials will give you a kernel with a text-mode graphics, memory protection, memory allocation, a virtual file system, and a system call layer.
Completing the first will also give you multitasking, the second, a FAT12 file system driver, and VGA/VESA graphics.
That should get you started!
EDIT: 90th post for me!
Give a man Linux, you feed the nearest optician ( Been staring at the PC too long again? ).
Give a man OS X, you feed the nearest NVidia outlet ( I need more GPU power!! )
Give a man Windows, you feed the entire Tylenol company ( Self explanatory )
Give a man OS X, you feed the nearest NVidia outlet ( I need more GPU power!! )
Give a man Windows, you feed the entire Tylenol company ( Self explanatory )
- piranha
- Member
- Posts: 1391
- Joined: Thu Dec 21, 2006 7:42 pm
- Location: Unknown. Momentum is pretty certain, however.
- Contact:
Re: Please Guide Me
Why has everybody overlooked the "little knowledge about. . .programing skills" part?
What exactly do you mean by little knowledge? How many languages do you know, and which ones? How long have you been programming in these languages?
You can write an OS in many different languages, however it is easiest to write in C (just my opinion). Even if you don't write the OS in C, most tutorials and documents are for/in C. You will also need to know at least a little bit of assembly, though the more you know the better.
How many programs have you written? Because if you haven't had a chance to practice, than this wont work.
Can you confidently handle pointers? Function pointers? Can you describe the flow of a a functions containing many loops and gotos?
Once you have the programming down, then you need to really finish up learning about your toolset. Compiling, assembling and linking. Creating linker scripts, and all that.
After that, you should acquire the Intel manuals and have a look at them. They will help. Then you should read through the wiki articles on creating a basic kernel, and try to make a simple one that boots up and says, "<Cliche message here>". If you can do that, you're already ahead of many people.
Then it's a matter of designing and writing the kernel. You can follow tutorials, and use their code to create a kernel, and then once you're done design your own. You can read the articles in the wiki and the Intel manuals to get ideas how stuff works and try to implement them yourself (this is much harder).
There are many ways to do it, but be warned - from where you're starting at there is going to be a lot of time spent before you can or should be focusing on your own kernel. I speak from experience, I tried to write a kernel too early, and ended up having to do a full rewrite.
That being said, theres nothing to stop you. Just learn about the subject and it is more than possible. Good luck!
-JL
P.S. You did break forum rules however. Did you read the rules? You asked a question that has been answered before. Based on your post, you probably don't meet the skills requirements at this time (though if you are willing to learn, this'll be overlooked). Please, search the forum and the wiki before asking, or you will get a lot of angry responses.
What exactly do you mean by little knowledge? How many languages do you know, and which ones? How long have you been programming in these languages?
You can write an OS in many different languages, however it is easiest to write in C (just my opinion). Even if you don't write the OS in C, most tutorials and documents are for/in C. You will also need to know at least a little bit of assembly, though the more you know the better.
How many programs have you written? Because if you haven't had a chance to practice, than this wont work.
Can you confidently handle pointers? Function pointers? Can you describe the flow of a a functions containing many loops and gotos?
Once you have the programming down, then you need to really finish up learning about your toolset. Compiling, assembling and linking. Creating linker scripts, and all that.
After that, you should acquire the Intel manuals and have a look at them. They will help. Then you should read through the wiki articles on creating a basic kernel, and try to make a simple one that boots up and says, "<Cliche message here>". If you can do that, you're already ahead of many people.
Then it's a matter of designing and writing the kernel. You can follow tutorials, and use their code to create a kernel, and then once you're done design your own. You can read the articles in the wiki and the Intel manuals to get ideas how stuff works and try to implement them yourself (this is much harder).
There are many ways to do it, but be warned - from where you're starting at there is going to be a lot of time spent before you can or should be focusing on your own kernel. I speak from experience, I tried to write a kernel too early, and ended up having to do a full rewrite.
That being said, theres nothing to stop you. Just learn about the subject and it is more than possible. Good luck!
-JL
P.S. You did break forum rules however. Did you read the rules? You asked a question that has been answered before. Based on your post, you probably don't meet the skills requirements at this time (though if you are willing to learn, this'll be overlooked). Please, search the forum and the wiki before asking, or you will get a lot of angry responses.
SeaOS: Adding VT-x, networking, and ARM support
dbittman on IRC, @danielbittman on twitter
https://dbittman.github.io
dbittman on IRC, @danielbittman on twitter
https://dbittman.github.io