Skip to main content
GameDev.net gamedev.net
🔒 Locked

operating system

Started by Jeremiah Feb 29, 2000 at 11:30 AM 37 replies 2.7k views
Original Post
Jeremiah
Jeremiah
I am going to take on a fairly long-term task of creating my own operating system. I am not making it for commercial uses, or for anybody else to use it but me, but only for the knowledge of it. I have a couple questions however... I would have to make my own BIOS for my os right? well, how would i do that? Also, I would be able to have my own file structure too : so I would have to create my own FAT-type thing. And then would I also have to create my own malloc type memory management?
http://fakemind.com
evaclear
evaclear
You shouldn''t need to make your own bios for your os as the BIOS in an IBM compatible is not intertwined with the Operating system as it would be with a Mac. You could just have your OS, access the exhisting bios information that is already held on the ROM chip.

You will however need to create your own file system and memory management system, but that''s too complicated to go into detail here. Get a book on Operating Systems development (or check your local library). It''s all covered in them.
Joseph FernaldSoftware EngineerRed Storm Entertainment.------------------------The opinions expressed are that of the person postingand not that of Red Storm Entertainment.
Jeremiah
Jeremiah
But I thought there were [lets say] DOS bios interupts that did things such as opening files and such, which would happen differently if I created my own OS.
There are some BIOS settings that are "hard-wired" into the computer for whatever microprocessor is inside, but I did think there were other [software?] BIOS interupts.
http://fakemind.com
kill
kill
Yes, make an OS... Make an OS so you could develop games for it. Then make your own library that''s similar to DX. And while you''re at it, make your own hardware to develop games for. You can also make your own powerstation for your hardware, and apparently create a new planet to put the powerstation on, and the new universe to put the planet in. Or you could stop wasting time, and do something productive.

Sorry if that''s not really consturctive criticism, but I think working on ur own OS is a waste of time.
Qoy
Qoy
Well kill, if everybody just uses what other people have made, then in the future nobody will know how to make it. It still is, and always will be important for some people to do really low level stuff, or else people would forget all together, and then where would we be?

------------------------------
Jonathan Little
invader@hushmail.com
http://www.crosswinds.net/~uselessknowledge
SiCrane
SiCrane
Most of the interrupts that you''re thinking of are software interrupts. They call functions in the operating system memory space rather than trigger a hardware response. The operating system simply has to set the interupt vector table to put functions there.
Jeremiah
Jeremiah
calm down kill, Im only going to do this in my spare time as a long term project simply for the fun of it. I could you give hundreds of reasons why somebody would want to do this. (even hundreds of People already doing this) I know it seems boring, and it probably is, but I am just curious as to what it actually takes to create a fully working OS.
--
back to the discussion...
Software interupts, they are simply functions that are written by the OS programmer [me] that would do things like open a file, create a file, search through the OS''s FAT, and other "done-a-lot" things. they would reside in regular memory in the hard drive right? I''ll have to research the interupt vector table more...
thank you for your responses. =)
http://fakemind.com
Stoffel
Stoffel
Kill, your comments are really unwarranted. Let me tell you something: I graduated with a degree in electrical engineering, but I work with a bunch of guys who have computer science degrees. Some of these guys have taken classes in writing compilers and operating systems, which I obviously didn''t. While you may call this a "waste of time", they have come up some really amazing insights based solely on their work in that area.

Let me also tell you, as a person who is responsible for hiring new employees, I would take somebody who said "I tried to write my own operating system" over someone who said "I tried to write my own game" in a second. Granted, I don''t work for a game company, but I think my feelings would be echoed in every other programming industry (and believe me, we outnumber the game designers by a wide margin).

Good luck, Jeremiah.
Veldrik
Veldrik
As far as I remember and from what I was taught (me also being an engineer), "Game Programming" is the smallest of division of computer programming. It also has one of the lowest area of sales. Maybe when you are 14 or 16 you may play them all the time, but once you get out into the real world, you will learn what the score really is.  If it means that you have to wait for two years to see this then you will just have to wait, but you will see it in the end.

