728x90
중앙대학교 3-2 리눅스 응용 설계 (손용석 교수님) 과목 정리입니다.
Monolithic Kernel vs . Microkernel
- kernel이 OS의 가장 중요한 부분
Monolithic kernel
- OS architecture
- device drivers, file system, IPC 같은 대부분의 component가 kernel space에 포함
- 실행 가능한 module을 runtime에 dynamically load & unload 가능
Microkernel
- software의 near-minimum amount
- OS를 구현하기 위한 mechanism을 제공
- mechanism은 address space management, thread management, inter-process communication (IPC)을 포함
monolithic kernel achieves higher performance
Advantage of Monolithic Kernel
- CPU scheduling, memory management, file management, 다른 OS function을 system call을 통해 제공
Disadvantages of Monolithic kernel
- 어느 service가 fail이 발생한 경우, 전체 system이 fail → 모든 service가 kernel space에 존재하기 때문에
- user가 새로운 service를 추가해야 할 때, user는 전체 OS를 수정해야 한다. (kernel compile 다시 해야 함)
Why we need Kernel Module
- Loadable kernel module : runtime에 kernel과 code가 연결될 수 있는 object file
- linux는 modularity, extensibility를 loadable kernel module로부터 얻음
- 대부분의 kernel function은 kernel build시 module로 컴파일 될 수 있다.
- Device drivers, network protocols, file systems, etc
728x90
'School Lecture Study > Linux System Application Design' 카테고리의 다른 글
6-1. Synchronization (1) (0) | 2022.12.20 |
---|---|
5. Process and Thread (0) | 2022.12.20 |
4-2. Kernel module (1) | 2022.12.19 |
3-2. System calls (0) | 2022.12.19 |
3-1. Linux Commands and Tools (0) | 2022.12.10 |