03-25-2014
How does the Operating System handle memory?
Hey everyone. Ok, so I know that from inside of any particular program, it see's through virtualized memory, a full range of available memory. It is given the ability then to place variables, data, user input etc, on the Stack, Heap, BSS, or Code segment of it's range. My question is what does the OS then do with this clump of requested memory? Does the OS itself have it's own form of data segementation like the stack and heap? What if the OS wants to run a service or something, where does it store it's variables, and user input?
9 More Discussions You Might Find Interesting
1. UNIX for Dummies Questions & Answers
I need the Unix operating system on disc as im new to unix. Im studying unix and x windows next year at Sheffield University and would like to get a head start.
Any suggestions would be appreciated (2 Replies)
Discussion started by: jeffersno1
2 Replies
2. Programming
Hi,
I need to know what is the right way of handling out of memory conditions. If a program is not able to dynamically allocate memory (new fails), is it right to wait for some amount of time (say 5 sec) and then try again to allocate memory? Or should we kill the process and again restart it?... (1 Reply)
Discussion started by: diganta
1 Replies
3. UNIX for Dummies Questions & Answers
Which is much more powerful as an operating system:
1. Windows 2000
2. Windows 98
3. Windows XP
4. Windows ME
5. Unix
6. Linux
and why is it much more powerful than the other operating systems that i have mentioned.
thanks for your info... (1 Reply)
Discussion started by: alecks1975
1 Replies
4. Homework & Coursework Questions
Use and complete the template provided. The entire template must be completed. If you don't, your post may be deleted!
1. The problem statement, all variables and given/known data:
Write a C program that accepts 3 parameters. Each parameter indicates the quantity of product to be
produced.... (1 Reply)
Discussion started by: paradise
1 Replies
5. Homework & Coursework Questions
Use and complete the template provided. The entire template must be completed. If you don't, your post may be deleted!
1. The problem statement, all variables and given/known data:
Write a C program that accepts 3 parameters. Each parameter indicates the quantity of product to be
produced.... (0 Replies)
Discussion started by: paradise
0 Replies
6. UNIX for Advanced & Expert Users
Hello All,
I want to install Linux on my machine, so please tell me one thing which is the best to install-
1.)Red Hat
2.)Cent OS
3.)Red Hat
4.)Ubuntu
5.)Fedora
except that if there is any please tell me. (1 Reply)
Discussion started by: parthmittal2007
1 Replies
7. UNIX for Advanced & Expert Users
Can we know the operating given the IP address or DNS of the host.
All I have is
file://myserver/myapp (4 Replies)
Discussion started by: mohtashims
4 Replies
8. Android
From Wikipedia (FYI): (0 Replies)
Discussion started by: Neo
0 Replies
9. UNIX and Linux Applications
Anyone know anything about "Advanced Plus Operating Environment".
Preferably release 10 Revision 522Gcd probably dated 2003. (4 Replies)
Discussion started by: jgt
4 Replies
MUNMAP(2) BSD System Calls Manual MUNMAP(2)
NAME
munmap -- remove a mapping
SYNOPSIS
#include <sys/mman.h>
int
munmap(void *addr, size_t len);
DESCRIPTION
The munmap() system call deletes the mappings for the specified address range, causing further references to addresses within the range to
generate invalid memory references.
DIRTY PAGE HANDLING
How munmap() handles a dirty page, depends on what type of memory is being unmapped:
[Anonymous] If the memory is anonymous memory and if the last reference is going away, then the contents are discarded by definition
of anonymous memory.
[System V Shared] If the memory mapping was created using System V shared memory, then the contents persist until the System V memory region
is destroyed or the system is rebooted.
[File mapping] If the mapping maps data from a file (MAP_SHARED), then the memory will eventually be written back to disk if it's dirty.
This will happen automatically at some point in the future (implementation dependent). Note: to force the memory to be
written back to the disk, use msync(2).
If there are still other references to the memory when the munmap is done, then nothing is done to the memory itself and it may be swapped
out if need be. The memory will continue to persist until the last reference goes away (except for System V shared memory in which case, see
above).
RETURN VALUES
Upon successful completion, munmap returns zero. Otherwise, a value of -1 is returned and errno is set to indicate the error.
ERRORS
Munmap() will fail if:
[EINVAL] The addr parameter was not page aligned (i.e., a multiple of the page size).
[EINVAL] The len parameter was negative or zero.
[EINVAL] Some part of the region being unmapped is not part of the currently valid address space.
LEGACY SYNOPSIS
#include <sys/types.h>
#include <sys/mman.h>
The include file <sys/types.h> is necessary.
int
munmap(caddr_t addr, size_t len);
The type of addr has changed.
SEE ALSO
getpagesize(3), msync(2), munmap(2), mprotect(2), madvise(2), mincore(2), compat(5)
HISTORY
The munmap() function first appeared in 4.4BSD.
BSD
October 16, 2008 BSD