Guillermo Austin Kim
Posts
998 posts![[리눅스커널][가상파일시스템] 프로세스는 파일객체 자료구조를 어떻게 관리할까?](https://img.zoomtrend.com/2019/04/08/c0246238_5c936507e5dc2.png)
[리눅스커널][가상파일시스템] 프로세스는 파일객체 자료구조를 어떻게 관리할까?
프로세스는 파일객체 자료구조를 어떻게 관리할까? 이전 절에서 파일을 오픈하면 프로세스가 파일 디스크립터와 파일 객체를 관리한다고 언급했습니다. 이번 소절에서는 프로세스 입장에서 파일 디스크립터와 파일 객체를 어떻게 관리하는지 살펴보겠습니다 패치 코드 소개이해를 돕기 위해 다음 어플리케이션 코드를 소개합니다.1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 89 #define FILENAME_NAME "/home/pi/s
[리눅스커널][디버깅] 편하게 커널 코드를 수정할 수 있는 디버깅용 Debugfs 드라이버 코드 소개
편하게 커널 코드를 수정할 수 있는 디버깅용 Debugfs 드라이버 코드 소개 이전 절까지 리눅스 커널 코드를 수정해서 ftrace나 커널 로그를 출력하는 방법을 소개했습니다. 리눅스 드라이버를 처음 접하거나 커널 코드에 익숙하지 않은 분은 커널 로그를 수정해 커널 빌드를 하는 것은 굉장히 낯선 일입니다. 왜나면 코드를 잘못 입력해 커널이 오동작하면 어떨지 걱정이 앞설 수 있기 때문입니다. 그런데 실수로 커널 코드를 잘못 입력하면 라즈베리파이가 부팅을 못할 수도 있습니다. 필자도 실수로 커널 코드를 잘못 수정한 후 컴파일한 적이 있습니다. 결과 라즈베리파이가 부팅이 안됐습니다. 처음 이런 상황을 겪으니 조금 당황스러웠습니다. 임베디드 리눅스 실전 개발자는 코드를 수정한 다음 커널 부팅이 안 되는 상황
[리눅스커널][시그널] 커널에서 시그널을 전달하는 진입점은 어디일까?
시그널 전달 진입점 시그널 생성 과정에서 스케줄러에게 시그널을 받을 프로세스 실행 요청을 했습니다. 리눅스 커널은 언제 시그널을 타겟 프로세스에게 전달할까요?출발점은 두 가지 실행 흐름입니다.1> 시스템 콜 핸들러 실행 마무리 후 ret_fast_syscall 레이블2> 인터럽트 핸들링 후 __irq_usr 레이블 이 동작은 리눅스 커널보다 ARM 프로세스가 많은 관여를 합니다. ret_fast_syscall 레이블 분석 유저 프로세스가 시스템 콜 핸들러 실행을 마치면 ret_fast_syscall 레이블로 복귀합니다. ret_fast_syscall와 slow_work_pending 레이블에서 프로세스에게 시그널이 전달됐는지 점검합니다. 해당 코드 분석을 시작하겠습니다.[https:/
[리눅스커널][가상파일시스템] 파일 객체: close() 함수 연산 세부 동작 분석
파일 객체: close() 함수 연산 세부 동작 분석 다음 파일을 닫을 때 호출하는 sys_close() 함수 코드를 볼 차례입니다.1 SYSCALL_DEFINE1(close, unsigned int, fd)2 {3 int retval = __close_fd(current->files, fd);45 /* can't restart close syscall because file table entry was cleared */6 if (unlikely(retval == -ERESTARTSYS ||7 retval == -ERESTARTNOINTR ||8 retval == -ERESTARTNOHAND ||9 retval == -ERESTART_RESTARTBLOCK))10
[리눅스커널][디버깅] 슬럽(슬랩) 오브젝트 레드존 데이터 구조 T32로 메모리 디버깅(2)
할당(Alloc)된 슬럽 오브젝트 데이터 스트럭처 파악하기 이전 포스팅에서는 Free 슬럽 오브젝트 주소인 0xC0067BC0 기준으로 어떤 패턴의 자료구조인지 파악했습니다. 이번 시간에서는 이미 할당된 슬럽 오브젝트의 데이터 스트럭처를 파악하겠습니다. ________address|_data________|value_____________|symbol NSD:C0067A80| 41 1A 17 00 0x171A41 //<-- "kmalloc-64" 슬럽 오브젝트 시작 주소 NSD:C0067A84| 11 00 00 00 0x11 NSD:C0067A88| 01 00 00 00 0x1 NSD:C0067A8C| 01 00 00
![[1년 전 오늘] 250608 인천 무의도 덕점방파제 바다루어낚시 - 장대, 광어](https://img.zoomtrend.com/2026/06/10/1781084366-20250608122254.jpg)
![[CV] [Comi] '終末のハーレム ファンタジア' (종말의 하렘 판타지아) 17권. 그동안 SAVAN에 무슨 일이 있었던 거냐](https://img.zoomtrend.com/2026/06/10/1781084386-ECA484EBA6ACEC9790.jpg)

