Hi Deepak, > Von: Deepak Joshi <deepak_cins@xxxxxxxxxxx> > An: kernel mail <kernelnewbies@xxxxxxxxxxxx> > Betreff: linking of module ( insmod and rmmod ) > Datum: Tue, 9 Aug 2005 17:10:19 +0100 (BST) > > Also i read about user and kernel space as they have > different memory mappings i.e. its own address space. > What does it mean ? > > please help me in clearing all these concepts. > > Deepak Joshi. an address space is simply a list of memory locations from some minimum (usually 0) to some maximum, which is associated with a process and which that process can read and write. User programs always run in the user space. It is a virtual address space. That means, a user programm "sees" an address space from address 0 to the TASK_SIZE (that is defined in the include/asm-ARCH/process.h, I believe). The MMU (Memory Management Unit) is responsible for mapping the virtual addresses to the physical addresses (real ones). The kernel always runs in the kernel address space. AFAIK, there are no memory mappings for the kernel processes at all, because they must work with actual addresses. The reason for separating the user and kernel address spaces is the fact, that user programs could damage some important kernel data if they access the memory region where the kernel saves and manipulates his data. Paul -- 5 GB Mailbox, 50 FreeSMS http://www.gmx.net/de/go/promail +++ GMX - die erste Adresse für Mail, Message, More +++ -- Kernelnewbies: Help each other learn about the Linux kernel. Archive: http://mail.nl.linux.org/kernelnewbies/ FAQ: http://kernelnewbies.org/faq/