Timer 15.03.03 CSLAB Park, Jin hui.

Slides:



Advertisements
Similar presentations
1. 바이러스의 감염 증상 가. 컴퓨터가 부팅되지 않거나 부팅 시간이 길어지 고 이상한 소리나 메시지, 화면이 출력된다. 나. 프로그램이 실행되지 않거나 실행 시간이 길어 지며 파일의 날짜, 크기 등이 변경된다. 다. 파일이 지워지거나 새로운 파일이 생성되고 디 스크의.
Advertisements

경영학과 이은지 경영학과 윤혜리 경영학과 이지은 경영학과 유승연 경영 성공사례 분석.
일본주식시장의 신 고레가와긴조 투자전략 6 조 안승권. 신문수 발표자 : 신 문 수. 출 생 : 1897 효고현에서 출생 학 력 : 초등학교졸업, 사업가 1992 년 95 세 사망 유일한 자서전 1981 년 스미토모 금속광산 주식매매 200 억엔 벌다⇒ 일본 소득세 납세.
1, 묵상 : 하나님을 알아가는 시작입니다. 다윗의 삶 : 삼상 30:1-6 도의 지도력 동역자 가족 양, 현지인 1, 왕이 되기 전의 일이다. 2, 위기를 해결할 수 있는 것은 다윗 자신이다. 3,6 절 여호와를 힘입고 용기를 얻었더라. ( 마음속에 깊이.
아동 성폭력사건 대응사례 및 예방 종합 추진 대책 전라북도 군산시 아동 성폭력사건 대응사례 및 예방 종합 추진 대책 전라북도 군산시.
능력중심사회 구현을 위한. Contents 사업개요 01 지원내용 02 운영현황
1. Drive A, Drive B 표준 CMOS 설정 화면에서는 하드디스크 드라이브의 특성 외에 플로피디스크 드라이브도 설정해야 합니다. PC에서 FDD를 2개까지 사용할 수 있다. 표준 CMOS  설정 화면의 Drive A와 Drive B 항목에서는 플로피디스크.
시스템 운영계획 OS 설치 및 드라이버 설치 패치 및 업그레이드 보안설정
Tag Mobile Node Kang Moo Jin 1. Content  Tag Mobile is …  H/W architecture  S/W architecture  TAG Mobile System Protocol  Problem  Future work 2.
2009개정 중등 국어과 교육과정 울산광역시교육청 교육과정 컨설팅단 : 정일진.
일 러 두 기 ◆ 이 책자는 경고, 주의, 참고로 구분되어 있습니다. 경 고
사 용 설 명 서 (주의사항) 전기재해에 대한 예방책 신기술 에너지 절감기업,친환경 탄소발열체 연구소
장원인의 친절세상 만들기 밝고 따뜻한 장원인.
달라지는 노동법 개정 내용 노무법인 正道 잠시나마… 주요 노동관계법 개정내용 3. 마무리 Contents
경남이의 백제역사문화탐방 진주시청소년수련관.
서울시 ‘찾아가는 동 주민센터’ 사업 시행 이후 지역사회의 변화
포사체 실험 1조 김민수 전수진 이예연 오혜윤 최지수.
진라면 대학생 서포터즈 JIN & JINY 6기 지원서
원정초등학교 5학년1반 48번 윤민정.
*노동문제 * -비정규직 유효림 박지희 전향숙 황연두.
Timer Programming in Linux
KTC 생산운영관리 PROJECT 생산계획 정확도 향상.
제 11 장 복 리 후 생 6조 김 태 찬, 양 승 원, 유 상 림, 박 미 현
비산먼지발생사업장 비산먼지 저감교육 서 울 특 별 시.
UNIT 15 Timer & Watch Dog 로봇 SW 교육원 조용수.
Analog Signal 의 PWM 출력 By hyaoo.
14. 입출력 다중화 김진홍
DSP와 TMS320F28X의 이해
DSP와 TMS320F28x의 이해.
11. 전자기파 변하는 전기장은 자기장을, 그리고 변하는 자기장은 전기장을 유도한다. 이 관계는 진공상태에서도 성립한다. 또한 이들은 전자기파의 형태로서 극한의 속도로 공간을 가로지를 수 있다. 이들 전자기파는 우리 주위에 존재하면서 통신기술과 열복사 등의 기초가 된다.
임베디드 시스템 개론 3주차 Embedded System..
Chapter 10. Interrupt.
AVR - Chapter 15 황 지 연.
Operating System 5주차 - System Call Analysis -
작업장에서 불의의사고로 절단사고가 발생했다면
타이머/카운트 정리 정보통신•컴퓨터 공학부 송명규
Stop Watch 예비제안서 10조 이인희 김민석 박재원
제2장 프로세스 이나현.
ATmega128 기초와 응용 타이머/카운터.
해양생태계 이상현상 대응관리 남이현.
보상사업 제안서 반룡일반산업단지 사업시행자 성창아이엔디㈜ 대표 정연교님 귀하 주 식 회 사 한 국 보 상 원.
학습 주제 p 역학적 에너지는 보존될까?(2).
장원인의 친절세상 만들기 밝고 따뜻한 장원인.
2015 한국연구재단 글로벌박사 양성사업 변경사항 안내
천안시 호재 정리 ▶ 천안 원 도심재개발 정비예정구역 총괄 : 80개 구역 규모 : 3,130,235 ㎡(약94.7만평)
치료 레크레이션 프로그램 (지적 장애 대상) 과 목: 학 과: 학 번: 이 름: 제 출 일 자 담 당 교 수:
운영체제 (Operating System) (하드웨어와 응용 프로그램 사이의 인터페이스 역할을 담당하는 시스템 소프트웨어)
잔류전류감지기 광명소방서 광명119안전센터 정대성.
교육방법 및 평가방법 안내.
주차권 발행기(바코드).
제5장 사회복지조직의 환경과 관리전략.
여러가지운동 신나는 과학 이원숙.
실험 목적 회전축에 대한 물체의 관성모멘트를 측정하고 이론적인 값과 비교한다 .
CONTENTS Ⅰ. 대회목적 Ⅱ. 대회개요 Ⅲ. 대회요강 Ⅳ. 대회규정 Ⅴ. 운영계획 Ⅵ. 홍보계획 Ⅶ. 예산계획.
(생각열기) 횡파와 종파를 구분하는 기준은 무엇인가?? 답 : 진동하는 방법의 차이
(제작자: 임현수)모둠:임현수,유시연,유한민
자바 프로그래밍 Thread를 이용한 애니메이션 서울호서전문학교 게임프로그램개발과.
인터럽트 발생원인 정전 혹은 데이터 전송 과정에서 오류 발생 등 컴퓨터 자체의 기계적인 문제 발생
포이에마장애인보호작업장 시설소개서.
*컴퓨터 구조 4장 연습문제 천재성.
중학교 2학년 과학 1. 여러 가지 운동 > 1) 물체의 운동 방향이 변하는 운동에는 어떤 것이 있을까?
과목명 : 과학 1학년 1학기 파동> 보충, 심화학습 (8/8) 보충, 심화 학습.
房思琪的初恋乐园 ‘팡쓰치’로 보는 문학의 힘 정은비.
제3의 미디어, SNS의 힘! 경영학부 권예슬.
하드웨어 6월12일 강의자료.
Virtual Machine Management
大鵬(대붕) 김 시 습 국어국문학과 이준석.
컴퓨터 개론 √ 원리를 알면 IT가 맛있다 쉽게 배우는 컴퓨터 기본 원리 한빛미디어 교재출판부.
2009개정 중등 국어과 교육과정.
알루미늄 투명형 방음벽.
Presentation transcript:

Timer 15.03.03 CSLAB Park, Jin hui

Contents 커널의 Timer Hz 지피 하드웨어 시계와 타이머 타이머 인터럽트 핸들러 날짜와 시간 타이머 실행지연

커널의 Timer 커널의 Timer 커널 함수는 시간 기반 동작 시스템 하드웨어 Wall time 시스템 가동시간 커널이 시간을 이해하고 관리하는 데 필요한 도움을 줌 System timer 제공 Tick 값을 사용해 현재 시간과 가동시간 기록 Wall time 사용자 공간 어플리케이션에 제공하는 시간정보 시스템 가동시간 시스템 시작 이후의 상대적인 경과시간 진동수(미리 설정 된 주파수 마다 울림)가 울림 Time Interrupt 발생 진동수(미리 설정 된 주파수 마다 울림)가 울림 Time Interrupt 발생 Tick

커널의 Timer Timer Interrupt Timer Interrupt를 통해 주기적으로 실행되는 작업들 시스템 가동시간 갱신 현재 시간 갱신 대칭형 다중 프로세서 시스템은 스케줄러 실행 큐 간의 균형을 조절 설정 시간에 다다른 동적 타이머를 실행 자원 사용 현황과 프로세스 시간 통계 갱신

진동수 : Hz Hz 시스템 시작 시 Hz의 값에 의해 타이머의 빈도수가 정해짐 지원 아키텍처 별로 다른 값을 가짐 일부 아키텍처는 장비 유형에 따라 다름 주기 : 1/Hz, 예 ) x86, Hz : 100, 타이머 인터럽트의 주파수는 100Hz 초당 100회 발생(1/100초이므로 10밀리초마다 발생) Timer interrupt 주파수(p.321 표 11.1) 코드 구현 시 특정 Hz 값으로 고정해 구현하면 안됨

진동수 : Hz 이상적인 Hz 값 큰 Hz의 장점 1000Hz 였던 2.5 개발 버전에서 논쟁거리가 되었음 그러나 시스템 전체에 영향을 끼침 큰 Hz의 장점 정교한 해상도와 향상 된 높은 정확도로 커널 타이머 실행 Poll(), select() 등 타임아웃 값을 사용하는 시스템 호출을 정밀히 사용 타임 아웃 시간 후에도 타이머 인터럽트를 기다림 -> 오차 발생 자원 사용률, 시스템 가동시간 등 측정값을 세밀히 기록 프로세스 선점의 보다 더 정확한 처리 프로세스의 타임 슬라이스 값이 타이머 인터럽트로 처리 인터럽트를 기다릴 시 지연 시간 발생

진동수 : Hz 큰 Hz의 단점 1000Hz까지는 성능을 크게 해치지 않는 것으로 결론 큰 Hz 값, 타이머 인터럽트 발생빈도 증가 타이머 인터럽트 핸들러 실행 시간 증가 다른 작업 시간 감소 프로세서 캐쉬 정보의 잦은 소실, 전력 소모증가

지피(Jiffies) 지피(Jiffies) 전역변수 시스템 시작 후 발생한 tick(진동수=타이머 인터럽트 발생 수)가 저장 됨 시스템 시작 시 0으로 초기화 이후 tick 발생 시 +1 Jiffies/Hz 로 시스템 가동시간을 구함 예 ) 100Hz일 경우 초당 Hz회 타이머 인터럽트 발생 Jiffies = 1000000일 경우 1000000/100 10000초 실행 되고 있음을 알 수 있음

지피(Jiffies) 지피(Jiffies) 지피 변수 선언 다른 초로 바꿀 때

지피(Jiffies) 지피의 내부 표현 Unsigned long 형이므로 32bit 아키텍처에선 32bit, 64bit 아키텍처에서는 64bit 기존 커널 코드와 호환성을 위해 고안해낸 내부 표현 방식 Jiffies = jiffies_64; 이 때 jiffies 변수를 사용한 코드는 하위 32비트만 사용함 Jiffies_64(64비트의 jiffies) 32비트의 jiffies

지피(Jiffies) 지피 값 되돌아감 최대 저장 한계를 초과할 경우 자릿수 넘침 현상 발생 32bit unsigned 경우 최대 2^32-1(4294967295) 카운터 값이 최대가 되면 0으로 돌아감

하드웨어 시계와 타이머 하드웨어 시계와 타이머 시간 기록을 위해 두 가지 하드웨어 장치를 제공 실시간 시계(RTC) 시스템 시간을 저장하는 비 휘발성 장치 시스템 기판에 붙어있는 작은 배터리를 통해 시간 기록 RTC와 CMOS통합 실시간 시계 동작 및 BIOS 설정도 보존 시스템 시작 시 RTC를 읽고 현재 시간 초기화 시스템 타이머 주기적으로 인터럽트 발생시키는 체계 제공 X86의 경우 설정 가능한 인터럽트 타이머(PIT)가 주 시스템 타이머 APIC타이머와 프로세서의 타임스탬프 카운터도 있음

