Sorry your browser is not supported!

You are using an outdated browser that does not support modern web technologies, in order to use this site please update to a new browser.

Browsers supported include Chrome, FireFox, Safari, Opera, Internet Explorer 10+ or Microsoft Edge.

Geek Culture / Your Dream OS

Author
Message
Airslide
20
Years of Service
User Offline
Joined: 18th Oct 2004
Location: California
Posted: 23rd Sep 2012 02:44
This is just for fun, but I wanted to ask people here what their "dream" operating system would be like. Feel free to mention an existing one if it already (somehow) does everything your heart desires.


Here's mine, or you can just skip it and write about your own :

I'm a fan of Mac OS and iOS personally, but they aren't perfect. My dream OS is a little difficult to describe, but it would (somehow) focus less on self-contained apps and more on interactive components. The best way to imagine it, I think, would be to take the current notion of an application and split it into individually wrapped pieces. Then you could swap out the pieces at will. One set of pieces could take various document formats, for instance, and convert them to a more universal interface. Then another component could modify that document, and then any number of other components could then save it back to whatever format was most desired. Perhaps a 'workflow' component could be used to tie it altogether - it isn't an idea unlike what already exists with apps that support extensions (Photoshop, Lightroom and Aperture come to mind), where a workflow is defined by the app and the functionality can be provided with plugins.

There's all kinds of problems to work out doing something like that at the OS level but that's why it's a dream. What's yours?
Le Shorte
16
Years of Service
User Offline
Joined: 6th Apr 2009
Location: Wisconsin
Posted: 23rd Sep 2012 05:16
Windows 7

I'm not big into operating systems, but W7 is my favorite one.

Cheesehead for life.
Dark Java Dude 64
Community Leader
14
Years of Service
User Offline
Joined: 21st Sep 2010
Location: Neither here nor there nor anywhere
Posted: 23rd Sep 2012 06:25
The one that has no issues and isn't annoying nor does it slow with time.

"That's what"
-She
Dar13
17
Years of Service
User Offline
Joined: 12th May 2008
Location: Microsoft VisualStudio 2010 Professional
Posted: 23rd Sep 2012 07:02
My dream OS would have perfect documentation for all the different APIs provided by the kernel/operating system, while having perfect drivers for all GPUs from the past 5 years and onwards.

Of course, this is totally unrealistic but I can dream can't I?

Kezzla
16
Years of Service
User Offline
Joined: 21st Aug 2008
Location: Where beer does flow and men chunder
Posted: 23rd Sep 2012 07:35
I just want an os that will run any software application the same way on every machine, that has drivers for every single piece of hardware and support for every single file type right out of the box, one that has nearly instantaneous search functions. no capping on system specs so it will work into the future. I will be able to turn off the "are you sure?" yes "are you really sure?" YES "are you sure that you are really sure?"

undo function for system processes, so you can rewind BSOD... wait, It will have no BSOD ever!

completely customizable shortcut key functions(even for across the board shared functions)

Freedom to write software and distribute it without needing to jump through hoops.

virus immunity, however it will still let them onto your computer for a game hunting mode that is like a computer game where you fly through your information system blasting virus's and spyware with extreme prejudice and awesome explosions.

ability to use your mind as an input device.

... sweet.

DevilLiger
21
Years of Service
User Offline
Joined: 21st Nov 2003
Location: Fresno,CA,USA
Posted: 23rd Sep 2012 12:28 Edited at: 23rd Sep 2012 12:30
Always wanted to do a linux os of my own. The things I wanted for it like turn on like an arcade machine and just play the games and such are already possible to set up on linux. Other things that I wanted can be done on linux. ugh... someday I'll build a simple one out of Ubuntu. lol. I know there are still problems to linux like my windows apps, but I'm starting to become more convince. It's very customizable. Startup screen can be changed at the same time the interface can too through some kind of scripting. I'm doing a computer build up soon and I want to install MintOS on it.
BMG
18
Years of Service
User Offline
Joined: 20th Feb 2007
Location: Working hard/hardly working...somewhere
Posted: 23rd Sep 2012 13:18
Just Mac OSX with the ability to run Windows stuff natively, and much more openness with the file system again in the style of Windows so one could mod games as well as play them.

Subscribe to my Youtube channel; new film every month! http://www.youtube.com/user/GradeBFilms

And a blog, full of game-related things: http://gradebmedia.blogspot.co.uk/
Benjamin
22
Years of Service
User Offline
Joined: 24th Nov 2002
Location: France
Posted: 23rd Sep 2012 14:56
XP. [capsLOL]
bruce3371
14
Years of Service
User Offline
Joined: 4th Aug 2010
Location: Englishland
Posted: 23rd Sep 2012 15:58
An OS that doesn't give pointless error messages like "This program has stopped working" (paraphrased), and actually tells me WHY it's stopped working, so I can find a way to fix it!

Sergey K
21
Years of Service
User Offline
Joined: 4th Jan 2004
Location:
Posted: 23rd Sep 2012 19:10
since most of the apps are .exe, then i guess i want a cross-platform OS like android, but that will support .exe files too. Android is the best system i guess. but + .exe executable feature will be much better!

i guess the one that i mentioned is gonna be windows 8 OS. it should support all kind of devices and it will open .exe files too.