Oh yeah, game programming is also relatively easy to most other applications, and it also seems that you (this messages is for Kill or anyone with similiar views) are some Windows 9x/NT user who has never used any other operating system or platform before.

Ignorance is no excuse.
Qoy
Qoy
Vel, are you implying that simply because some people don't use Linux, they are ignorant? I personally have never used anything but Windows and DOS, but I don't think that makes me ignorant... You make it sound like "game programming" is just a simple, meaningless, sort of "kiddie" field of programming, which I tend not to agree with. I may not know what I'm talking about, I'm only 16 but it seems to me from people I have talked to that it's both challenging and rewarding. Of course, it's not gonna be as difficult as ultra low level systems programming, or developing CAD programs for engineers, but surely developing games is at LEAST as hard as developing spreadsheets or word processors.. You say that when we get into the real world, we'll find out what "the score really is." Is this supposed to imply that we'll all learn that game programming isn't worth our time? This is just how I took your post, I could be wrong.

Sorry if I'm starting an argument here, I'm just sharing my opinion.

------------------------------
Jonathan Little
invader@hushmail.com
http://www.crosswinds.net/~uselessknowledge

Edited by - Qoy on 3/2/00 12:14:53 AM
ikklit
ikklit
There is a lot of value in creating your own OS. The concepts that you will master right through the boot-loader to the file system is invaluable, not only allowing you to hone your programming skills, but also teachning you hardware/software concepts that you won''t pickup anywhere else.

Yes, I''ve done it, years back, and although it didn''t turn out to be the next Linux the experience gained from it is something nobody can take away from me. Granted, it might have something to do with my Electronic Engineering background, but hey, we all want to know how things work...

Sma ething applies to game programming - do all these demo makers waste their time bacause they are not writing a fully-fledged game? I think not - they are preparing themselves for the future.
MadKnIghT
MadKnIghT
HOLY SH*T... i have no idea how to create an OS
iam 15 and just programming about 5 months(crap)
and i haven''t make a single live application that is useful
CGameProgrammer
CGameProgrammer
Game programming is easy? Hardly. Well, it depends what programming you''re doing. Writing a cutting-edge 3D engine is very difficult. Writing a Tetris, Space Invaders, or Pong clone is very easy.

Systems-level programming is often boring, and it''s also needed far more often than game programming, which is why it pays more. Game programming pays less because game programmers are willing to work for less.

Also, walk in to a game development studio and tell me how many 14-16 year olds you see. Hint: 0.

~CGameProgrammer( );

~CGameProgrammer( ); Developer Image Exchange -- New Features: Upload screenshots of your games (size is unlimited) and upload the game itself (up to 10MB). Free. No registration needed.
MadKeithV
MadKeithV
Don''t waste time on Veldrik''s post people, if he''s here reading the boards he''s just as interested in Game/Graphics programming as everyone else.

As far as "difficulty" goes - todays cutting edge games borrow concepts from all over Software Development just to have an edge over the others.
Most 3D shooters have a virtual machine or even a compiler of sorts build in, to run scripts on. ( the way I understand it, most of Quake3 actually runs on a virtual machine! )
That''s not easy to generate at all.

And I''m in the "serious" programming business, I think I know what I''m talking about. Most "real life" programming is a heck of a lot easier than programming a sellable game.
A few comboboxes, some buttons, and a datasource, and you have an application that most businesses would love to use...
Writing drivers for CDRom drives is the most boring thing in the universe, not to mention highly unrewarding to most programmers...
So Game Programming is not easier... it''s just more fun!
It's only funny 'till someone gets hurt.And then it's just hilarious.Unless it's you.
DerekSaw
DerekSaw
I''ve not create any OS or real-life apps, but they sure worth a try....

MadKeithV, i agree with u. Game programming is not as easy as u think.. it got its own GUI, fancy graphics, sounds, musics, stories... etc.

U can create an OS and have it operate like others. U can create ''real-life'' apps that looks like others. But not game.

People don''t get bored with office apps (and alikes). But not game.

...blah blah... I think the main point here is still learning something and to learn how things work.
"after many years of singularity, i'm still searching n the event horizon" o
GEo
GEo
Hey Jeremiah,

