Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- vm_area_struct
- lruvec
- Network
- slub
- blk-mq
- 카프카
- kafka
- devicedriver
- page
- pmap
- memory
- Apache
- spinlock
- kmalloc
- strex
- commit
- Kernel
- multiqueue
- NDK
- buddy_system
- proc
- slab
- BLOCK
- vmalloc
- allocator
- slowpath
- Android
- fastpath
- Linux
- mm_struct
Archives
- Today
- Total
목록io (1)
Art of Pr0gr4m
[Linux Kernel 5] Block Device Driver Basic Concept
블록 디바이스 드라이버는 Block 단위(사실은 세그먼트 단위)로 입출력을 하는 디바이스 드라이버다. 문자 디바이스 드라이버와의 가장 큰 차이는 Random Access 가능 여부다. Random Access가 가능한 HDD, SSD 등을 제어하기 위해 사용한다. 단순히 데이터 스트림을 처리하는 문자 디바이스 드라이버와 다르게 제어해야할 범위도 넓고 성능 개선도 신경을 써야하기 때문에 기반에 깔린 개념들이 꽤나 복잡하다. 따라서 해당 포스트에서는 기반 개념들을 간단히 정리하고, 실제 디바이스 드라이버 예제는 다음 포스트에서 작성하기로 한다. 1. LBA LBA는 Logical Block Addressing의 약자로 모든 블록을 선형적으로 다루는 모드이다. 참고로 섹터는 디스크상 저장 기본 Unit이고 블..
IT/Linux Kernel
2020. 5. 4. 00:49