Take the 2-minute tour ×
Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems.. It's 100% free, no registration required.

I often hear people refer to the Linux kernel as the Linux kernel image and I can't seem to find an answers on any search engines as to why its called an image.

When I think of an image I can only think of two things either a copy of a disk in or a photo. It sure as hell isn't a photo image so why is it referred to as an image?

share|improve this question
6  
It can be also copy of RAM region (which is IMHO the case with kernel) –  Romeo Ninov yesterday

4 Answers 4

The Unix boot process has (had) only limited capabilities of intelligently loading a program (relocating it, loading libraries etc). Therefore the initial program was an exact image, stored on disc, of what needed to be loaded into memory and "called" to get the kernel going.

Only much later things like (de-)compression were added and although more powerful bootloaders are now in place, the image name has stuck.

share|improve this answer

The word image also has a definition "A file that contains all information needed to produce a live working copy."

share|improve this answer
2  
It's a nice unambiguous term, avoiding the need to fumble around with terms like "binary", "executable", "program", ... to refer to the actual image on disk. –  Thomas 20 hours ago

It doen't mean an "image" is just a 1:1 copy of a disk. As the photo represents the reality exactly as it was when shooting, an image of an executable program (or kernel) represents the program in a state, where it can the loaded (or unpacked) in the systems memory exactly as it is and then given control to it. That program can then start running from that state in a consistent manner. So the Linux kernel image is an image (a picture of the state) of the Linux kernel that is able to run by itself after giving the control to it.

Nowadays, the bootloader loads such an image from the hard disk’s filesystem (driver is needed), replaces itself with it and so gives the control to it. The booting process of a computer does that several times until the operating system finally runs. This is called chain loading. Or if a smaller program (chain-)loads a more complex one, it is called bootstrapping.

The BIOS loads the bootloader that is also an image, for example called boot.img in case of grub. That boot.img is not a file (if grub is installed); it is the name for the part that is in the Master Boot Record (MBR). If you dump that to a file it would then be an image in form of a file not rawly written to disk, but rawly written in a file. This is also a representation (image) of the earliest state where grub is able to load the rest of itself. grub then has its own mechanism how to fully load itself by loading other images. This is represented by the different stages in grub. After that, the bootloader loads the kernel image by replacing itself with the extracted contents of that file.

share|improve this answer

In math the kernel is the inverse image of a subset of the image of a some map, were the subset is equal to the identity element in the codomain. I'm fairly certain these names derive from mathematical concepts as they are related significantly in various fields in mathematics. That and considering Unix was derived in an academic environment.

share|improve this answer
    
Basically the kernel may be a 'thinned' version of the os, or part of os that is important and can be 'abstracted' then provided the map was injective homorphism and is known, can work out the entire image with out having to tote around the entire image. Looks like a method of data comression is were the term's "kernel" and "image" stem from. But really they stem from well known mathematical concepts. –  marshal craft 11 hours ago
    
Hi Marshal. It's better to improve your post by editing it rather than adding comments. –  Anthony Geoghegan 11 hours ago
    
I believe the computing use of kernel comes from the "The central (usually edible) part of a nut, especially once the hard shell has been removed." (see wiktionary) - it is the small, inner part of the operating system; after stripping all the "outer layers" (GUIs, command-shells, loadable drivers) it is the (roughly) minimum part needed to make/let the hardware operate in some useful fashion. –  TripeHound 54 mins ago

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.