I think you''re either very brave or pretty stupid, the only people I''ve met who talk about creating OS''s are those really nerdy programmers who have only been into coding for two months and think they''re gods gift to the programming world, whilst asking me how they get stuff on the screen (or whatever). They''re always talking about creating the next Linux super OS, but the truth is they''ve never finished a simple app. This really pisses me off.

I''m sure your nothing like these people, but be carefull.

If you are good enough to complete the project then go for it, otherwise don''t waste your time, go and do some simple apps or whatever and get better at coding first.

Since reading this thread, I''ve been thinking of doing one myself, nothing complicated, in fact probably something really basic, but I think I''ll leave it for some time in the future.

BTW: If you do create a new universe as kil suggests, tell me where I can download it, Im getting pretty bored of this one, its a bit unreliable (keeps crashing etc).

__________________________
George.
"Who says computer games affect kids, imagine if PacMan affected us as kids, we'd all sit around in a darkened room munching pills and listening to repetitive music....uh oh!"

George. F"Who says computer games affect kids, imagine if PacMan affected us as kids, we'd all sit around in a darkened room munching pills and listening to repetitive music....uh oh!"
MadKeithV
MadKeithV
Hmm, OSes are nerdy?
No!
Look at Bill Gates ( DOH, bad example )..
Okay, then look at Linus Torvals ( DOH, bad example again! ).
Okay then look at Steve Jobs ( DOHH!! ).

Damn I give up

Ps: They make you do those things in University Computer Science courses over here in Belle-gee-yummy, so it''s not like it''s rocket science or anything, just a huge project.
It's only funny 'till someone gets hurt.And then it's just hilarious.Unless it's you.
Jeremiah
Jeremiah
hehe, wow, seems like a lot of people have different opinions on this topic. Some think its nerdy, boring, knowledgeable, etc.

As I stated in the first post, I am only interested in creating my own OS just for the knowledge of it, because I know that in doing so I will learn a lot which could help me in the future. I am not going to create it for commercial purposes - its not even going to be intended for anybody else to use, but myself in experimentation. I guess Im just curious as to how it all works.

How game programming is harder or easier than other programming came up in this discussion, I am not sure...?
Creating your own OS is boring [to me], and Im certainly not going to do it for fun - or even do it full time without working on other projects, that would be lame. It is just going to be a side experiment for my own purpose of learning. I am sure there are a lot of people like me that are just curious and want to learn all they can about computers. I have created a lot of apps [fully completed apps], and [in my opinion] the most fun apps to create are games - which is why I read and post in these forums.

In my opinion, creating games is both fun and [for a full 3D commercial game] *very* challenging. For anybody to say that game programmers are less-skilled than non-game programmers, they are ignorant.

The bottom line is : I certainly agree that creating my own OS will not be fun - I am only going to do this as a side project for knowledge, and for the sole purpose of learning - In the mean time, I am still pursuing computer game graphic programming, which in the end is my passion.
http://fakemind.com
Kinfira
Kinfira
There is a really great book to get you started its called "Developing your own 32-bit operating system" by Richard A. Burgess ISBN: 0672306557. You should get it as it helped me when I started my own OS.

It comes with a FREE OS (MMURTL) on the CD as well as a FREE 32-bit C compiler and assembler. The source for all 3 are included on the CD.

Writing an OS was not boring for me and was extremely fun. I loved the experience I gained as a result. It all depends on your personal tastes. If you like to write OS''s assemblers, scripting languages or videogames, go ahead and see what it is you like. You may find out that you are better suited to (or even like) one over the other. But you don''t have to pigeon-hole yourself into doing one of the other for the rest of your life.

L8tr, Kinfira.
Regards, KinfiraLead ProgrammerKinfiraSoftMakers of Swordplay, a 3D fighting game engine.Check out our home on the web:http://www.kinfirasoft.com
KaneTHP
KaneTHP
HEY! I''ve been looking for that book for some time now (more than a year)... Does anyone know of a reliable place to get it? (or does anyone wanna sell me a copy of it???)

Topic Locked

This topic has been locked by a moderator. New replies are not allowed.

Sign in to reply to this topic.