Advanced Updater for your games!
Kevin Picone
22
Years of Service
User Offline
Joined: 27th Aug 2002
Location: Australia
Posted: 23rd Sep 2012 19:34
Today we've got abstraction layers for basically everything, so what they should do is kiss native code goodbye. Yes I went there.. Build the system on top virtual CPU model. So everything from the OS kernel down (apps etc) are written in the VCPU assembly. These can translated to native, demand or if required.

The Zoq2
15
Years of Service
User Offline
Joined: 4th Nov 2009
Location: Linköping, Sweden
Posted: 23rd Sep 2012 19:52
I would like a OS with the same amount of suport from programs ect as windows, but without all the slowdowns and "security" *cough* UAC *cough*
Phaelax
DBPro Master
22
Years of Service
User Offline
Joined: 16th Apr 2003
Location: Metropia
Posted: 23rd Sep 2012 23:25
Personally, I don't see what was wrong with Windows 3.11

"You're not going crazy. You're going sane in a crazy world!" ~Tick
Sergey K
21
Years of Service
User Offline
Joined: 4th Jan 2004
Location:
Posted: 23rd Sep 2012 23:30
btw, you CAN run windows 95, 98 on android and symbian
there is a method.
so try it out!

http://forum.xda-developers.com/showthread.php?t=1459153

Advanced Updater for your games!
Phaelax
DBPro Master
22
Years of Service
User Offline
Joined: 16th Apr 2003
Location: Metropia
Posted: 23rd Sep 2012 23:31
lol, that makes about as much sense as me running Android on my iphone.

"You're not going crazy. You're going sane in a crazy world!" ~Tick
Indicium
16
Years of Service
User Offline
Joined: 26th May 2008
Location:
Posted: 23rd Sep 2012 23:33
Quote: "that makes about as much sense as me running Android on my iphone."


Don't be silly, iPhones should run Android.


They see me coding, they hating. http://indi-indicium.blogspot.co.uk/
Airslide
20
Years of Service
User Offline
Joined: 18th Oct 2004
Location: California
Posted: 24th Sep 2012 02:17 Edited at: 24th Sep 2012 02:18
Quote: "Don't be silly, iPhones should run Android."


Why would I put a motor scooter's engine in a luxury sedan?

EDIT: Smilie added to derail potential OS war.
Neuro Fuzzy
17
Years of Service
User Offline
Joined: 11th Jun 2007
Location:
Posted: 24th Sep 2012 02:21
My dream OS? I don't care about features, so long as EVERYBODY uses it. You could program something once and run it anywhere.

It would also make hacking the NSA a lot easier. dang proprietary/custom top-secret operating systems.

Dark Java Dude 64
Community Leader
14
Years of Service
User Offline
Joined: 21st Sep 2010
Location: Neither here nor there nor anywhere
Posted: 24th Sep 2012 05:22 Edited at: 24th Sep 2012 05:24
@AirSlide :/

Quote: "so long as EVERYBODY uses it."
If that happened, that would be a large concern for the information technology section of the economy, assuming the company that makes that OS has complete domination. So you best hope that NEVER happens. Unless that OS is open source, of course.

Just had an idea for an OS name, Open Source Operating System abbreviates to OSOS or OS squared.

"That's what"
-She
nonZero
13
Years of Service
User Offline
Joined: 10th Jul 2011
Location: Dark Empire HQ, Otherworld, Silent Hill
Posted: 24th Sep 2012 10:45
Well, it seems everyone wants an OS with better portability and compatibility (especially with drivers). Check out NetBSD:

I'd like to write an OS one day (in the distant future, if I could). The technical details will be worked out when I've a full-blown computer science degree (I decided really want to put myself uni someday - despite my age). As it stands, these would be my founding principles (what comes to mind):

1) Protection against Malware. My idea is that the OS itself be a stored on a ROM chip and combine BIOS and OS together. Now this will be the lower-level layer - a core which cannot be modified. It will of course be open to using installable "components" residing on conventional read/write storage device (HDD will have been replaced by SSD by then likely). So at boot one can call up the main menu and remove or install components as they wish. The components will basically make up the "environment". (there is a lot of technical detail here I'll omit to de-bloat my post)

2) User-friendly to technical genius settings. My frustration with User-oriented OSes is that they don't readily present advanced users with ways to alter the environment and functionality. We all understand fool-proofing, yes. So, have one simple setting with three options: n00b, Experienced, Masochist.
In n00b mode, the os will have a typical MacOS/Ubuntu/Win8 appearance. In Experienced mode, new buttons and settings items will appear and the user will automatically gain elevated privileges. In Masochist mode, the user gains full memory control, direct hardware access, maximum authority and the ability to modify any file they want. The user is entirely responsible for everything.

3) With regard to 2: enabling a terminal-based but graphical environment that allows no automation. If the user runs a script or any executable code, it is automatically sandboxed in its own window and the user must manually retrieve data from the sandboxes of various applications.

4) With regard to 2: All are ports automatically blocked mode where the user has to manually unblock them. User can opt to maintain strict control once a connection is established or simply define that connection safe until hh:mm:ss have passed or disconnected or disconnected for hh:mm:ss. Criteria for "safe" definition could be anything from IP to behavior. And, as I said, "safe" expiry could be user-defined too.

