[질문]시스템 시간에 구애를 받지 않는 시계..

leolo의 이미지

시스템 시간을 이용하여 프로그램을 짠 경우, 시스템 시간이 고의적으로 변경되었을때, 문제가 발생하는 경우가 있는데요..
이런 경우를 예방할 수 있는 코드는 없나요.

예를 들면요.
현재 시간을 읽어서 메모리에 저장을 했어요. 200410192012 이렇게요.
그리고, 10분 후에, 특정 동작을 하기 위해서 계속해서 현재 시간과 메모리에
저장된 시간을 비교하게 되는 프로그램에서요.
임으로 현재 시간을 200310192012 로 변경하면 1년 후에, 특정 동작을 수행하게 되잖아요. 이런 것을 방지하기 위해서.

자신이 스스로 시간을 제는 겁니다. 예를 들어서 프로세스를 시작하는 시점에 0으로 설정하고, 계속해서 카운트를 합니다. 1, 2, 3, 값이 엄청나게 커지겠죠.
물론, 비트로 카운트하는것이 좋겠죠. 이렇게 24시간이 지나면, 또 리셋되고, 더 높은 인자를 1로 설정하고.. 이렇게해서 자체적으로 시간을 관리하면서 시스템 시간에 구애를 받지않고 동작하는 프로그램을 만들고 싶습니다.

힌트나 참고 소스 부탁드립니다.

지리즈의 이미지

쓰레드를 사용해서...
주기마다 카운트 하는 것이 일단 생각이 나네요.

http://bbs.kldp.org/viewtopic.php?t=46196

24시간 정도면 long형이라도 상관없겠군요.

24시간이 지난다음 다른 long형의 값을 올려서
date를 계산하면, 몇만년을 사용할 수 있을 것 같습니다.

There is no spoon. Neo from the Matrix 1999.

leolo의 이미지

그런데, 제가 리눅스에서 코딩을 하지만, 실제적으로 솔라리스, 리눅스 모두 적용이 가능한 것을 원하거든요..
그런데, 솔라리스는 안되더군요....

다른 방법은 없는지.. ^^

실력이 있으면 삶이 편하다... 영차 영차...

비행소년의 이미지

H/W Timer의 도움을 받지 않고 S/W만으로 구현이 가능 한가요?

내용을 보다 보니 괞히 궁금해 집니다. :shock:

높이 날다 떨어지면.
아푸다 ㅡ,.ㅡ

댓글 달기

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
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.