├── .github └── FUNDING.yml ├── 01-operating-system-overview ├── hello.go ├── hello.py ├── inf-loop.py ├── pause.c └── syscall-inf-loop.py ├── 02-process-management-1 ├── fork-and-exec.py ├── fork.py ├── intignore.py ├── pause.c ├── spawn-by-fork-and-exec.py ├── spawn.py └── wait-ret.sh ├── 03-process-scheduler ├── cpuperf.sh ├── inf-loop.py ├── load.py ├── multiload.sh ├── plot-perf.py ├── plot_sched.py ├── sched-nice.py └── sched.py ├── 04-memory-management ├── buff-cache.sh ├── capture.sh ├── demand-paging.py ├── memuse.py ├── mmap.go ├── segv-c.c └── segv.go ├── 05-process-management-2 ├── count ├── cow.py ├── inc-lock.sh ├── inc-wrong-lock.sh ├── inc.sh ├── non-shared-memory.py └── shared-memory.py ├── 07-filesystem └── filemap.go ├── 08-storage-hierarchy ├── cache.go └── plot-cache.py ├── 09-block-layer ├── HDD │ ├── -mq-deadline-128.json │ ├── randwrite-mq-deadline-1.json │ ├── randwrite-mq-deadline-1.txt │ ├── randwrite-mq-deadline-2.json │ ├── randwrite-mq-deadline-2.txt │ ├── randwrite-mq-deadline-3.json │ ├── randwrite-mq-deadline-3.txt │ ├── randwrite-mq-deadline-4.json │ ├── randwrite-mq-deadline-4.txt │ ├── randwrite-mq-deadline-5.json │ ├── randwrite-mq-deadline-5.txt │ ├── randwrite-mq-deadline-6.json │ ├── randwrite-mq-deadline-6.txt │ ├── randwrite-mq-deadline-7.json │ ├── randwrite-mq-deadline-7.txt │ ├── randwrite-mq-deadline-8.json │ ├── randwrite-mq-deadline-8.txt │ ├── randwrite-mq-deadline.txt │ ├── randwrite-none-1.json │ ├── randwrite-none-1.txt │ ├── randwrite-none-2.json │ ├── randwrite-none-2.txt │ ├── randwrite-none-3.json │ ├── randwrite-none-3.txt │ ├── randwrite-none-4.json │ ├── randwrite-none-4.txt │ ├── randwrite-none-5.json │ ├── randwrite-none-5.txt │ ├── randwrite-none-6.json │ ├── randwrite-none-6.txt │ ├── randwrite-none-7.json │ ├── randwrite-none-7.txt │ ├── randwrite-none-8.json │ ├── randwrite-none-8.txt │ ├── randwrite-none.txt │ ├── read-mq-deadline-0.json │ ├── read-mq-deadline-0.txt │ ├── read-mq-deadline-128.json │ ├── read-mq-deadline-128.txt │ ├── read-none-0.json │ ├── read-none-0.txt │ ├── read-none-128.json │ ├── read-none-128.txt │ └── read.txt ├── SSD │ ├── randwrite-mq-deadline-1.json │ ├── randwrite-mq-deadline-1.txt │ ├── randwrite-mq-deadline-2.json │ ├── randwrite-mq-deadline-2.txt │ ├── randwrite-mq-deadline-3.json │ ├── randwrite-mq-deadline-3.txt │ ├── randwrite-mq-deadline-4.json │ ├── randwrite-mq-deadline-4.txt │ ├── randwrite-mq-deadline-5.json │ ├── randwrite-mq-deadline-5.txt │ ├── randwrite-mq-deadline-6.json │ ├── randwrite-mq-deadline-6.txt │ ├── randwrite-mq-deadline-7.json │ ├── randwrite-mq-deadline-7.txt │ ├── randwrite-mq-deadline-8.json │ ├── randwrite-mq-deadline-8.txt │ ├── randwrite-mq-deadline.txt │ ├── randwrite-none-1.json │ ├── randwrite-none-1.txt │ ├── randwrite-none-2.json │ ├── randwrite-none-2.txt │ ├── randwrite-none-3.json │ ├── randwrite-none-3.txt │ ├── randwrite-none-4.json │ ├── randwrite-none-4.txt │ ├── randwrite-none-5.json │ ├── randwrite-none-5.txt │ ├── randwrite-none-6.json │ ├── randwrite-none-6.txt │ ├── randwrite-none-7.json │ ├── randwrite-none-7.txt │ ├── randwrite-none-8.json │ ├── randwrite-none-8.txt │ ├── randwrite-none.txt │ ├── read-mq-deadline-0.json │ ├── read-mq-deadline-0.txt │ ├── read-mq-deadline-128.json │ ├── read-mq-deadline-128.txt │ ├── read-none-0.json │ ├── read-none-0.txt │ ├── read-none-128.json │ ├── read-none-128.txt │ └── read.txt ├── hdd.conf ├── measure.sh ├── plot-block.py └── ssd.conf ├── 10-virtualization ├── inf-loop.py ├── plot_sched_virt.py ├── sched-virt.py └── virt-phys-ssd-data │ ├── config.sh │ ├── test-rand.sh │ └── test-seq.sh ├── 12-cgroups └── inf-loop.py ├── LICENSE └── README.md /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | github: satoru-takeuchi 2 | -------------------------------------------------------------------------------- /01-operating-system-overview/hello.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/satoru-takeuchi/linux-in-practice-2nd/HEAD/01-operating-system-overview/hello.go -------------------------------------------------------------------------------- /01-operating-system-overview/hello.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/python3 2 | 3 | print("hello world") 4 | -------------------------------------------------------------------------------- /01-operating-system-overview/inf-loop.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/python3 2 | 3 | while True: 4 | pass 5 | -------------------------------------------------------------------------------- /01-operating-system-overview/pause.c: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | int main(void) { 4 | pause(); 5 | return 0; 6 | } 7 | -------------------------------------------------------------------------------- /01-operating-system-overview/syscall-inf-loop.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/python3 2 | 3 | import os 4 | 5 | while True: 6 | os.getppid() 7 | -------------------------------------------------------------------------------- /02-process-management-1/fork-and-exec.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/satoru-takeuchi/linux-in-practice-2nd/HEAD/02-process-management-1/fork-and-exec.py -------------------------------------------------------------------------------- /02-process-management-1/fork.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/satoru-takeuchi/linux-in-practice-2nd/HEAD/02-process-management-1/fork.py -------------------------------------------------------------------------------- /02-process-management-1/intignore.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/satoru-takeuchi/linux-in-practice-2nd/HEAD/02-process-management-1/intignore.py -------------------------------------------------------------------------------- /02-process-management-1/pause.c: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | int main(void) { 4 | pause(); 5 | return 0; 6 | } 7 | -------------------------------------------------------------------------------- /02-process-management-1/spawn-by-fork-and-exec.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/satoru-takeuchi/linux-in-practice-2nd/HEAD/02-process-management-1/spawn-by-fork-and-exec.py -------------------------------------------------------------------------------- /02-process-management-1/spawn.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/satoru-takeuchi/linux-in-practice-2nd/HEAD/02-process-management-1/spawn.py -------------------------------------------------------------------------------- /02-process-management-1/wait-ret.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/satoru-takeuchi/linux-in-practice-2nd/HEAD/02-process-management-1/wait-ret.sh -------------------------------------------------------------------------------- /03-process-scheduler/cpuperf.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/satoru-takeuchi/linux-in-practice-2nd/HEAD/03-process-scheduler/cpuperf.sh -------------------------------------------------------------------------------- /03-process-scheduler/inf-loop.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/python3 2 | 3 | while True: 4 | pass 5 | -------------------------------------------------------------------------------- /03-process-scheduler/load.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/satoru-takeuchi/linux-in-practice-2nd/HEAD/03-process-scheduler/load.py -------------------------------------------------------------------------------- /03-process-scheduler/multiload.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/satoru-takeuchi/linux-in-practice-2nd/HEAD/03-process-scheduler/multiload.sh -------------------------------------------------------------------------------- /03-process-scheduler/plot-perf.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/satoru-takeuchi/linux-in-practice-2nd/HEAD/03-process-scheduler/plot-perf.py -------------------------------------------------------------------------------- /03-process-scheduler/plot_sched.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/satoru-takeuchi/linux-in-practice-2nd/HEAD/03-process-scheduler/plot_sched.py -------------------------------------------------------------------------------- /03-process-scheduler/sched-nice.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/satoru-takeuchi/linux-in-practice-2nd/HEAD/03-process-scheduler/sched-nice.py -------------------------------------------------------------------------------- /03-process-scheduler/sched.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/satoru-takeuchi/linux-in-practice-2nd/HEAD/03-process-scheduler/sched.py -------------------------------------------------------------------------------- /04-memory-management/buff-cache.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/satoru-takeuchi/linux-in-practice-2nd/HEAD/04-memory-management/buff-cache.sh -------------------------------------------------------------------------------- /04-memory-management/capture.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/satoru-takeuchi/linux-in-practice-2nd/HEAD/04-memory-management/capture.sh -------------------------------------------------------------------------------- /04-memory-management/demand-paging.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/satoru-takeuchi/linux-in-practice-2nd/HEAD/04-memory-management/demand-paging.py -------------------------------------------------------------------------------- /04-memory-management/memuse.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/satoru-takeuchi/linux-in-practice-2nd/HEAD/04-memory-management/memuse.py -------------------------------------------------------------------------------- /04-memory-management/mmap.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/satoru-takeuchi/linux-in-practice-2nd/HEAD/04-memory-management/mmap.go -------------------------------------------------------------------------------- /04-memory-management/segv-c.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/satoru-takeuchi/linux-in-practice-2nd/HEAD/04-memory-management/segv-c.c -------------------------------------------------------------------------------- /04-memory-management/segv.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/satoru-takeuchi/linux-in-practice-2nd/HEAD/04-memory-management/segv.go -------------------------------------------------------------------------------- /05-process-management-2/count: -------------------------------------------------------------------------------- 1 | 0 2 | -------------------------------------------------------------------------------- /05-process-management-2/cow.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/satoru-takeuchi/linux-in-practice-2nd/HEAD/05-process-management-2/cow.py -------------------------------------------------------------------------------- /05-process-management-2/inc-lock.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/satoru-takeuchi/linux-in-practice-2nd/HEAD/05-process-management-2/inc-lock.sh -------------------------------------------------------------------------------- /05-process-management-2/inc-wrong-lock.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/satoru-takeuchi/linux-in-practice-2nd/HEAD/05-process-management-2/inc-wrong-lock.sh -------------------------------------------------------------------------------- /05-process-management-2/inc.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/satoru-takeuchi/linux-in-practice-2nd/HEAD/05-process-management-2/inc.sh -------------------------------------------------------------------------------- /05-process-management-2/non-shared-memory.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/satoru-takeuchi/linux-in-practice-2nd/HEAD/05-process-management-2/non-shared-memory.py -------------------------------------------------------------------------------- /05-process-management-2/shared-memory.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/satoru-takeuchi/linux-in-practice-2nd/HEAD/05-process-management-2/shared-memory.py -------------------------------------------------------------------------------- /07-filesystem/filemap.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/satoru-takeuchi/linux-in-practice-2nd/HEAD/07-filesystem/filemap.go -------------------------------------------------------------------------------- /08-storage-hierarchy/cache.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/satoru-takeuchi/linux-in-practice-2nd/HEAD/08-storage-hierarchy/cache.go -------------------------------------------------------------------------------- /08-storage-hierarchy/plot-cache.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/satoru-takeuchi/linux-in-practice-2nd/HEAD/08-storage-hierarchy/plot-cache.py -------------------------------------------------------------------------------- /09-block-layer/HDD/-mq-deadline-128.json: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /09-block-layer/HDD/randwrite-mq-deadline-1.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/satoru-takeuchi/linux-in-practice-2nd/HEAD/09-block-layer/HDD/randwrite-mq-deadline-1.json -------------------------------------------------------------------------------- /09-block-layer/HDD/randwrite-mq-deadline-1.txt: -------------------------------------------------------------------------------- 1 | 1907368 465.666212 2144034.128906 2 | -------------------------------------------------------------------------------- /09-block-layer/HDD/randwrite-mq-deadline-2.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/satoru-takeuchi/linux-in-practice-2nd/HEAD/09-block-layer/HDD/randwrite-mq-deadline-2.json -------------------------------------------------------------------------------- /09-block-layer/HDD/randwrite-mq-deadline-2.txt: -------------------------------------------------------------------------------- 1 | 1474013 359.866456 5135447.481445 2 | -------------------------------------------------------------------------------- /09-block-layer/HDD/randwrite-mq-deadline-3.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/satoru-takeuchi/linux-in-practice-2nd/HEAD/09-block-layer/HDD/randwrite-mq-deadline-3.json -------------------------------------------------------------------------------- /09-block-layer/HDD/randwrite-mq-deadline-3.txt: -------------------------------------------------------------------------------- 1 | 1448309 353.59116 7540393.858073 2 | -------------------------------------------------------------------------------- /09-block-layer/HDD/randwrite-mq-deadline-4.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/satoru-takeuchi/linux-in-practice-2nd/HEAD/09-block-layer/HDD/randwrite-mq-deadline-4.json -------------------------------------------------------------------------------- /09-block-layer/HDD/randwrite-mq-deadline-4.txt: -------------------------------------------------------------------------------- 1 | 1384601 338.037468 11543034.840332 2 | -------------------------------------------------------------------------------- /09-block-layer/HDD/randwrite-mq-deadline-5.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/satoru-takeuchi/linux-in-practice-2nd/HEAD/09-block-layer/HDD/randwrite-mq-deadline-5.json -------------------------------------------------------------------------------- /09-block-layer/HDD/randwrite-mq-deadline-5.txt: -------------------------------------------------------------------------------- 1 | 1322707 322.926522 14448976.613867 2 | -------------------------------------------------------------------------------- /09-block-layer/HDD/randwrite-mq-deadline-6.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/satoru-takeuchi/linux-in-practice-2nd/HEAD/09-block-layer/HDD/randwrite-mq-deadline-6.json -------------------------------------------------------------------------------- /09-block-layer/HDD/randwrite-mq-deadline-6.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/satoru-takeuchi/linux-in-practice-2nd/HEAD/09-block-layer/HDD/randwrite-mq-deadline-6.txt -------------------------------------------------------------------------------- /09-block-layer/HDD/randwrite-mq-deadline-7.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/satoru-takeuchi/linux-in-practice-2nd/HEAD/09-block-layer/HDD/randwrite-mq-deadline-7.json -------------------------------------------------------------------------------- /09-block-layer/HDD/randwrite-mq-deadline-7.txt: -------------------------------------------------------------------------------- 1 | 1300905 317.603793 20309218.739258 2 | -------------------------------------------------------------------------------- /09-block-layer/HDD/randwrite-mq-deadline-8.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/satoru-takeuchi/linux-in-practice-2nd/HEAD/09-block-layer/HDD/randwrite-mq-deadline-8.json -------------------------------------------------------------------------------- /09-block-layer/HDD/randwrite-mq-deadline-8.txt: -------------------------------------------------------------------------------- 1 | 1315086 321.06604 23580301.398437 2 | -------------------------------------------------------------------------------- /09-block-layer/HDD/randwrite-mq-deadline.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/satoru-takeuchi/linux-in-practice-2nd/HEAD/09-block-layer/HDD/randwrite-mq-deadline.txt -------------------------------------------------------------------------------- /09-block-layer/HDD/randwrite-none-1.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/satoru-takeuchi/linux-in-practice-2nd/HEAD/09-block-layer/HDD/randwrite-none-1.json -------------------------------------------------------------------------------- /09-block-layer/HDD/randwrite-none-1.txt: -------------------------------------------------------------------------------- 1 | 1535812 374.954229 2663181.259766 2 | -------------------------------------------------------------------------------- /09-block-layer/HDD/randwrite-none-2.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/satoru-takeuchi/linux-in-practice-2nd/HEAD/09-block-layer/HDD/randwrite-none-2.json -------------------------------------------------------------------------------- /09-block-layer/HDD/randwrite-none-2.txt: -------------------------------------------------------------------------------- 1 | 1338963 326.895451 5964228.800293 2 | -------------------------------------------------------------------------------- /09-block-layer/HDD/randwrite-none-3.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/satoru-takeuchi/linux-in-practice-2nd/HEAD/09-block-layer/HDD/randwrite-none-3.json -------------------------------------------------------------------------------- /09-block-layer/HDD/randwrite-none-3.txt: -------------------------------------------------------------------------------- 1 | 1314966 321.036681 8547028.656901 2 | -------------------------------------------------------------------------------- /09-block-layer/HDD/randwrite-none-4.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/satoru-takeuchi/linux-in-practice-2nd/HEAD/09-block-layer/HDD/randwrite-none-4.json -------------------------------------------------------------------------------- /09-block-layer/HDD/randwrite-none-4.txt: -------------------------------------------------------------------------------- 1 | 1258605 307.276819 12023947.920166 2 | -------------------------------------------------------------------------------- /09-block-layer/HDD/randwrite-none-5.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/satoru-takeuchi/linux-in-practice-2nd/HEAD/09-block-layer/HDD/randwrite-none-5.json -------------------------------------------------------------------------------- /09-block-layer/HDD/randwrite-none-5.txt: -------------------------------------------------------------------------------- 1 | 1312689 320.480721 15106684.563672 2 | -------------------------------------------------------------------------------- /09-block-layer/HDD/randwrite-none-6.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/satoru-takeuchi/linux-in-practice-2nd/HEAD/09-block-layer/HDD/randwrite-none-6.json -------------------------------------------------------------------------------- /09-block-layer/HDD/randwrite-none-6.txt: -------------------------------------------------------------------------------- 1 | 1304401 318.457472 17867183.025553 2 | -------------------------------------------------------------------------------- /09-block-layer/HDD/randwrite-none-7.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/satoru-takeuchi/linux-in-practice-2nd/HEAD/09-block-layer/HDD/randwrite-none-7.json -------------------------------------------------------------------------------- /09-block-layer/HDD/randwrite-none-7.txt: -------------------------------------------------------------------------------- 1 | 1305068 318.62026 21525219.784598 2 | -------------------------------------------------------------------------------- /09-block-layer/HDD/randwrite-none-8.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/satoru-takeuchi/linux-in-practice-2nd/HEAD/09-block-layer/HDD/randwrite-none-8.json -------------------------------------------------------------------------------- /09-block-layer/HDD/randwrite-none-8.txt: -------------------------------------------------------------------------------- 1 | 1295738 316.342292 25006472.562012 2 | -------------------------------------------------------------------------------- /09-block-layer/HDD/randwrite-none.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/satoru-takeuchi/linux-in-practice-2nd/HEAD/09-block-layer/HDD/randwrite-none.txt -------------------------------------------------------------------------------- /09-block-layer/HDD/read-mq-deadline-0.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/satoru-takeuchi/linux-in-practice-2nd/HEAD/09-block-layer/HDD/read-mq-deadline-0.json -------------------------------------------------------------------------------- /09-block-layer/HDD/read-mq-deadline-0.txt: -------------------------------------------------------------------------------- 1 | 14153509 13.497838 74075202.351562 2 | -------------------------------------------------------------------------------- /09-block-layer/HDD/read-mq-deadline-128.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/satoru-takeuchi/linux-in-practice-2nd/HEAD/09-block-layer/HDD/read-mq-deadline-128.json -------------------------------------------------------------------------------- /09-block-layer/HDD/read-mq-deadline-128.txt: -------------------------------------------------------------------------------- 1 | 35753257 34.096963 29317667.570313 2 | -------------------------------------------------------------------------------- /09-block-layer/HDD/read-none-0.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/satoru-takeuchi/linux-in-practice-2nd/HEAD/09-block-layer/HDD/read-none-0.json -------------------------------------------------------------------------------- /09-block-layer/HDD/read-none-0.txt: -------------------------------------------------------------------------------- 1 | 14152016 13.496415 74082472.085938 2 | -------------------------------------------------------------------------------- /09-block-layer/HDD/read-none-128.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/satoru-takeuchi/linux-in-practice-2nd/HEAD/09-block-layer/HDD/read-none-128.json -------------------------------------------------------------------------------- /09-block-layer/HDD/read-none-128.txt: -------------------------------------------------------------------------------- 1 | 36452397 34.763715 28758330.226562 2 | -------------------------------------------------------------------------------- /09-block-layer/HDD/read.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/satoru-takeuchi/linux-in-practice-2nd/HEAD/09-block-layer/HDD/read.txt -------------------------------------------------------------------------------- /09-block-layer/SSD/randwrite-mq-deadline-1.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/satoru-takeuchi/linux-in-practice-2nd/HEAD/09-block-layer/SSD/randwrite-mq-deadline-1.json -------------------------------------------------------------------------------- /09-block-layer/SSD/randwrite-mq-deadline-1.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/satoru-takeuchi/linux-in-practice-2nd/HEAD/09-block-layer/SSD/randwrite-mq-deadline-1.txt -------------------------------------------------------------------------------- /09-block-layer/SSD/randwrite-mq-deadline-2.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/satoru-takeuchi/linux-in-practice-2nd/HEAD/09-block-layer/SSD/randwrite-mq-deadline-2.json -------------------------------------------------------------------------------- /09-block-layer/SSD/randwrite-mq-deadline-2.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/satoru-takeuchi/linux-in-practice-2nd/HEAD/09-block-layer/SSD/randwrite-mq-deadline-2.txt -------------------------------------------------------------------------------- /09-block-layer/SSD/randwrite-mq-deadline-3.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/satoru-takeuchi/linux-in-practice-2nd/HEAD/09-block-layer/SSD/randwrite-mq-deadline-3.json -------------------------------------------------------------------------------- /09-block-layer/SSD/randwrite-mq-deadline-3.txt: -------------------------------------------------------------------------------- 1 | 172368657 42082.191781 68725.298177 2 | -------------------------------------------------------------------------------- /09-block-layer/SSD/randwrite-mq-deadline-4.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/satoru-takeuchi/linux-in-practice-2nd/HEAD/09-block-layer/SSD/randwrite-mq-deadline-4.json -------------------------------------------------------------------------------- /09-block-layer/SSD/randwrite-mq-deadline-4.txt: -------------------------------------------------------------------------------- 1 | 158275622 38641.509434 99455.936768 2 | -------------------------------------------------------------------------------- /09-block-layer/SSD/randwrite-mq-deadline-5.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/satoru-takeuchi/linux-in-practice-2nd/HEAD/09-block-layer/SSD/randwrite-mq-deadline-5.json -------------------------------------------------------------------------------- /09-block-layer/SSD/randwrite-mq-deadline-5.txt: -------------------------------------------------------------------------------- 1 | 143640547 35068.493151 133874.136914 2 | -------------------------------------------------------------------------------- /09-block-layer/SSD/randwrite-mq-deadline-6.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/satoru-takeuchi/linux-in-practice-2nd/HEAD/09-block-layer/SSD/randwrite-mq-deadline-6.json -------------------------------------------------------------------------------- /09-block-layer/SSD/randwrite-mq-deadline-6.txt: -------------------------------------------------------------------------------- 1 | 151601349 37012.048193 149717.277344 2 | -------------------------------------------------------------------------------- /09-block-layer/SSD/randwrite-mq-deadline-7.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/satoru-takeuchi/linux-in-practice-2nd/HEAD/09-block-layer/SSD/randwrite-mq-deadline-7.json -------------------------------------------------------------------------------- /09-block-layer/SSD/randwrite-mq-deadline-7.txt: -------------------------------------------------------------------------------- 1 | 146070288 35661.691542 183141.268834 2 | -------------------------------------------------------------------------------- /09-block-layer/SSD/randwrite-mq-deadline-8.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/satoru-takeuchi/linux-in-practice-2nd/HEAD/09-block-layer/SSD/randwrite-mq-deadline-8.json -------------------------------------------------------------------------------- /09-block-layer/SSD/randwrite-mq-deadline-8.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/satoru-takeuchi/linux-in-practice-2nd/HEAD/09-block-layer/SSD/randwrite-mq-deadline-8.txt -------------------------------------------------------------------------------- /09-block-layer/SSD/randwrite-mq-deadline.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/satoru-takeuchi/linux-in-practice-2nd/HEAD/09-block-layer/SSD/randwrite-mq-deadline.txt -------------------------------------------------------------------------------- /09-block-layer/SSD/randwrite-none-1.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/satoru-takeuchi/linux-in-practice-2nd/HEAD/09-block-layer/SSD/randwrite-none-1.json -------------------------------------------------------------------------------- /09-block-layer/SSD/randwrite-none-1.txt: -------------------------------------------------------------------------------- 1 | 182361043 44521.73913 20826.780273 2 | -------------------------------------------------------------------------------- /09-block-layer/SSD/randwrite-none-2.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/satoru-takeuchi/linux-in-practice-2nd/HEAD/09-block-layer/SSD/randwrite-none-2.json -------------------------------------------------------------------------------- /09-block-layer/SSD/randwrite-none-2.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/satoru-takeuchi/linux-in-practice-2nd/HEAD/09-block-layer/SSD/randwrite-none-2.txt -------------------------------------------------------------------------------- /09-block-layer/SSD/randwrite-none-3.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/satoru-takeuchi/linux-in-practice-2nd/HEAD/09-block-layer/SSD/randwrite-none-3.json -------------------------------------------------------------------------------- /09-block-layer/SSD/randwrite-none-3.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/satoru-takeuchi/linux-in-practice-2nd/HEAD/09-block-layer/SSD/randwrite-none-3.txt -------------------------------------------------------------------------------- /09-block-layer/SSD/randwrite-none-4.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/satoru-takeuchi/linux-in-practice-2nd/HEAD/09-block-layer/SSD/randwrite-none-4.json -------------------------------------------------------------------------------- /09-block-layer/SSD/randwrite-none-4.txt: -------------------------------------------------------------------------------- 1 | 158275622 38641.509434 97462.397949 2 | -------------------------------------------------------------------------------- /09-block-layer/SSD/randwrite-none-5.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/satoru-takeuchi/linux-in-practice-2nd/HEAD/09-block-layer/SSD/randwrite-none-5.json -------------------------------------------------------------------------------- /09-block-layer/SSD/randwrite-none-5.txt: -------------------------------------------------------------------------------- 1 | 154202352 37647.058824 125925.143555 2 | -------------------------------------------------------------------------------- /09-block-layer/SSD/randwrite-none-6.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/satoru-takeuchi/linux-in-practice-2nd/HEAD/09-block-layer/SSD/randwrite-none-6.json -------------------------------------------------------------------------------- /09-block-layer/SSD/randwrite-none-6.txt: -------------------------------------------------------------------------------- 1 | 148034258 36141.176471 159077.805827 2 | -------------------------------------------------------------------------------- /09-block-layer/SSD/randwrite-none-7.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/satoru-takeuchi/linux-in-practice-2nd/HEAD/09-block-layer/SSD/randwrite-none-7.json -------------------------------------------------------------------------------- /09-block-layer/SSD/randwrite-none-7.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/satoru-takeuchi/linux-in-practice-2nd/HEAD/09-block-layer/SSD/randwrite-none-7.txt -------------------------------------------------------------------------------- /09-block-layer/SSD/randwrite-none-8.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/satoru-takeuchi/linux-in-practice-2nd/HEAD/09-block-layer/SSD/randwrite-none-8.json -------------------------------------------------------------------------------- /09-block-layer/SSD/randwrite-none-8.txt: -------------------------------------------------------------------------------- 1 | 144010437 35158.798283 210912.550537 2 | -------------------------------------------------------------------------------- /09-block-layer/SSD/randwrite-none.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/satoru-takeuchi/linux-in-practice-2nd/HEAD/09-block-layer/SSD/randwrite-none.txt -------------------------------------------------------------------------------- /09-block-layer/SSD/read-mq-deadline-0.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/satoru-takeuchi/linux-in-practice-2nd/HEAD/09-block-layer/SSD/read-mq-deadline-0.json -------------------------------------------------------------------------------- /09-block-layer/SSD/read-mq-deadline-0.txt: -------------------------------------------------------------------------------- 1 | 200624406 191.330344 5219444.15625 2 | -------------------------------------------------------------------------------- /09-block-layer/SSD/read-mq-deadline-128.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/satoru-takeuchi/linux-in-practice-2nd/HEAD/09-block-layer/SSD/read-mq-deadline-128.json -------------------------------------------------------------------------------- /09-block-layer/SSD/read-mq-deadline-128.txt: -------------------------------------------------------------------------------- 1 | 2064888123 1969.230769 502642.953125 2 | -------------------------------------------------------------------------------- /09-block-layer/SSD/read-none-0.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/satoru-takeuchi/linux-in-practice-2nd/HEAD/09-block-layer/SSD/read-none-0.json -------------------------------------------------------------------------------- /09-block-layer/SSD/read-none-0.txt: -------------------------------------------------------------------------------- 1 | 216829932 206.785137 4831420.351563 2 | -------------------------------------------------------------------------------- /09-block-layer/SSD/read-none-128.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/satoru-takeuchi/linux-in-practice-2nd/HEAD/09-block-layer/SSD/read-none-128.json -------------------------------------------------------------------------------- /09-block-layer/SSD/read-none-128.txt: -------------------------------------------------------------------------------- 1 | 2314098758 2206.896552 446872.507812 2 | -------------------------------------------------------------------------------- /09-block-layer/SSD/read.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/satoru-takeuchi/linux-in-practice-2nd/HEAD/09-block-layer/SSD/read.txt -------------------------------------------------------------------------------- /09-block-layer/hdd.conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/satoru-takeuchi/linux-in-practice-2nd/HEAD/09-block-layer/hdd.conf -------------------------------------------------------------------------------- /09-block-layer/measure.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/satoru-takeuchi/linux-in-practice-2nd/HEAD/09-block-layer/measure.sh -------------------------------------------------------------------------------- /09-block-layer/plot-block.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/satoru-takeuchi/linux-in-practice-2nd/HEAD/09-block-layer/plot-block.py -------------------------------------------------------------------------------- /09-block-layer/ssd.conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/satoru-takeuchi/linux-in-practice-2nd/HEAD/09-block-layer/ssd.conf -------------------------------------------------------------------------------- /10-virtualization/inf-loop.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/python3 2 | 3 | while True: 4 | pass 5 | -------------------------------------------------------------------------------- /10-virtualization/plot_sched_virt.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/satoru-takeuchi/linux-in-practice-2nd/HEAD/10-virtualization/plot_sched_virt.py -------------------------------------------------------------------------------- /10-virtualization/sched-virt.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/satoru-takeuchi/linux-in-practice-2nd/HEAD/10-virtualization/sched-virt.py -------------------------------------------------------------------------------- /10-virtualization/virt-phys-ssd-data/config.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/satoru-takeuchi/linux-in-practice-2nd/HEAD/10-virtualization/virt-phys-ssd-data/config.sh -------------------------------------------------------------------------------- /10-virtualization/virt-phys-ssd-data/test-rand.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/satoru-takeuchi/linux-in-practice-2nd/HEAD/10-virtualization/virt-phys-ssd-data/test-rand.sh -------------------------------------------------------------------------------- /10-virtualization/virt-phys-ssd-data/test-seq.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/satoru-takeuchi/linux-in-practice-2nd/HEAD/10-virtualization/virt-phys-ssd-data/test-seq.sh -------------------------------------------------------------------------------- /12-cgroups/inf-loop.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/python3 2 | 3 | while True: 4 | pass 5 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/satoru-takeuchi/linux-in-practice-2nd/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/satoru-takeuchi/linux-in-practice-2nd/HEAD/README.md --------------------------------------------------------------------------------