PDA

Click to See Complete Forum and Search --> : Operating System... Need help!


Warmaster199
Mar 12th, 2001, 12:31 PM
Greetings fellow programmers! I have started to create my own operating system. In this thread I will talk about the options that the OS will have. I am also trying to recruit some programmers that are able to help me in creating this OS.


- Graphical User Interface(GUI). Windows is a GUI so that it is user-friendly. A GUI is useful as it helps to increase productivity and helps newbies to the system. It also makes it more attractive and easier to use(Am I repeating myself?)

- Multi-Tasking/Multi-Threaded. If you are wanting to run many programs at once (Everyone does, MP3 player/music, dev tools, imaging software, etc...), then you want multi-tasking. Multitasking/Multithreading allows many programs to be run at once. Each program that is running uses a thread. DOS is single-threaded, Windows is multi-threaded.

- Virtual Memory. If your system doesn't have enough system memory(RAM) to do a certain task, Windows uses it's Virtual Memory system to create more. Virtual memory systems use Hard Disk space as extra RAM for the system. The problem with Virtual memory is that it's alot slower than system RAM.

- Hardware access features. An Operating System should be able to access the hardware at a very low level. This includes disk access to find out how much space the Hard Disk/Floppy Disk has total and how much it has left. This includes RAM to see how much RAM is left/total. Hardware also includes CPU Identification. This allows the OS to let the user know what CPU he/she has without removing the cover.

- Plug 'n' Play/Hardware Auto-detect. This is an important feature as it allows the OS to identify any new hardware that the user had installed. Once the hardware is detected, the OS will prompt the user for a disk(If Win98, it builds a database and installs the drivers automatically).

- Display. A full-color OS/GUI should be able to access the videomodes right? Check out www.VESA.org to find more info on video modes. Every card has different mode numbers. Most cards are VESA compatible meaning that some where, they have VESA modes similar on ALL cards. For my OS, we will use VESA for compatibility

Now into my OS itself. It will definately have a GUI. I will add Virtual Memory support so the users will have enough RAM. Plug 'n' Play is a must these days so I'll use Plug 'n' Play as well. I'll have hardware access features as all OS's should be able to find out info on HDD/FDD/RAM space. For compatibility with video cards, I will use the VESA modes. I got some code to detect VESA as well as the modes that your card can do. My OS is sure to have this code implemented. It'll be built on top of DOS so we can ALL use it.

Well, I REALLY need help making this Operating system. I would appreciate ANY help. If you have any source code of anything that I could use (Memory access, PnP, hardware detect, driver source code) please post it here for others to use as well. If it's too big to attach, send it to my Email. I have attached a file containing a picture that I have drawn showing what it will look like(This'll change... ALOT), and a couple icons. Enjoy

warmaster199@hotmail.com

Brandon F.

Amon Ra
Apr 25th, 2001, 10:23 PM
I am a beginner intermediate in c++. I read your post and it sounds really cool. The problem is that I don't know if you want it in c++, and if you do I might not be able to help you as well as you could expect. I you help me learn more so that I could keep up with you , then I would really enjoy helping you :):)

Warmaster199
Apr 26th, 2001, 06:53 AM
Great!

Yes, CTOS is in C/C++.

I will have to squeeze some Assembler in a couple spaces, though, because it's fast, and there are some things ASM can do that C++ can't. Don't worry, the ASM code always has a C function body(Inline assembler). I would be very happy if you could help me out in this CTOS operating System.

I find that the mouse is still pissing me off, so I won't bother with it for the moment. Therefore, the graphics part will have to wait, and that's the hardest part. Let's just work on the Kernel part for now. If we can get more graphics primitives(line,oval,pixel,rect) that would be good too.

Current GFX primitives: Rect, fillrect, pixel(I think it needs more VESA compatibility), line, and circles.

Kernel: CMOS chip(access, save, restore, clearing), Long File Name(got it off net. Uses lots of assembler. I have not tested it, but it looks good), Mouse stuff using interrupts and mouse drivers(NOT WORKING IN VESA MODES :confused:), DMA support, park a hard disk(prevents damage while system off, windows does it during shutdown), Multi-threading support(This is a biggy, glad it's done :)), file copy, ability to load 8-bit pictures(BMPs, PCX, GIF, LBM, TGA. Not fully integrated, needs work.).

That's mostly the stuff I've got in CTOS. More is coming. I'm looking for Plug 'n Play support, hardware detection, and BIOS32(added features for new BIOSes. Basically, for machines with a PCI Bus.)

Amon Ra
Apr 26th, 2001, 08:24 AM
So, this op. sys. will replace Windows? or is it based on Windows?

Warmaster199
Apr 26th, 2001, 02:32 PM
Ok, I just noticed that this is a new post :confused: I thought it was joined/connected to my other OS post. Oh well...

This OS is not mean't to replace windows, you will be able to have CTOS and windows on the same machine. What I will do is give the user a choice to boot windows or CTOS using a .bat file or something simple. CTOS is not based on windows, it is based on DOS, it's a shell over top of DOS. Windows is basically the same thing; a shell over top of DOS to make it easier to use. Don't get this project wrong, though, CTOS will still be a GUI and have a windowing system, but first... the Kernel!

Warmaster199
Apr 26th, 2001, 02:36 PM
For the people who are confused about what I just said about me being confused that this is a new thread (awkward!?), here is the actual OS thread for CTOS. Sorry for the inconvenience :( Just use the following link.

CLICK HERE FOR MORE CTOS (http://forums.vb-world.net/showthread.php?s=&threadid=60459)

Neronis2000
Apr 28th, 2001, 08:59 PM
Windows and Dos, The turtle in its shell... Thankgod for NT

Warmaster199
Apr 28th, 2001, 11:26 PM
Hmmm... I don't see what's so great about NT except for less crashing... It's no good for us programmers as we can't do direct hardware access excpet with APIs. And then, API's are very SLOW compared to the actual hardware access.

And remember... CTOS is not a microsoft product ;)

Neronis2000
Apr 28th, 2001, 11:35 PM
Well I run win2000 pro (NT5) and as for speed... well windows 9x was only as fast as dos as that is what it was built off (same for CTOS unfortunately)... whereas NT5 is not built off of dos... infact it is completely self reliant... that and I havent had a crash yet... and I run all those programs you should as the chew up memory and normaly tend to cuase problems... (like softice.. huge pain in the ass with win9x)... and yes your right CTOS isnt built by microsoft... which is probably the best thing about it!

Other than that... You gave me an inspiration... CTOS should try and go for a programmers OS... like you said you couldnt do direct hardware access... so i think CTOS should aim for that... try and make it so it becomes a programmers first choice... screw the little ppl and there inferior intellect... the fact is if there not smart enough to use an OS like DOS or NT5 or even CTOS then they shouldnt own a computer...

Warmaster199
Apr 30th, 2001, 02:34 PM
Reply to 1st paragraph:
About programs chewing up memory when run in Win9x: CTOS is different. I will try to focus on better memory management so that when a program closes, all of that memory is freed again. My tech teacher told me about Window's memory problem, and I plan to do differently for CTOS.

Reply to 2nd paragraph:
Nicely said!