타이머 인터럽트 핸들러 타이머 인터럽트 핸들러 아키텍처 종속적 부분 시스템 타이머의 인터럽트 핸들러 형태로 되어있음 Jiffies_64 및 현재 시간을 저장하는 xtime변수에 안전하게 접근하기 위해 xtime_lick을 얻음 필요에 따라 시스템 타이머의 확인 및 재설정 갱신 된 현재시간을 주기적 반영 아키텍처 종속적 타이머 함수인 tick_periodic() 호출 Jiffes_64값을 증가시킴 Update_Wall_time() 진동수에 맞춰 현재 시간 갱신 Calc_global_load() 시스템의 평균 로드 통계 계산 통계 값 갱신

날짜와 시간 날짜와 시간 현재 날짜와 시간은 kernel/time/timekeeping.c 파일에 저장 Timespec 구조체 선언(<linux/time.h>,<kernle/time/timekeeping.c> Xtime 변수를 갱신하기 위해서 xtime_lock 사용 Xtime의 값을 읽을땐 read_seqbegin(), read_seqretry()사용

타이머 타이머 동적 타이머 또는 커널 타이머라고 불림 커널 코드상에서 시간의 흐름을 관리하는 데 필수 작업을 지정된 시간만큼 미룰 때 사용 타이머의 사용 초기화 작업 만료 시간 및 만료 시 실행할 함수를 지정 후 타이머 활성화 만료 후 지정 된 함수 실행

타이머 타이머의 사용 타이머는 <linux/timer.h>에 정의 된 구조체로 표현 타이머의 만료시간을 지정함(진동수의 절대값) 타이머 활성화 및 만료 시간 수정 삭제 타이머 연결 리스트 항목 Jiffies 단위로 표시된 만료 시간 타이머 핸들러 함수 핸들러 함수에 넘어가는 인자 타이머 내부 처리용 항목, 사용x

타이머 타이머 경쟁조건 타이머의 구현 경쟁조건이 발생할 수 있는 상황 작업을 단순한 mod_timer() 함수로 처리하는 것은 다중 프로세스 장비에선 안전하지 않음 대부분의 경우에 del_timer()보다는 del_timer_sync() 함수 사용 사용하는 공유 데이터의 보호가 필요 커널은 타이머 함수를 비동기적으로 실행함 타이머의 구현 타이머 인터럽트가 끝난 후반부 처리 컨텍스트에서 타이머 핸들러 실행 여기서 부른다는 run_local_timer() 는 어디..? run_local_timer()에서 run_time_softirq()함수 호출 -> 프로세스의 만료된 타이머 모두 실행

실행지연 실행지연 타이머나 후반부 처리를 사용하지 않고 일정시간 실행을 지연시킬 경우 타이머나 후반부 처리를 사용하지 않고 일정시간 실행을 지연시킬 경우 이런 상황에서 지연 작업에 따른 해결책이 따로 있음 루프 반복 가장 간단한 해결책 필요 지연시간이 짧거나 정밀도가 그다지 중요하지 않을 때 사용 원하는 클럭 진동수가 지날 때까지 루프 반복 예를 들어서 이렇게 할 수 있음 지연시간 동안 무의미한 루프를 도므로 다른 작업을 수행하지 못 함 Unsigned long timeout = jiffies + 10; While(time_before(jiffies, timeout)) ;

실행지연 현재 프로세스를 재스케줄링하는 방법 작은 지연 짧지만 정확한 지연 시간이 필요할 경우 하드웨어와의 동기를 위해 1ms 이하의 지연시간을 가질 경우 Udelay() : 지정한 마이크로초만큼 루프 반복

실행지연 Schedule_timeout() 만료시간을 가지고 대기열 휴면 해당 작업을 지정한 시간이 지날 때까지 휴면상태로 전환 타이머가 만료 시 Process_timeout()호출 현재 테스크의 상태 : TASK_INTERRUPTIBLE TASK_UNINTERRUPTIBLE 다른 테스크를 선택함 이후 process_timeout실행 해당 task를 TASK_RUNNING 으로 변경 TASK가 깨면 타이머 제거 만료시간을 가지고 대기열 휴면 자신을 휴면 대기열에 추가 원하는 조건 발생시 Wake_up()함수 호출