태그 : kernel 요약보기전체보기목록닫기
- [리눅스] /proc/meminfo 메모리 정보 해석하기 (2)2021.03.20
- [LinuxKernel] What is process?(0)2020.09.27
- [리눅스] insmod 명령어로 드라이버 설치 시 커널 내부 동작 디버깅해보기(ftrace) (3)2020.06.28
- [리눅스커널] 워크큐: struct worker 구조체 파악하기(0)2020.03.11
- [라즈베리파이] 라즈베리 파이 사용 시 주의사항(2)2020.01.16
- [리눅스커널] 스케줄링: __schedule() 함수와 'bool preempt' 인자(0)2020.01.16
- [리눅스커널] 시그널: ERESTARTSYS 매크로와 signal_pending() 에 대해서(0)2020.01.13
- [라즈베리 파이] 설치 - 라즈비안 이미지를 SD카드에 굽기(0)2020.01.04
- [리눅스커널] 익명 페이지 메모리 누수(Memory Leak) 디버깅 - TRACE32(0)2019.12.16
- [리눅스커널] 커널 동적 타이머를 사용해 실행 시각을 측정해보기(0)2019.12.08
- 14. 메모리 관리
- 2021/03/20 18:05
보통 시스템에 메모리가 얼마나 남아 있는지 점검하고 싶을 때가 있어요. 이런 상황에서 메모리를 디버깅할 때 가장 많이 활용되는 파일이 '/proc/meminfo'입니다.cat "/proc/meminfo" 명령어를 치면 상세한 메모리 정보를 파악할 수 있거든요.이번에는 "/proc/meminfo"란 노드가 proc 파일 시스템에 메모리 ...
- 4. 프로세스(Process) 관리
- 2020/09/27 16:00
//하지만 태스크의 개념은 프로세스와 겹치는 부분이 많습니다. 그런데 태스크의 의미가 프로세스와 스레드 기법기 도입되면서 발전했습니다. > 태스크를 실행하는 단위인 실행(Execution)을 결정하는 기준이 스케줄링으로 바뀐 것입니다. 표현이 어색하고 의미 파악이 어렵습니다. 단위가 실행이라는 것도 그렇고, 결정 기준이...
- 리눅스 디바이스 드라이버
- 2020/06/28 11:12
이전에 다음 글에서 insmod 명령어를 통해 모듈 타입 디바이스 드라이버가 설치될 때,커널 내부 함수가 어떤 흐름으로 작동하는지 코드를 리뷰했습니다.[리눅스] 드라이버: module_init 키워드로 지정한 함수가 호출되는 원리 - sys_finit_module()http://rousalome.egloos.com/10016090이어서 이번 시간에는 f...
- 7. 워크큐(Workqueue)
- 2020/03/11 20:00
워커를 관리하고 저장하는 자료구조는 worker 구조체입니다. 이번 절에서는 worker 구조체의 세부 필드를 분석하겠습니다. worker 구조체 분석다음은 worker 구조체의 선언부입니다.https://elixir.bootlin.com/linux/v4.19.30/source/kernel/workqueue_internal.h1 struct w...
- 2. 라즈베리 파이 설정
- 2020/01/16 21:49
이번에는 라즈베리 파이를 쓰면서 주의해야 할 사항 몇 가지를 정리합니다. 이 내용을 숙지하면 조금 더 오랫동안 라즈베리 파이를 쓸 수 있습니다.1. 라즈베리 파이의 전원을 끌 때는 반드시 셧다운 메뉴를 선택합시다. 컴퓨터의 전원을 끌 때처럼 하면 됩니다. 바로 전원 케이블을 빼버리면 라즈베리 파이가 다시 부팅을 못할 수 있습니다. 마이크로 SD 카드가 ...
- 10. 프로세스 스케줄링
- 2020/01/16 07:43
다음과 같이 __schedule() 함수의 구현부를 보면 'bool preempt' 인자를 전달한다.https://elixir.bootlin.com/linux/v4.19.30/source/kernel/sched/core.c static void __sched notrace __schedule(bool preempt){ s...
- 12. 시그널
- 2020/01/13 21:43
-ERESTARTSYS 는 리눅스 커널의 '시그널' 서브 시스템과 연관된 매크로로 시스템 콜을 다시 실행시키려고 할 때 반환하는 매크로이다. ERESTARTSYS 매크로의 의미보통 커널이 다시 시스템 콜을 재실행을 시키려는 이유는 '어떤 액션의 동기화'를 맞추기 위해서이다. 음, 내가 써도 무슨 소리인지 모르겠네. 나중에 이 글을 읽을 '나 자...
- 2. 라즈베리 파이 설정
- 2020/01/04 15:57
2. 마이크로 SD 카드에 라즈비안 이미지 쓰기다음으로 마이크로 SD 카드에 라즈비안 이미지를 굽는 프로그램인 Win32 Disk Imager를 내려받기 위해 다음 URL로 접속합시다. https://sourceforge.net/projects/win32diskimager/다음과 같은 화면이 나타나면 [Download] 버튼을 클릭합니다. 그...
많은 리눅스 시스템 개발자들은 자신이 개발하고 있는 리눅스 커널의 버전이 주류였으면 하는 바램이 있다. 하지만 현실은 다르다. 현재 리눅스 커널의 최신 버전인 4.19(LTS 기준)으로 개발하고 있어도 이전 리눅스 커널 버전에서 다뤘던 자료 구조에 대해 알고 있어야 한다.이번에는 커널 3.10 버전에서 struct anon_vma 구조체와 struct ...
- [Debugging] Tips
- 2019/12/08 09:46
이번에는 조금 더 재미있는 패치 코드를 같이 볼까요? 다음은 패치 코드의 내용입니다.diff --git a/kernel/workqueue.c b/kernel/workqueue.cindex cd8b61b..128c998 100644--- a/kernel/workqueue.c+++ b/kernel/workqueue.c@@ -49,7 +49,7 @@ ...
최근 덧글