Singularity
Though most people don’t know it, Microsoft has, not one, but two new operating systems that it is working on. The first, Vista, many people have heard of. Currently scheduled to ship just after the second coming of Christ, Vista has garnered most of the spotlight. However there is another OS lurking in the basement in Redmond and its name is Singularity. For more information go here: Singularity details. In creating Singularity Microsoft set out to answer this question:
“What would a software platform look like if it was designed from scratch with the primary goal of dependability?” (question found in the MS Singularity research report)
Why, it would look like . . . UNIX.
So what does Singularity look like? A joke, at least at first glance. But taking a moment to analyze the situation I came up with some interesting observations which I will now share with you.
What this signifies
If you read the press releases Microsoft is trying to bill Singularity as a research project, whose components might be used in future products. Personally, I don’t buy the hype. I look at this announcement and see Microsoft trying to do two things, compete with Linux/Unix in the server and embedded space and craft a replacement for its aging Windows OS.
If a company were looking for an embedded OS what choices would they have? Unix, 4 million flavors of Linux and some small, proprietary OS designed for a very specific job (think Texas Instruments). What they most definitely wouldn’t choose is Windows. An embedded system, just like a server, needs an OS to be stable and reliable, neither of which are areas that Windows is very good at.
Remember when Gates announced that the current build of Vista had gotten so complex and bug ridden that they were scrapping everything written in the last six months and going back to a stable build so they could start over? It was costly, it was time consuming and it was highly embarrassing. That incident, more than any other, highlights the fact that Windows might not make it to another incarnation.
Let me say that again because it is doubly important. Windows might not make it to another incarnation. By that I mean when Vista is ready to be phased out, the Windows code base that would normally make up the foundation for Vista’s successor will be so large, so complex and so unmanageable that it will take close to a decade for another version of Windows to come out. Assuming that it is even possible in the first place. Remember, Vista was first started around 2001, so assuming it ships in 2007 (which is not unrealistic) then it will have been in development for almost 7 years. So predicting that Vista’s successor will take 10 years before seeing the light of day is quite reasonable.
So, if the current code base can’t be used then Microsoft will need a replacement and that is where Singularity comes in. They should be looking at this as the foundation for a better, more stable, more easily maintainable base from which to build their next generation of operating systems.
Current implications
There are no real immediate gains to be made from Singularity. Anything of real value will require several years worth of development and almost a decade of testing and modifications before it can hope to compete with Unix and its variants. This shouldn’t be surprising, especially when considering Unix has been continually refined for the last 40 years, that is quite a lead to overcome.
However, there some issues that could become problematic. Currently Singularity is being programmed using a combination of C# and Sing#. Sing# is a derivative of Spec#, Spec# is a derivative of C# and C# is a derivative of C++. The issue here is that, in the future, there could be a shortage of programmers who are skilled in Spec#. Because of the limited use of C# and Sing# as compared to C++ and Java Microsoft might ultimately be making a mistake in choosing Sing# as their foundation language.
Future implications
Microsoft has indicated that they might use Singularity (in part or in its entirety) for distributed computing, embedded devices or in future versions of Windows (both desktop and server). Now, whether any of that will actually happen is anyone’s guess. But based on Microsoft’s current leadership and management style I foresee one of two things ultimately happening.
The most likely scenario, in my opinion, is that Singularity will never really take off as a viable OS. In the next five years I think that Singularity will have its ups and downs, produce some workable code, show moderately interesting demos but will ultimately be disbanded as different units within MS disassemble parts of its code for use in their own particular applications. It is also possible (however remote) that Singularity could be used as part of the foundation for Blackcomb (the successor to Vista).
But if it manages to survive without being assimilated by other business units, it still faces the dangerous path of being “too” successful. Right now Singularity is being created by a small team of about 50 people. Due to its size and relative obscurity the programmers are fairly free to do what they want in the manner they feel to be best. But all that will change if Ballmer suddenly decides Singularity will be his new pet project. Overnight the leaders of this “research project” could find that their staff has just increased to 3,000 strong (in true MS style bureaucracy 2,000 of which are managers). Suddenly with 18 layers of management and 93 required meetings each week, Singularity becomes too heavily managed to complete any real work and eventually loses all of its innovative aspects.
In the end Singularity will be a good idea implemented about 10 years too late.
Comments
Re: Georgia, my silly typo. Yes, of course, Georgia is a serif face!!
This post hardly dignifies a response, but here goes. Microsoft is currently phasing out Win32/COM for application development in favor of WinFX. Based on .NET, WinFX is the new application-level API that will address the concerns brought up in this thread. Microsoft launched the initiative years ago with .NET. Today, .NET is the predominant platform for new application development on Windows. Therefore, Microsoft is well on its way in solving the alleged ‘crisis’.
To address the question of Windows in the embedded space, consider the success of Windows Mobile and XBOX.
The author should see the Channel9 interviews with the devs from that team. To say that singularity resembles ANY form of UNIX just proves that the author has ZERO understanding of operating system concepts or what they are actually trying to do. Furthermore…you know what? Nevermind. This is like trying to explain physics to a toddler. You suck.
Ok, before you guys try to tar and feature me let me make a few corrections. . .
booga,
You are correct when you said VMS and not Unix, I was thinking of something else. So, anywhere I said Unix needs to be replaced with VMS. Now, onto your other points.
The original VMS team that was hired tried to write something like NT from scratch. However, this would have prevented backwards compatibility so MS decided against that. Instead they took good size chunks of the VMS team’s code and merged it with some of their older DOS code. And yes, Microsoft does have a lot of money and market presence and they will be able to ride out the storm for a while. But it is going to be impossible to “Refactor” enough of the Windows code base to make it work. They sheer effort involved would take them the rest of this decade just to put a dent in it. Rather it would be easier if they just started over.
Ster,
I see your points but there is a huge difference between Vista and when OS X first came out. Vista is going to be late to the party even after cutting most of its features. Now, I realize that 10.0 wasn’t the best OS when it first came out but it did have the features it promised. And it has been steadily improved every year to two years. If I really thought there was a chance in hell that Vista would get a major update every 1.5 years like OS X gets then I might have changed the tone of my article.
Eron Wright,
Please don’t talk to me about the nightmare that .NET is. And as for WinFX, I will believe it when I see it. NOT when I hear promises of it for 3 years.
Here is a list of some embedded systems:
automatic teller machines (ATMs)
avionics, such as inertial guidance systems, flight control
hardware/software and other integrated systems in aircraft and missiles
cellular telephones and telephone switches
computer network equipment, including routers, timeservers and firewalls
computer printers
copiers
disk drives (floppy disk drives and hard disk drives)
engine controllers and antilock brake controllers for automobiles
home automation products, like thermostats, air conditioners,
sprinklers, and security monitoring systems
handheld calculators
household appliances, including microwave ovens, washing
machines, television sets, DVD players/recorders
medical equipment
measurement equipment such as digital storage oscilloscopes,
logic analyzers, and spectrum analyzers
multifunction wristwatches
Multifunctional printers (MFPs)
personal digital assistants (PDAs), that is, small handheld
computers with PIMs and other applications
mobile phones with additional capabilities, for example, mobile
digital assistants with cellphone and PDA and Java (MIDP)
programmable logic controllers (PLCs) for industrial automation and monitoring
stationary videogame consoles and handheld game consoles
wearable computers
Out of the 20 on there you listed 2, game consoles and PDAs. Lets throw in cell phones too and that will bring the total up to 3. I think they have a ways to go.
REALITY!!!!!,
I didn’t mean the code looks the same as Unix I meant the functionality was the same, namely stability and security over speed and power.
And if you ever want to talk science with me let me know, I got a minor in Applied Physics.
And lastly:
I know I have done a good job if at least one reader tells me I suck. . .
James,
It would be helpful if you would elaborate on our judgement that .NET is a nightmare. .NET is a tremendous success in terms of quality and adoption. Time will reveal to you that this is true, regardless of what you think now.
You imply that WinFX is vaporware, yet thousands of developers are working with it right now:
http://msdn.microsoft.com/winfx/
Maybe you should try it sometime.
You should know that WinFX will ship for WinXP; indeed that is a big reason why the Vista work was rationalized.
In 5 years time, Microsoft’s grip on the software industry will only tighten. You will look back on ignorant posts like this with shame.
James,
You make good points, but our understandings still differ somewhat.
1. Win16, which was the API for Windows 3.1 and earlier, only ran in emulation on Windows NT, just like MacOS X’s blue box.
2. Although Win32 ran natively, it was a re-implementation and you’d often find API bugs on one platform that didn’t exist on the other (since it was largely a separate codebase.) As well, NT didn’t support enough of the API to run most games when it first came out, although it improved dramatically with Win2K.
3. Win3.1/95/98/ME ran on top of a DOS-like kernel. In NT/2K/XP, DOS runs on top of a VMS-like kernel. Big difference for performance and stability.
4. WinFX isn’t going to replace Win32 overnight. It may never. (I have a lot of skepticism that Cocoa will ever “replace” Carbon, too.) But it is the compatibility break that you’re looking for.
5. Carbon on MacOS X is like Win32 on Vista.
6. A rewrite generally just replaces bugs you know about with ones that you don’t, although only experience tends to teach you that. It’s often one of the worst ideas in the world to replace old code with completely rewritten code. One of the great strengths of open source is that replacement code tends to spawn, mature, integrate, THEN get bundled with a project, while with closed-source the “rewrite and ship” mentality is too easy.
As for your list of embedded systems, you’d probably be frightened to learn how many of them run a WindowsCE derivative these days. When IBM finally deprecated OS/2 last year, a lot of banks and ATMs went Windows, for example.
I find it hilarious that banks, government offices, and other “need to be secure” work environments would every willingly use Windows. But, then, I suppose when the one thing you depend on essentially dies and will never be improved or added to, you have little choice. Oh, wait, that’s not true. Remember what the AT&T UNIX was originally used for?
Carbon is not neccessarily like Win32 on Vista. Carbon is a rather interesting and useful library (can we call it a toolkit?) that works with OS 9 and OS X. Carbon can also do a surprising number of things Cocoa can not do, so, booga, point #4 makes sense. (At least for now.)
MacGlee, you’re probably, disturbingly, correct that most all Mac users have had to use some version of Windows for some reason, while most Windows users have never touched a Mac. Why is that? I think every Mac user I know has HAD to use Windows for something (work, school, etc).
REALITY, get a life. Yeah, I’m stooping to your “you suck” level. You want to act like a child by taking the easy way out of an argument then go to another site, like the forums on MacRumors.
Didn’t the Sega DreamCast run Windows CE?
Microsoft is not going anywhere anytime soon. We all know this. It’s hard to deny. For one, people are stubborn if not simply lazy and complacent (like most Americans, myself included all too often). For that reason they will not abandon the OS they have spent so much time with. All those IT and enterprise situations that are running Windows where the people doing it are MS certified… They won’t abandon Windows. Plus, people will all too often just suck it up and stick with something. “Aw, they got rid of the dock from the iPod’s included accessories, but it plays video, I just have to have one!” Should I include other examples of people giving in?
MS can do what they want. The only thing they do that pisses me off is trying to force their own file formats on the world. I’m sorry, but there are a lot of things in life where standardizationa and uniformity are actually GOOD. People should be individuals. Electronic devices should be compatible with each other. We are not machines, but I shouldn’t have to worry about a device not supporting a version of MPEG just because MS has so much money they can force a Wndows Media down device makers’ throats…
.. Reminds me of the meat and dairy industries… “Oh, great, we’ve bred and slaughtered all of these cows and now we have all these leftover parts. Hey, I know, let’s make all the other food-related companies put them in their food and then tell the public it’s good for them. Animals = nutrition.” (Is that why meat and dairy heavy diets so often lead to health problems? I’ll stick to my all plants diet, thank you. - Yes, I know. Computers aren’t vegan… I assume.)
And, you know what… I’m gonna say it. I’m a Mac Evangelist and I’m gonna say it: Apple is not a very good company. Steve Jobs is not smart. And!!! OS X is not perfect! HA! There! Eat it! You know it’s true!
Now if you’ll excuse me, I’m going to go do everything I do on my Mac.
A few notes:
1.) I don’t think the Windows NT history was cleared up quite completely yet. NT not only originated out of the MS-IBM split, it essentially evolved out of the OS/2 code and planning. You’ll note similarities, for instance, between the file systems in the two OSes.
2.) Lisa was not, as commented above, the hugely popular predecessor to Macintosh. It was a very unpopular product that was developed at the same time the Mac was being developed. Eventually Apple added a Mac emulation and placed it under the Mac name plate. James is thinking of the Apple ][.
3.) Someone mentioned MS buying a GNU/Linux distro. That might make sense, although honestly it’d make more sense for them to build a BSD-based OS, as Apple has done. MS has spent too much time attacking the GPL license for them to build on top of Linux without a ton of flak.
Point taken about Carbon in MacOS X vs. Win32 in Vista, Waa. I actually think Carbon is by far the more marketable of Apple’s two APIs, and that Cocoa should probably be replaced at some point with some more modern object oriented API instead of what seemed like a good idea to NeXT 20 years ago.
Timothy makes accurate points, as well. The Lisa was a parallel project that got a UI late in its developmental life (later than the Mac, at least, which wasn’t originally going to be a GUI-only OS when the project started, either.)
One point about #3, though, Tim: Microsoft DID have a UNIX at one point. It was eventually spun off, and after a lot of hand changing and buyouts, became what is now SCO UNIX. At the time, Microsoft agreed not to create a competing UNIX, and I’m not clear if that contract is still in effect. (For a more complete history, Wikipedia for “SCO UNIX” and “Xenix”: http://en.wikipedia.org/wiki/Xenix )
“Whereas when PC’s get too infested with viruses these days their owners just throw them out.”
Sure. Yeah. PC owners are too stupid to know how to prevent viruses and/or clean them up.
It’s really quite amusing to hear people criticize Windows who haven’t used it since ‘95, and who refuse to believe that there are millions of people using Windows right now! this very second! productively, safely, and securely.
Is is possible to envision a future wherein people continue to have a choice of operating systems? I would no more want a Windows-only world than a Mac-only or Linux-only world. Competition is the only force that reliably drives innovation.
AdrienneA,
I hate to burst your bubble and yank you back into the real world but the hard fact of the matter is that most PC owners are indeed too lazy, ill informed, stupid or otherwise unable to properly take care of their computers. That is why the “PC Protection Racket” is such a thriving business. And if you don’t believe me spend a weekend hanging out near the service desk of a major PC retailer and watch the streams of people coming with because their machines are filled with spyware, adware and viruses and they need someone to fix them.
And there isn’t anyone, not even Bill himself, who is truly using windows “safely, and securely.” There are merely people whose systems haven’t yet been corrupted. If you will remember there are still numerous flaws in windows that have yet to be patched. So, please forgive me if I don’t buy into this “I can make windows secure” crap.
One last thing, it is beyond ironic to hear a windows fan talk about how “Competition is the only force that reliably drives innovation.” When did you figure that out? After the DoJ filed anti-trust charges or the EU threatened to prosecute MS for anti-competitive practices? Or did you recently take an “Into to Economics” course and it was there that you realize competition is a good thing?
Mr. Stoup,
Whew! Sorry to get you so riled up!
I gather I came across to you in my post as some sort of expert. I am not, nor do I deliberately present myself as such. I speak only from my own experience.
I work at a public library. I am not an IT professional. I did not recently take an introductory course in economics. I have been a Windows user for approximately 8 years. I am in charge of maintaining my library’s 18 workstations, for both public and staff. In 5 years we have experienced one (1) virus attack (due to a staff email) and one (1) fatal blue screen (due to third-party software). We run a mixed XP-2K system, with a Linux Red Hat server. I spend much more time dunning people about overdue books than I do in maintaining and updating our PCs.
At one point I became enthusatic about exploring the use of Macs in our library. I have yet to learn anything from Apple to lead me to believe that they have any interest whatsoever in supporting their product in public libraries. I am now concentrating my search on several Linux distros, as I have found the Linux comminity to be very supportive, polite, and accessible—quite in contrast to many people in the Mac world.
I attempted to voice an opinion that a diversity of choice in OSs is a good thing. I take it that you do not share my opinion.
AdrienneA,
Didn’t mean to unleash such a fury on you, hope I didn’t scorch your hair. As to your situation, I am thrilled that you haven’t experienced any major problems with your systems and I would highly recommend Linux to you as a solution over MS.
As to your last comment, I am whole heartedly in favor of competition in all businesses, operating systems especially.
I hope I don’t come across as anti-Mac. OS X is a really good OS, one that more Windows users would be delighted to try, if they had an easy way to do so (IMHO).
Trying not to hijack the comment thread, but a really big barrier to a wider adoption of the Mac OS is the problem of older hardware. Again, I’ll speak only of my current situation—a small public library. We have several old PII’s in the basement that are ideal candidates for a light Linux distro. Half of our public workstations (now running 2K) will not be up to snuff to run Vista, so no point in upgrading the OS there—they also make good candidates for Linux installations.
None of these workstations will ever run any Mac OS, yet they are still too functional to throw away.
Windows is simply too hard to secure for (or should I say from) public users. Using Group Policy is a nightmare, and the PAC tools available are either too expensive or too unweildy. Thus, a Linix environment seems ideal for setting public user permissions.
Out staff workstations are less than 2 years old, so we will not be replacing them for at least 2 years. At that time, we might look seriously at Apple—except that, as I mentioned earlier, there doesn’t seem to be any interest on Apple’s part to put their machines in “government” for a discount, as they do now with education. For any public institution, price is pretty much the only factor that can be considered.
So who cares what kind of computers we have in public libraries? The people who use our public workstations fall into two groups: 1.) People who don’t have their own computer and 2.) People who can’t use their home computer, either because it’s broken or they’re travelling. In both cases, it would be a great oportunity for them to try out a Mac—and they might be disposed to buy or upgrade to one when the time comes.
Buying a new computer is a major purchase for the “average” consumer. I’m skeptical about recent reports of the number of “switchers” to Macs, mainly because it’s not really that easy to abandon Windows in favor of another system. It’s quite an investment in time and money for an established Windows user—remember how hard it is to change old habits, no matter how bad that habit may be. People still smoke, for god’s sake!
There is an incredible opportunity to bring Macs to a wider audience (including disgruntled Windows users) via public libraries, but without strong support from Apple, that will never happen—and Windows will continue to be the dominant OS for some time to come.
MODERATOR’S NOTE
Sadly this poster has gone off his meds and so we are cutting down his post to make it sound a little less like giberish
REALITY’s REVENGE!!!!!!!
Stoup—Yeah…you are right Singularity is a command line research OS that’s being used to explore new fronts in security and stability. You are aware that those words were not invented by Bell Labs in the 60’s when they wrote the glorified TEXT PROCESSOR that is OOONIX, right?Anyway, your awesome amatuer industry punditry is really incisive. Oh yeah, your minor in applied schmiscs makes my private parts tingle.
Dearest kissy-face-friend waa—- Yeah, these forums are sooooo on point. Doofus. You know what’s really sad? That any of you feel intense emotions about some nebulous commercial entity that makes a product that you bought. Get a grip.
Now, because it makes me smile here are the lyrics to Twisted Sister’s opus “I wanna rock!”...
I wanna rock!(Rock!)
I wanna rock!(Rock!)
. . .
BLAH BLAH BLAH
. . .
I wanna rock!(Rock!)
Rock!(Rock!)
Rock!(Rock!)