eWeek Microsoft Watch
Advertisement
Advertisement
July 29, 2008 5:21 PM

Midori: Modular by Design



News Analysis. Somebody at Microsoft is seeing red over Midori, which is Japanese for green.

This afternoon, SDTimes published the first of three stories on Microsoft operating system Midori. Reporter David Worthington scored some internal Microsoft documents, which sent Microsoft's PR team into absolute panic.

Within the last 24 hours, several reporters received calls from Microsoft PR to see who knew what and to find out where the leak is. I didn't get a call, even though I know David. Maybe my Waggener Edstrom-compiled dossier is incomplete?

Information has been dribbling out about Midori for months. But SDTimes offers the most comprehensive information so far publicly released. It's cautiously presented, perhaps so David can protect his source(s) and write three parts (I joked over IM that he's a "click whore"; it's the way of Web journalism, I guess). There's great reporting here. David has done much more than use the cut-and-paste approach someone else might have taken.

"There were no dark garages involved," David said about obtaining the documents, referring to Watergate and Deep Throat.

David's story is both disturbing and encouraging for what it reveals about Midori, and that's on several levels. Disturbing: Microsoft's ambitions, which remind one of failed projects Cairo and WinFS. Encouraging: The modular and connected design approach, among other aspects I'll get to in a few paragraphs.

arrow.gifGOT A TIP OR RUMOR?

Presumably, Midori is based on Microsoft Research project Singularity. Eric Rudder (remember him?) is rumored to be leading the Midori project. Eric was one of Microsoft's rising stars until he got moved up and over during a major reorganization nearly three years ago. On the Microsoft org chart, Eric reported directly to Bill Gates, at least before the chairman's semi-retirement on June 30. Eric, what are you up to now?

I'm cautiously encouraged by what SDTimes published about Midori. In March, I opined about what should be Microsoft's priorities for Windows 7. Based on the leaked information, Midori encapsulates the architectural changes I identified as most important for the next Windows version:

  • Modularity
  • All-device support (in one OS version)
  • Connectivity/networking
  • Synchronization
  • Backward compatibility (through virtualization)

Most important: Starting over, with a fresh operating system.

I wanted to see dramatic changes in the next Windows version—the operating system needs them. The big changes are coming later, looks like, but Midori doesn't yet have a time horizon, if it's even an operating system that would be released. Many Microsoft research projects brightly burn and then they burn out. Midori should be different, for conceptually it's so promising. Microsoft needs to bring something like this to market.

This afternoon, I asked Microsoft for comment—and, better, for an interview—about Midori. But instead I got a canned statement, which, by the way, uses "incubation" to describe Midori: "Microsoft is always thinking about and exploring innovative ways for people to use technology. Midori is one of many incubation projects underway at Microsoft; as such we are not talking about it at this time."

Below, I will match my recommended design priorities with what David reveals about them in Midori and explain why they are important.

Fresh start. David describes Midori as a "non-Windows operating system." It's about freakin' time. Midori isn't a new version of Windows. It's a new operating system, built fresh from the kernel up, according to the SDTimes story.

Windows architecture predates the Internet. The architecture simply wasn't designed for the connectivity, networking and security demands of the Internet, particularly in the 21st century where information spreads out across multiple cloud computing services and user devices.

Microsoft should have started fresh long, long ago. But the company's obsession with backward compatibility—a priority miserably failed with Windows Vista—acted as a deterrent to change. A new start is the right approach, and, whoa, will it be new.

David writes: "At its lowest level, Midori has two separate kernel layers: a microkernel comprised of unmanaged code that controls hardware and environment abstracts, and higher-level managed kernel services that provide the full set of operating system functionality."

Virtualization. Microsoft isn't giving up on backward compatibility but doing what I've been asking for since the company bought Connectix in 2003: using virtualization to provide backward compatibility between a new operating system architecture and an older one. Unfortunately, David won't reveal how Microsoft will use virtualization for the Windows-to-Midori migration until his second story. But I commend the concept. Microsoft has the technology to make it all work.

Modularity. "Unlike Windows, Microsoft intends for Midori to be componentized from the beginning." Finally! Microsoft moved down the modularity path with Windows Embedded, ending, so far, with Windows Server 2008. The current marketplace demands modularity, for lots of reasons. Among them:

  • Providing a single, secure, manageable operating system for all devices
  • Scaling across multiple devices and SOAs (service-oriented architectures)
  • Writing software once, rather than porting different versions to different devices, platforms or service topologies

Simply stated: Modularity is one of Midori's most important design principles. None of the other design principles effectively work without the modular, or what Microsoft calls componentized, approach.

Connectivity. Midori shares a common goal with the first real version of Windows, NT. But the scale dramatically differs. Microsoft designed Windows NT to be connected across corporate networks. That connectivity would later pose some security challenges as corporate networks connected to the Internet. Midori is much more about connectivity, regardless of device or even underlying architecture. Midori is designed to live on the Internet, to be connected.

There's something agnostic and not (more on the not in the closing paragraphs) about Midori, at least the conception revealed by SDTimes. David writes:

Midori will be built with an asynchronous-only architecture that is built for task concurrency and parallel use of local and distributed resources, with a distributed component-based and data-driven application model, and dynamic management of power and other resources. Midori's design treats concurrency as a core principle.

He continues:

The Midori documents foresee applications running across a multitude of topologies, ranging from client-server and multi-tier deployments to peer-to-peer at the edge, and in the cloud data center. Those topologies form a heterogeneous mesh where capabilities can exist at separate places.

Conceptually, the approach is very forward-thinking and anticipates distributed, cloud and services-oriented computing demands that already tax the PC client-server model. The leaked documents repeatedly refer to the importance of "concurrency," according to SDTimes. "Midori will have provisions for distributed concurrency—or cloud computing—where application components exist in data centers."

Whoa. But, damn, it's ambitious, too. Microsoft projects Cairo and WinFS both failed, and their data storage models would have brought some of these same capabilities. Concurrency and connectivity are sensible topologies. But can Microsoft really deliver them? There are reasons why Midori is still an incubation project.

Device support. Midori's connected and concurrent topologies directly relate to hardware devices. David explains:

Users move across multiple devices, consume and share resources remotely, and the applications that they use are a composite of local and remote components and services. To that end, Midori will focus on concurrency, both for distributed applications and local ones.

I won't separately call out synchronization, but incorporate here. What the above quote really means: Microsoft's concurrency topology would make personal or professional information available everywhere people need it. The seeds of this concept can already be seen in Live Mesh. Data changed on support device A replicates elsewhere.

If that's so, I have to ask: How many of the Midori concepts are already part of Microsoft's forthcoming services platform? And how different are they? David's leaked information about Midori reads very much like what I would also expect from Microsoft's SOA. If they're not one and the same, then Midori may be more than a Windows successor by a future iteration of Microsoft's SOA platform.

Services architecture. I'm throwing this one in as an extra because it's potentially troubling or exciting depending on perspective. David writes: "Midori's applications would be created using .NET languages that will be compiled to native code using the Bartok compiler and runtime system, which is presently a Microsoft Search project."

Midori would embody a .NET-language-based "type-safe abstraction set" that "will eliminate an entire class of programming errors that stem from bad pointer arithmetic, enable the changing of the boundaries between privileged and unprivileged code, and provide for universal application analysis and instrumentation, Microsoft reasons."

For some developers, the approach could mean cleaner code more easily written. But the architecture means something else: Microsoft would more deeply bake .NET into the operating system architecture and extend it to many more devices and services. If I read this rightly, .NET literally becomes the Net, from a development perspective. Such an approach would make Microsoft's bundling the browser into Windows—an act that drew a U.S. government antitrust lawsuit—seemingly inconsequential. Midori's .NET bundling would reach across a vast Internet landscape of devices, development topologies and SOAs. To repeat: .NET would become the Net.

[Please send your tips or rumors to watchtips at gmail.com]

TrackBack

TrackBack

http://www.microsoft-watch.com/cgi-bin/mte/mt-tb.cgi/14462

Comments (19)

Vapourware? Midori could be the classical technique of M$: give a few leaks and announcements and the market waits a bit to "upgrade". That failed miserably with Vista and I expect whatever follows will have similar problems. A re-write is a good idea, about 6 years ago or more. Now it gives GNU/Linux a few years of expansion, picking up millions of low-hanging fruits, typical users of desktops. If this is vapourware, it is working against Vista... M$ is collapsing under its own weight.

chips :

Vapourware? Most likely. Midori if it was legit OS under development for the desktop would not be out for at least another 4 years as the successor to Windows Seven. So even as vapourware, Midori is a failure, too little far too late.

It could even be argued that Microsoft has never really developed an original kernel all by themselves, for a production OS, as the NT kernel was developed in cooperation with IBM also for OS/2, and DOS was bought from QDOS (Quick and Dirty Dos). It is more likely to see MSFT just further patch the old NT kernel still in use in Vista, some more.

As far as "Backward compatibility (through virtualization)," this would most likely be the way MS would go, have to agree on that. As an emulator type layer, like Wine for instance, would be more complex, and others would be able to learn from it. Not that it makes much difference, in 4 years time, Wine for Linux will run a lot more Windows programs than even it runs now. This is a serious problem for Microsoft, as Wine and Crossover are now running many programs natively in Linux.

Lawrence D'Oliveiro :

Dimdows NT was supposed to be built on a completely-new-from-the-ground-up kernel with built-in memory protection and multithreading and networking and all that good stuff, too. But so much baggage was piled on top of it to add features to entice the customers, and offer backward compatibility to those stuck with legacy software, that it turned into the steaming pile of excrement exemplified by XP and Vista today.

What are the odds that the same thing won't happen to any new Microsoft OS? Microsoft is in the business of selling products to customers, after all. Clever theoretical architecture concepts don't do that.

John :

