I have been musing a lot lately, regarding what would be the perfect operating system (IMO), or as close as it could get. Here it is, in a not-so orderly manner, various characteristics, that I would desire, in my “perfect” operating system.
Kernel
The kernel would be a microkernel, with everything from the drivers, to applications, running in userspace.
I liked the idea of the re-incarnation server from Minix. Throw that in as well.
Every system-critical binary (system files/drivers) will have a stable and a current version (known stable version and latest from repository), and re-incarnation server will automatically bring up the stable if the current crashes at any point.
Obviously, it would be a 64-bit kernel, with software emulation of 128-bit data as well (not even sure if that makes sense here).
The scheduler would automagically schedule tasks across CPUs as available. This might necessitate a different programming paradigm than one with a single entry point at main() (be it C/C++/Java.. etc) i.e. the user doesn’t explicitly specify threads or mandate scheduling stuff. He specifies tasks and transcations.Guess this deserves a post of its own.
A display of VGA@16-bit would be assumed to be available by default. There is no reason for a “text mode” boot with the DM switching it to a “graphics” mode later. The kernel would boot up and put the display into a VGA@16-bit mode with a graphical boot progress, with the DM switching over to a different resolution and display as and when he gets loaded. Possibly, the DM can enable the “proper” video driver on-the-fly before switching resolutions.
VM
I personally favour Ruby over Python, but I accept that both are equally capable (with Python being more matured in comparison). That said, I still am gonna pick Ruby as the OS’s “native language”. For/against arguments for this decision are not in the scope of this discussion.
The kernel would launch a VM, a Ruby VM, who would take care of the remaining “booting”.
Possibly, derive inspirations from the Dalvik VM. Register-based. Opcode loading. Hmmm.. need to read up some stuff here.
(Going against my initial impulses) application code would reside in their byte-code compiled forms, instead of .rb text files.
Provide “compilers” for various languages which convert them to said bytecode. Python, Perl, Smalltalk, Java, Lisp etc. should be relatively easy. C, C++, Objective-C would be tougher, but possible (or so I believe).
Graphics sub-system
A kick-ass software renderer. With the advent of multi-core CPUs, I think we could have a kick-ass software renderer. Will provide OpenGL as a wrapper over its “native” interface
Window Manager
<many many thoughts upcoming here.. watch this space..>
System API
Non-time critical “system” API would be exposed via IPC, possibly D-bus. E.g. audio, telephony, location, etc.
Time-critical “system” API would be exposed via library calls onto the VM. E.g. IPC mechanisms, filesystem access, graphics (??), timers, etc.
Applications
Applications are sandboxed. Period. You can push messages to other applications via IPC but no direct access to another applications resources are allowed. Also to be taken, caged filesystem areas for each application, as well as a global repository (more on filesystems later).
Central software repository. Catalogue/store application. Screenshots/reviews/ratings etc.
Delivered as opcode-binaries. Source available for any OSS applications. Closed-source also possible.
Capabilities. As in, security mechanism. There will be various capabilities and by default, an application will have only the bare-minimum (or logical minimum). Any action to be taken which needs greater capabilities, will throw a prompt for user-permission to continue (a la UAC). The user can configure an application to be “allowed” to do stuff (see Suite settings in Application Manager.. S60 5th Edition.. for Java apps) without prompting.
I have decided to attempt a vowel-free (vavvaal-free ) post, just for horror…
bsclly ths pst s n ttmpt t s f vwl-fr txt wld mk ny sns. s fr m nt vry cnvncd tht t ds. ths lks wrs thn http://www.realunspokenwords.blogspot.com/ . bsltly ncmprhnsbl. dnst lk lk ny lngg n xstnc. h wl, gd lck tryng t dcphr t.
Today, I witnessed a fairy tale unveil in front of my eyes. Surfing through the Digg pages, I stumbled across this video about a lady called Susan Boyle auditioning for Britain’s got Talent. This middle-aged woman appeared on stage, looking odd and out of place in the glitzy, glamorous arena of show biz. Her cheeky attitude brought a smile to my face, but nothing prepared me for what turned out to be, one of best live performances I have ever seen. Though I had never heard ‘I dreamed a dream’ (from Les Misérables) before, her rendition completely bowled me over. The judges and the audience were heavily skeptical and condescending before she started singing, and everyone had a ‘Yeah.. right!’ expression when she said she wanted to be as famous as Elaine Paige. However, two seconds into her song, and they were smitten. Susan Boyle became an international sensation in matter of days, with her online videos garnering millions upon millions of views. There are enough and more analysis on why her story has become so universally loved, but I am not here to delve on that. I am here because Susan Boyle has become one of my favourite singers, with just one song. I am here because Susan Boyle has inspired me, and millions around the world. I am here because, fairy tales are real, and I witnessed one.
The first and most iconic superhero of our times. Superman. An alien who was sent to Earth from a dying world. The only survivor of the planet Krypton. Raised by a kindly couple on a farm, Clark Kent grew up to be deeply compassionate and virtuous. As he grew, he discovered his powers and his alien heritage. Eventually, he answered his spirit’s calling and set out to travel the world. Through his travels, he learns of the many faces of man. Thus, he settles down among us, as one of us, as our friend, as our savior, as Superman.
Superman is mostly depicted as a messianic savior who has been sent to save humanity. The parallels to Christ are quite obvious, and is not-so-subtly hinted at in the recent movie Superman Returns. This larger-than-life god, who is the epitome of human goodness, cannot, however, identify with or understand completely the human mind. It reminds me of Doctor Manhattan, from Watchmen, who, due to his near omnipotence and omniscience, slowly starts losing touch with humanity, with emotions; seeing humans as specks of dust, irrelevant in the grand scheme of the universe. Though Superman is very much human at heart and never loses his empathy, his abilities and alien heritage set him apart from us, and though we look up to him to save us, he would never be one of us.
Quote
“They could be a great people, Kal-El, they wish to be. They only need a light to lead the way. For this reason above all, their capacity for good, I send them you, my only son!” - Jor-El, of Krypton.
Disclaimer: These series (hopefully) has nothing to with the TV show ‘Heroes’.
Mankind has always looked for heroes to look up to, to admire, to inspire them. In 1938, from the pages of Action Comics #1, arose a new kind of hero. This man differed from previous ‘heroes’, in that he was able to lift cars above his head with the greatest of ease, and leap tall buildings in a single leap. This ‘Superman’ ushered in a new age of heroes, a new form of of escapism, where men could defy the laws of nature. Since that day, Superman has inspired legions of superheroes, who have entertained and inspired us for decades.
He furiously scrubbed the paper with the eraser, and tried drawing again. The curve faltered again, and even the slighest error ruined the picture for him. With a deep sigh, he started scrubbing again, more gently this time.
Another one of those (frequent) resets in my life. Like a Windows 98 installation. Gets “bloated” over time and needs frequent re-installs (resets). Hmm. Hope it lasts longer this time around.
For those not in the know, I have been playing Age of Conan a lot in the past few weeks. I got my Necromancer to 80 finally. Thought I’d post a pic of her. I know she doesn’t look like a necromancer. More like a priestess or at most, a sorceress. Bear with her for a while, while she hunts for more foreboding clothings.