Windows Cairo

From BetaArchive Wiki
Windows Cairo
1175.png
Codename
Preliminary name
Cairo
Kernel version 3.1,
4.0
CPU architecture x86

Windows Cairo[1] is the codename of an unreleased software project by Microsoft, meant to bring next-generation technologies for Microsoft's NT Based Operating Systems. The project was originally announced at the 1991 PDC (Professional Developers Conference) and later demoed at the 1993 PDC. Cairo was initially described to be an operating system,[1] only to later become a "set of technologies"[2] or a "vision".[3]

Timeline

Target

In a March 1993 internal document later offered as Plaintiff's exhibit in the antitrust case Comes v. Microsoft, Microsoft planned the schedules below for Cairo.[1]

Item Date Note
PDK-1 C4, CY93
Beta (Includes PDK-2) C1, CY94 New betas every quarter
Final Product, Release to Market October 18, 1994

Actual

Cairo was in development at the same time as Tukwila or Windows NT 3.99, which would become Windows NT 4.0:

Dave Cutler: Megan Bliss and I convinced Jim Allchin that we could do Tukwila and Cairo at the same time, that we had enough lab horsepower to do that. Of course, you know, I don't know why he bought this story, but he bought this story. We said, "here's what we'll do is you know we'll basically still have the two groups. We'll have the Cairo group, and we'll have the Tukwila group." He didn't like the name Tukwila and the T-shirt, I don't, you remember the T-shirt. It says--

