5.4.3 인터럽트 핸들러 등록 시 플래그 설정
By Guillermo Austin Kim | 2019년 2월 6일 |
5.4.3 인터럽트 핸들러 등록 시 플래그 설정이 내용을 다루기 전에 인터럽트 신호에 대해서 조금 살펴보겠습니다. 가끔 인터럽트가 제대로 안 올라온다거나 디바이스 드라이버를 처음 올려서 기본 동작을 확인할 때 오실로스코프 장비로 인터럽트 파형을 측정합니다. 이럴 때 가끔 하드웨어 개발자와 분쟁이 생기는데요. 인터럽트을 발생시키는 하드웨어에 노이즈가 껴서 제대로 인터럽트 신호를 제대로 전달을 못 하면 드라이버에서 인터럽트를 제대로 처리하지 않는 것처럼 보일 때가 있거든요. 가끔은 인터럽트 신호가 엄청나게 자주 발생해서 시스템 오동작을 유발할 때도 있습니다. 이를 리눅스 커널 커뮤니티에서 IRQ Storm이라고 합니다. 이렇게 인터럽트 동작에 조금이라도 의문이 생기면 인터럽트 파형을 측정하셔서 고생 덜하시길
[bash: grep] 두개의 파일에서 공통으로 출현하는 문자열 찾기
By 반달가면 | 2016년 11월 30일 |
파일 2개를 비교해서 양쪽 파일에 공통적으로 출현하는 문자열을 찾는 방법이다. grep의 -f 옵션을 사용하면 된다. -f 옵션은 검색할 문자열을 파일로부터 한줄씩 읽어들이기 위한 것이다. 예를 들어 a.txt 파일에 있는 문자열 중에 b.txt에도 있는지 알고 싶다면, 아래와 같이 해 볼 수 있다. # a.txt 파일로부터 문자열 패턴을 읽어서 b.txt에서 검색 (-f 옵션) grep -f a.txt b.txt 한가지 생각해 볼 점은, a.txt와 b.txt에 빈 줄이 많이 존재할 경우 이것도 전부 문자열로 간주해서 비교하기 때문에 빈 줄도 일치하는 것으로 결과가 나와서 보기에 지저분할 수 있다. 위의 예시를 좀 더 깔끔하게 작업하려면 a.txt 파일에서 빈 줄을 제거하고 중복되는 문자
[라즈베리파이] ksoftirqd 쓰레드란
By Guillermo Austin Kim | 2018년 6월 24일 |
# 인터럽트 후반부 처리1 IRQ Thread(threaded IRQ) 란 2. 인터럽트 후반부 처리(Bottom Half) 소개3. IRQ Thread는 언제 생성할까?[1] 4. IRQ Thread는 언제 생성할까?[2] 5. ksoftirqd 쓰레드란 ksoftirqd이란 per-cpu 타입 프로세스입니다. 즉 CPU 개수만큼 생성해서 정해진 CPU 내에서만 실행합니다. ksoftirqd 프로세스는 커널 쓰레드로 Soft IRQ 서비스를 쓰레드 레벨에서 처리합니다. 리눅스 커널을 탑재한 어떤 시스템에서도 볼 수 있는 친근한 프로세스입니다. 먼저 ksoftirqd 쓰레드를 같이 확인하겠습니다. 다음 사이트를 방문하면 다른 리눅스 시스템에서 ksoftirqd 쓰레드를 확인할 수 있습니다.[출처:
깃허브(github)에 공개된 파일을 wget으로 다운로드하기
By 반달가면 | 2019년 11월 27일 |
간단한 내용이지만 종종 사용할 때가 있어 정리해 두기로. 깃허브(github)에 올라와 있는 파일을 리눅스의 wget 명령으로 다운로드하는 방법니다. 예를 들어 어느 깃허브 페이지에 소스 코드 my_source.c 파일이 공개되어 있다고 하면, 이 파일을 클릭하면 해당 소스 코드의 내용을 볼 수 있다. 그러나 해당 주소를 wget의 인자(argument)로 지정하면 소스 코드가 아니라 소스 코드의 내용을 포함한 웹페이지, 즉 html 파일을 다운로드한다. 실제 소스 코드 파일을 받고 싶다면 해당 파일을 클릭했을 때 나온 내용 페이지에서 "RAW" 버튼을 찾아보자. 파일 내용의 오른쪽 위에 보일 것이다. 이 "RAW" 버튼과 연결되어 있는 주소가 해당 파일 자체를 다운로드할 수 있는 링크가 된