They mentioned that the current NT kernel can't really be changed that much and I'm wondering why? Can't you just change the nt kernel and just make sure the interface between kernel and userland is the same? As long as the kernel interface is the same
the app wouldn't care how the kernel did something. I would think that the app wouldn't even have to know it changed?
The NT kernel can (and does) change, but the fundamental architecture remains static. Singularity represents a completely different operational model than NT. For one thing, there is no notion of shared memory and processes are truly independent. Also, the
Singularity kernel is closed (read impossible to rootkit an OS like Singularity).
The Vista kernel is a great piece of engineering and represents an evolution of the NT kernel (the Vista kernel is not a modified XP kernel, for example. It's new (for a client OS anyway)).
Please stay tuned for more on Vista (and Singularity) in the
Going Deep series