[라즈베리파이] 인터럽트 디버깅 - in_interrupt #CS
By Guillermo Austin Kim | 2018년 6월 4일 |
in_interrupt 함수는 현재 구동 중인 프로세스 스택 Top 주소에 위치한 current_thread_info()->preempt_count 멤버이며 인터럽트 서비스 루틴이 실행되기 전 __irq_enter 함수에서 HARDIRQ_OFFSET를 더하고 인터럽트 서비스 루틴이 종료되면 해제합니다. 이제 커널 소스를 조금 수정해서 라즈베리안에서는 in_interrupt 매크로 값이 뭔지 확인하겠습니다. 인터럽트 핸들러에 아래 코드를 반영하고 로그를 받아보면 in_interrupt() 함수 리턴값을 볼 수 있습니다.diff --git a/drivers/mmc/host/bcm2835-sdhost.c b/drivers/mmc/host/bcm2835-sdhost.cindex 273b1be05..5f5
샤프 X68000 XVI, 라즈베리 파이 케이스로 부활하다
By 자그니 블로그 : 거리로 나가자, 키스를 하자 | 2018년 7월 24일 |
![샤프 X68000 XVI, 라즈베리 파이 케이스로 부활하다](https://img.zoomtrend.com/2018/07/24/a0001544_5b56b609cb756.jpg)
80년말 90년대초에 소년 시절을 보낸 사람들에겐, 꿈 같은 컴퓨터가 몇 개 있습니다. 샤프에서 나온 X68000 도 그 중 하나였죠. 그래픽이 끝내주는 게임기... 같은 느낌도 있지만, 아무튼 뭔가 굉장히 비싸고 좋은 컴퓨터인 것 같은데 본 기억은 없는, 그럼 컴퓨터였습니다. 그 컴퓨터가, 라즈베리 파이 2/3용 케이스로 부활... 했다고 합니다. 부활이라고 하긴 뭐하지만, 라즈베리 파이라는 기종 특성상, 에뮬을 이용해 원판 느낌을 살려쓰는 것도 가능... 하겠죠. 아무튼 제가 이런 레트로 기기 미니어처를 좋아해서, 보자마자 이거 소개해야지! 하고 적어놨다가... 6개월만에 소개합니다. 아하하... 보시면 아시겠지만, 일종의 프라모델이기도 합니다. 여기저기 라즈베리 파이를 위한
여러 이유로 리눅스 데스크톱으로의 이전 여정 본격적으로 시작
By 파란오이의 Beautiful Life | 2022년 6월 27일 |
처음 PC를 만날 때부터 시작해 지금까지 줄곧 제 PC의 메인 환경은 윈도우였습니다. 대략 95 시절부터 현재의 11까지 수십 년간 이어져 왔네요. 중간중간에 리눅스를 써 보려는 시도를 하기는 했는데... 그 때마다 꼭 현실적인 문제들에 걸려서 파일서버 등에서는 좀 오래 쓰더라도 메인 데스크톱에서는 조금 쓰다가 되돌아가고 했었습니다. 마지막 계기는 대략 10년 전쯤 되었던 것 같군요. 지금은 대략 윈도우 쓰는 PC가 집에 많게는 5대 이상도 되는데, 윈도우 7 이후 10 업그레이드 정책 덕분에 라이선스는 큰 문제가 되지 않았었습니다. 그리고 최근 다시 리눅스 환경으로의 이전을 시도해볼 만한 몇몇 계기가 생겼습니다. MS에 대한 개인적인 원한(?) 같은 것도 생겼고, KT 인터넷 환경에서의 윈도우 PC만 잡
[라즈베리파이] 스케줄링: 선점(Preemptive)과 비선점(Non-preemptive) 스케줄링
By Guillermo Austin Kim | 2019년 2월 2일 |
커널에서 지원하는 스케줄링 방식은 크게 선점 스케줄링 방식과 비선점 스케줄링 방식으로 나눌 수 있습니다. 대부분 스케줄링하면 선점 스케줄링 방식으로 이해하는 경우가 많습니다.히지만 커널은 프로세스 상태에 따라 유연하게 두 가지 방식을 같이 적용합니다. 먼저 선점 스케줄링 동작에 대해서 살펴보겠습니다.선점이란 단어는 보통 영어로 Preemptive라고 쓰는 경우가 많습니다. 실제 개발자들은 선점이란 용어보다 Preemptive 를 더 자주 쓰기는 합니다. Preemptive 란 단어는 뭔가 점유하고 있는 것을 뺃어 버린다는 뜻이 있습니다. 조금 더 구체적으로 어떤 프로세스가 CPU를 점유하면서 실행 중인데 스케줄러가 강제로 프로세스를 CPU에서 빼내는 동작입니다. 여기서 스케줄러가 어떤 방식으로 실행