One of the Microsoft programmers anonymously spoke at the Hacker News forum and gave interesting details about the NT kernel development process. With his message, he wanted to confirm the thesis that the kernel is inefficient and in many respects inferior in performance to other operating systems: see the
original message (the author deleted it, fearing harsh language) and a
copy .
The cause of the problems, according to a Microsoft employee, is social. The fact is that developers do not bring such optimizations into the kernel that we see in the Linux world. At Microsoft, no one will praise the programmer if he has optimized some process by 5%, if this is not within the scope of his main responsibilities. This optimization is not interesting to anyone. Only in the case of some very substantial progress can the work of a programmer be noticed in the neighboring development teams, which will have a positive effect on his career. But this is the exception rather than the rule. There is no incentive to accept changes from outside of your development team.
In Microsoft, there is no program to systematically improve the performance of Windows. During the days of Windows XP, the company began to pay great attention to security, because this posed serious problems. However, nobody paid attention to performance and does not pay much attention.
Another problem in the deterioration of the OS performance situation is in the leakage of the most talented personnel. Google and other Silicon Valley companies are actively hunting for gifted programmers and are not shy about enticing them from other companies. Because of staff turnover, new developers prefer to implement new functions instead of optimizing old ones. This is the reason why PowerShell appeared: many people wanted to improve cmd.exe, but did not have the opportunity.
')
As specific examples, the developer calls the following:
« . %INTERNAL_NOTIFICATION_SYSTEM%
! NT.
%INTERNAL_NOTIFICATION_SYSTEM%
, , Win32 APIs 90-.
DCOM. %C#_REMOTING_FLAVOR_OF_THE_WEEK%
!
XNA. ?
- 2 ?
, , , . (! !)
Source Depot, SDX (Secure Document Exchange)!
SDX, , TFS (Team Foundation Server), !
, NTFS — , , (SEH). ReFs. ( , NTFS ! , , , ZFS, ? , ?)
C11, , . ( , "^" ! , ?)».