5) With regard to 2: Mode where folders/files are automatically hidden based on ownership/permissions, thrown in with the twist of a mode where each folder is an isolated virtual file-system of its own.

6) As mentioned before in this thread, capability of attempting to execute any code through emulation or translation layers.

7) Obviously I'd like to introduce what NetBSD is doing regarding drivers.

8) Decent default sounds

These are just a few ideas I've been toying with. I dunno how feasible some are. Obviously the advanced modes may make life beyond tedious but, even if gone unused by 99% of users, if 1% appreciated the features it would be great. It would be a massive undertaking to write and I'd need about ten times my current knowledge as well as a large team with relatively good knowledge too. It'll likely never come to fruition. Still it's nice to think about it

Aaron Miller
19
Years of Service
User Offline
Joined: 25th Feb 2006
Playing: osu!
Posted: 24th Sep 2012 11:51
Quote: "Today we've got abstraction layers for basically everything, so what they should do is kiss native code goodbye."

No. Your statement, to me, sounds like "everyone drives crappy cars anyway, so let's force everyone to drive this specific kind of crappy car and make sure they're not allowed to drive what they want; roads will be safer, think of the children!" This makes nothing better, and manages to also remove choice. Tell me, does your VCPU account for every possible optimization that could exist in hardware? Does it provide practical start-up performance and run-time performance for video games? (This is a game development forum after all.) Or, would native code be allowed for a price that developers must pay? Your suggestion neither sounds ideal to me, nor practical. I don't see the logic in it, so perhaps you can explain to me why your suggestion is completely ideal (it's your "dream OS" supposedly).

----------