Dave Plummer (Dave's Garage): I was going to wear it tonight, it says--

Cutler: It says, "Tukwila".

Plummer: We can get there from here yeah.

Cutler: We can get there from here. We would would put Priority getting Cairo out of the build lab first and then we get the rest of it out. And it turned out that every day, Tukwila, just came out every day and Cairo was always broken right. It took forever, and little by little the Cairo features didn't get done. And they never-- Ine of the things we did with with NTFS we said, "You guys can change the file structure as many times as you want, but you can't stop people from booting old systems and using old file structures. You have to either do an upgrade in place or you have to accept the old stuff. We're going to be dog food on this file system." The OFS guys never did that right to the very end, and they kept promising and promising. So they didn't get all of the the burn in--

Plummer: Right.

Cutler: And eventually they missed a date. He said, "OFS is gone," say "that's gone". So little by little these features they just never delivered and they just never delivered and Tukwila just kept growing and growing and growing. And eventually the only thing that I can remember that we really brought over-- actually maybe two things: I think we brought over the Ser the file server software. I think that that replaced the NT one. And the other thing we brought over was Kerberos. Those are the only two things about Cairo, everything else was junked really, completely junked on the floor. Um it just wasn't there the people. Um I can't really, I, I guess I shouldn't really say anything there was a lot of good guys that worked on Cairo. Um and I don't I just don't think that the whole project had the focus and the desire to make it really great. And it just fell by the way because you know on the other side of the fence is the NT group, and they're not letting up. They got they're full on the throttle. And Megan did a great job of selling all this, we, it was I can remember the day we did this with Allchin. We in one of the conference rooms in building 36, and said "hey we could we'll just do-- Tukwila will just be a backup. It's just the backup. NT 4.0 I think is still one of the most popular ones that ever sold.

Plummer: Yeah.

Cutler: I ran to somebody I don't know a couple years ago that was still running N-- they still had NT 4.0 running on something. They still loved it.

— Dave Cutler, Windows Tukwila 3.99 and Windows Cairo - Dave Cutler Interview, [4][5]

In a Cairo retrospective after the announcement of WinFS, the actual timeline was described as:

  • 1992: Jim Allchin details a vision for a new version of Windows, code-named Cairo, which would include a revamped user interface and a new data store, called the Object File System (OFS), for storing document files, spreadsheets, multimedia files and other information. The goal is to enable searching not only by file name, but by file content. Cairo would also include a new directory service. The operating system is expected to debut in 1994.
  • May 1994: Allchin tells the press that Microsoft has reassigned programmers to work on the upcoming Windows 95 desktop operating system, delaying the shipment of Cairo until late 1995.
  • November 1994: Microsoft says Cairo will slip again, this time until "sometime in 1996" then-executive Vice President Mike Maples told Computerworld.
  • August 1995: Microsoft ships Windows 95, which includes the revamped user interface originally slated for Cairo. Microsoft says the first test version of Cairo will debut in late 1996, pushing the release date to 1997.
  • December 1995: Gates launches his "Internet initiative" to make Web technologies a top priority at Microsoft. Work on Cairo is reassessed.
  • 1996: Bill Gates says Cairo is a "vision," not a product, leading many to believe the project is running into a roadblock. Gates tells Computerworld: "Cairo is a futuristic system. It's something we're working on."
  • March 1996: Microsoft says work on the OFS for a future release of Windows NT has been abandoned in favor of a file system based on its Exchange Server.
  • August 1996: Gates says some Cairo technologies, including indexing capabilities and a distributed version of Microsoft's Component Object Model software, will be included in Windows NT 4.0, and directory features will be part of NT 5.0. The product jockeying causes Goldman Sachs analyst Rick Sherlund to say: "I think Cairo has lost its definition."
  • 1997: Rumors circulate that the OFS will debut by year's end. Gates tells PC Magazine: "The only thing of (the Cairo) vision that's not in the marketplace is the file system and directory. And so later this year that'll go into beta testing." NT 5.0 enters beta testing, but the file system is never seen.
  • October 1998: Microsoft says it will rename Windows NT 5.0 to be called Windows 2000. The operating system will include Active Directory, technology originally slated for Cairo.
  • February 2000: Windows 2000 debuts after several delays.
  • 2001: Allchin says he has "not given up" on the OFS concept.
  • January 2002: CEO Steve Ballmer says, "We want to evolve our storage system." Allchin says the OFS unified storage concept is again in development and will be a major part of Longhorn, the code name for the next version of Windows.

— Mike Ricciuti, New Windows could solve age-old format puzzle--at a price, [3]

Meanwhile, according to BetaArchive user jimmsta, contrary to the timeline above:

I feel as though no one has ever really dug in to the various leaked bits of NT code and really done a deep dive into certain bits that made NT 'go'. I've spent the last couple weeks on and off, reading through bits of NT 3.51's code, which led me to a few pointers in search of Cairo. That particular leak is RC2 of NT 3.51, as far as I know. As such, it wasn't fully stripped of Cairo bits - OFS is in there, and within the code for the Object File System, a lot of interesting tidbits can be learned. Primarily, while it appeared as a separate filesystem, it does not have any kernel-level drivers. It instead, runs entirely in User-Mode. It appears to be nearly an implementation of Bitmapped FAT - but does not store anything on disk with your typical FAT formatting. It contains an index, bitmap, and list of "onodes", which appear to be 'object nodes'. Each 'file' is stored as a data stream, encapsulated inside a virtual FAT disk, of which, there can be multiple virtual FAT data streams stored as drive objects on the single OFS volume. The objects in question are OLE data streams. Instead of files, each bit of data saved to an OFS volume is composed of OLE objects, with corresponding data and metadata saved alongside the data stream.

In this case, NT 3.51 was mostly an update for the 1.0 release (3.1) of NT. It did, however, appear to add the OLE 2.0 stack, which at the time was still called CairOLE. The first iteration of Cairo was as the OLE 2.0 development effort. Chicago's cabinet and eventual Explorer were written entirely in CairOLE code. By NT 5, CairOLE was merged into the rest of the OLE OS components, as OLE32. * OLE 1.0 was implemented in Windows 2.0 in 1986, with further development through 1993. OLE 2.0 development appears to have started along with NT in 1988. *

In the various comments and text files in the 3.51 leak, there is talk about how "things will change heavily once Daytona ships". Daytona being the codename for NT 3.51, it seems they were waiting on Daytona to be completed before Cairo became an official project. There is mention of Cairo being the next project in the comments as well. NT 3.51 shipped, and NT4 development began. Cairo was a larger project for a much later release.

What became of OFS?

Cairo’s development took place as a future version of NT beyond NT 4. At least that seems to be where it laid, even in the NT 3.51 era. It was poised to become not the next, but the next-next release of NT. OFS was poised to become the de-facto filesystem for storing metadata and data side-by-side, which would be implemented in a slightly less obvious way over the 5 years of development that Cairo went through.

5 Years!? Yes. Cairo didn’t die with that one NT 4 build that has the OFS driver functional. No, that may have been one of the last builds with OFS exposed to the user, though. Cairo wasn’t just OLE 2.0/32, but a new way to build software using every new bit of kit that NT had to offer. Cairo was still the “Cairo Vision” that Gates had, with an internet-connected desktop. It also laid the groundwork for a lot of things we take for granted today. OFS’s tech was re-worked with the JET database, introduced in NT5. It became the basis of something that is often overlooked in the beta community, it seems, because only sysadmins ever interact with this side of NT – Active Directory.

Where’s Cairo in all this?

Cairo was internally re-named “OLE DB/OLE DS” at some point between 1995-1999. The internal API’s that Cairo exposed were all preficed with “C” in their names, originally being “Cai”, or “Cairo”. The NT5 shell internally is named “CCshell”, while the original Cairo shell was simply “CShell”. There’s a handful of Cairo still running behind the scenes on NT 10, yet no one knows it. OLE DB is Jet Database with OLE 2.0, while OLE DS is the Domain Services that are built on top of OLE 2.0/32. This is what became of Cairo. The Cairo project appears to have internally been this attempt to get every single aspect of users and their data to become manageable objects and metadata. The best example of this tech working is in every single Active Directory domain that exists today.

The Cairo vision was realized with NT 5.0’s release. Whatever came afterwards was just revitalization and keeping things up-to-date with modern software practices. Each new release of Windows tries to strip out the old OLE stuff with new .NET-based tooling, but the underlying technology they are replacing came from CairOLE. That said, WinFS was OFS re-implemented with .NET objects. Again, it ran on top of NTFS, but I’m not sure if it was entirely user-mode or had a kernel-mode driver (someone should look into that!).

As for API’s that came from Cairo, they’re still in there, doing their job. There’s even apps that you or I have probably run, and had no idea they stemmed from Cairo – calcs.exe, for instance, which sets ACL’s on files – it was a Cairo API tool. Most system tools that have a ‘c’ prefix are, in fact, Cairo. They still exist in Windows 11, and will likely exist long after its demise (although, I suspect most of them have been re-tooled for .NET at this point in time).

If you wish to take a look for yourselves, the srv03rtm folder has a subfolder for base\ds. Take a deep dive into the router subfolder, and you'll find every bit of Cairo that ever shipped in Windows NT 5.x. The 'domain server' component of Windows NT 5 is literally Cairo. It's been sitting under our noses this whole time. In a way, CairOLE may have been considered OLE 3.0 (there is 1-2 instances where Cairo is referred to as NT 0x300, with NT 4 as NT 0x200, as well as OLE3 being used at least once). It became COM+, which became .NET 1.0 eventually.

TLDR: Cairo is Active Directory, and it still resides in all versions of Windows since NT 5.0. OFS isn’t completely dead, either, as it became the technology for the Active Directory Database and Datastore. The timeline shown on https://www.betaarchive.com/wiki/index. ... soft_Cairo is correct - but it was not cancelled. It was rolled into NT 5, as Active Directory.

— jimmsta, What became of Windows Cairo, [6]

SKUs

  • Cairo Advanced Desktop was designed as the Client for Cairo servers. It would have included the core OS, new user interface, and networked storage/printer sharing.
  • Cairo Advanced Server
  • Cairo Development Environment

Builds

  • No information available
  • Existence doubtful
  • Information or pictures available
  • Leaked or released

See also

BetaArchive forums

References

  1. 1.0 1.1 1.2 Microsoft Corporation (8 March 1993). Microsoft® Windows™ Cairo Product Planning Product Requirements. Archived from the original on 25 September 2012. Retrieved on 16 October 2023.
  2. Udell, Jon (November 1996). Unearthing Cairo. BYTE. Archived from the original on 12 July 1997. Retrieved on 19 October 2023.
  3. 3.0 3.1 Ricciuti, Mike (13 March 2002). New Windows could solve age-old format puzzle--at a price. CNET News.com. Archived from the original on 10 June 2004. Retrieved on 31 March 2021.
  4. Dave's Garage (20 October 2023). Windows Tukwila 3.99 and Windows Cairo - Dave Cutler Interview. YouTube. Retrieved on 24 October 2023.
  5. Dave's Garage (21 October 2023). The Mind Behind Windows: Dave Cutler. YouTube. Retrieved on 24 October 2023.
  6. jimmsta (11 July 2022). What became of Windows Cairo. BetaArchive. Retrieved on 20 November 2022.
  7. "In a preferred embodiment, the database 102 may generally be of a type which is known in the art, such as a collection of text objects supported by Cairo Milestone 4 running under the Windows NT system version 297, available from Microsoft Corporation of Redmond, Washington, and may be accessed in conjunction with the object file system 107 of that product", Bradley P. Allen, David J. Lee, Roger D. Carasso, John R. Perry (19 January 1995 [publication date]). Case-based organizing and querying of a database. Retrieved on 23 October 2023.
  8. ReflectiaX (16 August 2018). Pieces of Cairo's History. Retrieved on 23 October 2023.
  9. https://ascii.jp/elem/000/000/322/322868/

External links