하드웨어와 리눅스 시스템에서 C 언어 프로그래밍의 GLIBC 라이브러리 세부 구현

출처: 인터넷
작성자: 사용자
키워드: 하드웨어 C 언어 리눅스 GLIBC 라이브러리

기본적인 프로그래밍 방법, 방법에 우리의 관심 거짓말을 알고 후 컴퓨터 모든 것 들이 있습니까? 운영 체제와 라이브러리 함수 수행 응용 프로그램 계층 Api와 기본 시스템 하드웨어 사이?

먼저 리눅스 시간 처리의 일반적인 과정을 봐:

그림 1입니다. 시간 과정





응용 프로그램 섹션에서 첫 번째 섹션에서 자세히 덮여 있다 고 두 번째에서 부분은 하드웨어와 GlibC의 몇 가지 일반적인 개요를 소개 합니다 관련 구현.

하드웨어

PC에서 일반적인 시계 하드웨어는 다음과 같습니다.

RTC (실시간 시계, 라이브 시계)

필요로 할 때 사람들이 시간을 알고, 그들은 시계 볼 수 있습니다. 컴퓨터 시스템에서 클록의 하드웨어는 외부 클록은. 그것은 시스템 전원이 때 시계의 정확성을 유지 하기 위해 마더보드의 배터리에 의존 합니다. 필요로 할 때 컴퓨터 시간을 알고, 그것은 시계를 읽이 필요가 있다.

에 x86 시스템,이 시계 진짜 시간 시계 라고 일반적으로. RTC는 http://www.aliyun.com/zixun/aggregation/19282.html은 "> cmos 칩을 마더보드, 모토로라 146818, 등은 CPU와 다른 칩의 독립에 고 수 0X70와 0x71 포트는 RTC를 작동합니다. RTC는 정기적으로 인터럽트 IRQ 8, 하지만 8192 hz 2 HZ에서 낮은 정밀도 실행할 수 있습니다.

모토로라 146818 경우 소프트웨어 읽을 수 있고 쓰기 I/O 명령을 통해 다음 값:

그림 2입니다. 모토로라 146818





당신이 볼 수 있듯이, RTC는 초를 정확 실시간 시간 값을 제공 합니다.

TSC (타임 스탬프 카운터)

CPU 실행 지침 CLK 핀 입력에서 클록 신호를 생성 하는 외부 발진기를 필요로 합니다. x86 클록 신호를 받을 때마다를 하나 더 추가 하는 TSC 레지스터를 제공 합니다. 예를 들어 CPU 주파수 1 GHZ, 두 번째 시간에 다음, TSC 레지스터의 1 G 시간 또는 플러스 모든 나노초의 값을 증가 합니다. x86 또한 설명 RTDSC 값을 읽는, TSC는 또한 시계 장치로 사용 될 수 있도록 합니다. TSC는 RTC, 나노초 시간 정밀도 보다 높은 정밀도 시간을 제공합니다.

PIT (프로그램 가능한 간격 타이머)

구 덩이 프로그래밍 가능한 간격 타이머는 11585.html의 약어 "> 하드웨어 장치는 정기적으로 중단 될 수 있습니다. 8254는 이른 구 덩이 장치 이제 인텔의 I/O 제어 허브 회로에 통합 될 수 및 구 덩이 0x40 포트를 통해 액세스할 수 있습니다 ~ 0x43. 시스템 구 덩이 사용 하 여 주기적인 시간 인터럽트를 생성 하 고 클록 인터럽트는 8259A IRQ0 통해 CPU에 보고 됩니다. 그것의 정확도 높은, 입구 클록 주파수는 1 MHz 이론적으로 높은 클록 주파수를 생산할 수 있는 약간 미만 0.5 m h z. 실제 시스템은 종종 구 덩이의 100 또는 1000 Hz를 사용합니다.

Hpet (높은 정밀도 이벤트 타이머)

구 덩이 정확도 낮은 이며 hpet 구 덩이 대신 정밀 클록 인터럽트 (10 MHz 이상)를 제공 하도록 설계 되었습니다. 그것은 마이크로소프트와 인텔 17872.html에 의해 공동 개발 되었다 >. Hpet는 고정 주파수 숫자 증가 카운터 및 3 32 독립적인 타이머, 각각에 비교 기 및 레지스터 (인터럽트 발생 때 나타내는 값 들고) 포함 되어 있습니다. 각 비교자는 레지스터의 값으로 카운터에 값을 비교 하 고 두 값이 같으면, 인터럽트를 발생 합니다.

관련 문서

연락처

이 페이지의 내용은 인터넷에서 가져온 것이므로 Alibaba Cloud의 공식 의견이 아닙니다.이 페이지에서 언급 된 제품 및 서비스는 Alibaba Cloud와는 관련이 없으므로이 페이지의 내용이 골칫거리 인 경우 저희에게 알려주십시오. 우리는 5 일 근무일 이내에 이메일을 처리 할 것입니다.

커뮤니티에서 표절 사례를 발견한 경우 info-contact@alibabacloud.com 으로 관련 증거를 첨부하여 이메일을 보내주시기 바랍니다. 당사 직원이 영업일 기준 5일 내에 연락 드리도록 하겠습니다.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.