일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- vmalloc
- slub
- allocator
- strex
- multiqueue
- devicedriver
- vm_area_struct
- page
- kafka
- Apache
- slab
- commit
- buddy_system
- lruvec
- blk-mq
- Network
- Linux
- Android
- NDK
- kmalloc
- proc
- BLOCK
- 카프카
- pmap
- mm_struct
- spinlock
- memory
- slowpath
- Kernel
- fastpath
- Today
- Total
목록memory (10)
Art of Pr0gr4m
이번 포스트에서는 메모리 할당 정책의 기반이 되는 메모리 존에 대해서 알아본다. 1. Memory Zone 리눅스 커널은 물리 메모리의 주소 영역을 나눠 Zone으로 관리한다. Zone 타입은 다음과 같다. enum zone_type { /* * ZONE_DMA and ZONE_DMA32 are used when there are peripherals not able * to DMA to all of the addressable memory (ZONE_NORMAL). * On architectures where this area covers the whole 32 bit address * space ZONE_DMA32 is used. ZONE_DMA is left for the ones with smal..
이번 포스트부터는 리눅스의 메모리 모델과 관리 정책들에 대해서 알아본다. 가장 먼저 가상 메모리와 페이징에 대해서 알아볼 것이다. 참고로 세그먼테이션은 추후에 부팅과정에 대해 다룰 때 운영 모드와 함께 다룰 예정이며, 메모리 관리 정책에서는 넘어갈 것이다. 또한, 해당 포스트는 가상 메모리와 페이징의 일반적인 개념을 공부하는 포스트는 아니므로 컨셉에 대한 공부가 필요하다면 아래 링크를 참고하도록 한다. https://en.wikipedia.org/wiki/Virtual_memory flags bits: * * PG_reserved is set for special pages. The "struct page" of such a page * should in general not be touched (e.g..