shared memory를 사용할때...

kn31232의 이미지

참조 내용이 변경되었다는것을 알수 있는 방법이 있을까요?

메모리의 내용이 변경되었을때 발생되는 시그날이라던지....

그런게 있는지 모르겠네요....

메모리에 계속 붙어서 비교하고 있어야 하는건지..(좀 무식한 방법 같아서 -_-a)

고수님들은 공유메모리를 사용하실때 내용 변경 유무를 어떻게 확인하시나요?

음....확인 안하시나...!? ^^;

nahanjang의 이미지

세마포어를 사용하는 방법으로 했던거 같은데...
다른 방법이 또 있는지는 모르겠네요.

febace의 이미지

메세지 큐나, 파이프, 유닉스 소켓 '-' 등으로.

choissi의 이미지

가장 확실한 방법은,

메모리 변경이 되었을때 해당 프로세스에 시그널이라던지 주는게 좋을것 같구요
금방 떠오르는 아이디어는

[zeroin@linuxweb zeroin]$ ipcs -t

------ Shared Memory Attach/Detach/Change Times --------
shmid owner attached detached changed
138936320 oracle May 15 13:24:57 May 15 13:24:57 Mar 4 16:12:52
151879681 sise May 15 13:26:56 May 15 13:26:56 May 15 05:37:47
151715842 sise May 15 13:26:58 May 15 13:26:58 May 15 05:25:10
151683075 sise May 15 13:27:00 May 15 13:27:00 May 15 05:24:08
151846916 sise May 15 13:27:01 May 15 13:27:01 May 15 05:34:23
151781381 sise May 15 13:26:54 May 15 13:26:54 May 15 05:30:17
38928390 zeroin May 15 08:55:00 May 15 08:55:00 Feb 14 19:34:52
151814152 sise May 15 13:27:01 May 15 13:27:01 May 15 05:33:19
151388169 sise May 15 04:21:12 May 15 04:21:12 May 14 05:23:06
151748618 sise May 15 13:27:01 May 15 13:27:01 May 15 05:29:04
151650315 sise May 15 13:27:01 May 15 13:27:01 May 15 05:23:03

------ Shared Memory Operation/Change Times --------
shmid owner last-op last-changed
1966080 oracle Thu May 15 13:27:01 2003 Thu May 15 13:27:01 2003
131073 zeroin Not set
Thu May 15 00:01:00 2003

------ Message Queues Send/Recv/Change Times --------
msqid owner send recv change

이런식으로 attached detached changed
시간이 기록이 되니 이 시간을 비교해봐서 알수 있지 않을까요?

울랄라~ 호기심 천국~!!
http://www.ezdoum.com

jangsan의 이미지

현재까지는 운영체제가 그런 기능을 지원하지 않는 것로 알고있습니다.

따라서 원하시는 작업은 프로그래머의 책임입니다.

메모리에 읽기를 계속 반복적으로 하기 싫으시면, 메모리를 접근하여 변경하는 프로그램에 다음 방식 중에 반드시 하나를 써서 해결해야 할 것으로 보입니다.
1) semaphore 사용하기
2) 기다리는 프로세스에게 signal 주기

1)번인 경우에는 읽는 프로그램에도 semaphore를 써야 하고, 2)번 경우에는
signal handler를 사용해야 합니다.

ps) 메모리에 쓰는 프로그램을 수정할 수 없으면 아직까지 현 문제에 대한 해결 방안이 없는 걸로 알고있습니다.

kn31232의 이미지

그냥 비교하는걸로 해결 했습니다~ -_-a

역시....무식한게 제일 좋군요.....-_-a

세마포어 부분과 시그날 부분은 제가 더 연구를 해본후에 한번 바꿔 보도록 해보겠습니당~! ^^

히히~ 감사~ 감사~ 좋은 하루되세요~~~ ㅡ0ㅡ//

飛上

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.