a c++ operating system !

is it possible?

  • (2 Pages)
  • +
  • 1
  • 2

25 Replies - 14053 Views - Last Post: 05 August 2009 - 04:04 PM Rate Topic: -----

#16 MorphiusFaydal  Icon User is offline

  • D.I.C Lover
  • member icon

Reputation: 43
  • View blog
  • Posts: 1,376
  • Joined: 12-May 05

Re: a c++ operating system !

Posted 28 December 2008 - 08:23 PM

View Postbadjava, on 28 Dec, 2008 - 06:57 PM, said:

View PostHyper, on 28 Dec, 2008 - 12:56 AM, said:

Just create your own (super tiny O/S) and make it super optimized for graphics (games *). No boring useless GUI like Windows.

Sort of a DOS but bumped up for the new machinery (64-bit, 1+ TB drives, etc). :D


This is something I have wanted to do for years! Surely someone has already produced a minimalist dos type OS specifically to run win based games at maximum performance? Maybe there are too many problems with the complexity of windows apps to make it more trouble than it's worth?

This is one of my goals "when I get to be a real programmer" :D

Try "lack of access to the underpinnings of Windows". Look at WINE... Just hit 1.0, and it's been around for what? 12? 13 years? Same thing with ReactOS.... Complete binary and driver compatibility with Windows... But they have no idea how Windows interfaces with its' various subsystems, and of course, Microsoft isn't going to tell them. They can make educated guesses (quite good ones, in fact), and they'll eventually do it. But it's a slow process.

If you want a fast, Windows compatible OS built just for games... Call Microsoft. See if you can't get them to make an OS that's essentially the Xbox GUI on a PC. Install it, make sure your drivers install, install your games, and that's all that's there. Include a web browser to look up patches. And maybe some other stuff (AIM/MSN/Xfire clients come to mind...). No Office. No Visual Studio. Just the Windows kernel, DirectX, and a really simple GUI that can do all of... Nothing. Build it right, and you wouldn't need a virus scanner either. Or anti-spyware. Or really... Anything.
Was This Post Helpful? 0
  • +
  • -

#17 Hyper  Icon User is offline

  • Banned

Reputation: 108
  • View blog
  • Posts: 2,129
  • Joined: 15-October 08

Re: a c++ operating system !

Posted 29 December 2008 - 12:35 AM

Your sarcastic reply almost pissed me off to the point of insulting you, instead, I'll take the higher grounds, ignore you, and say this:

I AM NOT A FAN OF MICROSOFT NOR MICROSOFT GAMES.

In reply to the kind gentleman, BadJava, yes! There is indeed such a thing, I forget what forum it was but somebody created (in a day or so) a "bare-minimum OS" that was DOS-like. It had 2-3 files, around 10 MB in size (think it was way less).

I'm sure you could google it. Good luck on that. :)
Was This Post Helpful? 0
  • +
  • -

#18 badjava  Icon User is offline

  • Lux Ex Tenebris
  • member icon

Reputation: 14
  • View blog
  • Posts: 540
  • Joined: 30-October 08

Re: a c++ operating system !

Posted 29 December 2008 - 01:23 AM

View PostHyper, on 28 Dec, 2008 - 11:35 PM, said:

Your sarcastic reply almost pissed me off to the point of insulting you, instead, I'll take the higher grounds, ignore you, and say this:

I AM NOT A FAN OF MICROSOFT NOR MICROSOFT GAMES.

In reply to the kind gentleman, BadJava, yes! There is indeed such a thing, I forget what forum it was but somebody created (in a day or so) a "bare-minimum OS" that was DOS-like. It had 2-3 files, around 10 MB in size (think it was way less).

I'm sure you could google it. Good luck on that. :)


Oh that's wicked, I'll have to see if I can find that.
Was This Post Helpful? 0
  • +
  • -

#19 Delta_Echo  Icon User is offline

  • D.I.C Addict

Reputation: 5
  • View blog
  • Posts: 722
  • Joined: 24-October 07

Re: a c++ operating system !

Posted 29 December 2008 - 01:41 AM

An operating system is simply a collection of programs, a file system to store the programs and information and the kernel. The kernel controls the hardware, it acts as a medium between the applications memory and CPU time requests, and the actual CPU and system memory. (along with any other hardware use requests)
Was This Post Helpful? 0
  • +
  • -

