-
- 주제분류
- 공학 >컴퓨터ㆍ통신 >컴퓨터공학
-
- 강의학기
- 2017년 2학기
-
- 조회수
- 70,284
-
- 평점
- 3.3/5.0 (8)
- 강의계획서
- 강의계획서
리눅스 커널의 구조, 동작 원리, 그리고 자료구조를 이해하고 이를 라즈베리파이 디바이스 드라이버 제작을 통해 실무에 적용할 수 있는 능력을 기를 수 있다.
- 수강안내 및 수강신청
- ※ 수강확인증 발급을 위해서는 수강신청이 필요합니다
차시별 강의
| 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별 메모리 | |
연관 자료










