라즈베리파이
Posts
191 posts[라즈베리파이] 시그널 - 시그널 핸들러 실행 및 커널 복귀 과정
signal은 특정 프로세스에게 어떤 메시지를 전달할 수 있는 가장 기본적인 수단입니다.signal은 다른 (user-level) 프로세스로부터 직접적으로 받거나 혹은 (주로 문제가 될 만한 동작으로인해) 커널로부터 받을 수 있습니다. 이러한 signal은 kernel-mode에서 처리가 되는데 주로 시스템 콜이나 인터럽트 처리 등을 마치고 user-mode로 돌아오기 직전에 해당 프로세스에게 전달된 signal이 있는지 검사하여 실행됩니다.(SMP 커널에서는 user-mode에서 실행 중인 프로세스가 signal을 처리해야 하면 강제로 scheduling하도록 IPI를 보내서 kernel-mode로 들어오게 만들기도 합니다.) signal을 받은 프로세스의 기본적인 반응은 거의 대부분 해당 프로세스의
[라즈베리파이] 시스템 콜 - 유저 공간에서 시스템 콜 발생
유저 공간에서 커널 공간까지 어떤 코드로 시스템 콜을 구현했는지 분석을 시작합니다. 유저 모드에서 시스템 콜을 발생하면 커널 모드로 어떻게 스위칭하고 이후 시스템 콜 핸들러가 실행하는지 파악하는 것입니다. 가장 먼저 이런 의문이 생깁니다. 시스템 콜은 실행 시작점은 어디일까요? 유저 공간에서 리눅스 저수준 함수를 호출했을 때가 시스템 콜 실행의 출발점입니다. 다음 전체 시스템 콜 흐름도에서 검은색으로 된 부분입니다. 리눅스 저수준 함수를 호출하면 실행하는 GNU C 라이브러리(glibc)가 어떤 흐름올 시스템 콜을 호출하는지 알아봅시다. GNU C 라이브러리 실행 흐름유저 공간에서 시스템 콜을 실행하기 위해서는 저수준 표준 함수를 호출해야 합니다.저수준 표준 함수는 glibc 라이브러리에 구현돼 있어 실
[라즈베리파이] 시스템 콜 테이블이란
시스템 콜 테이블을 알아보기 전 POSIX 규약에 대해서 점검합시다.POSIX(Portable Operating System Interface)란 응용 어플리케이션이 다양한 유닉스 계열 운영체제에서 호환성을 유지하면서 실행할 수 있게 만든 표준 규약입니다. 대표적인 POSIX 규약은 리눅스 저수준 함수, 시스템 콜 테이블, 프로세스 통신용으로 쓰는 시그널 번호입니다. 응용 어플리케이션은 각자 알고리즘과 구현 시나리오에 집중하고 리눅스 저수준 함수 세부 구현 내역과 리눅스 커널 동작에 신경을 쓸 필요가 없습니다. 리눅스 POSIX 표준으로 시스템콜 번호와 핸들러는 지정되어 있습니다. 시스템콜 테이블은 시스템콜 번호를 인덱스로 시스템 콜 핸들러를 분기시키는 역할을 수행합니다. 시스템 콜 테이블은 시스템 콜
Gameshell 휴대용 레트로 에뮬레이터 업그레이드 버전 발매
제가 지난번에 간략하게 조립/사용기를 올렸던 제품인데 구입을 원했지만 타이밍을 놓쳤던 분들에게 희소식일 수도 있겠습니다. 라즈베리파이와 비슷한 싱글보드 컴퓨터를 포함판 휴대용 레트로 스타일의 리눅스 기반 게임기입니다.기존에 판매했던 기기의 약간 업그레이드 된 버전의 판매를 오늘 시작한 모양입니다.기존 버전에 비해 업그레이드된 부분은1. 램이 512MB에서 1GB로 늘어났고 2. 마이크로 hdmi 출력(720p) 포트가 추가되었습니다.3. OS가 설치되어 기본으로 제공하는 마이크로SD카드가 8GB에서 16GB로 바뀌었습니다.4. 배터리가 1,050 mAh 에서 1,200 mAh로 업그레이드 되었습니다.*가격은 당연하지만 크라우드펀딩 때에 비해 다소 비싼 $159에 판매하고 있습니다만, $139에 학생할인 판

![[일상] Eave 65와 목새 택타일 | 토프레 무접점 느낌 | 타건 영상 있음](https://img.zoomtrend.com/2026/06/07/1780838085-SE-77297eb3-90bf-43a7-9629-75fd8530e370.jpg)

