• We should now be fully online following an overnight outage. Apologies for any inconvenience, we do not expect there to be any further issues.

Is there ever a reason for a large kernel?

imported_goku

Diamond Member
Mar 28, 2004
7,613
3
0
The windows 2K kernel is around 14MB-60MB depending on whats going on, why is the XP kernel so much larger at times? The '3.1, '95/'98 and 'NT 3.51/4.0 kernels are tiny in comparison, why is that? Is the kernel increasing in size because of inefficient 'patching' for security holes instead of reworking the code so that it's a fairly small increase in space? I'm posting this in HT because thats what it is, HT as discussing things such as the kernel can be a lengthy explanation. Does a kernel have to increase in size when you add new features to an OS? How many lines of code is the linux kernel compared to the NT/9x kernel?
 

Calin

Diamond Member
Apr 9, 2001
3,112
0
0
First: How do you find how much memory the kernel in Windows uses?

You should take into account that on the typical Windows computer, the GDI is so well interconnected with the kernel, they can not be separated (there are functions in the GDI in Windows XP, that doesn't exist in the GDI of Windows NT).
So, from one version of Windows to another, there might be added functionality - some of it is documented, some of it isn't. This accounts for some of the increase.

Does a kernel have to increase in size when you add new features to an OS? It depends. The Hurd microkernel have very little functionality (the least possible), so for everything you want to do, you load a module. The Linux kernel can load modules, or can be compiled with included support for things like file systems, devices and so on. Usually, modules (when loaded) consume a bit more space than having them compiled. Linux kernel is increasing in size (as a general trend) as it "knows" more and more - however, you can keep it small (as a disk image at least) including only the things you need.

I assume you are referring to the operating system use of RAM when nothing else is running - this is not "the kernel". Memory is used in Windows for the kernel, the graphic interface (which you can not unload), drivers, disk cache and others. More memory used could mean that the GDI uses more RAM (see nice looking Windows themes in XP), more memory is allocated as disk buffer, all the processes that run in 2000 have their corresponding processes in XP bigger (extra security, extra functionality), there are new processes in XP that don't exist in Win2000 (automatic update). Improved default drivers (bigger), and bigger drivers from manufacturers. Add extra sh!t from other sources, and you end up with more memory used
 

MrDudeMan

Lifer
Jan 15, 2001
15,069
94
91
good post Calin. thanks. you mentioned something that has been bugging me for a while now...HP printer drivers are like 50mb now, and nvidia drivers are approaching 50 as well. that is insane.
 

bwanaaa

Senior member
Dec 26, 2002
739
1
81
what is a kernel and why is it called that?

When i think of an os, I imagine a giant event driven app- for example

do while no error
mouseup>do this
mousedown>dothis
etc
end while

what part is the kernel? what's the rest called- the 'chaff'?
 

Cynicist

Senior member
Nov 27, 2004
512
0
0
The kernel is basically the middleman between hardware and software, and handles resource allocation for both to prevent system error.