고해상도 타이머로 구성된 실시간 Linux 시스템 및 하드웨어에서 작업한다고 가정하면 RTC가 시스템의 실시간에 영향을 미칩니 까?
여기서는 CPU 및 메모리 사용량을 줄이지 만 어떻게 든 차이점을 비교할 수 있습니까?
고해상도 타이머로 구성된 실시간 Linux 시스템 및 하드웨어에서 작업한다고 가정하면 RTC가 시스템의 실시간에 영향을 미칩니 까?
여기서는 CPU 및 메모리 사용량을 줄이지 만 어떻게 든 차이점을 비교할 수 있습니까?
답변:
링크 한 기사는 완전하고 말도 안됩니다. "실시간 시계"의 "실시간"(이 기사에서 설명하는 어려운 장치의 유형을 나타내는 데 사용됨)과 "실시간 시스템"의 "실시간"은 완전히 다른 용어입니다. 전자는 현재 달력 시간 (보통 링크 된 기사와 같은 고정밀과 달리 매우 약한 근사치)을 저장하고 수명이 긴 버튼 / 코 인형 배터리를 사용하여 외부 전원없이 전진하는 것을 의미합니다. 후자는 이벤트 시간에서 응답 시간까지 대기 시간이 긴 경한 이벤트에 응답하는 것을 의미합니다.
신뢰할 수없는 것으로 간주해야한다는 기사의 다른 내용
거의 무시할 수 있습니다. 100 년 동안 1 초 정도
100 년 동안 1 초는 대략 317 ppt입니다 (예, 1 조분의 1입니다 ). 기존의 상용 클록 기술로는 이러한 종류의 클록 안정성을 얻을 수 없습니다. 1 년에 1 초에이를 때조차도 온도를 조절하는 고출력의 항상 작동하는 오븐이 필요한 OCXO가 필요합니다. 수명이 긴 코인 배터리로 구동되는 장치로 얻을 수있는 아이디어는 재미 있습니다.
디지털 시계, 출석 시스템, 디지털 카메라와 같은 실시간 시스템
이것들 중 어느 것도 실시간 시스템이라고 부르지 않습니다.
실시간 시스템은 지정된 시간 내에 내부 또는 외부 이벤트 / 자극에 응답하는 시간이며 일반적으로 밀리 초 또는 마이크로 초입니다. RTC보다는 작은 정밀도의 타이머가 필요합니다.
그리고 귀하의 질문에 대한 대답은 아니오입니다. 그것은 시스템의 실시간에 영향을 미치지 않습니다.
재설정하고 RTC를 수행 한 후 시스템이 오프라인 인 경우 로그에 올바른 날짜를 입력 할 수 있습니다. 로그를 살펴보고 타임 스탬프가 잘못되어 사용자, 소프트웨어 개발자 및 클라이언트를 미치게 만들거나 일반적으로 거의 조사 할 수없는 경우 로그가 커질 수 있습니다.
언급 한 기사에서 쉽고 어렵거나 낮거나 높음은 일종의 개인적인 의견입니다. 이전에 해본 적이없고 명확한 시스템 요구 사항과 작업 내용이없는 경우 어렵고 비용이 많이 듭니다. 필요한 것이 무엇인지, 가장 적합한 장치가 무엇인지 알면 쉽고 저렴합니다.
대부분의 시스템에서 다른 형태의 시간 보존에 비해 RTC 주변 장치의 유일한 장점은 시스템의 나머지 부분이 절전 모드로 전환되거나 일부 경우 전 체 전원이 꺼질 때 RTC의 시간 측정에 영향을 미치지 않는다는 것입니다. 많은 RTC 주변 장치는 실제로 대략적인 시간을 기록하는 것 이외의 대부분의 목적에는 실용적이지 않게 설계되었습니다. 예를 들어, 대부분의 RTC 주변 장치 (아마도 다수는 아니지만 초 거대하지는 않음)는 1 초 단위로보고 시간으로 제한되며, 경보를 설정하거나 동기화 할 때 동기화를 위해 통화 중 대기를 요구하는 경우가 많습니다. 때로는 시간을 읽으려고 시도하는 경우도 있습니다. 결과적으로 RTC를 사용하는 일반적인 방법은 시작시 더 유용한 시계에 값을 간단히 복사하여 "벽 시간"이 설정 될 때마다 설정하는 것입니다.
그리고 4 개의 연속적인 판독은 첫 번째와 마지막 사이에 1/32768 초 이상 경과하지 않는 한 일치하는 2 개를 포함하도록 보장됩니다. 알람을 설정하면 가짜 웨이크 업 이벤트가 발생할 수 있지만 순서는 다음과 같습니다.
범용 시간 관리에 적합하도록 모든 에지 케이스를 충분히 쉽게 처리해야합니다. 불행히도, 어떤 이유로 든 RTC 주변 장치는 그런 식으로 설계되지 않았지만 대신보다 복잡하고 유용하지 않습니다.
이것은 "실시간"이라는 용어의 사용을 둘러싼 용어의 문제인 것 같습니다.
실시간 클록은 호스트 시스템이 이벤트 / 동작을 발생 시간 및 날짜와 연관시키는 데 사용할 수 있도록 안정적 / 정확한 (약간의 공차 내) 시간 표시를위한 장치입니다.
실시간 시계는 컴퓨터에 연결된 디지털 시계의 내부와 유사하다고 생각할 수 있습니다. 안정적이고 합리적으로 정확하도록 설계된 독립적으로 전원이 공급되는 시간 기준이 있습니다. 디지털 시계와 마찬가지로 호스트 컴퓨터가 종료 되어도 현재 시간을 잃지 않습니다. 실시간 시계는 대부분 편의상 컴퓨터에 장착되어 사용자가 시스템을 시작할 때마다 현재 시간과 날짜를 다시 입력하거나 드리프트를 보정하기 위해 자주 조정하지 않아도됩니다.
실시간 클록의 대안은 시스템 클록에 의해 구동되는 소프트웨어 및 내부 타이머를 사용하는 것입니다. 이러한 접근 방식은 실행 가능하지만 (원래 IBM PC는 그렇게 작동했습니다) 특히 안정적이지 않습니다. 또한 운영 체제가 종료되거나 정지되거나 충돌하는 시점에서 날짜 / 시간을 추적하지 못하게됩니다.
"실시간"이라는 용어가 컴퓨터 시스템 또는 응용 프로그램에 적용되는 경우, 정의 된 순서대로 실제 이벤트에 매우 짧고 결정적인 시간 내에 반응하는 시스템을 설명합니다. 동시 입력의. 실시간 시스템은 로봇 제어, 시뮬레이션 및 게임과 같은 기계 제어에 사용됩니다. 실시간 응용 프로그램은 현재 시간 및 날짜 정보를 사용할 수 있지만 응용 프로그램은 현재 시간 및 날짜를 사용하기 때문에 "실시간"이 아닙니다.
전술 한 바와 같이, 실시간 클록의 목적은 현재 날짜 및 시간을 일반적으로 단지 2 초까지 안정적으로 추적하는 것이다. 좋은 것은 최소한의 드리프트 (매일 얻거나 잃는 초)를 가질 것입니다. 실시간 클록은 일반적으로 높은 해상도를 갖지 않습니다. 기본 클럭은 최신 CPU 클럭과 비교하여 종종 느리게 실행됩니다. 이것은 호스트 컴퓨터의 전원이 장시간 꺼진 경우에도 시계가 지속적으로 시간을 안정적으로 유지할 수 있도록 전력 소비를 최소화 (독립 전원에서 드레인)하는 것입니다.
고해상도 타이머는 현재 시간 또는 날짜와 관련이 없습니다. 그 목적은 마이크로 초 또는 그 이하의 정밀도로 시간 간격을 측정하는 것입니다. 이를 위해서는 안정적인 고주파 클럭 (일반적으로 컴퓨터 시스템 클럭)을 기반으로해야합니다. 고해상도 타이머는 일반적으로 장시간 지속되는 드리프트와 관련이 없습니다. 일반적인 목적은 짧은 시간 동안의 시간 측정이기 때문입니다. 고해상도 타이머는 호스트 컴퓨터의 전원이 꺼진 동안해야 할 일이 없기 때문에 실시간 시계와 전력 소비 문제가 동일하지 않습니다.
실시간 시계의 주된 이유는 일정한 간격으로 정확한 시간이라고 생각합니다. 일반 클록은 일반적으로 커패시터로 트리밍되며 클록 타이밍 회로의 미스 튜닝 캐패시턴스 / 저항, 사용중인 클록 타이밍의 불확실성과 같은 제어 할 수없는 다양한 요인에 따라 주파수에 대한 더 큰 불일치를 가질 수 있습니다. 성능을 위해 결투적인 목적을 제공하며, 종종 오류를 유발할 수있는 시간을 나누는 프로그래밍 가능한 논리가 있습니다.
일반적으로 RTC는 타이머와 감시견 등을 가질 수 있습니다. 이것과 결합하여 정기적으로 정확한 간격으로 다양한 절차 나 코드와 같은 단계를 유지할 수 있다는 보장 또는 좋은 가정을합니다. 일반 시계로는 쉽게 얻을 수 없습니다. 또는 시계가 정확한 생산에 매우주의해야합니다. 오디오와 같은 것을 볼 수 있고 고속 시스템 시계 대신 rtc를 사용할 필요가없는 것을 볼 수 있습니다.
RTC가 의미하는 바에 관해서는 확실히 말할 수 없습니다. Linux가 임베디드 세계에서 널리 사용되는 도구라는 것을 알고 있지만 모든 실시간 응용 프로그램에서 Linux가 얼마나 잘 작동하는지 잘 모르겠습니다. 멀티 스레딩은 실행 시간을 결정적이지 않게 만들 수 있지만 하드웨어가 성능 요구 사항을 크게 초과하면 많은 솔루션이 실시간 응용 프로그램에서도 제대로 작동합니다.
그런 다음 미션 크리티컬 및 저 성능 애플리케이션이 있습니다. 여기서 바람직한 것은 결정 론적이며 종종 복잡성이 낮은 솔루션입니다. 여기서는 RTC를 분명히 사용할 수 있습니다. 리눅스는 인터럽트에 대한 특별한 접근을 제공 할 수있다. 결정 론적 실시간으로 rtc뿐만 아니라 인터럽트 또는 os 액세스가 필요합니다.
인터넷상의 다른 컴퓨터와의 안전한 통신에 의존하는 경우 실시간 시계가 필요합니다 (100 %는 아니지만 로컬 시간 참조가없는 경우 다른 것을 신뢰해야합니다. ' 날짜를 모르면 인증서를 신뢰하십시오.
따라서 모든 '실시간'시스템에 대해 하나가 필요하지는 않습니다. 그러나 응용 프로그램에 따라 저전력 상태에서 양호한 시간 수정을 얻는 가장 에너지 효율적인 방법으로 RTC가 여전히 필요할 수 있습니다.