[리눅스커널][인터럽트후반부] IRQ 스레드 핸들 irq_thread() 함수 분석
By Guillermo Austin Kim | 2019년 2월 25일 |
IRQ 스레드 핸들 irq_thread() 함수 분석 이번에는 IRQ 스레드 핸들 함수가 어떤 과정으로 실행하는지 점검해 보겠습니다. 커널 쓰레드가 생성되면 무한 루프를 돌면서 쓰레드 상태에서 따라 정해진 동작을 수행하는 스레드 핸들 함수가 실행합니다. IRQ 스레드는 irq_thread() 함수가 이 역할을 수행합니다. 먼저 IRQ 스레드를 깨우면 실행하는 irq_thread() 함수를 소개합니다.1 static int irq_thread(void *data)2 {3 struct callback_head on_exit_work;4 struct irqaction *action = data; 5 struct irq_desc *desc = irq_to_desc(action->irq);6 irq
[라즈베리파이] 라즈베리 파이 초기 설정하기
By Guillermo Austin Kim | 2020년 1월 5일 |
라즈베리 파이는 버전이 업그레이드될수록 초기 설정을 쉽게 할 수 있게 진화하고 있습니다. 마우스 클릭만 몇 번 하면 기본 설정을 마칠 수 있으니 긴장하지 말고 따라 해 봅시다. 다음 화면에서 [Next] 버튼을 클릭합니다. 그림 2.21 라즈베리 파이 설정 대화상자 [Set Country] 대화상자가 나타나면 [Use US Keyboard]를 체크박스를 체크한 다음 [Next] 버튼을 클릭합니다. 그림 2.22 국가 및 언어 설정 다음 화면은 패스워드를 설정하는 대화상자인데, 여기서는 일단 [Next] 버튼을 클릭해 넘어갑니다. 그림 2.23 패스워드 설정 이어서 나오는 [Set Up Screen]에서는 별도로 중요한 설정이 없으므로 [Next] 버튼을 클릭해 넘어갑니다. 그림
[라즈베리파이] 워크큐(Workqueue) 소개
By Guillermo Austin Kim | 2018년 8월 16일 |
워크큐는 인터럽트 후반부 처리 기법으로 많이 알려져 있는데 커널 전반에서 후반부를 처리하는 기법입니다. 인터럽트 후반부는 물론이고 프로세스 컨택스트 후반부 처리 용도로도 많이 씁니다. 즉, 어떤 코드에서도 워크큐를 써서 후반부 처리를 할 수 있다는 의미입니다. 그동안 배웠던 IRQ Thread와 Soft IRQ 와 같은 인터럽트 후반부 처리 기법과 워크큐를 비교하면서 워크큐의 특징을 알아보겠습니다. IRQ Thread는 인터럽트 후반부 처리 전용 쓰레드이며 threaded IRQ 방식으로 인터럽트 후반부 처리를 할 수 있습니다. 마찬가지로 워크큐도 인터럽트 후반부 용도로 쓸 수 있습니다. 그런데 인터럽트 발생 빈도가 높거나 더 안정적인 코드 유지 보수를 위해서 IRQ Thread 기법 적용을 선호합니다.
리눅스 민트(Linux Mint)에서 MySQL 설치
By 반달가면 | 2017년 12월 27일 |
MySQL 데이터베이스 관련해서 시험해 볼 것이 좀 있어서 리눅스 민트(우분투 계열)에서 설치해 보았다. mysql-server 패키지를 설치하면 된다. 터미널창에서 아래와 같이 입력. # S/W 저장소 정보 갱신 sudo apt-get update # MySQL 설치 sudo apt-get install mysql-server 설치가 진행되면서 중간에 mysql의 root 사용자 암호를 입력하라는 메세지가 나온다. 암호를 정해서 입력해 주면 된다. 설치가 완료되고 나면 아래와 같이 실행하면 되겠다. -u 옵션으로 사용자를 root로 지정하고 -p 옵션을 추가해서 암호를 입력받는다. mysql -u root -p 암호 입력후 mysql 프롬프트가 나오면 접속 완료.