Re: linking of module ( insmod and rmmod )

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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/


[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux