9 시간과 타이머 관리9.3 타이머 관리9.3.1 타이머 개요과거 리눅스의 클래식 타이머는 HZ 단위 (1초에 n 번) 로 동작밀리초 단위로 동작하여 고해상도 처리를 하지 못해, 다른 기법들이 요구됨타이머의 용도타임 아웃: 지정된 시간안에 조건이나 이벤트가 발생하기를 기다림. (네트워크의 패킷을 대기)타이머: 지정된 시간 후에 일을 처리함타이머의 요구사항전력 사용 측면: 제한된 전격 용량을 사용하는 경우 에너지를 줄임.고해상도의 필요: 고해상도 타이머는 세밀한 단위로 시간(clock) 을 제공하는 디바이스가 시스템에 존재해야함. 나노초 단위로 관리타이머의 구성요소clock chip 을 CCF 등 추상화된 프레임 워크로 사용클록 이벤트 서브 시스템을 사용하여 주기적 or oneShot 을 처리9.3.2 저..
9 시간과 타이머 관리리눅스의 시간은 변화를 인식하기 위한 수단으로 타임라인을 구성하는 기준이다.타이머란 이벤트를 처리할때 프로세스를 제어하거나 측정하는데 사용할 수 있는 특별한 종류의 시계다.시간과 타이머를 관리하기 위한 서비스시간 관리를 위한 타임 키핑클록의 사용 밀 동기화를 위한 관리시간의 표현타이머 이벤트의 인터럽트 스케줄링이런 서비스를 위해 중요 기반 자원인 클록을 사용해야 한다.이 구현이 하드웨어와 연관되어 있어, 추상화를 하기위한 노력이 많이 진행됨. 9장이서는 클록용 프레임워크와 일반 타임 서브 시스템, 타이머 활용을 알아보자.9.1 공통 클록 프레임워크 (CCF)SoC(system on chip) 마다 비슷하게 구현되던 API 를 해결하기 위해 커널 3.4 에서 CCF 가 추가되었다.9...
8 인터럽트8.4 인터럽트 지연처리8.4.1 top-half, bottom-half인터럽트 핸들러에서 인터럽트를 처리하는 동인 인터럽트는 비활성화 상태가 됨.이때 blocking 되어 데드락이 걸리거나 인터럽트를 놓칠 수 있고, sleep 하는 경우는 깨어나지 못할 수도 있음이런 문제를 방지하기 위해, 인터럽트 핸들러를 별도의 안전한 컨텍스트에서 실행함구분top-halfbottom-half실행 위치하드웨어 인터럽트 핸들러 내에서 수행하드웨어 인터럽트 핸들러 밖에서 수행실행 컨텍스트하드웨어 인터럽트 컨텍스트소프트웨어 인터럽트 컨텍스트 or 프로세서 컨텍스트인터럽트 활성화 여부인터럽트 비활성화 상태인터럽트 활성화 상태주요 작업다음 인터럽트 발생 가능하도록 최소한의 작업 수행처리시간이 길거나 블록 될 수 있는..
- Total
- Today
- Yesterday
- Visual Studio
- SuffixArray
- it's called a vrpit
- RVO
- Quest2
- 영상 픽셀화 하기
- 카카오
- 봄날에 스케치
- chrome-extension
- Reciprocal n-body Collision Avoidance
- cockroach db
- print shared_ptr class member variable
- boost
- mysql
- Obstacle Avoidance
- shared_from_this
- Golang
- 코어 남기기
- vrpit
- set value
- 에러 위치 찾기
- red underline
- 면접
- vr핏
- 우리는 vr핏이라고 부릅니다
- ad skip
- hole-punching
- 잘못된 빨간줄
- 클래스 맴버 변수 출력하기
- C++
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |