According to Moore’s Law of computing, if a product isn’t released within 18 months, the project is almost dead. Windows NT was originally planned for 18 months, but they’ve been working on it for three years now.

Fortunately, this big production has already entered the testing and Bug fixing phase, and it is just one step away. In less than two months, they will finally deliver the kernel of the computer system’s groundbreaking operating system. “Remember the good old days,” says David Cutler, who wants engineers to try again.

If these are good times, the creators of Windows NT feel a bit unfortunate.

It wouldn’t be surprising if an engineer was at home cursing Cutler with a little man tied to his head, as everyone was exhausted from delays and tediousness and tediousness became the norm. After all, in June 1993, they had casually pulled off a collective reactionary prank to relieve stress and vent their anger.

One day, a louver cord fell from above the office and landed in the hallway, forming a ring. Soon some coins appeared in the ring, and then someone put in a rose, and some gambling chips. Strangely, no one cleaned them up.

Soon, a candy box was added to the ring, along with a comical headshot of Cutler. Two candles then appeared outside the ring, and though unlit, the atmosphere seemed just right, giving Cutler’s photo an eerie sense of solemnness.

Yeah, that’s the altar to Cutler. According to The book, “Splendor: Microsoft’s Creation of NT and The Future of the Deadly Run,” none of the objects moved for weeks, until One day Cutler stopped to ask a colleague what the hell the objects looked like, and when he learned the truth, he angrily walked away, perhaps faking it.

Most engineers follow him in a one-dimensional life, where work is all they have. To his subordinates, he displayed the image of a rude, severe, insolent, aggressive and ruthless tyrant. He even asked for the f-word when recruiting a female secretary. Few, however, would question his approach to the job: focused, rigorous, passionate, unconventional, a natural leader, and the female engineers who saw the bravado behind his sometimes violent outbursts.

These mixed impressions made many people feel a subtle sense of resentment with a hint of admiration for him. To use the modern phrase, some people may not be able to condemn the middle-aged man as “PUA”.

That’s what some people are, good enough to make others tolerate their imperfections, not to mention someone like Cutler who is known as the Engineer’s Chicken.

Gordon Bell and Bill Gates were two of the most important scouts in his career. After college, Cutler taught himself to program at DuPont before joining Digital, where he pioneered the VMS operating system in the late 1970s with the support of Then-Digital vice President Bell, who called him the best operating system writer in the world.

Recruited by Gates in 1988, he spent five years, $150 million and led more than 200 engineers to develop Windows NT with 4.3 million lines of code. Its technological revolution severely impacted Novell’s Netware and UNIX operating systems, and brought incalculable business value to Microsoft, affecting the computing experience of more than 2 billion people. Therefore, he became the only Microsoft Senior Technical Fellow so far, and was treated as VP of The Group. Microsoft’s former CEO Ballmer is more blunt, without him, there would be no Microsoft today.

But he is less well known than his peers Linus Torvalds and Jeff Dean for his impact on the world. But he doesn’t care. He just focuses on getting the job done, and actions speak louder than words. He shows you a strong determination to make the possible happen: I just love doing it, and I’m going to do it.

Windows NT was what Cutler was determined to achieve.

1. Counterattack of “double Non” engineers

Unlike most high-flyers with illustrious experiences, Cutler was neither a computer science major nor a graduate of an elite school. He went to Olivet College with a bachelor’s degree in mathematics, knew nothing about computers and didn’t want to graduate into programming “something that seemed very uncreative and boring.”

He went on to work for DuPont as a materials tester, but his work inevitably required programming to build models, so Cutler went to an IBM school to learn how to code, ran his code on a DEC minicomputer, and over time became a DEC computer expert.

That led to a job writing software at Digital in 1971. There, he built the PDP for DEC – 11 computer real-time operating system has played a key role when the RSX 11 m, by combining the overall concept and design principles, the use of assembly language in a very limited memory space to realize the function of a number of systems, such as tree file system, exchange application, real-time scheduling and a set of development tools, etc. He won praise for his technical prowess and hard work, though his temper did not impress anyone.

