3 ms·
> Windows doesn't support hotpatching, Linux does, it really is as simple as that. Linux has more people working on it than the Windows kernel does, and is just
by trentnelson 12y ago
> Windows doesn't support hotpatching, Linux does, it really is as simple as that. Linux has more people working on it than the Windows kernel does, and is just a more advanced kernel in general at this point.
Actually, hotpatching is easier on Linux because it has a technically inferior virtual memory subsystem to Windows.
The Windows kernel is technically superior in numerous areas: virtual memory, thread synchronization primitives, and I/O (specifically, overlapped I/O), just to name a few.
- girvo 12y agoWhere's the best place to get details on the internals of the Windows kernel regarding things like that?
- trentnelson 12y agoHonestly, the best set of docs I read were the design documents (about 30 .doc files) released as part of the Windows Research Kernel, which, uh, you may be able to find if you do some creative googling ;-) From those I was able to appreciate a lot of the why between the object model, I/O request packets (IRPs), handles, asynchronous procedure calls (APCs), memory section objects... basically all the individual concepts that have no equivalent in UNIX. ....and once you understand those primitives, you can start to appreciate the layered driver model, new thread pool stuff in Vista+, registered I/O in Windows 8+, etc. Books... my recommendation... Windows Internals is the best place to start: http://www.amazon.com/Windows-Internals-Part-Developer-Reference/dp/0735648735/ref=sr_1_1?ie=UTF8&qid=1428541644&sr=8-1&keywords=windows+internals http://www.amazon.com/Windows-Internals-Part-Developer-Refer... Oh, and basically any article Russinovich has written, check out the list on the articles section on his wiki page: http://en.wikipedia.org/wiki/Mark_Russinovich http://en.wikipedia.org/wiki/Mark_Russinovich (E.g. http://windowsitpro.com/systems-management/nt-vsunix-one-substantially-better http://windowsitpro.com/systems-management/nt-vsunix-one-sub...) Also... my interest in all of this stuff has grown exponentially since I started seeing real world results from PyParallel: https://speakerdeck.com/trent/pyparallel-pycon-2015-language-summit?slide=5 https://speakerdeck.com/trent/pyparallel-pycon-2015-language...
- nbevans 12y ago@trentnelson Don't forget I/O Completion Ports (IOCP) :)
- trentnelson 12y agoGood grief how did I not even mention them! They are literally my favorite thing ever. I've got like, 30 slides on them here: https://speakerdeck.com/trent/pyparallel-how-we-removed-the-gil-and-exploited-all-cores?slide=47 https://speakerdeck.com/trent/pyparallel-how-we-removed-the-... ;-)
- jyrkesh 12y agoI've heard really good things about the "Inside..." series: http://www.amazon.com/Inside-Windows-Microsoft-Programming-Series/dp/1572316772 http://www.amazon.com/Inside-Windows-Microsoft-Programming-S...
- nbevans 12y agoI'm glad somebody pointed that out. It's infuriating listening to people who've only ever worked with Linux to a low level when they preach about how it is the most modern kernel bar none. The facts are really quite different. Dave Cutler, of Windows NT fame, is no slouch. He is every bit as good as Linus. Just without the petty attitude problems his far more popular rival exhibits.
- trentnelson 12y agoCutler is a f'n genius. He was 47 when Bill Gates called him up in the late 80s and poached him from DEC. He was one of the core architects of VMS and brought all his A-team with him to Microsoft. NT was engineered to be a high performance OS from day one, and it is evident throughout the architecture of the kernel and executive. Linus was 22 and implemented enough system calls such that he could run bash, mocking a UNIX-like system, which, again, VMS ran rings around in the day. Linux's success has absolutely nothing to do with technical superiority.