일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- blk-mq
- 카프카
- slab
- mm_struct
- page
- devicedriver
- spinlock
- proc
- NDK
- Kernel
- kafka
- Android
- pmap
- vmalloc
- vm_area_struct
- slowpath
- Network
- Linux
- Apache
- fastpath
- kmalloc
- allocator
- slub
- buddy_system
- memory
- BLOCK
- lruvec
- commit
- strex
- multiqueue
- Today
- Total
목록2024/07 (2)
Art of Pr0gr4m
결론부터 이야기하면 동기 IO와 비동기 IO는 'IO 시작 후 완료 전에 다른 작업을 수행할 수 있는지'와 '요청과 완료 순서의 보장'으로 구분할 수 있다. 블로킹 IO와 논블로킹 IO는 레이어(커널, 시스템콜, 특정 언어 및 라이브러리)마다 의미가 조금씩 달라지는데, 시스템 콜에서는 동기 IO 내에 블로킹 모드와 논블로킹 모드가 존재한다. 우선 시스템콜 레이어를 기준으로 해당 내용에 대해 알아보자. 블로킹 시스템콜 IO는 호출 시 해당 작업을 수행할 수 있을 때까지 반환하지 않고 대기한다.논블로킹 시스템콜 IO는 호출 시 해당 작업을 수행할 수 없다면 바로 반환한다. (혹은 일부 가능 시 일부만 수행하고 반환한다.) 예를 들어서 디스크에 write(disk_fd, "0123456789", 10); 함수..
concurrency is the ability of different parts or units of a program, algorithm, or problem to be executed out-of-order or in partial order, without affecting the outcome. This allows for parallel execution of the concurrent units, which can significantly improve overall speed of the execution in multi-processor and multi-core systems. In more technical terms, concurrency refers to the decomposab..