10-11-2010
My current implementation of mmap is:
fd = open("/dev/mem",O_RDWR);
BUFFER =(unsigned char *) mmap(NULL, RANGE, PROT_READ | PROT_WRITE, MAP_SHARED,fd, ADDR);
here ADDR is the physical address in the RAM.
I believe here am mapping virtual memory from fd or /dev/mem and not a disk file.
10 More Discussions You Might Find Interesting
1. Filesystems, Disks and Memory
Hello. I'm writing some random access i/o software on Solaris 8 using mmap64 to memory map large files (my test file is ~25 GB).
The abbreviated code fragment is:
fd = open(cbuf,O_RDONLY|O_LARGEFILE);
struct stat statbuf;
fstat(fd,&statbuf);
off_t len =... (0 Replies)
Discussion started by: gusm
0 Replies
2. UNIX for Dummies Questions & Answers
the various distros of free Linux and other *nix OSes?
I'm curious. (1 Reply)
Discussion started by: hype.it
1 Replies
3. UNIX for Dummies Questions & Answers
What is the difference bettween linux and unix?
Sorry but I am really new to this! :confused:
Also are they BOTH free :-D (1 Reply)
Discussion started by: jamesthemagicia
1 Replies
4. Shell Programming and Scripting
Hi,
whats the difference between $* and $@ in command line arguments to a shell scripts (3 Replies)
Discussion started by: pbsrinivas
3 Replies
5. UNIX for Dummies Questions & Answers
can some one please explain
zombie
orphan
defunct
and how they r related (3 Replies)
Discussion started by: pbsrinivas
3 Replies
6. UNIX for Dummies Questions & Answers
Hi,
In linux we have exit status variable ($?) and status which tells whether last command was successfull or not. Can someone please tell me what is difference between both. Both tells whether command was successful or not, Any particular difference between them?
Thanks in Advance.
Thanks... (3 Replies)
Discussion started by: sarbjit
3 Replies
7. Programming
how to use mmap() to map a file to memory space. Do you have any simple program???? Because I have to implement lot of concepts into it. (5 Replies)
Discussion started by: gokult
5 Replies
8. Homework & Coursework Questions
Descriptions:
Develop a program that uses mmap() to map a file to memory space. Prepare such a file by yourself and do the follows.
<LI class=MsoNormal>Display the content of the file after mapping; <LI class=MsoNormal>Output how many digits included in the file; <LI class=MsoNormal>Replace... (1 Reply)
Discussion started by: gokult
1 Replies
9. Programming
hai,
How do we map 'n' number of files into memory by using mmap system call??
Thanks in advance...... (5 Replies)
Discussion started by: andrew.paul
5 Replies
10. Emergency UNIX and Linux Support
I want to know whether this is possile or ever been tried out.
I want to obtain a chuck of memory using mmap()
I do it so :
n = mmap(0, 8000, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0);
And hold on to that memory, when a process requests for memory, some memory is... (2 Replies)
Discussion started by: xerox
2 Replies
MEM(4) Linux Programmer's Manual MEM(4)
NAME
mem, kmem, port - system memory, kernel memory and system ports
DESCRIPTION
/dev/mem is a character device file that is an image of the main memory of the computer. It may be used, for example, to examine (and even
patch) the system.
Byte addresses in /dev/mem are interpreted as physical memory addresses. References to nonexistent locations cause errors to be returned.
Examining and patching is likely to lead to unexpected results when read-only or write-only bits are present.
Since Linux 2.6.26, and depending on the architecture, the CONFIG_STRICT_DEVMEM kernel configuration option limits the areas which can be
accessed through this file. For example: on x86, RAM access is not allowed but accessing memory-mapped PCI regions is.
It is typically created by:
mknod -m 660 /dev/mem c 1 1
chown root:kmem /dev/mem
The file /dev/kmem is the same as /dev/mem, except that the kernel virtual memory rather than physical memory is accessed. Since Linux
2.6.26, this file is available only if the CONFIG_DEVKMEM kernel configuration option is enabled.
It is typically created by:
mknod -m 640 /dev/kmem c 1 2
chown root:kmem /dev/kmem
/dev/port is similar to /dev/mem, but the I/O ports are accessed.
It is typically created by:
mknod -m 660 /dev/port c 1 4
chown root:kmem /dev/port
FILES
/dev/mem
/dev/kmem
/dev/port
SEE ALSO
chown(1), mknod(1), ioperm(2)
COLOPHON
This page is part of release 4.15 of the Linux man-pages project. A description of the project, information about reporting bugs, and the
latest version of this page, can be found at https://www.kernel.org/doc/man-pages/.
Linux 2015-01-02 MEM(4)