Compare the $1000 desktop (yes - almost top-end off-the-shelf) with the power and cost of a 'large' IBM mainframe of 20 years ago - Allowing for 7% annual deflation of money value and that's well under $300 in 1990's money
Now consider you can get almost that much power and storage in a laptop! !!! JimB -----Original Message----- From: [email protected] [mailto:[email protected]] On Behalf Of Michael B. Smith Sent: Thursday, August 28, 2014 10:52 PM To: [email protected] Subject: RE: [NTSysADM] RE: move hdd with windows 7 on it TTBOMK there are, for current OSEs, only two NTOSKRNLs for x86/x64. One 32-bit and one 64-bit. There are a few for ARM, depending upon the form-factor and processor, but those are OEM-only. Today, even single physical socket processors tend to have 2/4/6/8 logical processors (cores). (I walked through a local big-box retailer today. I was quite surprised at how much processing power you can get in a desktop for under USD 600!) -----Original Message----- From: [email protected] [mailto:[email protected]] On Behalf Of Ben Scott Sent: Thursday, August 28, 2014 2:50 PM To: [email protected] Subject: Re: [NTSysADM] RE: move hdd with windows 7 on it On Thu, Aug 28, 2014 at 12:49 PM, Daniel Chenault <[email protected]> wrote: > hal.dll exists on the installation media. ntoskrnl.exe is built at > install-time and is used by hal.dll to handle hardware. Re-installing > rebuilds ntoskrnl.exe, not hal.dll. I believe you are incorrect. There are several HAL files on the install media. During OS installation, the selected HAL is copied to the target system, and renamed to "HAL.DLL". (Or was -- it's been suggested that newer versions of Windows use the same HAL all the time, and that might be true. I don't know.) http://support.microsoft.com/kb/237556 NTOSKRNL.EXE is the hardware *independent* part of the kernel (in theory). The HAL is the more hardware-dependent part. The idea is/was that the same kernel can be used with different hardware variations. Now, it turned out that "hardware independent kernel" idea didn't quite fly in the real world. As -sc points out, there is overhead to supporting multiple processors, and on a single processor system, one can avoid all that. So there are multiprocessor and uniprocessor flavors. Then, when PAE came along, there also needed to be variants for the new 36-bit hardware addresses, as well as the standard 32-bit hardware addresses the i386 introduced. These four variants are named, on the install media, NTOSKRNL.EXE, NTKRNLMP.EXE, NTKRNLPA.EXE, and NTKRPAMP.EXE. During OS install, the appropriate file is copied to the target system, and renamed to NTOSKRNL.EXE if needed. The files are not built in the field; they're built (compiled and linked) by Microsoft with the rest of Windows. The stuff on kernel file variants isn't well documented by Microsoft, but is mentioned in passing here: http://support.microsoft.com/kb/162804 This Wikipedia article discusses it more, but much of it is unsourced, so YMMV: http://en.wikipedia.org/wiki/Ntoskrnl I imagine that these days, Microsoft might be just be shipping a single kernel that assumes multiprocessor and 36-bit (or 64-bit) hardware addresses. That might also explain why the documentation is scarce. > So my wording was wrong but the end result is the same. I have to say it appears to me that your understanding is incorrect. Sorry. -- Ben