It’s a good thing someone knows. Bell, the soul of Digital technology, found Cutler to be a top-flight engineer and put him in charge of writing the VMS operating system for the new Vax line, which needed to be backward compatible with existing applications and run on different configurations of Vax computers. Under great pressure, it took him two years to complete the task, and the 35-year-old Cutler became famous.

(Gordon Bell, left, and David Cutler, right)

As a teenager, Cutler had big ambitions. But when Digital’s growing bureaucracy became unbearable and he threatened to leave the company, Bell persuaded him to stay. In 1985, DEC gave its 200-strong staff of hardware and software engineers to design a new family of computers, Prism, with an operating system called Mica.

At first, the team operated almost as an independent company. In the interim, however, bell was left unguarded and other parts of DEC took on Cutler’s team.

In June 1988, DEC headquarters told him the project was cancelled altogether. Disheartened, Cutler prepared to leave. A few years from now, when a MicA-like operating system comes out, DEC management will pay the price for letting go of its star.

At the time, the computer industry was in the midst of a period of passionate technological innovation, with new hardware and software startups, such as Mind Machines and Multiflow, which OneFlow had previously written about.

It was Microsoft in its heyday. The success of DOS system made Gates the richest man in the United States, but he smelled the crisis he was facing. Microsoft’s cash cow DOS may face potential threats: First, RISC chips may replace Intel chips, but DOS is highly tied to Intel chips; Second, many companies began selling UNIX computers. To address this problem, he wants Microsoft to develop a portable operating system to run on any RISC chip and become the standard for personal computing. The New system is called Windows New Technology, or Windows NT.

When word of Cutler’s departure reached Gates, the seemingly pompous engineer gushed about Microsoft products from top to bottom, but Gates decided he would be the best person to lead the new operating system team. A bounty of stock, the opportunity to pick a team and develop a new operating system, and Gates’ willingness to be honest brought cutler on board, along with a number of his Digital loyalists.

Smug but full of problems

Cutler’s team and the “Microsoft guys” didn’t like each other when he first arrived, and he turned the team into a coterie of former DEC engineers.

To integrate new people into the Microsoft system, Gates assigned Steve Wood, a key and resourceful engineer, to the team. Wood took over OS/2, a 16-bit operating system that ran only on Intel hardware and was not portable, and was heavily backed by IBM, Microsoft’s biggest customer. He wasn’t fetishistic about Cutler, but found a “kindred spirit” with the rest of the team.

After months of constant recruiting, in April 1989, a more complete NT team was in place and, frustrated and vengeful, Cutler was ready to go big.

The NT operating system’s goals are both challenging and ambitious:

  • Portable and available for multiple targets (MIPS, Alpha, PowerPc, X64)
  • It runs on multiple operating systems (POSIX (UNIX), OS/2, and Windows 32)
  • Security and C2 Authentication (Trusted computer Authentication)
  • Running on systems with multiple processors and the ability to run multiple programs at the same time was unique to the PC market at the time

The need for high reliability led Cutler to divide NT into two parts: the kernel, which is not associated with a program and is not affected by its failure, and the graphical part of the operating system. The biggest problem with this model is that it will sacrifice the efficiency of the system. Gates also expressed skepticism, but Cutler insisted they would make up for the lack of performance with superior programming skills.

According to the schedule, they planned to write all the code for NT by July 1990 and deliver the final version by March 30, 1991. Soon, expected and unexpected challenges will cause him to break his promises again and again.

The first is the technical difficulty. On the one hand, the machines to support and test NT systems had not yet been built, running NT code on Intel’s I860 chips was too poor, and switching to Cutler’s preferred MIPS chips required a lot of backtrack. They later switched to Intel’s 386 series chips, but still had to live with hardware glitches. On the other hand, the lack of programming tools slowed down the development of the system, and building tools distracted the team.

Secondly, the team is not smooth. Cutler wanted to focus on a small team to develop the NT kernel, rather than managing the graphics, networking, and testing teams associated with it. Their work styles were different, and Cutler even regarded the test team as a liability. He never relied on the test team, believing that the test engineer only made the program look worse. This bias stems from his personal programming style, in which he would map code in his head before writing it, and then write it with high precision with minimal bugs, with comments on every line of code.

