10-02-2005
Is this table in explicitly shared memory? If not, each process gets it's own copy along with it's own independent memory space. Changes in one won't change any of the others. This is very different from threading, where everything lives in the same memory space.
Last edited by Corona688; 10-02-2005 at 03:15 AM..
10 More Discussions You Might Find Interesting
1. UNIX for Advanced & Expert Users
Hey guys,
I'm given this bit of code, but, I'm having some problems executing it with the functions I've defined so far. I'm suppose to define the funtions "parse" and "execute." Parse splits the command in buf into individual arguments. It strips whitespace, replacing those it finds with NULLS... (3 Replies)
Discussion started by: richardspence2
3 Replies
2. Programming
omg i need help so bad. I've been working on a school project for what seems like an eternity and i'm close to deadline. Using FIFO's (i ahve to) to communicate between parent and child proc's. Right now I'm stuck on a read/write.
fifomsg is a struct with int length and char message fields. ... (5 Replies)
Discussion started by: Funktar
5 Replies
3. Linux
This isn't strictly a Linux question, but... I've been working on a project to archive some streaming media for time shifting using 'mplayer' and have been using FIFOs to archive in Ogg Vorbis format:
mkfifo program_name.wav
(mplayer -ao pcm -aofile program_name.wav &)... (0 Replies)
Discussion started by: deckard
0 Replies
4. UNIX for Advanced & Expert Users
How can I make tar read data from a fifo, instead of storing it as a fifo? (8 Replies)
Discussion started by: Corona688
8 Replies
5. UNIX for Advanced & Expert Users
I am trying to figure out why when i have the following code
int main( { printf("0\n"); fork(); printf("1\n"); exit(0);}
and type in the shell
a.out | cat
the output of this program is
0
1
0
1
instead of
0
1
1
does anyone know? (3 Replies)
Discussion started by: Phantom12345
3 Replies
6. Programming
i'm tring to make 2 processes each read from the same file but only one of them read the file.
FILE * fileptr1;
fileptr1 = fopen("file1.txt","rt");
pid2=fork();
while(1)
{
fscanf(fileptr1,"%s",temp1);
if(feof(fileptr1)==0)
{
printf("%i",getpid()); //id of current process ... (6 Replies)
Discussion started by: ddx08
6 Replies
7. UNIX for Advanced & Expert Users
Is there a performance advantage of one of these over the other? Obviously, it makes no sense to use normal TCP sockets or UDP sockets w/ the overhead they carry. But what about UNIX domain sockets vs FIFOs? I'd think they'd be very similar, in terms of performance and in terms of how they're... (2 Replies)
Discussion started by: mgessner
2 Replies
8. Solaris
I was asked to look into a problem with a Sun Netra 440 in another department. On the server in question, the relevant 'uname -a' information is, "SunOS host1 5.9 Generic_118558-16 sun4u sparc SUNW,Netra-440". That information aside, while the other admin is logged into the ALOM, these errors are... (0 Replies)
Discussion started by: Borealis
0 Replies
9. Programming
I want to have a message send & receive through 2 uni-direction FIFO
Flow of data
FIFO1
stdin--->parent(client) writefd--->FIFO1-->child(server) readfd
FIFO2
child(server) writefd2---->FIFO2--->parent(client) readfd2--->stdout
I need to have boundary structed message... (3 Replies)
Discussion started by: ouou
3 Replies
10. Red Hat
Hi guys,
thanks for your kind assistance. I have a rhel6.4 server. After I did an update, the server does not reboot. Also user logins take for ever.
Please any help on this matter will be appreciated .
Thank you (2 Replies)
Discussion started by: cjashu
2 Replies
LEARN ABOUT X11R4
shm_overview
SHM_OVERVIEW(7) Linux Programmer's Manual SHM_OVERVIEW(7)
NAME
shm_overview - overview of POSIX shared memory
DESCRIPTION
The POSIX shared memory API allows processes to communicate information by sharing a region of memory.
The interfaces employed in the API are:
shm_open(3) Create and open a new object, or open an existing object. This is analogous to open(2). The call returns a file descriptor
for use by the other interfaces listed below.
ftruncate(2) Set the size of the shared memory object. (A newly created shared memory object has a length of zero.)
mmap(2) Map the shared memory object into the virtual address space of the calling process.
munmap(2) Unmap the shared memory object from the virtual address space of the calling process.
shm_unlink(3) Remove a shared memory object name.
close(2) Close the file descriptor allocated by shm_open(3) when it is no longer needed.
fstat(2) Obtain a stat structure that describes the shared memory object. Among the information returned by this call are the
object's size (st_size), permissions (st_mode), owner (st_uid), and group (st_gid).
fchown(2) To change the ownership of a shared memory object.
fchmod(2) To change the permissions of a shared memory object.
Versions
POSIX shared memory is supported since Linux 2.4 and glibc 2.2.
Persistence
POSIX shared memory objects have kernel persistence: a shared memory object will exist until the system is shut down, or until all pro-
cesses have unmapped the object and it has been deleted with shm_unlink(3)
Linking
Programs using the POSIX shared memory API must be compiled with cc -lrt to link against the real-time library, librt.
Accessing shared memory objects via the filesystem
On Linux, shared memory objects are created in a (tmpfs(5)) virtual filesystem, normally mounted under /dev/shm. Since kernel 2.6.19,
Linux supports the use of access control lists (ACLs) to control the permissions of objects in the virtual filesystem.
NOTES
Typically, processes must synchronize their access to a shared memory object, using, for example, POSIX semaphores.
System V shared memory (shmget(2), shmop(2), etc.) is an older shared memory API. POSIX shared memory provides a simpler, and better
designed interface; on the other hand POSIX shared memory is somewhat less widely available (especially on older systems) than System V
shared memory.
SEE ALSO
fchmod(2), fchown(2), fstat(2), ftruncate(2), mmap(2), mprotect(2), munmap(2), shmget(2), shmop(2), shm_open(3), shm_unlink(3), sem_over-
view(7)
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 2016-12-12 SHM_OVERVIEW(7)