#20 Hyper  Icon User is offline

  • Banned

Reputation: 108
  • View blog
  • Posts: 2,129
  • Joined: 15-October 08

Re: a c++ operating system !

Posted 29 December 2008 - 01:42 AM

HAL - Hardware Abstraction Layer
Was This Post Helpful? 0
  • +
  • -

#21 badjava  Icon User is offline

  • Lux Ex Tenebris
  • member icon

Reputation: 14
  • View blog
  • Posts: 540
  • Joined: 30-October 08

Re: a c++ operating system !

Posted 29 December 2008 - 01:59 AM

View PostHyper, on 29 Dec, 2008 - 12:42 AM, said:

HAL - Hardware Abstraction Layer


I'm sorry Dave, the rest of the crew is dead.
Was This Post Helpful? 0
  • +
  • -

#22 Delta_Echo  Icon User is offline

  • D.I.C Addict

Reputation: 5
  • View blog
  • Posts: 722
  • Joined: 24-October 07

Re: a c++ operating system !

Posted 29 December 2008 - 02:08 AM

Rofl, you know your a geek if you get that reference :)

then again, this IS a coder site :)
Was This Post Helpful? 0
  • +
  • -

#23 badjava  Icon User is offline

  • Lux Ex Tenebris
  • member icon

Reputation: 14
  • View blog
  • Posts: 540
  • Joined: 30-October 08

Re: a c++ operating system !

Posted 29 December 2008 - 02:20 AM

View PostDelta_Echo, on 29 Dec, 2008 - 01:08 AM, said:

Rofl, you know your a geek if you get that reference :)

then again, this IS a coder site :)


:D
Was This Post Helpful? 0
  • +
  • -

#24 Deathtrh  Icon User is offline

  • New D.I.C Head

Reputation: 2
  • View blog
  • Posts: 18
  • Joined: 21-December 08

Re: a c++ operating system !

Posted 23 January 2009 - 05:25 PM

I have made a OS in Visual Basic 2008.
But not in C++.
Was This Post Helpful? 0
  • +
  • -

#25 easytec  Icon User is offline

  • New D.I.C Head

Reputation: 0
  • View blog
  • Posts: 1
  • Joined: 03-April 09

Re: a c++ operating system !

Posted 03 April 2009 - 02:23 PM

View PostDeathtrh, on 23 Jan, 2009 - 04:25 PM, said:

I have made a OS in Visual Basic 2008.
But not in C++.

Wow, are you sure it wasn't a command-line interpreter application, did it even work from boot, or was it just a DOS application?
There's no point programming in Visual Basic 2008, you have no in-code ASM integration, and its harder to strip the .NET and Win32/Win64 libraries from the core, so it can't run outside a Win32/Win64.
However, C# can be stripped of .NET, and .NET is an add-on in C++, so it can easily be removed, that is if you know how.
It would be nice to have VB 2008 without .NET, but with ASM inside, this would make VB replace C++, and its easier to read, so that'd be good.
You can make an OS out of VB 6 and lower, because it has no ties with .NET, and Win32 code libraries can be included if you wish them to be.
If you can code in .NET, it makes you a scripter, not a coder, coders make applications themselves, they develop with skill, scripters take advantage of .NET and just code the mainstream, however it is good for Windows development, not kernel development.

I suggest you use GCC as your compiler, LD as your linker, GAS as your assembler, and the editor (also named after the whole IDE), Netbeans, this is because it is more easier to use than Eclipse and Visual Studio when it comes to C++ OS Development, too bad its not as nice looking as Visual Studio, and its very tacky, like most of Linux's IDEs, but that's my opinion after my experience with Windows Vista, Mac OS X Leopard, and Windows 7.

If you don't understand Linux, or don't like it (like me), you may want to use it with Windows instead of Linux, plus it feels more organised in my opinion anyway, then you can use something like VMWare Workstation, etc to boot it at virtual machine level, Workstation is more compatible and capable, especially with other OSs, but VirtualBox and Virtual PC is free.


May you also bare in mind, the kernel is not just the HAL, it is also used in most OSs as a boot loader for the main OS and others OSs.

Here is what most executions look like:

1. EXECUTE BIOS CHIP AT 0X0000 (This is normally in RAW format, so its unless it has its own OS, like you get in Phoenix BIOS, etc, it does not use the RAM or memory mapping, BIOS is normally in 16-Bit and Text Mode, using symbol graphics in the CLI, the BIOS will then make the second step happen).
2. COPY (ON HARD DISK), BETWEEN 0X0000 AND 0XAA55, TO 0x7C00 IN RAM (Or Disc, etc, basic drivers and/or default system drivers may be required, this is managed in BIOS too, this data between 0x0000 and 0xAA55 is normally the MBR or the VBR, which is usually the ASM coded boot loader, which will make the third step happen, the boot loader will now be stored between 0x7C00 and AE95 on the RAM).
3. EXECUTE RAM AT 7C00 (This will run the boot loader, and tell it where to run the OS in the file system, which is the large area, normally the OS is stored in a boot file at the beginning of the file system, just like in most OSs, including Windows, the file system is stored after the boot sector, the boot sector is the specially reserved place for the boot loader, the boot loader normally loads the larger boot manager on the file system, that will then load the OS, common boot managers like these are called GRUB, etc).
4. COPY (ON HARD DISK), BETWEEN XXXXXXXX-XXXXXXXX AND XXXXXXXX-XXXXXXXX, TO XXXXXXXX-XXXXXXXX IN RAM (This will copy the boot manager program to the RAM, ready for execution, in the process image format of a Page file, which is a type of memory allocation used in basically all OSs for application process management, etc, the boot manager will do similiar steps for the OS in the step five).
5. COPY (ON HARD DISK), BETWEEN XXXXXXXX-XXXXXXXX AND XXXXXXXX-XXXXXXXX, TO XXXXXXXX-XXXXXXXX IN RAM (This will copy the kernel program to the RAM, ready for execution, in the process image format of a Page file, which is a type of memory allocation used in basically all OSs for application process management, etc, the kernel will then run other programs, etc as an operating system).

I tend to follow those steps, it is very hard to make a full OS like Windows and/or Linux, because it means millions of lines of code that are very precise over time, that's why its best to have a large skilled team on different parts of the operating system while designing it, that's why OSs are best modular.
Making an OS does make you feel free, you can program anything you want, using your own libraries, are something like POSIX, etc. Being modular, OSs work well with seperate projects as open source and/or enterprise, this is why OSs such as Linux are so successful, nearly reaching the power of Windows they do.

I hope you understand me, building an OS is also even harder when you are developing for an open platform, with loads of devices, because that means lot's of driver development, and then it costs for the API driver code to be given to you by the hardware manufacturers, etc.
Mac OS X was successful though, because it needed not pay out to hardware manufacturers and the like, because its a closed platform, using their own PCs and hardware enables them to easily design their OS without making too many drivers.

I hope this helps,
CybX Systems (cy bx (a-t) windowseven (-dot-) CO . CC).
Was This Post Helpful? 0
  • +
  • -

#26 PsychoCoder  Icon User is offline

  • Google.Sucks.Init(true);
  • member icon

Reputation: 1641
  • View blog
  • Posts: 19,853
  • Joined: 26-July 07

Re: a c++ operating system !

Posted 05 August 2009 - 04:04 PM

View Posteasytec, on 3 Apr, 2009 - 12:23 PM, said:

However, C# can be stripped of .NET, and .NET is an add-on in C++, so it can easily be removed


This could not be more wrong, C# is .Net, they cannot be separated so I'm not sure what you're trying to say. C# can not run without the .Net Framework no matter what you try.

.Net is not an addon for C++, you have C++ and Visual C++ (which can use the .Net Framework)

View Posteasytec, on 3 Apr, 2009 - 12:23 PM, said:

You can make an OS out of VB 6 and lower

Once again wrong. You cannot make an OS from VB6

View Posteasytec, on 3 Apr, 2009 - 12:23 PM, said:

If you can code in .NET, it makes you a scripter, not a coder, coders make applications themselves

Are you insane?!?! No .Net language is a scripting language, they're all full OO languages, not scripting languages.

No offense but do you even program because with statements like that I would have to argue if you say yes because that statement shows nothing but pure ignorance
Was This Post Helpful? 1

  • (2 Pages)
  • +
  • 1
  • 2