1. | ![]() |
리눅스 커널 입문 | 유닉스, 리눅스, 및 리눅스 커널 개념 | ![]() |
2. | ![]() |
개발 환경 구축 | 디바이스 드라이버 개발을 위한 리눅스 커널 개발 환경 설정 | ![]() |
3. | ![]() |
프로세스 | 리눅스의 프로세스 관리 구조체 | ![]() |
4. | ![]() |
프로세스 구조체 | 리눅스의 프로세스 관리 구조체 QnA | ![]() |
5. | ![]() |
프로세스 트리 | 프로세스 상태와 프로세스 부모/자식 관계 자료구조 | ![]() |
6. | ![]() |
프로세스 트리 2 | 프로세스 부모/자식간 이동을 위한 구조체 | ![]() |
7. | ![]() |
프로세스 생성 | 자식 프로세스 및 스레드 생성 | ![]() |
8. | ![]() |
프로세스 스케줄링 | 리눅스 타스크 스케줄링 개념과 priority | ![]() |
9. | ![]() |
CFS | 리눅스의 CFS 개념, vruntime 및 자료구조 | ![]() |
10. | ![]() |
과제1: 커널 기반 개발 환경 구축 | 커널 개발 환경 구축 방법과 과제 1 설명 | ![]() |
11. | ![]() |
CFS2 | CFS scheduling 예제 | ![]() |
12. | ![]() |
CFS3 | CFS scheduling 예제(계속), RB-tree | ![]() |
13. | ![]() |
스케줄러 진입위치 | 스케줄링 진입 위치와 sleep/wake | ![]() |
14. | ![]() |
커널 선점 | 커널 선점의 개념과 선점 가능 위치 | ![]() |
15. | ![]() |
CPU 지속성 | CPU와 process와의 친밀성과 스케줄링 | ![]() |
![]() |
디바이스 드라이버 | 리눅스 디바이스 드라이버의 개념과 구조 | ![]() |
|
![]() |
디바이스 드라이버 구조 및 사용 | 디바이스 드라이버 구조, 등록, 문자 디바이스 드라이버 예제 | ![]() |
|
![]() |
라즈베리 파이 | 라즈베리 파이의 GPIO 개요와 회로 연결 | ![]() |
|
![]() |
과제 2 | 과제 2 설명 | ![]() |
|
![]() |
시스템 콜 | 시스템 콜의 구조 및 예제 | ![]() |
|
![]() |
커널 자료구조 | 커널의 연결 리스트 및 구조체 | ![]() |
|
![]() |
커널의 리스트 검색 | 커널의 구조체들을 연결하는 리스트 구조 | ![]() |
|
![]() |
커널 자료구조 2 | 커널 스택, 큐, idr | ![]() |
|
![]() |
RB tree | RB tree의 개념과 구조 | ![]() |
|
![]() |
RB tree 연산 | RB tree에서 노드 삽입과 삭제 | ![]() |
|
![]() |
인터럽트와 그 핸들러 | 인터럽트 핸들러의 개념과 구조 | ![]() |
|
![]() |
인터럽트 핸들러 등록 | 인터럽트 핸들러 등록 방법과 과정 | ![]() |
|
![]() |
과제 3 | 3번째 과제 설명 | ![]() |
|
![]() |
인터럽트 핸들러 해제 | 인터럽터 핸들러 해제 방법과 작성시 주의사항 | ![]() |
|
![]() |
인터럽트 핸들러 구현 | 인터럽트 핸들러 구현 방법과 동기화 | ![]() |
|
![]() |
인터럽트 상태 | 인터럽트의 종류 및 구분 | ![]() |
|
![]() |
후반부 처리 개요 | 후반부 처리의 개념 및 분류 | ![]() |
|
![]() |
Softirq | Softirq의 개념과 구조 | ![]() |
|
![]() |
Tasklet | Tasklet의 개념과 구조 | ![]() |
|
![]() |
Work queue | Work queue의 개념과 구조 | ![]() |
|
![]() |
과제 4 | 4번째 과제 설명 | ![]() |
|
![]() |
Work queue와 동기화 | Work queue에서 동기화가 필요한 부분과 전/후반부 처리의 동기화 필요성 | ![]() |
|
![]() |
동기화 개요 | 커널 동기화가 필요한 이유 | ![]() |
|
![]() |
커널 동기화 1 | Atomic operation, spin lock | ![]() |
|
![]() |
커널 동기화 2 | 커널 세마포, seq-lock | ![]() |
|
![]() |
커널 동기화 3 | ordering | ![]() |
|
![]() |
커널 타이머 1 | Tick과 timer interrupt | ![]() |
|
![]() |
커널 타이머 2 | Jiffie와 timer interrupt | ![]() |
|
![]() |
커널 타이머 3 | timer handler 구현 | ![]() |
|
![]() |
메모리 관리 1 | 페이지 정보와 zone | ![]() |
|
![]() |
메모리 관리 2 | 페이지 할당 및 반환 함수 | ![]() |
|
![]() |
메모리 관리 3 | Slab layer, high memory, CPU별 메모리 | ![]() |