At the same time, he was reluctant to change code and features based on customer feedback brought in by the project manager.

In the spring of 1990, the graphical visualization section also encountered serious difficulties, especially the adoption of C++, which made the program larger than the computer’s memory, and the release of the MIPS chip was delayed. Gates also made the NT port to the 386 chip a top priority of the project, but it was never completed.

To make matters worse, many people suspected that model NT’s customer-service model would slow down the performance of running applications, including Gates, who never endorsed it for fear of sacrificing too much speed. But Cutler remains confident that they will solve the problem, and when it comes to choosing between reliability and speed, the last thing he can tolerate is instability.

At this point, the plan to write all the code in July was impossible. Cutler hated not being able to deliver on his promises and was devastated by the problems, but now he was in charge of networking, graphics, compatibility, and so on, in addition to testing. For the first time, he felt his career was tied to NT’s fate.

3. Deadlines keep losing ground

In June 1990, the release of Windows 3.0 changed the software industry. They started thinking about how to run NT on Windows. But the biggest contradiction is that OS/2 and Windows have incompatible ways of controlling system PCS, making it difficult for both customers and engineers to follow. Microsoft, for its part, is unlikely to support OS/2 primarily, but does not want to break with its biggest customer, IBM.

Gates gave IBM a double whammy. He convinced them that NT’s separate support for Windows and DOS would bring benefits, although this contradicted his claims for a unified software standard. Behind the scenes, Microsoft let a small team from Israel design THE OS/2 variant of NT, while Cutler’s team worked toward the real goal of developing Windows as a computing standard.

For Cutler personally, the move would not only rid him of IBM, but also fulfill his hopes of replacing UNIX. He had earlier been known to disparage UNIX as a piece of junk designed by PHDS. UNIX at the time lacked support for system resource quotas (for example, any process could crash the system by allocating too much memory or forking () loops), VMS-style process permissions, microkernel architecture, and support for multiple subsystems.

Half a year later, IBM discovered that it had been taken advantage of by Microsoft, or the latter voluntarily disclosed. At Microsoft’s Application Developers Conference in January 1991, IBM engineers fantasized that the Microsoft NT team would present support for OS/2, but it was mentioned near the end of the presentation. IBM engineers questioned it on the spot, and NT engineers explicitly dropped support for OS/2, which led IBM to terminate its partnership with Microsoft.

A new development schedule followed, and Cutler promised that the NT code would be ready by Halloween, October 31, 1991. Testing and Bug fixing will be delayed until the second quarter of 1992, when NT will be delivered to customers.

As NT began to take shape, Cutler wanted the team to try out the NT system so it could check for defects and flaws in various parts of NT and improve on certain types of program defects. They divided the computers converted to NT systems into three phases: pure kernel NT, graphics, and networking.

The real way to judge code is to run it. As more engineers moved to NT, they found it very difficult to get a job done on NT, and had to spend hours or even days fixing bugs, which greatly affected the progress of projects. By the end of May 1991, the NT version without Windows graphics was running fast but still a poor substitute.

In August 1991, they needed to basically complete NT’s program in three months to meet the deadline, but the reality was that NT’s code was only 80% complete at best. The NT team had to consider the security of the system, mainly preventing information tampering. They greatly underestimated the difficulty of the job. Again, Cutler abandoned his plan to finish NT in October, when even the best version was flawed and performance limited, despite previous tests showing Windows applications running only a fraction of a percentage point slower on NT than on DOS.

The latest deadline he gave was April 1992. No one wants to see NT release sooner than he does.

In addition to the slow progress in unifying the two versions of NT, he was more troubled by the constant addition of new features, such as fault tolerance, which had not been completed until Christmas Eve 1991, and the file system had not yet been finalized. Testing had not even begun by the end of 1991. Compatibility with DOS and Windows applications has also lagged behind. The graphics team was less efficient by using C++ instead of the easier C language.

It’s not all bad news. Cutler played hardball to tide the team over and got NT’s MIPs-Intel version released just before Christmas. NT reached a level that was difficult to achieve on other systems early in its development, a major achievement in his eyes.

