[라즈베리파이] 인터럽트 소개(0)
By Guillermo Austin Kim | 2018년 2월 19일 |
![[라즈베리파이] 인터럽트 소개(0)](https://img.zoomtrend.com/2018/02/19/a0386257_5a8acbd1128ee.png)
인터럽트란"인터럽트 걸지마!", "인터럽트가 계속 걸려와 일을 제때 못 끝냈어요." 평소에 이런 소리 들어봤나요? 이렇게 인터럽트는 일상생활에서 쓰는 단어 같습니다. 그럼, 사람들은 인터럽트를 뭐라고 생각하죠? 보통 갑자기 생긴 일이나 하던 일을 멈추는 상황을 말하죠. 책을 읽다가 전화가 와서 읽던 책을 덮어 놓고 전화를 받는 상황을 예로 들 수 있습니다. 그럼 임베디드 세상에서 인터럽트란 단어는 자주 쓰일까요? 정답은 “아주 자주 씁니다.”입니다. 프로젝트 개발 도중 리눅스 드라이버 개발자들이 “인터럽트가 저 동작에서는 제대로 뜨지 않아”, “인터럽트를 설정해도 핸들러 호출이 안 되네” 그리고 “인터럽트 신호를 오실로스코프 장비로 찍어 봐야겠네.”"라고 말하죠. 임베디드 시스템 관점으로 인터럽트는 뭘 의
리눅스 민트 18.2 XFCE에서 도커(Docker) 설치
By 반달가면 | 2020년 4월 13일 |
리눅스 민트 18.2 XFCE에서 도커(Docker)를 설치했다. 우분투 기반의 배포판이므로 설치 과정은 우분투에서 도커를 설치하는 절차를 참고했다. 아래의 링크에 나온 내용으로 작업. Get Docker Engine - Community for Ubuntu 기존에 설치된 이전 버전의 도커를 먼저 제거하라고 되어 있는데, 설치된 것이 없으므로 설치로 바로 진행했다. 우선 필요한 다른 패키지들을 설치한다. # S/W 저장소 정보 갱신 sudo apt-get update # 필요한 패키지 설치 sudo apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common 이
리눅스에서 시스템 로그 확인 - journalctl
By 반달가면 | 2022년 8월 13일 |
리눅스의 시스템 로그(system log)를 확인하고 싶다면 터미널창에서 journalctl을 사용하면 되겠다. # 시스템 로그 전체 열람 journalctl 위와 같이 입력하면 가장 오래된 로그부터 보여준다. 만약 가장 최근의 로그부터 역순으로 보고 싶다면 -r 옵션을 사용한다. # 최근 로그부터 보기 journalctl -r 현재 발행하는 시스템 로그를 실시간으로 보고 싶다면 -f 옵션을 사용한다. # 실시간 확인 journalctl -f 특정 로그를 찾고 싶다면 grep을 활용할 수 있다. # sudo 로그만 보기 journalctl | grep sudo | more 시스템 로그는 시간이 오래 지나면 꽤 많은 분량이 된다. 현재 어느 정도의 디
[리눅스커널][워크큐] 딜레이 워크(delayed_work) 소개
By Guillermo Austin Kim | 2019년 2월 12일 |
딜레이 워크 소개 워크큐는 대표적인 커널 후반부 처리 기법으로 후반부 처리 코드를 워크 핸들러에서 실행합니다. 동기적으로 처리 할 필요가 없는 코드를 워크 핸들러에 위치시켜 비동기적으로 커널 쓰레드 레벨에서 처리하는 겁니다. 이런 구조로 드라이버를 설계하면 다양한 디바이스 드라이버 시나리오에 맞게 코드를 구성할 수 있습니다. 워크에서 유연성을 추가한 기법이 딜레이 워크입니다. 딜레이 워크란 무엇인가? 구체적으로 딜레이 워크란 무엇일까요? 딜레이 워크는 워크를 일정 시각(HZ 단위) 후에 지연시켜 실행합니다. 여기서 말하는 지연 시각은 디바이스 드라이버 시나리오에 맞게 변경할 수 있습니다. 라즈베리파이에선 진동수인 HZ는 100입니다. 예를 들어 다음 온도를 콘트롤하는 드라이버 시나리오를 생