If it is stuck to Intel X86, it is dead before it sees the light of day. But some of the information implies a heavy level of multiprocessing that X86 cannot deliver in a low power fashion. Perhaps Intel's Atom helped the leak of this information in the hopes of riding on Atom and some of the other multiprocessor chips coming out of the labs. Linux is all lined up to exploit these chips and maybe Microsoft is trying to buy time and mindshare to keep its monopoly.

Reflections :

"Dimdows NT"

Is that another Linux distro like Lindows? I guess they could name a distro Dimdows. Maybe at least that way 2009 or 2010 might be "The Year of the Linux Desktop!"

Sounds like MS is on the right track. However, I do not have confidence that they can pull it off. They just aren't any good at OS development. They should stick with applications only. They did a good job with Office.

PhilD :

sounds like warmed over winda's to me

i've no problems with ,NET becoming more widely used on the 'net, we need something to compete with JavaBucks.

Philosopher :

Midori sounds exactly like what you'd get if you started with QNX. Except that this little Canadian company did it over 20 years ago.

Microsoft: Yesterday's technology tomorrow!

Gerardo Tasistro :

Joe, to that list I would add periodic releases so Midori can mature in the market and not in the lab. We all know how well that helped Vista get its bad rep and all sets of incompatibility issues. If Microsoft thinks it can come out with Midori 1.0 in two or three years time it is greatly mistaken.

Also if this is true I think they're based on some other OS like BSD maybe (which is open source and with a license compatible with MS's interests). To start from scratch, and finish in time to still be relevant in the market is way too ambitious.

ED T :

Rumors of a new, improved, "miracle" OS is standard operating procedure. Even though it's vaporware, Redmond knows if it administers periodic doses of FUD to IT departments, they are less likely to jump ship.

janet :

Didn't George Orwell propose something similar about 60 years ago? I think he called his cloud-based OS "Big Brother", and IIRC it was just peachy for everyone associated with it.

Marco :

Microsoft: Yesterday's technology tomorrow!
Ha,ha, good one.
The MS' problems is the new best tech is now Open Source and MS can not buy or steal it now.

Mr. G :

In response to Philosopher: I have to totally agree. QNX has been doing the distributed, layered, cross-platform, etc., etc., OS for a long long time. Maybe M$ is buying the QNX kernel and licensing the rest from them. It would not surprise me at all since M$ has not created an OS that is secure and usable let alone a reasonable kernel.

roger :

Windows 10

I can't cite the reference, but in all the Bill Gates going-way hoopla, there was a reference that the last project he was working on was Windows 10.

Is that another name for Midori or does that mean that there will be a version of Windows after Midori?

KenJ :

It's interesting ...

Windows architecture predates the Internet;
and yet the Internet predates Windows.

... who wasn't paying attention to what was going on around them then?

... who is paying for that now?

hofferer :

Ok...I've been thinking about this recently.

Can't there be a 3 prong approach for the PC of the future:

1.) A single OS on a disk that only maintains local drivers for local hardware. No applications. Just an universal interface for applications. If more OS's would adopt this design, then applications would have a single interface and users/company's could choose whatever OS they wanted without sacrificing their software needs. Oh. And this assumes that the "Windows" type desktop would be an application. Possibly chosen at boot time (or default by user preferences in layer 3 later described).

2.) An application layer (separate disk possibly) that would house the installed application executables that make reference to the universal OS interface. All custom user information would be stored on layer 3.

3.) A user layer that houses all OS and application customizations as well as all portable user data. This would exist ideally on a hot-swappable type drive that could be plugged into multiple machines (or virtually across the net). This would allow a user to take their portable information with them wherever. If they plugged into another "PC" with the same architecture then they would be prompted with their OS customizations, what ever applications exist on the application layer on that machine, with what ever user specific information for each of the available applications. If there are new applications available, then that user would be able to setup custom profile and it would be saved for next time (on that machine or another with that same application).

I'm sure that there are several holes in this idea, but it is something that keeps spinning through this crazy head of mine.

Anyways.....just a thought.....

JT :

Has anyone heard of Apple?

Philosopher :

@hofferer:
Not so crazy at all. Just a little late, that's all.

I saw this scenario implemented (my first time, not the scenario's first time, by any means) with IBM RS/6000 workstations, an Auspex high-performance NFS server, and continuous realtime backup up via Exabyte tape complex, with the Bud Tool to access it (to answer "Yes" to the question, "I created a file sometime last week or so, and then deleted two days ago by accident? Can you get it back for me?")

Each workstation's disk contained only the operating system, temp and swap space, and some applications. Common applications and each user's HOME directory were all on the Auspex NFS server. You could move to any machine anywhere on the network and all your Information was always At Your Fingertips.

As in Sun's motto, "The network is the computer."

All back in 1991 is when I saw it. Sun and Auspex and Exabyte did it much earlier, of course.


JM :

With eight core processors coming and 1.5 terabyte disk drives, it is time for a parallel computing operating system to shed the past.

Post a Comment

 
 


RSS Syndication

Most Recent Blogs


Advertisement
Advertisement
Microsoft Watch     Contact Us | Advertise | Site Map
Ziff Davis Enterprise