The schedule of the project is very strict, but the workload of the project in the research and development process is still unknown. In February 1992, three years into NT development, Cutler’s plans were repeatedly derailed by NT’s complexity.

The losing schedule made him uneasy. Cutler has long believed that operating system development is best done with the first release as soon as possible, and more features can be added later, but Windows NT development is now more than just portable to his personal whim.

This time, he delayed the public beta until July 1.

In the midst of all this, Cutler received an unexpected piece of good news. His old company, Digital, agreed to be the first computer maker to buy NT. By DEC, in his opinion, cancel the Mica project and the NT is roughly equivalent, in fact, many elements of NT has his system in DEC technology mapping, such as memory management, process and scheduling with VMS are very similar, and DEC now but pay big money to buy could have free, this made him realize a dozen face revenge of pleasure.

Chaos will eventually become orderly

Cutler then pushed the team to work fast, getting engineers to pay attention to details and sometimes writing modules himself to keep them motivated.

Finally, on June 29, 1992, they released a WindowsNT Beta that primarily improved the quality and reliability of the system. They will then spend a few months completing unfinished features, fixing bugs, improving performance and minimizing NT, with the final release coming at the end of the year.

Too big, too slow is the key problem that has been bothering them. Some people joke that NT is a flying pig that eats memory and a snail in terms of performance, both of which are far from the goals gates set three years ago.

Cutler admits NT is slow, but now it’s about where he wants it to be, because there’s no end to the performance improvements. The history of software amenable to the fact that almost all epochal systems, from IBM’s 360 to various flavors of UNIX to Microsoft’s Windows, were released in infancy, then evolved and gained wider acceptance.

In terms of memory, Gates’ stated goal was to set NT’s minimum memory requirement at 8MB, but it now needs at least 16MB to meet the application requirements of a typical user, at a time when most PCS were equipped with 4MB of memory, and it would cost more to increase memory capacity.

At this point, Gates had to give up on NT running on 8MB PCS, but he wouldn’t back down on performance. At the time, the OPERATING system business accounted for about half of All Microsoft’s sales, and if that didn’t satisfy customers, they might switch to IBM’s OS/2.

The repeated delays hurt the team’s morale. But the push continues and there is no clear deadline for its end. While most people think the OS is almost finished, there are months of tedious testing and unfinished functionality and performance improvements ahead. About 2,000 bugs need to be fixed every day, and Cutler watches Bug counts like battlefield casualties.

The brutal schedule he sets is unbearable for many, especially during the final death march, when many team members juggle their work and personal lives, straining their relationships with lovers, friends, and children. Cutler’s second marriage collapsed, he had little family life, and he stayed in the trenches. The NT team’s effort at the moment also inspired a deep learning framework entrepreneur from the far East to write a note in the margin of Page 187 in This View: “See the Miracle Worker.”

It was one step away from a miracle, but Cutler could no longer promise an exact release date. To boost team morale, he repeated his slogan, “Remember the good old days,” in an all-staff email.

On June 21, 1993, the countdown to NT’s release finally ticked off, and to celebrate the project’s imminent production, engineers dedicated an altar to him. One month later, on July 26, Windows NT was finally delivered to the factory for production.

Sitting alone in his office, Cutler couldn’t hide his excitement as he sent out a full email that began: NT released. Again, NT released — five exclamation points in a row.

The good old days

Cutler seemed to be the man for Windows NT, and it was in the right place at the right time.

Microsoft desperately needs a portable operating system to help it win the future. It has the money and talent to build it, but only cutler, a technology leader, has the utmost trust and support from Gates and Ballmer. Cutler was granted a free reign of high decision-making power within the Microsoft empire.

A call to purpose and free management space were crucial to Cutler’s push for NT. Here he fully displayed his unique leadership and technical talents. There is no fixed reporting level in NT team. He refuses excessive management and hates complex rules and regulations. He does not interfere in the work of his subordinates as much as possible. He has some flexibility in assigning work, likes to give each person a different role, and can take the initiative to solve problems where there is no clear responsibility, rather than drawing a line in the sand.

