|
I was one of those who bought books, took weekly reverent hauls at the bookstore, from Prentice Hall, until about twenty plus years ago. I could not bring myself to appreciate Linux as it was, as it could be, back then. But I realized the trend, because I could understand the economics, both financial and cultural. What I think happened to me, was a kind of disillusionment. I saw the progression as a long reimplementation of then already ageing concepts, because there was a genuine need to prevent too much being stalled by myopic business and pseudo or real monopoly. Once Microsoft had their hands on the VMS code, or at least David Cutler (it's a strange story and a car crash that ended his counteract architect, and look where senior DEC management got their sinecures)i felt that all Microsoft had to do for twenty years, was expose functions form the NT kernel, to stay ahead in terms of features. With the only viable chase being a reconstruction of what was by definition much earlier thinking, that had to become the spirited, almost religious, movement behind Linux, or fail. I think that era is over. I don't think anyone won. Not exactly, but I am biased because I will happily consider windows a development platform, with exceptions, and vice versa. I hope that era of chasing against a monopoly is closed, but the massive expansion of installed systems has not helped anyone. Minis or Plan 9 are far better ways to explore computing in a fundamental way, and remain in some ways, more advanced, and if there's a toss up, that can be argued by accessibility. You can't play with the Linux kernel, or with NT, without enormous system knowledge, compared with even ten or fifteen years ago. As a result, we have stagnated the progress of the art. Sometimes I am even more hopeful, for the windows platform, since the win32 system has survived so much, and lived in emulation on its primary system now fifteen years at least. The compartmentalized driver model for NT offers a certain hope, e.g. for storage driver development, because it was well separated by design. POSIX holds everything closer to the system descriptions that were drawn thirty and more years ago. Obviously that is powerful, but it reduces potentially useful abstraction. What hope now, is the research in distributed systems, that first interested me, thirty years ago, and I was not reading up to date papers, then, finds a home, in the mix of virtual machines, virtual datacenter even, we can put into a box. Things like on the fly code recompilation and all that's been done to accommodate usually legacy systems and VMs, did progress a lot of art, and instruction sets developed to accommodate that. Yet, with some instructions that matter to me, they are norm and likely will not be virtualized. Forgive me my hand waving approach, please, but what interests me is when user applications are so many layers away from the kernel, especially in windows systems, I think there is room for approaching again what underlies everything. When ZFS was announced, I immediately craved for a PCI card subsystem for every windows workstation we had. This is now more of a economic quandary, nothing serious stops you building the card and exposing higher level APIs that way. We've performance we can deliberately waste. So much so in consumer space, enthusiast home users, there needs to be a application that takes advantage. My thoughts are that we need better content addressing, than the web has an ability to offer. Content addressing is what the web has enabled, on a massive scale. The network design behind it has caused all manner of diversions for design, just take a look at how a CDN is built, or buffer bloat, or the economic constraints of "real" internet access, which is available in the UK through only maybe two consumer DSL ISPs... To change from the "white coat", "glass room" datacenter model, which has prevailed so well that the company who so accurately proclaimed "The Network Is The Computer" (to mem memorably, in a billboard right outside my office, no place anyone save me and colleagues would ever see much) is part of a classical "mainframe" model company. The next applications that matter, will challenge the infrastructure of computing we use. This is why things like Minis and Plan 9 still matter. Both are great educational tools, but in my shop, I try to get everyone who joins us, to spend some time with Plan 9, to rethink how we appreciate data and content at a low level, and I believe that is really important to my company, the way we think, and will become important much more widely. |
I got some hints of that feeling while poking around http://undocumented.ntinternals.net/ ... They seem to have still forgotten about ZwCreateProcess (copy-on-write forking).