Notice
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
Tags
- ROS #Robotics #ROS기초
- pdf 번역
- 파이썬
- 파이썬 채팅
- 파이썬 음성인식
- QGC#QGrouncControl#GLIB오류
- 파이썬 유튜브
- 논문번역 꿀팁
- 파이썬 텍스트 변환 #파이썬 공부
- 파파고 꿀팁
- 파이썬#파이썬경로#파이썬폴더#파이썬디렉토리
- 리눅스#모의해킹#리눅스명령어#head 명령어
- 파이썬 열
- 패스트 캠퍼스 #자율주행 #비전
- 파이선 행
- 파파고 번역
- 크롬오류#크롬검색어자동완성끄기#검색어자동완성오류#검색어자동완성 제거#검색어 노란선#검색어반복입력
- ROS #spin() #spinOnce() #ROS기초
- PDF 개행문자
- 스트림 암호 one-time-pad 공격#보안#암호
- 리눅스기초#리눅스명령어#리눅스 tail#tail#모의해킹 리눅스
- 파이썬 #파이썬프로젝트 #파이썬 예시 #파이썬 파일경로 #파이썬 자동화
- 파이썬 예시
- 파이썬 파일 전송
- 통계 #ROC #TPR #FPR #TNR #이진분류 #Accuracy #Recall
- 파이썬 음성파일 텍스트 변환
- 파이썬 #
- 파이썬#subprocess#communicate()
- 파이썬 프로젝트
- 파이썬 엑셀 파일 읽고 쓰기
Recent Comments
Archives
개발자비행일지
폴링(polling) 본문
폴링(polling)이란 하나의 장치(또는 프로그램)가 충돌 회피 또는 동기화 처리 등을 목적으로 다른 장치(또는 프로그램)의 상태를 주기적으로 검사하여 일정한 조건을 만족할 때 송수신 등의 자료처리를 하는 방식을 말한다. 이 방식은 버스, 멀티포인트 형태와 같이 여러 개의 장치가 동일 회선을 사용하는 상황에서 주로 사용된다. 서버의 제어 장치(또는 프로그램)는 순차적으로 각 단말 장치(또는 프로그램)에 회선을 사용하기 원하는지를 물어본다.
또한 이와 함께 아두이노 처럼 while loop() 안에서 thread() 형태로 동작하는 프로그램에서도 사용되는데 그 개념은 아래와 같다.
폴링(Polling)이란?
- Loop()문 내에서 반복적으로 외부 입력을 감시하는 문법 (절차지향적). 소프트웨어 구현이 간편하다는 장점이 있다.
인터럽트(Interrupt)란?
- 하드웨어에서 인터럽트는 GPIO의 상태에 변화가 있을 때 사용된다. 프로그램 코드가 실행되고 있는 도중에 폴링처럼 루프가 돌 때마다 매번 특정 버튼 상태를 감시하지 않으면서, 버튼 이벤트가 발생 했을 때 값을 변경하려고 하는 경우에 매우 유용하다.
- Loop()문이 돌다가 어떤 event가 생기면 원래 하던 loop문을 낮은 우선순위로 두고 원하는 프로세스를 실행한다는 개념이라고 보면 된다.
- 인터럽트를 사용하면 프로그램 실행 중 어느 곳에서나 끼어들어 원하는 작업을 수행할 수 있다.
- 인터럽트는 초인종에 비유할 수 있다. 집에서 여러가지 일을 수행하고 있는데, 누군가가 오기로 했다고 가정하자. 초인종이 없다면 다른 일을 하는 중간중간에 계속해서 문 밖을 확인해야만 한다. 그러나 초인종이 있다면 다른 일을 계속 하다가 초인종이 울리는 순간만을 기다리면 된다. 인터럽트도 일종의 그런 개념이다. 우선적으로 처리해야 Event가 발생하면 그것을 프로그램 내부에서 인식해야 하는데,매번 loop문이 돌 때마다 event의 발생여부를 확인하지 않도록 인터럽트 기능을 사용하는 것이다.
- 기본적으로 폴링과 인터럽트의 하드웨어 구성은 동일하다. (다만, 엣지트리거를 사용하려면 하드웨어 디바운싱 구현이 선행되어야 한다.)
- 폴링과 하드웨어 인터럽트는 각각 장단점이 있기 때문에, 사용 목적에 따라 적합한 방법을 취하면 된다.
- 컴퓨터의 입장에서 보았을 때, 폴링 방식으로 매번 event 발생여부를 확인하는 것은 core에 부담을 주는 것이 된다.
- 그러나 모든 상황을 인터럽트 만으로 설계할 수 있을까? 다양한 event에 인터럽트 개념을 도입하면 동시다발적으로 인터럽트가 발생했을 때, 문제가 될 수 있다.
'▶Theory' 카테고리의 다른 글
cardinality 란 (0) | 2021.03.31 |
---|---|
Covariance 공분산 (0) | 2021.03.26 |
Prior Probability, Posteriori Probability,Likelihood (0) | 2021.03.23 |
State transition Matrix, [제어공학] 특성방정식, 상태천이함수 (0) | 2021.03.22 |
시상수 또는 시정수 (Time Constant) (0) | 2021.03.18 |