📜 ⬆️ ⬇️

How to create an operating system

According to the report of Ivan Ruzanov “Windows - how the operating system is created” from the conference “ Platform 2009 ”.

As already wrote antonms , records of reports from the Platform became available. I looked at a few of them and want to share the ones you like the most. Considering the employment of an ordinary habra-user and the duration of the initial recording of the report (1 hour 20 minutes), I give a detailed presentation of the material below.

Windows history

Few people know when the development of Windows NT began - more than 20 years ago, in November 1988. Rumor has it that Microsoft bought / stole Windows NT. Of course, this is not the case. To work on the new operating system, Microsoft invited Dave Cutler, who worked for DEC and was one of the developers of the DEC VAX VMS operating system. In 1988, the development team of the new operating system was only 12 people, among which, along with Dave Cutler, were also former employees of DEC, who participated in the development of DEC VAX VMS. And all the code for the new Windows NT was written to Microsoft.
The abbreviation "NT" is decoded by marketing as "New Technologies", but in the project documentation, it meant something completely different. The fact is that Windows NT was developed for a new, not released in 1988, Intel i860 processor . Its code name was “N10” ( NT en).
The first version, Windows NT 3.1, was released 5 years later, in 1993. At this point in the team was already 250 developers.

Windows today


Windows development

20-30 years ago, only one programming methodology, Waterfall, was used. It is a sequence:
Specifications → Design → Implementation → Testing → Supply.
But this methodology works only for small projects. For a product like Windows today, other methodologies are needed:All of these methodologies have advantages and disadvantages. Depending on the size of the team and the development stage of the component, different Windows development groups apply different development methodologies.
For Windows, as a product as a whole, the Product Cycle Model is used:The biggest challenge in developing a product of this magnitude is that development takes time. At the initial stage, those problems that exist in the current time and existing means are solved. But the only thing that is constant is that everything will change. Over the years of development:Despite the fact that different teams are developing differently, there are "universal" rules:From myself, I note that for the month of working with Windows 7 build 6801 as the main OS on the home computer, I have a positive impression about this build.
')
The entire Windows development process is built around a daily build:Once there used to be only one source code branch, and all developers made changes directly to it. Now the development team is so big that it does not work. Supported by many branches, among which is the main - WinMain. Each laboratory has its own local development branch into which changes are integrated. Proven changes over time integrate into WinMain.
Daily development cycle:All project participants, including the most senior managers, use intermediate versions on their work (and usually home) computers.

What is Windows written on?Many internal tools, such as build, can be downloaded from microsoft.com/whdc/devtools .

Windows 7 kernel changes

The Windows 7 kernel has undergone the following changes:

Windows maintenance, updates

Previously, updates were often cumulative (accumulative). This meant that if the erroneous code was contained in an early update of the component, then later versions will contain this code. But not all users need all the updates, they have a different configuration.
Now after release (RTM) in Windows, there are 2 versions of the source code:

Create security update

The job of creating a security update begins with a vulnerability discovery. There are lots of different detection methods — internal security teams, security partners, developers. When a vulnerability is discovered, 2 parallel processes begin:After the development of the fix, begin checking its code. When they complete, the fix is ​​integrated into the build, and the build is sent for testing:Only corrections that meet all quality criteria are allowed to be released to Windows Update and Download Center.

Thanks to everyone who read to the end =)

Source: https://habr.com/ru/post/46757/


All Articles