I admit I am a child, but, with the help of someone else, plan on starting a NEW Opersting System. I am learning C/C++, an am asking you for suggestions. And by the way, please don't go around saying this is impossible; NOTHING is impossible.
Printable View
I admit I am a child, but, with the help of someone else, plan on starting a NEW Opersting System. I am learning C/C++, an am asking you for suggestions. And by the way, please don't go around saying this is impossible; NOTHING is impossible.
lol dude at your age and level it's impossible. if you put a team together including yourself and other coders you could prob do it but if you still don't even know algebra then theres no chance =(
if u are just learning C++ you have a LONG way to go before you make an o/s
I just posted this 5 minutes ago, but you have allready replied! GOD! ALLAH! WHOEVER HE IS! Anyway, I do know a little Algebrae, and I am considering doing it in Java. (Yes, the non-web kind) Anyway, I am glad you are interested, and I just want to know what kind of features should I include?
>NOTHING is impossible.
No, quite a few things are impossible for humans. Remaining underwater for 24 hours with no breathing apparatus (and living to tell the tale) is one . Writing an operating system if you are just learning C/C++ and are planning to do it in Java is another.
I'm saying I MIGHT do it in Java----I'm way more falmiliar with it, but C++ Is more customizable. ANYWAY, I still have no suggestions!
Alright, since you're taking requests. Can you make it just like Windows XP, only release it as freeware. That'd screw Microsoft.
Well if he made it EXACTLY like XP, that would violate some laws, wouldn't it? Then he would go to jail. Wait a minute, he is under 18, so by American law he'd get away clean and not go to jail... hmm....
Actually, I'd planned on it looking like XP, w/o the Windows logo
(HA thats ugly anyway) and having a similar start menu, only without such a code like that to help resist the everyday viruses and crashes...
I agree Microsoft is a bad company that is far from a true good monopoly but thats just because of Bill Gates!
The poster of this thread, "Unregistered" Just registered. He is a kid, and he is ME, so his new posts will be under "kidguru." Thank you.
Let the kid try. If he doesn't trust us, he'll sooner or later notice that he can't write any good OS at his level.
I think that comment was mean... All I wan't is some help! I don't care if its 39 years from now... All I know is I'll succeed and whip Microsofts tail!
I guess you don't want to face the truth. I'm sorry for you.
Lets put it this way, if it is a question you have to ask, don't even try. What you want to do would take A LOT of time, skill, and intelligence. Unless you are some sort of boy prodigy, it isn't gonna be possible. Wait a while (as in years), and ask again.
an OS in java? ummm .... that takes a lotta work because youre gonna have to write a java interpreter in some other language so you can use java. then you have to make the interpreter run and all that on your OS.
im sorry, but youre not gonna code an OS that looks like windows xp. linux looks as good as windows xp, but linux is a HUGE project with TONS of people in it. the other OS's except the ones that are as big as linux, are usually small, and all they have is a prompt.
you have to know assembly to code an OS unless youre planning on using someone elses bootloader and stuff like that so thats another reason its impossible (unless, of course, if you know asm).
what im trying to say is that you dont need to waste your time.
Maybe you could get some Linux source and screw with that for a while. Then you'll realize that there's no way in hell you are going to make your own OS, at least for a long while.
PLEASSSSE! I beg you! I don't care if it will take a long time! I just would like to make an OS! This is my almost lifelong dream! I mean Bill Gates Did it! Linus Torvalds did it! Apple(R) did it twice! Why coudn't I? One guy said If you put a team together you could do It? WHY CAN'T YOU GUYS BE MY TEAM?!?! Fine, I will bannnnnn you from my source code! FOR EVERYTHING! Forever!
I woudn't actually ban you! I just want a little help! Linux is'nt a bad idea though, anybody know where i can find the code BESIDES kernel.org?
I think it's included with most of the flavors of linux, try www.redhat.com, www.mandrake.com, and there should be a link somewhere on www.linux.com.
the linux source is like huge ...
Exactly. When he sees it he will realize that a snowball has a better chance in hell than he has a chance to create an OS with his experience. Especially one with a GUI.
How old are you right now? Besides what everyone else has said about it being 'impossible', Linus Torvalds was still much of a kid when he wrote Linux at the University of Helsinki. I don't know what year of study, but he was a student.. which I find mighty impressive.
Depends on what you call an "Operating System". There are surprisingly many children < 16 years (like -KEN- on this board) around coding their own bootloaders, kernels, device drivers that would alltogether acually fit in the definition of an "OS". Almost everyone in this thread is probably refering to the wide-spreaded commercial and/or unix-like operating systems- If so, i would agree that it's impossible for him to do such. But setting up just a simple kernel that offers some basic device drivers, maybe comes with a memory manager, multitasking support, hdd supporting filesystem, and a shell, is possible. The only requirement besides is knowledge about straight-forward assembly language.
Look as you cannot be swayed from your descision Kidguru then here is a few pieces of advice.
1) You cannot write an os in Java. Java itself is a platform that needs os support to run therefore that idea is ****ed!
2) If you are serious about writing an os then as a bare minimum you will need to know C and assembly language for your chosen target cpu(s). C++ can be used for the gui part but c and/or asm is better for the kernel.
3) Buy this book before doing anything else. "Operating systems design and implementation" by Andrew Tanenbaum and Albert Woodhull. ISBN 0-13-630195-9. This book deals with the main issues of writing an os. It deals mainly with processes and scheduling, inter-process communications using mutexes,monitors and semaphores, deadlocks and their avoidance,device drivers,memory management,and file systems. You will find the full source code for MINIX is included in the book and discussed throughout.
4) If you are a very quick learner with maybe some programming experience in another language and you are familiar with computer architechture then maybe you could write an operating system but I really think that this is too ambitious for a newbie.Read the suggested book and then see if you still want to try and do it.
The linux source code takes up a CD (like 600MB) http://www.linux-mandrake.com has some source code
howdy,
at the age of 42 i started a construction company with no business experience. it has doubled in size every year for the last 4 years. THEY said "your just a stupid iron worker" "it's impossible with your level of experience" "it's been tryed before and THEY failed" "you dont know what your getting into"....
GO FOR IT!! dont let the bastards hold you back. after all you aint running with the big dogs if youre laying on the porch.
bill G. and Linus T. didnt listen to THEM and look what they have done.
M.R.:mad:
There's a difference. You asolutely need to know a lot of advanced things to create an OS. I'm not saying he never will, I'm saying that at the moment he's not nearly qualified to do it at the moment.
We aren't telling him not to create an OS. We are telling him to wait to create an OS. There is a big difference there that some are missing. He needs to learn other information first.
heres the code for my operating system:
Code:#include <windows.h>
...
Well one thing is sure . You can not write an operating system with Java. It is higher than impossible. Java does not use pointers. That is it's biggest disadvantage. And without using pointers there is no way you can build an OS. Pointers the basic needs of building an OS. I think they removed the pointers kind of stuff from Java because what ecer is compiled is run on different platforms. The byte code is converted to machine language on that particular platform. If pointers were used it would make the program instable and the platform might crash since the memory is managed by different platforms in it's own way. SO you can completely forget writing an OS with JAVA But it can be done with C,C++ etc.. But that a lot. I advice you to first learn Assemble language. And low level programming.. such as formating floppies, accessing devices etc.. So before that you could try writing games etc to just understand the logics.
Hmm...You people should lighten up.
www.osdev.org
an OS in java is possible. look at javaos :). btw, people that are posting things like "you can just code a little one", read all the posts. the kid is talking about how he is going to make it look like widowsxp ...
javaos is not an os its a poor excuse for one. It doesn't work properly for one thing. Another is that the low-level code is written in assembler and the java virtual machine that it supports is written in c++. Once the low level stuff is out of the way it is concievable that many different languages could be used. Java will not be usable to write desktop operating systems until sun manufactures processors that natively support a java virtual machine ( and i believe these will be coming soon... picojava for one).
stoned_cder: read my first post ....
It seems everyone in my time zone doesn't agree with my ideas (US Eastern Time) but you have convinced me one thing.... NOT TO WRITE AN OS IN JAVA... Everyone says that would be harder, I say thanks to everyone who thinks i can do it with some help. I also have dicided to try smaller projects for about a month... BUT THEN I WILL START TO CODE A NEW OPORATING SYSTEM AND NOONE CAN STOP ME! Linus did it and he is relatively young---Bill Gates did it (Im not a fan of his but hey) so noone has changed my mind. I will try to find the book "Stoned_Coder" suggested.
Still... I am asking for Ideas...
KIDGURU
Please Reply to these Posts! PLEASSSSE!
See, there's a difference between you, linus torvalds, and Gates:
They were all geniuses with experience in the language, and programming in general. You, my friend, are not. No offense and all...
Ok, and who wants to bet that the "unregistered" person calling me a child and saying something about me coding an OS was dean in troll mode. Anyone?
Yes, I am writing an OS...a full-scale one with a GUI, but most likely never going to be competing with any OS's on a market or anything. Hopefully I'll just be able to get a nice OS done.
Writing an OS is tough work, kid. I've spent a lot of time on mine (and I've had experience in C AND ASM, not to mention now I have a partner) and all it can do is print text, print text in various colors, and get keyboard input. Once I finish keyboard input I'll move onto memory management, running programs, and then the FS...hopefully after that the GUI. It's tough. Not impossible. But tough.
Please tell me about your OS, or give me its URL, or all that., And trust me, I thought about having my own Language, and no, not like programming, like English and Spanish. This will be a breeze compared to that.
howdy,
i like the way this kid thinks!!:D
RIGHT ON kidguru.
M.R.
Well well that is what i call guts!
But u know what u got to be a guru in the following areas:
Computer Organization(know ur machine)
Data structure
Programming languages(c,c++,java)
Assembly language
An eye to see the abstraction
For all this u got to study computer science.
And believe me this is possible,so don't get disheartened,just
never forget ur goal 'coz it's a long way to go
Bon Voyage!
That's what I'm aiming for, once I get my ASM book. Maybe sometime in the distant future :( .Quote:
Originally posted by -KEN-
and all it can do is print text, print text in various colors, and get keyboard input
o/s huh... whatever happen to the good old fashion console apps?
r u really ten, and you want to make a o/s? I am NOT saying it is imposiible, but it will be hard. And try not to compare yourself with Linus, he was like in college when he made Linux.
How far are you in programming? Have you made graphics in console, or have you made a Win32 game yet? If this is your first project, you should think again.
Now one thing you CAN do, is make a shell for Windows. You can make it feel like Windows XP.
Here is a little quiz for you:
1. What does BIOS stand for, and what is it?
2. What is Object Orientated Programming? (you'll need this for multitasking)
3. What are interrupts?
4. Give me source code to a very simple GUI you have written, DOS or Windows (not anything as big as the Win9x Shell of course, just something that has windows, menu, and mouse support)
5. Explain what a Kernel is
6. Give me source code to a full featured utility and a game. (You can give me this anytime)
7. Explain the difference between 16 bit and 32 bit operating systems
8. Explain what a byte is
9. What happens when you turn your computer on?
10. Give me an equation that will center a graphic right in the middle of the screen, regardless of size. ( this is for windows )
11. Buy a bunch of Soda and Cheese Puffs, this is the programmers delicasy for long hours of work.
12. Explain why an interpreted language is not the way to go
13. Explain what an equation is
14. Explain how graphics are drawn to the screen
15. Which is better, Coke or Pepsi?
Ooo, ooo, I know this one.Quote:
Originally posted by frenchfry164
10. Give me an equation that will center a graphic right in the middle of the screen, regardless of size. ( this is for windows )
x = (SCR_WIDTH/2) - (GRAPHIC_SIZE/2)
y = (SCR_HEIGHT/2) - (GRAPHIC_SIZE/2)
howdy,
#3. i have 8 kids. i KNOW interrupts.
#8. paying taxes is a byte.
#9. it asks which OS to boot to.
#11. will perrier and yorks mints do?
#15. refer to #11.
how am i doing so far?
M.R.
This is pretty funny... I wrote an OS once in ASM... It was in real mode, had a simple command prompt and only accepted one command: "reboot".
I you're really serious about this kid, heck, good luck! Learm assembly lanugage because you're going to need it, and learn algebra (c'mon...)...
Ah, what the heck, ill have a go at this quiz, but I have no intention of writing an OS:
1. What does BIOS stand for, and what is it?
Basic Input Output System, the exact purpose im unsure of, but you can adjust 'low level' things about how your computer operates with it (what device to boot from..etc).
2. What is Object Orientated Programming? (you'll need this for multitasking)
programming focusing with 'objects' from 'classes'. where an object attains all the attributes from its class. then more things such as polymorphism and such to derive attributes to a class from a 'base' class...and more, but i dont want to go into such detail now.
3. What are interrupts?
To be honest, i dont know.
4. Give me source code to a very simple GUI you have written, DOS or Windows (not anything as big as the Win9x Shell of course, just something that has windows, menu, and mouse support)
N/A
5. Explain what a Kernel is
The core of an OS
6. Give me source code to a full featured utility and a game. (You can give me this anytime)
not releasing my source this soon ;)
7. Explain the difference between 16 bit and 32 bit operating systems
for one the size of an interger and memory types, some more stuff also.
8. Explain what a byte is
8 bits ;). A unit of memory.
9. What happens when you turn your computer on?
Dunno, but electricity goes through your computer and makes it turn on ;)
10. Give me an equation that will center a graphic right in the middle of the screen, regardless of size. ( this is for windows )
((screenwidth/2)-(graphicwidth/2)),
((screenheight/2)-(graphicheight/2)
11. Buy a bunch of Soda and Cheese Puffs, this is the programmers delicasy for long hours of work.
nonono, pizza and coffee ;)
12. Explain why an interpreted language is not the way to go
Its slow. Basicly, compiles your code on the run, as opposed to a compiled language that compiles your code before its run.
13. Explain what an equation is
A mathematical expression basiclly (hard to explain ;))
expression: 5x+30 //doesnt equal anything
exuasion: 5x+30=7x //does equal something
14. Explain how graphics are drawn to the screen
Put into the drawing buffer then 'flipped' onto the screen through the moniter.
15. Which is better, Coke or Pepsi
Carbonated Water ;).
Please correct me on anything i got wrong, and the things i didnt get at all (i know there were a few). Im eager to learn this stuff ;)
That little quiz was pretty funny... You don't need to be object oriented to multitask. You need ASM to multitask. If you think I'm kidding, try switching to PM without using any ASM. And if you can do that, then try setting up all of your descriptor tables. I did it once and all I knew how to do was print characters...
Just to clear a misconception up. Bill Gates did not write an OS. He bought DOS from a Seattle company for 50000$ and thats what he started MS with. He stole the UI for Windows(and so did Apple) from Xerox labs. So dispite popular belive Gates is not a programing god, just a smart buisnies man.
>3. What are interrupts? <
A hardware interrupt happens when a hardware device tells the computer it needs attention. A software interrupt happens when the programmer calls one in the code (okay, this is more of a rough definition, but oh well.). A processor trap is issued when software does the wrong thing and causes an error.
All interrupts interrupt the currently running code, does its thing, then returns back to the interrupted code (unless it's a trap; it just loops).
>5. Explain what a Kernel is
The core of an OS<
Technically, the kernel is the peice of code that is directly responsible for the tasking model, scheduler, and kernel primitives. :p Saying it is the "core" is misguided.
>Explain the difference between 16 bit and 32 bit operating systems<
A 16-bit OS runs in either real mode or 16-bit protected mode. A 32-bit OS runs in 32-bit protected mode. (This is assuming PC-ISA.)
>8. Explain what a byte is<
8 bits (binary digits), 2 nybbles, 0.5 word, 0.25 doubleword, etc. etc...
>9. What happens when you turn your computer on?<
The BIOS takes control and performs the POST, then checks the first boot device for a boot sector. (I don't recall the exact offsets off the top of my head; if you really want them, I'll dig them up.) If it finds a valid bootsector, it transfers control to it.
>11. Buy a bunch of Soda and Cheese Puffs, this is the programmers delicasy for long hours of work.<
No, pizza and coffee is!!! :D
>14. Explain how graphics are drawn to the screen<
Data is written to video memory...pretty straightforward.
>15. Which is better, Coke or Pepsi?<
Duh, Coke!
>the linux source is like huge ...<
I'm not sure if someone has posted this since then, but search for the v0.10 code. It is very easy to understand and good to learn from.
Another OS that really helps newbies learn is GazOS. Cosmos is also a really good one. They are functional (paging, protected mode, multitasking, apps, etc.) but at the same time easy to understand.
If you are serious about wanting to code one, look at these OS's (do a Google search for them) and then decide for yourself if you can and still want to make an OS. It's not as hard as people think. Of course it's a lot harder than making a Windows console program. ;)
Good luck! :)
1. What does BIOS stand for, and what is it?
*Doesn't really matter once you get into the actual OS, you can't USE the BIOS :) But Basic Input Output System, if you must.
2. What is Object Orientated Programming? (you'll need this for multitasking)
*Don't need to know it to make an OS.
3. What are interrupts?
*Can't use 'em once you get into PMode, so why bother?
4. Give me source code to a very simple GUI you have written, DOS or Windows (not anything as big as the Win9x Shell of course, just something that has windows, menu, and mouse support)
*Well considering that you don't NEED a gui? Plus, WinAPI is totally different from draing a shell with your OS.
5. Explain what a Kernel is
*The main part of the OS, resposnible for things like the multitasking model, etc.
6. Give me source code to a full featured utility and a game. (You can give me this anytime)
*Are you on crack? What does a gmae have to do with an OS? :p
7. Explain the difference between 16 bit and 32 bit operating systems
*"A 16-bit OS runs in either real mode or 16-bit protected mode. A 32-bit OS runs in 32-bit protected mode." - Quothe the Hillillie.
8. Explain what a byte is
*8 bits
9. What happens when you turn your computer on?
*The little light flicks on, sometimes you get a beeping sound, and the monitor makes a crackly noise before displaying the splash screen.
10. Give me an equation that will center a graphic right in the middle of the screen, regardless of size. ( this is for windows )
*((ScreenW/2)-(GraphicW/2)),
((ScreenHt/2)-(GraphicH/2)
11. Buy a bunch of Soda and Cheese Puffs, this is the programmers delicasy for long hours of work.
*I'm out of money. Buy some for me?
12. Explain why an interpreted language is not the way to go
*Because you have to interpret it? :p
Actually, because you need an OS to run the interpreter...
13. Explain what an equation is
*Those things you loathe (or love, if you're odd) in math.
14. Explain how graphics are drawn to the screen
*Care to elaborate? Drawing to video memory? Reading in a bitmap?
15. Which is better, Coke or Pepsi?
*Montain Dew or Dr. Pepper (Mr. Pibb is also acceptable)
Hillbilli - Thanks for the info, I've learned something ;)
No problem, dirkduck. :)
To everyone: Just for the record, I didn't mean to come off as a smart-ass. After I read my post, it seemed to me like I was trying to be a smarty. I wasn't. I was just trying to help. :)
Ken, just to tell you, you can use interrupt in PM if you know how to set up the tables.
Also if you knew anything, you woudl know that Gates wrote Altair BASIC and many other programs...
>>Ken, just to tell you, you can use interrupt in PM if you know how to set up the tables.<<
I know, you have to set up an IDT.
>>Also if you knew anything, you woudl know that Gates wrote Altair BASIC and many other programs...<<
Who said I didn't know that? I was forced to watch a movie on the altair once...worst waste of 2 hours I've ever spent.
>> He stole the UI for Windows(and so did Apple) from Xerox labs. So dispite popular belive Gates is not a programing god, just a smart buisnies man.<<
True enough, but he only got the idea from Xerox PARC (had to watch a movie on this, too :p) they actually coded it themselves, though. Plus, I'd take the Windows UI over Mac any day.
To gurukid:
Mostly the people here are right. By all means have your ambitions but be realistic. Making an os is bloddy hard work. But if you are really serious about it then I'd suggest going out and learning asm right now. If you are serious enough then this shouldn't be too difficult.
Then go back and learn ALL the ins and outs of C++ (you really have to get a book for that). To do something the size of an os, you'll need to know the language like the back of your hand.
If after all that you are still interested in creating an os then by all means go ahead with it. But still keep it simple, make a fully functional command based one first and work up from there.
Its a long road, but take it step by step and you'll get there
Also to clear up some things about Gates.
Yes he is actually smart. He went to some pretty good schools and did quite well.
He is also a buisnessman and a basterd. I think these two things are pretty closly intertwined.
>>NEW Opersting System
>>OPORATING SYSTEM
Include a spell checker.
Start on an OS.
Why be limited to the normal stuff people start with? (like a virus or trojan or god forbid an programming exercise like 'recursive palindromes')
I started programming withQuote:
Why be limited to the normal stuff people start with? (like a virus or trojan or god forbid an programming exercise like 'recursive palindromes')
After about a month I finally figured out why it didn't work and updated to version 2:Code:#include <stdio.h>
void main()
{
printf("Hello, world")
}
Then about 6 months later I realised void main was bad, and here is version 3:Code:#include <stdio.h>
void main()
{
printf("Hello, world");
}
wow.Code:#include <stdio.h>
int main(void)
{
printf("Hello, world");
return 0;
}
Hehe, same here, except my first language was really C++. It's funny because, I don't code in C++ much anymore...it's more C.
For those of you who are asking, I AM serious...
Ken, you are not going to use interrupts in your OS? And you cannot call the BIOS? How do you read the sectors off of the drive w/o using INT 13h. You have to do CHS to LBA or just plain CHS translation and the BIOS takes that info, sends it to the drive, the drive looks it up and sends the right head to the right place.
I'd be interested in seeing an OS w/o using interrupts. I don't know the Windows internals and most of it is prob undocumented anyways - does it use interrupts? Just cuz we cannot use em in MSVC does not mean it doesn't use them.
To execute an interrupt in PM you either set up the IDT or pop out of PM, do the int, and pop back in which is slow and ugly.
Also, Ken, have you decided on the multi-task stuff? If you are not going to use interrupt driven multi-task and task switch, how r u going to do it. I'm very interested. Kudos to you and your partner for doing this OS - you guys have learned a lot and its cool. I guess most of us previous C/C++ people have gotten on this assembly language kick - so much power, so much speed, no GUI or Windows politics. It's addictive. :)
More specifically, a byte is the smallest unit of memory a computer can directly address. We happen to use computers that can access 8 bits, so that is the byte size. Some oddball computers in the 70's-maybe-early-80's had 7 and 9 bit bytes.
However (there's always an exception)
I do a lot of programming (SysRPL and Saturn Assembly) for the HP48gx calculator. It has 8 bit bytes yet can access data on the nibble level (4 bits), which is kinda screwy at times (you can have (for example) 32963.5 bytes of free memory)
<FLAME-RETARDANT>
Yes you can read/write individual bits, but (as far as I know) this is only done by masking off the other bits with a logical AND and comparing to zero or logically OR-ing the appropriate mask to the byte.
</FLAME-RETARDANT>
Rutabega
It's me again, Margaret
>I'd be interested in seeing an OS w/o using interrupts. I don't know the Windows internals and most of it is prob undocumented anyways - does it use interrupts?<
Yes. When you press down a key on your keyboard or move the mouse, an interrupt is fired. I'm sure you're talking about the BIOS interrupts, though. It does (when running DOS programs), however it does not use the BIOS for system calls.
>To execute an interrupt in PM you either set up the IDT or pop out of PM, do the int, and pop back in which is slow and ugly.<
There is no way to execute BIOS interrupts while in protected mode.
Heres a question to anyone (I dont know the answer, but id like to learn!):
WHat exactly does the BIOS do? I know that you can alter certain system settings with it (i.e. the boot device) But im sure its more in-depth then that. Also, what is a 'dual BIOS'. When I start up my comp, it has a little image in the top right (before loading an OS...) that says dual BIOS...but whats the 'dual'? thanks
>WHat exactly does the BIOS do?<
BIOS - Basic Input/Output System
It is either stored on a ROM chip on the motherboard or (in new mobos) on a flash chip on the motherboard.
The basic function of the BIOS is to provide basic input/output services (duh). This includes access to devices, video I/O, boot up instructions, etc.
>I know that you can alter certain system settings with it (i.e. the boot device)<
Actually, I think (could be wrong) the CMOS takes care of that, not the BIOS.
Yes Hillbillie, you are correct.
Just my $/50
There are two ways of doing things on a computer:
1. Access the hardware directly
or
2. Use someone elses function call / interrupt
#1 is usually faster yet harder to do
#2 easier and sometimes more flexible
Also, when accessing the hardware directly, you have to write all the code yourself.
So in the beginning everyone had to go straight to the hardware, then they started writing generic routines in the BIOS to do the same thing yet are more flexible. These routines have to access the hardware eventually, though.
Then you have the OS, which usually provides its version of the same functions. The OS functions either:
1. Access the hardware directly
or
2. Call the BIOS functions which, of course, access the hardware directly.
So if you use the OS's functions you may be going through 2 levels of code before anything really gets done.
The OS functions are sometimes more powerfull ( in the sense that they can take a broad array of data types and amounts and do appropriate things with them ) and are, of course, supported by the OS. If you talk directly to the hardware, the OS doesn't know what you are doing, which has the potential to cause problems.
And there are all of the functions which are provided by the OS which are not included in the BIOS at all, such as sound and graphics support ( other than the pc speaker and text modes ).
As far as boot instructions go, I think all of those are contained in the boot sector on your boot device ( i.e. your C drive, or a network boot prom/module/thingy ).
I have a question. Where do you even start with an OS? I think I'd be interested in making a simple one once I get the time/experience/patience to make one.
:rolleyes: :rolleyes:
howdy tim545666,
havent you been following this thread - you cant do, its a waste of time, you dont know enough, its simply impossible, dont waste you time.
all of these gurus have allready made it clear that your run of the mill hacker will NEVER be able to create evan a simple OS.
after all Bill stole his and Linus.. well he just got lucky
:rolleyes: :rolleyes:
M.R.
>As far as boot instructions go, I think all of those are contained in the boot sector on your boot device ( i.e. your C drive, or a network boot prom/module/thingy ).<
When I said "boot instructions" I meant the instructions the CPU executes before an OS is ever loaded, the instructions that POST, jump to the boot sector, etc...
An OS has it's boot instructions stored in a program called a bootloader. It is found on a boot disk at the first sector. When a computer boots up, it checks the first specified boot device at sector 0. If there is a bootloader, it loads it into memory and jumps to it. If one isn't found, it moves to the next boot device and so on.
>I have a question. Where do you even start with an OS? I think I'd be interested in making a simple one once I get the time/experience/patience to make one.<
Go over to FD and check out the OS section. The bunch of us that are into this type of stuff will help you out. :)
>I have a question. Where do you even start with an OS? I think
>I'd be interested in making a simple one once I get the
>time/experience/patience to make one.
I suggest you take a look here:
http://www.goosee.com/old/mike.htm
This is a very small and easy to understand RTOS. Just requires you know C, ASM and some more advanced things. Hope it will help.
All you guys are really mean. KidGuru, go to www.flashdaddee.com and check out the OS Dev forum. We would be happy to help you there. You can also E-Mail me at [email protected].
I also don't know too much C++ and I have already written the best part of the boot sequence for my OS. It's the best way to learn quickly. As you say, nothing is impossible. If you are willing to work hard and be baffled a large amount of the time (just as I am), there is no reason why you shouldn't make a decent OS. Don't expect it to have a Graphical interface for several years, though. The guys at Microsoft don't have to go to school and there are a lot more of them! My OS will look nothing like Windows (once I get that far). I have ideas for a much more efficient interface.
Didn't read past the first page, I see that Hillbille has already snatched you up. Ignore the above post.
You Should Go Ahead And Program An OS!!!!
can't say I woud though, im happy now that I am able to print graphics to the screen.
>15. Which is better, Coke or Pepsi?<
hmmm... Coke is really nice, for taking corrosion of wires.
Pepsi sucks.
Root beer is best.
To KidGuru:
Although you should really want to master C/C++ first before attempting to code an OS, here is a site with some helpful info - www.osdev.org - seriously though, I would try to hold off for a while. Coding an OS isn't overly difficult (well okay it can be frustrating!), but you really need to have a firm grasp on programming theory and operating systems theory before attempting it. Good luck my friend.
Hillbillie according to my processor docs, it appears that when you call an INT from PM, the CPU checks the PE bit to see if you are in PM or not. If you are, it branches to a diff section than if you are in real mode. The pseudocode for the entire INT instruction is 3 pages long in my book. It seems that the CPU takes care of checking the PE so that you do not have to pop in and out of PM yourself. There are also all kinds of pther things that it checks like TSS's for task switches and other various things.
Bubba:
I did not know that. Very interesting indeed. I'll have to take a closer look at this when I get time.
You've got a long way to go, kid. I'm 19 and have just celebrated a victory of getting a Sony Playstation to display "Hello World" without an official dev kit. From there, I'm hittin a Playstation 2.
Kidguru,
You'll have to learn a lot before you're able to write your own OS and get it up and running. But if you take your time it is possible. I read that you didn't mind it would take some time, so I guess you have the spirit and patience to learn and write an OS on your own.
Take your time to learn about C, assembly, computer architecture and operating system concepts. And after some time when you really understand what's going on on that computer, you'll be able to write a little OS.
Good luck!