<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="http://valley.egloos.com/rss/style/style.xsl" type="text/xsl" media="screen"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
	<channel>
		<title>이글루스 '공유메모리' 태그 최근글</title>
		<link>http://valley.egloos.com/tag/공유메모리</link>
		<description>공유메모리</description>
		<language>ko</language>
		<pubDate>Sun, 06 Mar 2011 18:22:01 +0900</pubDate>
		<generator>Egloos</generator>
		<item>
	<title><![CDATA[프로세스 간 통신(Inter Process Communication)-2]]></title>
	<link>http://avata007.egloos.com/2725957</link>
	<guid>http://avata007.egloos.com/2725957</guid>
	<description>
	<![CDATA[ 
<img 
				src="http://thumb.egloos.net/76x100/http://pds21.egloos.com/pds/201103/06/62/e0036962_4d7346e13c127.png"  
				alt="프로세스 간 통신(Inter Process Communicatio.." 
				width="76px"  
				height="100pxpx"
				align="left"
				style="border:1px solid #DDDDDD;margin:0 10px 10px 0px;"
				/> 1. 공유 메모리(Shared Memory)  - 프로세스들이 특정 메모리 영역을 공유. 이 공간을 이용해서 통신을 수행. (공유 메모리를 이용한 통신에서도 메모리 영역에 대한 동기화를 제공하지 않으므로 이부분은 챙겨줘야함)- 공유 메모리 시스템 호출int shmget(key_t key, size_t size, int shmflg);   // key: 공유하는 키값, size:크기, shmflg:생성 및 접근 플래그.: 성공하면 양의 정수, 실패 시 -1 리턴shmget()시스템 호출을 통해 물리적 메모리에 공유 메모리 영역을 생성했다면(혹은 기존에 생성된 공유메모리 정보를 얻어왔다면)프로세스 내부 가상 메모리와 연결 시켜줘야 함.void* shmat(int smId, const void* shm_addr,	]]>
	</description>
	<pubDate>Sun, 06 Mar 2011 18:22:01 +0900</pubDate>
	<dc:creator><![CDATA[인생은 속도가 아니라 방향이다]]></dc:creator>
</item>
<item>
	<title><![CDATA[WinXP 시디 스페이스 공유메모리 설정 실패 메시지]]></title>
	<link>http://lucidz.egloos.com/9695965</link>
	<guid>http://lucidz.egloos.com/9695965</guid>
	<description>
	<![CDATA[ 
이글은 PC사랑 2월호 FAQ코너에 나온 기사입니다.   ** 공유메모리 설정 실패 메시지 **   Q. 시디 스페이스 4와 윈도우즈 X의 궁합을 맞춘 4.0.1 업데이틀 패치 프로그램을 내려받아 깔고 윈도우즈 XP를 재부팅하니까 &quot;LCD 공유 메모리 설정에 실패하였습니다.&quot;는 에러 메시지가 뜹니다. CD스페이스는 잘 돌아가는 듯한데 어떤 에러 메시지 인가요??   A. CD 스페이스 4를 업데이트해도 시작프로그램에는 lcdplayer 바로 가기 아이콘이 놓여 있어서 윈도우즈 XP가 부팅 할때 말썽을 부립니다.  이럴때는  시작-시작프로그램에서 lcdplayer.exe 아이콘에 대고 마우스 오른쪽 버튼을 눌러 '삭제'를 골라 지운뒤, 시작-실행을 눌러 regedit를 넣어서 레지스트리 편집기를 띄운다음,  	]]>
	</description>
	<pubDate>Fri, 15 May 2009 01:53:16 +0900</pubDate>
	<dc:creator><![CDATA[Chamber of Lucid]]></dc:creator>
</item>
<item>
	<title><![CDATA[[솔라리스] System V IPC 구성]]></title>
	<link>http://shad0w.egloos.com/778215</link>
	<guid>http://shad0w.egloos.com/778215</guid>
	<description>
	<![CDATA[ 
 EtherNet/IP 프로젝트를 진행하면서 SPARC Solaris 5.10 에서 공유 메모리를 사용하게 되었다. 기존에 Windows 에서는 공유 메모리 Key 제약도 char* 형태로 받아서 문제없이 진행되었지만 shmget 같은 경우는 key_t 형태로 Key 를 받기 때문에 기존에 char* 형태의 Key로  유일무일한 key_t 타입으로 변경하기엔 쉽지 않았다. 물론 이것만 보면 가능하겠지만 우리 프로젝트에서는 좀 더 많은 제약사항이 있었기에 힘들었다는 것이다.  이 문제를 해결하고, 당면한 문제는 Solaris 5.10 에서 공유 메모리 할당 받는 부분에서 Segmentation Fault 에러가 난 것이다. Debugging 을 통해서 공유 메모리를 할당받은 것을 memset 하는 부분에서 나	]]>
	</description>
	<pubDate>Tue, 02 Sep 2008 05:30:40 +0900</pubDate>
	<dc:creator><![CDATA[Always as First]]></dc:creator>
</item>
<item>
	<title><![CDATA[POSIX shared memory]]></title>
	<link>http://purewell.egloos.com/3863415</link>
	<guid>http://purewell.egloos.com/3863415</guid>
	<description>
	<![CDATA[ 
일전에 언급한 SysV에서 처음으로 세상에 내동댕이 쳐진 IPC 집합 가운데에서 공유메모리부터 보겠다.    SysV가 가진 API는 POSIX.1-2001에도 올라와 있는 녀석이긴 하다. 함수는 shmget, shmat, shmdt, shmctl 등이 있다. 엄청나게 유명한 녀석이기 때문에 따로 자세히 설명하지 않겠다. shmget으로 공유메모리를 커널에 요청한다. 그럼 커널일 공유메모리객체를 만들기만 할 것이고, shmat을 통해 실제 프로세스 메모리에 공유메모리를 쳐바를(attach) 수 있다. shmdt는 쳐바른 공유메모리를 떼어내는데(detach) 사용하고, shmctl은 공유메모리객체를 정리하거나 기타 객체를 조작하는데 잠깐 이용한다. - 설명끝 -    shm_open은 SysV와 별도로 POS	]]>
	</description>
	<pubDate>Wed, 13 Aug 2008 18:44:03 +0900</pubDate>
	<dc:creator><![CDATA[Purewell.BIZ]]></dc:creator>
</item>
<item>
	<title><![CDATA[공유메모리]]></title>
	<link>http://ods81.egloos.com/975933</link>
	<guid>http://ods81.egloos.com/975933</guid>
	<description>
	<![CDATA[ 
공유 메모리(shared memory) 란? 공유메모리(shared memory) 보통 프로세스에서 사용되는 메모리영역은 해당 프로세스만이 사용할수 있다. 하지만 때때로 여러개의 프로세스가 특정 메모리영역을 사용했으면 하는때가 있을것이다. System V IPC 설비중의 하나인 &quot;공유메모리&quot;를 통해서 이러한일을 할수있다. 개 요모든 프로세스는 자신의 업무를 수행하기 위해서 필요한 자료를 저장하기 위한 메모리 공간을 가지게 된다. 이러한 메모리공간에는 CPU에 의해 수행되는 명령어들, 프로그램 시작시 정의되고 초기화된 데이타, 프로그램 시작시 정의되었지만 초기화 되지 않은 데이타, 함수호출에 필요한 정보, 동적할당이 이루어지는 데이타등 이 들어가게 된다. 프로세스는 시작시 혹은 실행중에 이러한 데이타를 저장하	]]>
	</description>
	<pubDate>Fri, 09 Nov 2007 17:17:57 +0900</pubDate>
	<dc:creator><![CDATA[오대성님의 이글루]]></dc:creator>
</item>
	</channel>
</rss>

