일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- allocator
- fastpath
- vmalloc
- BLOCK
- vm_area_struct
- lruvec
- NDK
- spinlock
- devicedriver
- page
- 카프카
- proc
- Network
- Linux
- mm_struct
- pmap
- kafka
- multiqueue
- Apache
- kmalloc
- strex
- blk-mq
- memory
- slowpath
- slub
- buddy_system
- slab
- Kernel
- Android
- commit
- Today
- Total
목록Pr0gr4m (45)
Art of Pr0gr4m
Ubuntu 16.04.3 쓸 일이 생겼는데 (Fedora 27 QEMU 관련 이슈 원인) 너무 자주 프리징이 걸려서 원인을 찾아보니 https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1503731 이러한 이슈가 있었다. 해결법은 커널 부트 파라미터에 intel_idle.max_cstate=1 추가해주면 된다. 즉, 1) /etc/default/grub 파일 열어서 2) GRUB_CMDLINE_LINUX_DEFAULT="기존 파라미터" 를 3) GRUB_CMDLINE_LINUX_DEFAULT="기존 파라미터 intel_idle.max_cstate=1" 로 수정하고 4) update-grub 해주면 완료.
vim bootstrap 등에서 제공하는 플러그인을 사용하다보면 자동 주석 기능이 딸려온다. /* */ 주석의 경우엔 블락 단위로 쓰다 보니 자동으로 앞에 개행과 * 이 붙는 것이 편할 수 있지만 // 주석은 라인 단위로 쓰다 보니 엔터 쳤을 때 자동으로 붙는 것이 불편할 수 있다. 이럴 때 명령행모드에서 setlocal comments-=://를 쳐주면 라인 주석 자동 완성만 꺼진다. 둘 다 끄고 싶다면 set formatoptions-=r 이면 된다. 그런데 중요한건, .vimrc 파일에서 그냥 set으로 먹질 않는다. 이 경우 .vimrc 파일에서 적용하려면 `autocmd FileType * setlocal comments-=://` 와 같은 라인을 추가해주면 적용된다.
ISO/IEC 9899:1999 ISO/IEC 9899:2011
프로그램이 파일의 끝 너머로 파일 오프셋을 옮기고 쓰기 작업을 하면, 파일 중간에 빈 공간이 생긴다. 이전의 파일 끝과 새로 쓴 바이트들 사이의 이 공간을 파일 구멍(file hole)이라고 한다. 프로그래밍 관점에서 보면 파일 구멍 속에서도 바이트들이 존재하고, 읽을 시 0으로 채워진 바이트들의 버퍼를 리턴한다. 하지만 파일 구멍은 디스크 공간을 차지하지 않고 파일 시스템은 나중에 파일 구멍에 데이터가 쓰여질 때 디스크 블록을 할당한다. 여기서, 디스크 공간 할당에 대해서 블록 할당의 개념을 잘 알아둬야 한다. 대부분의 파일 시스템이 파일 공간을 블록 단위 (1K / 2K / 4K 등)로 할당하기 때문에 파일 구멍이 블록 경계에 걸치지 않고 블록 안에 들어간다면, 구멍이 있든 없든 똑같이 블록 하나가 ..