Advertisement

OS Development

Started by April 11, 2001 12:52 PM
11 comments, last by Yanroy 23 years, 10 months ago
quote:
Original post by Yanroy

All those links have been very helpful. I especially like the one that doesn''t require knowledge of ASM There was just a little problem with that one. It assumed that I have a Unix-based OS already with some odd console commands and that I was using GCC. I was hoping that I could do everything from windows or dos, using MSVC++. I think I may be trying to go in over my head... I don''t want my OS to have any of that worthless console text or VGA graphics... how hard is it to get 1024x768 resolution with 16bit color?



I''d hardly consider "console text" worthless, maybe that''s just because I cut teeth on CP/M and TRSDOS though.

When implemented properly the command line can actually be more powerful than any GUI designed to run over top of it. Take UNIX as an example, the adept user can do amazing things in just a few seemingly cryptic commands. Heck, even when improperly implemented it''s still often times more useful. I often times find myself kicking out to a DOS prompt to get anything done, and I''ve found that I work faster under the command line than under the Windows interface, but then again, that''s probably only me.

Another statement you''ve made really makes me wonder.
quote:

I especially like the one that doesn''t require knowledge of ASM


Do you know ASM? If you don''t I really can''t figure out how you imagine writing an OS without it. You''re going to need to know ASM, and pretty damn well I might add, if you want to have a decent OS. I remember making the same mistake...

Another thing, make sure you have some large projects already under your belt, and I do mean LARGE. I don''t care what size of programs you''re accustomed to working on, once you get into OS development, it''s a quantum leap in project size. I remember thinking things like, "How large could it really be?" and "Well, it can''t be too hard if Microsoft does it!" (that last one''s a joke BTW ) but now I understand what a real time sink OS development can be and I''ve determined I''ll leave it to the more adept for now. It''s just too damned big for my tastes at the moment! heh heh.

If you''re gonna go through with it, all I can say is best of luck and I hope you don''t have a life, nor may you develop one within the next few years! That, above all, is what detracted me from authoring one. So good luck, and if you can pull it off, send me your code!!

~~What the hell have I done now?~~
If only debugging were as easy as killing cockroaches... *sigh*
That all sounds good, except that you don''t actually have to write your own compiler
Existing compilers can output in a number of formats; some of them (e.g pure binary) are suitable for writing an OS kernel, and others (e.g. ELF, COFF, etc.) are suitable for your OS''s executable files. You can use command line switches to get rid of all the unnecessary stuff (-fno-builtin and such). Then all you have to do is write a loader for this type of executable. My last (pathetic ) attempt at writing an OS was with TC 2.01, using a modified crt0 startup library.

~~~~~~~~~~
Martee
http://www.csc.uvic.ca/~mdill
ReactOS - an Open-source operating system compatible with Windows NT apps and drivers
Advertisement
What you need in order for a program to boot without any other OS is called a BootStrap Loader. Do a search for that on the web, you should be able to find links explaining how it works and how to code one. If you''re at university, there is a course on the basics of OS programming that explains how to create your own Bootstrap loader. Anyhow, hope this helps...



"And that''s the bottom line cause I said so!"

Cyberdrek
Headhunter Soft
A division of DLC Multimedia

Resist Windows XP''s Invasive Product Activation Technology!
[Cyberdrek | ]

This topic is closed to new replies.

Advertisement