My Dream OS: Gives me direct access to all the hardware. I'm not a child and I know what I'm doing. I just wish abstraction layers for accessing hardware weren't necessary; that all the hardware communicated over the same basic interface and protocols, and that new features were made available via some form of an extension mechanism that actually worked. I also wish that all the compilers actually had decent optimization. So far Clang is the only one that's performed to expectations, but I've never seen a compiler that has outperformed my expectations. I'm tired of getting new hardware that's perfectly capable of doing things "instantly" and feeling like I'm in the 1980s dealing with some floppy disk software. (All .NET or Java software I've ever used in varying degrees and complexities on various platforms and hardware configurations.)

The interface for me would be whatever I felt like using that day. If I wanted to use a dock that day, I should be able to say "Let's use a dock" and I can use the dock (Mac OS X styled; but better). Or, "The dock is annoying me; I want to use a task bar" then there's the task bar interface. If I wanted to use just the terminal with none of the distractions of the desktop, or perhaps a tiled window manager, well, you see where I'm going. For me, everything should be up for customization. Everything should work how I expect, or even better. It should all be intuitive. If I try something and the result I get is "Huh. Well, I guess that makes sense, but it's not how I tried it," then it's, IMO, not worthy of being called perfect. Maybe I'm doing something the long way though... In that case, I would want the OS to tell me there's an easier way. (It'd be better if it were implausible for that to happen, but it'd be impossible to do so with truly complicated tasks.)

I should have full control over what goes on my screen, but I shouldn't have to figuratively plot each pixel by hand. It should be quick, but ease of customization should be a priority.

If that can be delivered, and it works, that's the OS I would use. If I had forty billion dollars, I'd spend thirty-nine-billion-nine-hundred-ninety-million dollars to make it happen. (Then hold on real tight to that remaining ten-million, lol!)

Web - Tweets
“Things aren't always as they seem. A balloon can spell your doom, but a gory head stump can mean good luck.”
Benjamin
22
Years of Service
User Offline
Joined: 24th Nov 2002
Location: France
Posted: 24th Sep 2012 11:57
Quote: "My Dream OS: Gives me direct access to all the hardware."


Remember before the days of protected mode? Probably not.
Aaron Miller
19
Years of Service
User Offline
Joined: 25th Feb 2006
Playing: osu!
Posted: 24th Sep 2012 12:05
There's no reason access couldn't be protected still. (Though, since we're talking about perfectly ideal, it'd be an OS that has no problems and that is so easy to program for that most apps would have no issues at all. I thought this was obvious though.)

Web - Tweets
“Things aren't always as they seem. A balloon can spell your doom, but a gory head stump can mean good luck.”
Kevin Picone
22
Years of Service
User Offline
Joined: 27th Aug 2002
Location: Australia
Posted: 25th Sep 2012 19:08
Quote: " No. Your statement, to me, sounds like "everyone drives crappy cars anyway, so let's force everyone to drive this specific kind of crappy car and make sure they're not allowed to drive what they want; roads will be safer, think of the children!" This makes nothing better, and manages to also remove choice. "


Nope, that's actually the complete opposite of what I'm saying. Moving the system software away from a fixed CPU allows real choice, freedom to choose any CPU / Hardware environment they like. It's scalable, applications don't need to be recompiled, or be specifically written to target particular key hardware features of the system (multi core / gpus). Having a translation layer (to native) allows for real time customization of the app for the hardware environment it's actually running on. None of which is even remotely new thinking.

Quote: "Tell me, does your VCPU account for every possible optimization that could exist in hardware? "


Does any compiler ? Nope, nor does it need to, as even 'perfectly' optimal code on one cpu, you'll still have latency on another. The instruction set doesn't need to be a granular one to one mapping of the most common host cpu, nor do registers even don't need to be simple primitives. Moreover, by leaving bread crumbs in the opcode stream, the execution engine can choose what segments it bothers translate and when or if they're translated.


Quote: "Does it provide practical start-up performance and run-time performance for video games? (This is a game development forum after all.) Or, would native code be allowed for a price that developers must pay?"


There'd be no such concept as 'native' programs.


Quote: " Your suggestion neither sounds ideal to me, nor practical. I don't see the logic in it, so perhaps you can explain to me why your suggestion is completely ideal (it's your "dream OS" supposedly)."


erm what ?, wasn't aware I needed your approval.

bitJericho
22
Years of Service
User Offline
Joined: 9th Oct 2002
Location: United States
Posted: 25th Sep 2012 19:31
Quote: "No. Your statement, to me, sounds like "everyone drives crappy cars anyway, so let's force everyone to drive this specific kind of crappy car and make sure they're not allowed to drive what they want; roads will be safer, think of the children!" This makes nothing better, and manages to also remove choice. ""


If we heavily regulated the types of cars and the way they are built and to what specs (height of bumper and so on), they would indeed be much, much safer.

Phaelax
DBPro Master
22
Years of Service
User Offline
Joined: 16th Apr 2003
Location: Metropia
Posted: 25th Sep 2012 20:23
Quote: "Why would I put a motor scooter's engine in a luxury sedan?"

lol. I did run android on my iphone 3G for a few days, it was horribly slow and inefficient. I like my battery life thank you!


Modular design and easily customizable. It would have to have majority popularity, and the reason for that is so I wouldn't have to write all my own software I for it. The more people that use it, the more available tools I'll find. Not to mention compatibility. What good is writing software/games if it only runs on 10% of the market?

Oh, and it never crashes, always works, doesn't have a useless registry, and has a form of AI so it constantly improves itself over time thus never needing upgrades.

"You're not going crazy. You're going sane in a crazy world!" ~Tick
Airslide
20
Years of Service
User Offline
Joined: 18th Oct 2004
Location: California
Posted: 25th Sep 2012 21:07
Quote: "Oh, and it never crashes, always works, doesn't have a useless registry, and has a form of AI so it constantly improves itself over time thus never needing upgrades."


Mac OS doesn't have a registry Not an AI yet though. Maybe someday when Siri starts taking over...

Quote: "Modular design and easily customizable. It would have to have majority popularity, and the reason for that is so I wouldn't have to write all my own software I for it. The more people that use it, the more available tools I'll find. Not to mention compatibility. What good is writing software/games if it only runs on 10% of the market?"


Depending on the system design, perhaps it would be possible for the creators of the OS to make a runtime for existing operating systems? If you used Kevin Picone's idea, it would theoretically be feasible, but depending on the effort it would either create truly subpar apps on the 'non-native' OS or it'd create great apps and nobody would see the reason to switch operating systems

I guess Java more or less tries to achieve that sort of interoperability but I have yet to use a Java app that didn't make my computer feel 10 years older.
Benjamin
22
Years of Service
User Offline
Joined: 24th Nov 2002
Location: France
Posted: 25th Sep 2012 21:55
Quote: "Today we've got abstraction layers for basically everything, so what they should do is kiss native code goodbye. Yes I went there.. Build the system on top virtual CPU model. So everything from the OS kernel down (apps etc) are written in the VCPU assembly. These can translated to native, demand or if required."


Reminds me of something I was talking to a friend about earlier today.

We were talking about how great it would be if things were abstract enough to the point where you could plug devices into other devices to provide additional processing power or features (Wifi, 3G etc). If you could just slot an iPhone into something it'd remove the need to have a separate device like an iPad, all you'd need is a sort of shell that provides a bigger screen and relays input between itself and the iPhone.
Aaron Miller
19
Years of Service
User Offline
Joined: 25th Feb 2006
Playing: osu!
Posted: 25th Sep 2012 23:09 Edited at: 25th Sep 2012 23:11
Quote: "Moving the system software away from a fixed CPU allows real choice, freedom to choose any CPU / Hardware environment they like. It's scalable, applications don't need to be recompiled, or be specifically written to target particular key hardware features of the system (multi core / gpus). Having a translation layer (to native) allows for real time customization of the app for the hardware environment it's actually running on. None of which is even remotely new thinking."

Why "real-time?" Why not "ahead-of-time" whereby installing an application will have all of its code translated (or cached) into a native version by the OS somewhere and it can be used? And if that's the case, why would you prefer that developers are taken away the choice of writing in native code if they prefer?

Quote: "Does any compiler ? Nope, nor does it need to, as even 'perfectly' optimal code on one cpu, you'll still have latency on another."

C++ allows for it by exposing inline assembly, which many developers use in bottleneck code if necessary. For everything else, the compiler vendor usually tries to provide decent optimizations, including CPU specific optimizations. Many compiler vendors are trying to get auto-vectorization right, for example. In doing so they allow for applications to be quicker and lower latency.

I was simply asking if there was a way that you would be able to expose such a thing from the underlying hardware in your VCPU design. You could expose abstract principles, but then I don't see how this is any different. I don't know what your thinking, and that's why I'm asking.

Quote: "There'd be no such concept as 'native' programs."

You glossed over the prior question in that answer.

Quote: "erm what ?, wasn't aware I needed your approval."

And you don't! Nor was I implying that you did. However, I did have some questions that I wanted to ask about the idea and didn't see any harm in presenting them. Considering you have your own compiler and language for making video games, I was more particularly interested in what you had to say. For the most part, it sounds like .NET or Java to me, which you can get everywhere pretty much, so I didn't see the difference between having it as its own OS or just having it as a developer choice.

Edit: Signature fixed. (Encoding issue.)

Web - Tweets
“I'm going to punch DXGI in the face. Repeatedly.” ~Aras Pranckevicius
old_School
15
Years of Service
User Offline
Joined: 29th Aug 2009
Location:
Posted: 25th Sep 2012 23:35
User OS:
Windows 98 was perfect for its time. Microsoft had perfected their Empire as well lol

Server:
Windows 2000 Pro
All though 2003 server beat the crap out of win 2000 server ,at the time of release 2000 pro was awsome. Very well balanced OS.

Of course today these Os stanards would be crap but for their time period they were cutting edge. They were also during Microsofts prime and likely Apples lowest point.
Seppuku Arts
Moderator
20
Years of Service
User Offline
Joined: 18th Aug 2004
Location: Cambridgeshire, England
Posted: 26th Sep 2012 01:15
I had a love/hate relationship with Windows 98. The love -> It's bare, it's not bloated and not wasting too many resources and it's designed to be functional and not to impress and was a great step up from 95. The hate -> My version just never got along with me, I just had problem after problem and the same happened to me with Windows XP until SP2 came out. Vista, well, I am glad to be rid of it and Windows 7 was a big improvement on Vista, but...I'm not even going to talk about 8, not tried it, so I will reserve judgment, but at the moment, not looking good IMO.

For me the perfect OS would be resource friendly, not bloat itself with unnecessary features or flashy screens and try to make the most of its resources, to my mind anything 'flashy' should be an addon and therefore completely options, which means, yep, my perfect OS would have a good level of customisation, from visuals to how you lay out the interface to tools in the OS. You can make your own computer ergonomic for your own needs. I would say on updates keep backwards compatibility. So updates build ontop of the existing operating system and updates aren't to try and rebrand or to remarket the operating system, but to increase stability, offer more optimisations and generally make improvements.

It would allow a framework that makes it easy for developers to build on operating system features and modify how you interface with it - so you might have a 3rd party create something like Windows Media Center and another do something like Metro or somebody to take the traditional windows interface but improve it. Thee modifications would load as though you were loading a theme or a mod for a video game rather than altering the operating system itself, where it could potentially become unstable or affect optimisation. I would also like the ability to shut all unnecessary processes, except an antivirus (which would have to have a special I.D. to prevent it from closing, like all the core processes), perhaps even with a single click, just so I can run a video game and have it make the most of the resources. You could call it 'Performance Mode'. With it, I would have a tool where I am able to choose exceptions, so if I wanna run MSN and hit 'Performance Mode', it'd stay open and of course, include profiles so you don't have to keep manually selecting any exceptions you want on different occassions.

And of course, it would be compatible with all programs and games I'll want to use.

I wouldn't expect all that functionality at once, but for it to be the goal, just so it can be done right and not be done as a rush job to wow folk into buying.

Airslide
20
Years of Service
User Offline
Joined: 18th Oct 2004
Location: California
Posted: 26th Sep 2012 01:47 Edited at: 26th Sep 2012 01:48
Quote: "Why "real-time?" Why not "ahead-of-time" whereby installing an application will have all of its code translated (or cached) into a native version by the OS somewhere and it can be used?"


This sounds like an excellent idea to me! Then, if you need some 'native' performance (which, really, you should get out of that sort of install-and-compile step inherently) or raw assembly, specialized blocks can be included with the install package that are only installed if the target architecture matches. Over time, the need for them would probably decrease.

I have dreams of an entire OS built on LLVM. You'd get the same sort of performance you get out of native applications compiled with Clang, and if apps were distributed in LLVM IR packages, they'd be extremely portable so far as architectures.

Honestly, 'native' code is somewhat of a misnomer anyways. While C++ and other languages do facilitate assembly to some capacity, the compiler still often generates an intermediary representation of everything else before turning it into machine code. Just look at Clang - everything goes to LLVM IR first, which could either be compiled into .o's and linked for the target or run with a JIT (or even an interpreter). The only real argument is about when the code is compiled, and perhaps how much runtime support it receives.
Aaron Miller
19
Years of Service
User Offline
Joined: 25th Feb 2006
Playing: osu!
Posted: 26th Sep 2012 03:04
I agree with Airslide's idea for an OS built on just LLVM.

You know... We are programmers. There's no reason none of us could pursue creating our own OS, just for fun. I tried this a while back. Though I was comparatively inexperienced to others writing their own operating systems, I guess I made alright progress. For the more experimental ideas, I don't think any of us will see them come to fruition unless we put an effort into making them.

Stating what you want your OS to be is one thing... Designing it in its entirety, let alone programming it, is another beast.

Web - Tweets
“I'm going to punch DXGI in the face. Repeatedly.” ~Aras Pranckevicius
old_School
15
Years of Service
User Offline
Joined: 29th Aug 2009
Location:
Posted: 26th Sep 2012 04:35
I guess to build the perfect Os in a timel fashion you would likely start with Linux BSD and go from there.
Aaron Miller
19
Years of Service
User Offline
Joined: 25th Feb 2006
Playing: osu!
Posted: 26th Sep 2012 05:14
Apple took the BSD approach.

Web - Tweets
“I'm going to punch DXGI in the face. Repeatedly.” ~Aras Pranckevicius
Seppuku Arts
Moderator
20
Years of Service
User Offline
Joined: 18th Aug 2004
Location: Cambridgeshire, England
Posted: 26th Sep 2012 12:17
...and did a good job. I know people hate Apple, but OSX is a good OS, just depends on what you prefer I guess.

bitJericho
22
Years of Service
User Offline
Joined: 9th Oct 2002
Location: United States
Posted: 26th Sep 2012 13:56
Quote: "If you could just slot an iPhone into something it'd remove the need to have a separate device like an iPad, all you'd need is a sort of shell that provides a bigger screen and relays input between itself and the iPhone. "


You mean... LIKE THIS??

Benjamin
22
Years of Service
User Offline
Joined: 24th Nov 2002
Location: France
Posted: 26th Sep 2012 16:06
Quote: "You mean... LIKE THIS??"


Oh that's awesome! Would be illegal here though since it's prohibited to have a screen in the front that is not conductive to driving (ie. rear parking camera, GPS, etc.).
old_School
15
Years of Service
User Offline
Joined: 29th Aug 2009
Location:
Posted: 26th Sep 2012 23:59
Apple took the I will make a crap product, charge 10 times more than what its worth and resale it as "prestigious" product. Seriouly though Apple is pretty much worthless unless your using photoshop or the Iphone which is there only claim to fame except for the Ipad which is pretty much a overpriced MP3 player.
Airslide
20
Years of Service
User Offline
Joined: 18th Oct 2004
Location: California
Posted: 27th Sep 2012 00:00 Edited at: 27th Sep 2012 01:17
Quote: "You know... We are programmers. There's no reason none of us could pursue creating our own OS, just for fun."


I've been thinking about buying a Raspberry Pi just for that. I've got an old HP desktop I could probably tinker with but I figure something small, compact, and fairly modern in terms of components would be a good playground.
nonZero
13
Years of Service
User Offline
Joined: 10th Jul 2011
Location: Dark Empire HQ, Otherworld, Silent Hill
Posted: 27th Sep 2012 00:48
just thinking it would be pretty cool to develop something small and lightweight that one could install to "run" another OS from. Sorta an OS whose sole purpose is to run a VM(s). Give it a feature like a hidden partition that you can backup data to and you got yourself a great security layer.
With a powerful enough rig you could run multiple VMs running different OSes and switch between them. Of course said OS would have to be very lightweight for this. You could basically even take it a step further and have a Unity mode (Unity as in VMWare's Unity and not that monstrocity that's been shipping with more recent versions of Ubuntu) where windows from multiple VMs appear on screen at the same time.
Of course it wouldn't be easy but in theory it seems feasible. The OS could support native code too and allow direct hardware access. Basically, you've got the virtualization through other OSes but can still write native code for the theoretical OS. Just a thought.

old_School
15
Years of Service
User Offline
Joined: 29th Aug 2009
Location:
Posted: 27th Sep 2012 06:12
In order to make our own or any one to make there own Os you need extensive knowledge of assembly. I honeslty don't know assembly and I can assume most of us dont ethier. I think Dave SO or something offers a basic platform to get started if someone really wanted to persue the idea.
Aaron Miller
19
Years of Service
User Offline
Joined: 25th Feb 2006
Playing: osu!
Posted: 27th Sep 2012 07:12
Assembly isn't that bad, and you don't really need to know much of it (unless you intend to do the whole OS in assembly). All it really requires is that you plan ahead, which you should do anyway with any software project. (Of course, there's more planning with assembly.) That said, a lot of it can be done from C or C++ with some inline assembly stuff, which allows you to flesh out all the higher level stuff relatively quickly. If you're basing your work on the Linux kernel, or perhaps some BSD (I personally like NetBSD for its wide range of architecture support) then there's really no need to know about the underlying assembly. That said, any programmer worth their salt knows some assembly... or at least has a general idea of what's going on with the processor when they're writing their programs.

Web - Tweets
“I'm going to punch DXGI in the face. Repeatedly.” ~Aras Pranckevicius
Airslide
20
Years of Service
User Offline
Joined: 18th Oct 2004
Location: California
Posted: 27th Sep 2012 08:57
Assembly is pretty simple actually, in theory at least. It's more time consuming than anything else. Somewhere I saw the source for a sample OS that needed just a small snippet of bootstrap assembly and the rest was Pascal, so you wouldn't need too much to just get running.
Aaron Miller
19
Years of Service
User Offline
Joined: 25th Feb 2006
Playing: osu!
Posted: 27th Sep 2012 09:14
Interacting with the hardware and all the drivers, plus designing a scheduler and keeping track of the various cores and processors may take a bit more effort... But if you're after an MS-DOS clone, that's not terribly difficult. (Unless you're actually trying to make sure everything is 100% compatible, which might be a bit more problematic but still relatively brain dead compared to a modern OS.)

Bare Metal OS is written entirely in assembly. It's a pretty cool OS too.

Web - Tweets
“I'm going to punch DXGI in the face. Repeatedly.” ~Aras Pranckevicius
Kevin Picone
22
Years of Service
User Offline
Joined: 27th Aug 2002
Location: Australia
Posted: 27th Sep 2012 20:33
Quote: "Why "real-time?" Why not "ahead-of-time" whereby installing an application will have all of its code translated (or cached) into a native version by the OS somewhere and it can be used? And if that's the case, why would you prefer that developers are taken away the choice of writing in native code if they prefer?"


The demand for translation, is not purely the developers preference, but the hardware situation of the host. Yeah, frequently used, or really important applications may well be best translated at installation time (or first execution), others it might not benefit at all .

You couldn't write native (to the ) cpu level code, as the developer has absolutely no idea what cpu or hardware you're even running on. Since the host might be running on a PPC, X86, ARM, or some abstract parallel array. Therefore applications are offered in VCPU machine code. Applications are built the same, either from a VCPU assembly or from some higher level compiler. So the compiler either spits out VCPU Assembly/Machine code, but it's ultimately assembled down VCPU Machine code directly. Nothing changes.


Quote: "
C++ allows for it by exposing inline assembly, which many developers use in bottleneck code if necessary. For everything else, the compiler vendor usually tries to provide decent optimizations, including CPU specific optimizations. Many compiler vendors are trying to get auto-vectorization right, for example. In doing so they allow for applications to be quicker and lower latency.
"


When we compile something today, the application ends up in a finite state. So when executed, it's running the same sequence of instructions system to system as when compiled. Yes, we can selectively run fragments code to exploit some cpu feature for whatever purpose. But what it can't do, is modify or up scale itself to take advantage so future CPU's. Where translation can.


Quote: "I agree with Airslide's idea for an OS built on just LLVM."


Which is roughly the same concept.

Aaron Miller
19
Years of Service
User Offline
Joined: 25th Feb 2006
Playing: osu!
Posted: 28th Sep 2012 01:11
Quote: "Which is roughly the same concept."

Quote: "This sounds like an excellent idea to me! Then, if you need some 'native' performance (which, really, you should get out of that sort of install-and-compile step inherently) or raw assembly, specialized blocks can be included with the install package that are only installed if the target architecture matches. Over time, the need for them would probably decrease."

There are similarities, but his allows me to include code that is more optimal than what the translator could output at the time of release (possibly for a while after release), and yet also allow me to include the generic code so that in the future, if the generic code is faster, it might be possible for the user to say "use only generic code in this app" (or the OS through some sort of compatibility setting) and get the most out of performance that way. There are similarities and differences, but I prefer Airslide's variation. You argued against any form of native code at all, except where absolutely necessary (which is the operating system's translator component feeding the code to the CPU).

And it would be the user's choice to turn on or off pre-caching on a system or per-app basis, I imagine. You seem to argue against that to an extent.

Well, regardless of what I prefer, your idea is cool in general. The list of operating systems I provided in that post you quoted might interest you. Some of them aren't active anymore, but if you were interested in tinkering you could view their source and improve them to suit your needs.

Also, I wanted to ask you... In your ideal OS, would there be a favored language for writing apps/games? (Aside from Play Basic of course.)

----------

I wonder what operating systems will look like ten to fifteen years from now. It kind of feels like everything is moving toward "Facebook OS" (as an example). A lot of netbook operating systems are coming out and they seem to be simplifying to the point where it's no longer capable of geek tinkering. This saddens me to an extent because it's that sort of tinkering that has led to some of the greatest minds of our time, and companies seem to prefer isolating that. Windows 8 seems to be a huge step in that direction as well, but at least you can still write apps in the same OS that runs them... (Hmm... I should try to install GCC on my Palm Pre... )

Web - Tweets
“I'm going to punch DXGI in the face. Repeatedly.” ~Aras Pranckevicius
Airslide
20
Years of Service
User Offline
Joined: 18th Oct 2004
Location: California
Posted: 28th Sep 2012 22:28 Edited at: 28th Sep 2012 22:30
My LLVM-OS dream is pretty similar to Kevin Picone's altogether - the VCPU instructions he talks of would just be LLVM IR (Intermediary Representation). While in our heads we probably have some different ideas about how it'd be implemented, I see no reason why mine Dream OS would have features his precludes, or vise-versa.

EDIT: Heh: http://code.google.com/p/llvm-kernel/
PAGAN_old
19
Years of Service
User Offline
Joined: 28th Jan 2006
Location: Capital of the Evil Empire
Posted: 29th Sep 2012 03:56
My dream OS would proboly be an OS that uses hardware in the most efficient way possible (everyone wants that lol)

Specifically efficiency should be focused on 2d graphics like Macs (Mac OS work better with photoshop than an equivalent setup on windows) Also, it should recognize all Raw formats nativley (normally pictures taken in a raw format cant be viewed without a plugin or only trough a raw converter)
As well as 3D graphics (An OS that can force dark basic pro to use the full power and efficiency of the PC hardware to make complicated dark basic stuff run just as fast as modern graphically equivalent game unlike how now it runs a simple scene at speeds of what a pentium 2 would run such graphics while in reality you have a quadcore 3.0Ghz Xeon 12m cache and 2x 2gb GPUs each in an SLI setup)
So perhaps a set of alternative universal supercompilers built in the OS.

Speaking of graphics, it irritates me how Radeon cards have this really clever architecture that in theory makes games run a lot more efficient resulting in increased FPS and better graphics, if the radeon architecture is used to its full advantage. Game developers are too lazy to program their games to take advantage of radeons efficient architecture as its easier to just bruiteforce the graphics trough the GPU which invidia makes easy for the developers to do resulting in more games running better on Nvidia than radeons.
My dream OS would have some techniques to make any game take full advantage of both nvidia and ATI. (again, i think a super-recompiler would be useful here)

Also, my dream OS needs to erase the boundaries between SLI and Xfire and can run any combination of multiple Graphics cards, eg: 2 radeons and 2 nvidias (providing that your motherboard has that many PCIe slots and supports both SLI and crossfire) would run these 4 cards as 1 using its own software protocol (or just both hardware protocols at once somehow)

I would like for it to have realtime compatibility with other architectures and file systems such as unix, OS/2 NT and any others.

File system of this os should be stable and indestructible with the ability to repair itself like ZFS or BTRFS

REALTIME Compatibility with ARM architecture as well as x32 and x 64 spark and other common hardware architectures (i have no idea why i want it to have realtime support for all that, but it would be badass)

Multiprocessor support, (maybe if i am running on an intel and i have a PCI card with a few ARM CPUs in them, it can use those as well whenever it needs so realtime multiarchitecture is useful here.

I got it!, My dream OS should be Cluster friendly so i can make a cluster of several computers with different hardware and different architecture, the OS could turn several slightly older PCs into one powerful PC, so again, realtime multiarchitecture support.

Many of you are thinking it would be something like Free BSD, Well, one thing i hate about BSD is spending massive amounts of time, building it and configuring it to make it work with what i need. This OS should be able to work right out of the box under any hardware/cluster configuration.

and it should do most of the configuring on its own without user requirement to interfere, Altho, there should be options for user to edit his own config in some cases but the OS should be so good at doing stuff on its own that there should be no point in doing so.

Still, the structure of this OS should be organized and easily understood unlike windows OS which is just a bucket of files orgonised in an an obscure way that only windows itself knows how and why it works, with the NT kernel at the very bottom.
I liked how unix systems are somewhat orgonised making it easier to modify, While i dont want my dream OS to copy Unix OS structure, but it should be orgonised in a way an average computer-saavy person can understand how it works. There is no need to do that since my dream OS would have the ability to repair itself if anything goes wrong, but it would still be nice to have that ability to poke around inside of it.

btw all the universal hardware compatibility should include at least all the modern game consoles that can fit the OS inside of them so at least starting with PS2 and Xbox since they have harddrives inside them. definatley PSPs NDS, 3DS, PS4, X360, PS4 X720, etc

also it needs to be failproof and bugless

and should have a built in game creation engine thats simple easy, open ended and powerful (like dark basic if it was powerful) So the engive like DB would be pure code based but should have extra tools (which can be easily modified to your own needs)

I admit that such an OS would suffer from a lot of hardware bottlenecks if you run a cluster on 3 different architectures as well as other hardware capable of processing, but thats the point, The os would already use all hardware it has acess to to maximum efficiency making any software OS tweaks, mostly useless.
BUT if you give it any significant hardware upgrade, it will reflect significantly in the work of the OS as it will immediatley rewrite parts of itself to take full advantage of the whatever hardware you added or replaced.

Perfect OS for me because i dont like poking around on softeware since i am bad at that stuff yet i have more experience with hardware, and i have tons of hardware at home and ots what i am good at. (its so strange when my friend tries to do stuff with hardware and he does all the steps correctley yet it never works. Like a week ago, he had troble with one of his HDDs (running free BSD), he unplugged it, switched ports, plugged it back in, and never fixed his problem. He called me over, i onlu unplugged the sata cable, plugging it back into the same slot (i did the same thing once what he did about 20 times over) and his problem magically solved itself after i plugged it back in again, there are multiple unexplained occasions wheen i witnessed that PC hardware simply likes me more)

so OS that only requires hardware work to improve performance while always working on everything in the software level, perfect for me


dont hate people who rip you off,cheat and get away with it, learn from them
Diggsey
19
Years of Service
User Offline
Joined: 24th Apr 2006
Location: On this web page.
Posted: 29th Sep 2012 03:59
Quote: "Mac OS work better with photoshop than an equivalent setup on windows"


That depends on how you define "equivalent setup". If you define it in terms of price, which is really the only sensible way to define it, then the windows one will be far faster.

[b]

Login to post a reply

Server time is: 2025-05-18 04:48:39
Your offset time is: 2025-05-18 04:48:39