Cutler is a film director, actor and stage operator all at once, proving that he can bring order to a chaotic system, no matter how unmanageable it may be.

As a director, he relies on the talents of all those he assembles, while imposing his own ideas and preferences on his subordinates. If ideas and disagreements arise over direction, he decides what to do. His challenge is getting these talented people to follow the same schedule and follow the same notice. At the same time, as an actor and field manager, he can always personally, for the system of every procedure, it is worth mentioning that NT 177. C files from Cutler, more than twice as many as NT chief architect Mark Lucovsky. He was the mastermind of the long, chaotic evolution of technology structures and organisations.

As you can imagine, during the five years of Windows NT development, it would have been difficult to lead 250 elite engineers through thousands of days and nights of mental fatigue if cutler had not been in charge of such a dedicated, tough guy. It would have been different if someone else had led the NT team.

Of course, NT’s success is due to the hard work of every engineer. And the huge success of the project proved it was worth it. By the time Windows XP was released in 2001, NT had become the kernel of all Windows products, including the latest Windows 11 in 2021, a system designed 30 years ago that Cutler would proudly tell you was all based on NT.

This is inseparable from the technical innovation of NT kernel. From the very first day NT was released, its features were fundamentally superior to UNIX, and later Linux, in many ways:

  • Log file system NTFS, with crash resistance and performance. Linux didn’t have a similar logging feature set until six years after NT was released
  • Contains the third generation extended file system ext3.
  • Service. In UNIX, “daemons” are regular processes. To start a daemon, you must know its location, syntax, and dependencies. NT allows users to centrally manage service processes and automatically manage their dependencies. GNOME and KDE had an NT-like service concept in 2000, which was standardized by DBus a few years later. MacOS and SystemD only came in 2005 and 2011, respectively.
  • Registry, a unified model for storing and retrieving application configuration data. UNIX has arbitrary text files in /etc, but it doesn’t work well in practice, leading to versioning/isolation problems.
  • Threads are very different from processes. UNIX uses processes as units of execution and address space, and some of its implementations support threads (or LWP, lightweight processes), but they were more expensive and non-standard to create before POSIX threads.
  • NT’s modular device driver architecture allowed device drivers to be loaded after the system was initialized, whereas UNIX at the time typically compiled drivers into the kernel. NT also supports PnP and “device trees” so you can correctly calculate the dependencies for driver initialization. Linux’s unified device model capability came in 2003.
  • An O(1) scheduler. Linux wasn’t available until 2003.
  • NT’s kernel is “preemptable”, with better system responsiveness and parallel processing performance. Before OS X Leopard, OS X had very limited preemption (coarse-grained locking). Linux only got rid of rough locking in 2011.

In 1996, Cutler stopped managing the entire NT project, but continued to lead kernel development until 2006. Since 2000, he has been involved in the development of the core technology of every Windows release, including the first full 32-bit Windows release, while making significant contributions to Windows XP and Server 2003 on the AMD64 platform. Later, as the computing industry shifted from servers to cloud services, he was a lead developer on Microsoft’s Azure cloud computing platform in 2008. In 2012, he helped develop the Xbox console operating system.

In his decades of career, his rigorous demeanor in architectural design, coding, annotation and other aspects has profoundly influenced the engineering culture of Microsoft’s technical team, which is also his lasting legacy of influencing engineers.

Today, the 79-year-old engineer, who was born in 1942, still goes to the office to write code. He likes to finish his code and watch it work. In between breaks, the stubborn old man might remember the good old days when NT was being developed.

Image from Microsoft official website, Wikipedia

The resources

A View of The Finest: Microsoft’s Creation of NT and The Future of The Furious Run, g. Pascal Zachary, translated by Yinkui Zhang et al

2. news.microsoft.com/features/th…

3. retrocomputing.stackexchange.com/questions/1…

5. en.wikipedia.org/wiki/dave_c…

6. en.wikipedia.org/wiki/window…

7. www.tech-insider.org/windows/res…

OneFlow’s new generation of open source deep learning framework

Github.com/Oneflow-Inc…