Sponsored Content
Full Discussion: Kmalloc and malloc
Top Forums UNIX for Dummies Questions & Answers Kmalloc and malloc Post 302463130 by Corona688 on Friday 15th of October 2010 09:31:43 PM
Old 10-15-2010
Quote:
Originally Posted by dragonpoint
If user space heap and kernel space heaps are diff, can the allocated kernel/ user areas be accessed by mapping in either case all times?
Heap isn't a special kind of memory, even to the process. It's all just memory as far as they're concerned. Take a look at The Paging Game to get a rough idea of what virtual memory does.

But it's not exactly direct. User space sees its own memory as a flat memory space but it's not: It's organized in 4K chunks in no particular order and might even be on disk, not in memory, when asked for. It's the kernel's job to keep that mess straight.

The kernel almost never reaches into process space to extract data without being told to do so. That's what read() and write() calls do when you think about it -- tell the kernel what areas of user memory to extract from, or to write into, for some operation or other. Once it's been told, copy_to_user and copy_from_user calls translate memory in and out of user space. Otherwise, the kernel's job is mostly set things up and let them happen in userspace.

Last edited by Corona688; 10-15-2010 at 10:38 PM..
 

10 More Discussions You Might Find Interesting

1. Programming

malloc

hello sir since by mentioning a integer pointer and storing the integers by incrementing the pointer value then what is the purpose of malloc? u can decalre it as in t *p; several integers can be stored by incrementing the value of p, hence what is the diffrence between this... (2 Replies)
Discussion started by: rajashekaran
2 Replies

2. Programming

When to use Malloc?

Hi! I hope this is the correct forum to post the question even if I'm a newbie... I am a C-newbie (and really on the edge to be a C-addict ;) ) and have a question. When should I use malloc? To state it differently, when should I NOT use malloc? For instance, if I have an array of... (5 Replies)
Discussion started by: Tonje
5 Replies

3. UNIX for Dummies Questions & Answers

kmalloc function

will kmalloc function allocate memory from kernel space or user space? what exactly is the difference between kernel api and system call? can anyone please send me the answer? its urgent. (0 Replies)
Discussion started by: sriram.ec
0 Replies

4. Programming

malloc()

Some one please explain me what is Dynamic memory allocation and the use of malloc() function.How do we allocate memory dynamically and also the other way? (3 Replies)
Discussion started by: rash123
3 Replies

5. Programming

Malloc implementation in C

Hey Guys I am trying to implement the malloc function for my OS class and I am having a little trouble with it. I would be really grateful if I could get some hints on this problem. So I am using a doubly-linked list as my data structure and I have to allocate memory for it (duh...). The... (1 Reply)
Discussion started by: Gambit_b
1 Replies

6. UNIX for Advanced & Expert Users

Malloc Implementation in C

Hey Guys Some of my friends have got together and we are trying to write a basic kernel similar to Linux. I am trying to implement the malloc function in C and I am using a doubly linked list as the primary data structure. I need to allocate memory for this link list (duh...) and I don't feel... (2 Replies)
Discussion started by: rbansal2
2 Replies

7. Programming

malloc vs realloc

Why when using realloc, john is reversed 3 times but not the other 2 names ? But if I use malloc, then the 3 names are reversed correctly ? (but then there is a memory leak) How can I reverse all 3 names without a memory leak ? char *BUFFER = NULL; char *STRREVERSE(const char *STRING) {... (5 Replies)
Discussion started by: cyler
5 Replies

8. Programming

help with malloc [solved]

Hi i found code in google how to malloc an 2D array and i tried that : #include<stdio.h> #include<stdlib.h> int **A; int **B; int main(int argc,char *argv) { printf("name of text : %s\n",argv); //read arrays int i,j; int l,m; int M,n; FILE *fp; fp=fopen(argv,"r"); ... (0 Replies)
Discussion started by: giampoul
0 Replies

9. Programming

malloc vs new speed

Which one is faster among malloc and new? My understanding is that since new also has to call constructors after allocating memory it must be slower than malloc. Am I correct? (1 Reply)
Discussion started by: rupeshkp728
1 Replies

10. UNIX for Dummies Questions & Answers

Help with malloc()

Good day! I'm a newbie in C. I'm trying to get an unlimited input from the user using malloc then printing the inputs after the user presses enter. My code works, but there's a warning that I don't know how to fix. Please help me. Thank you. Here's my code: #include <stdio.h> #include... (6 Replies)
Discussion started by: eracav
6 Replies
MALLOC_TRIM(3)						     Linux Programmer's Manual						    MALLOC_TRIM(3)

NAME
malloc_trim - release free memory from the top of the heap SYNOPSIS
#include <malloc.h> void malloc_trim(size_t pad); DESCRIPTION
The malloc_trim() function attempts to release free memory at the top of the heap (by calling sbrk(2) with a suitable argument). The pad argument specifies the amount of free space to leave untrimmed at the top of the heap. If this argument is 0, only the minimum amount of memory is maintained at the top of the heap (i.e., one page or less). A nonzero argument can be used to maintain some trailing space at the top of the heap in order to allow future allocations to be made without having to extend the heap with sbrk(2). RETURN VALUE
The malloc_trim() function returns 1 if memory was actually released back to the system, or 0 if it was not possible to release any memory. ERRORS
No errors are defined. CONFORMING TO
This function is a GNU extension. NOTES
This function is automatically called by free(3) in certain circumstances; see the discussion of M_TOP_PAD and M_TRIM_THRESHOLD in mal- lopt(3). This function cannot release free memory located at places other than the top of the heap. This function releases only memory in the main arena. SEE ALSO
sbrk(2), malloc(3), mallopt(3) COLOPHON
This page is part of release 3.53 of the Linux man-pages project. A description of the project, and information about reporting bugs, can be found at http://www.kernel.org/doc/man-pages/. Linux 2012-03-29 MALLOC_TRIM(3)
All times are GMT -4. The time now is 04:42 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy