├── .gitignore ├── .vscode ├── launch.json ├── settings.json └── tasks.json ├── LICENSE ├── README.md ├── avx512.c ├── ch02 ├── clock_gettime.c ├── clock_gettime_loop.c ├── makefile ├── memory_layout.c ├── pointer.c ├── pointer1.c ├── rdtsc.c └── table.c ├── ch03 ├── clock_gettime.c ├── hello.c ├── makefile ├── malloc.c ├── malloc2.c ├── malloc3.c ├── mmfile.c ├── pointer.c ├── rdtscp.c └── table.c ├── ch04 ├── flock.c ├── hole.c ├── lockf.c ├── makefile ├── mmap_cp.c ├── mycp1.c ├── mycp2.c ├── perror.c ├── sync.c ├── syncDataOnly.c ├── syncNone.c ├── system-programming.txt ├── testMandatory.sh └── vio.c ├── ch05 ├── append+fseek.c ├── feof.c ├── fileper_TC.c ├── fileperf.c ├── fopen.c ├── fprintf.c ├── hello_cht.c ├── makefile ├── mktemp.c ├── setvbuf.c ├── strlen.c ├── system-programming.txt ├── wcslen.c └── write+read.c ├── ch06 ├── README ├── change.c ├── chmod.c ├── chowngrp2root.c ├── dir.c ├── dir2.c ├── dir3.c ├── getresuid.c ├── gettime.c ├── hw5.c ├── inotify.c ├── link.c ├── listDirRec.c ├── list_acl.c ├── list_acl_simple.c ├── listattr.c ├── makefile ├── name2id.c ├── rename.c └── watchFile.c ├── ch08 ├── atexit.c ├── cpu_set.c ├── echo.c ├── getEnv.c ├── listEnv.c ├── makefile ├── myNice.c ├── on_exit.c └── vfork8.c ├── ch09 ├── NoZombie.c ├── _myShell.c ├── debugFork1.c ├── debugFork2.c ├── fork1.c ├── fork2.c ├── makefile ├── manyFork.c ├── manyVFork.c ├── myShell.c ├── testDebug.c ├── testStack.c ├── wait.c └── zombie.c ├── ch10 ├── list_sig.c ├── makefile ├── myShell.c ├── myshell2.c ├── rec_sig.c ├── seg_fault.c ├── seg_fault2.c ├── seg_fault_recover.c ├── send_sig.c ├── setjmp_longjmp.c ├── shell_sigfd.c ├── sigprocmask.c ├── sigwait.c ├── testStack2.c └── test_sig.c ├── ch11 ├── fifo1.c ├── fifo2-r.c ├── fifo2-w.c ├── makefile ├── pipe-perf.c ├── pipe-perf2.c ├── pipe1.c ├── pipe2.c ├── pipe3.c ├── pipe4-2.c ├── pipe4-3.c └── pipe4.c ├── ch12 ├── 06-03.c ├── 2threads │ ├── 2threads_atomic.c │ ├── 2threads_base.c │ ├── 2threads_mutex.c │ ├── 2threads_nosync.c │ ├── 2threads_notvolatile.c │ ├── 2threads_semaphore.c │ ├── 2threads_spinlock.c │ ├── 2threads_using_local_var.c │ ├── makefile │ ├── pi_grid.c │ └── test.c ├── alignedas.c ├── conCurrentQ │ ├── buffer_lockfree.c │ ├── buffer_sem.c │ ├── buffer_sem_mutex.c │ └── makefile ├── cppThread.cpp ├── cpuShowAffinity.c ├── instructionReordering.c ├── isItSupportC11thread.c ├── lockfreeQueue.c ├── makefile ├── memoryModel_assembly.c ├── memoryModel_reorder.c ├── memoryTest │ ├── makefile │ ├── mem_aligned.c │ ├── mem_atomic.c │ ├── mem_mutex.c │ ├── mem_pingpong.c │ ├── mem_sem.c │ ├── mem_share.c │ └── mem_spinlock.c ├── mutex_adaptive.c ├── perfrecord.c ├── perfstat.c ├── pi │ ├── makefile │ ├── pi.c │ ├── pi_drand48_r.c │ └── pi_rand.c ├── readWriteShareVar.c ├── rwspinlock.c ├── seqlock.c ├── seqlock_acquire_release.c ├── signal-wait_adptive_mutex.c ├── signal-wait_mutex.c ├── signal-wait_semaphore.c ├── signal-wait_spinlock.c ├── spinlock.c ├── table.c ├── testPerf.c ├── thread_local_storage.c ├── thread_print_id.c ├── ticketlock.c ├── timedetail.c └── volitailPtr.c ├── ch13 ├── count_svr.c ├── makefile ├── shmget_cli.c └── shmget_svr.c ├── color.h ├── git-ignore-elf.sh ├── makefile ├── mem ├── createFile.c ├── makefile ├── mmap.c ├── myShell.c ├── shell_sigfd.c └── testStack2.c ├── showexeName.c ├── std.txt └── tool.h /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/.gitignore -------------------------------------------------------------------------------- /.vscode/launch.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/.vscode/launch.json -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "makefile.extensionOutputFolder": "./.vscode" 3 | } -------------------------------------------------------------------------------- /.vscode/tasks.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/.vscode/tasks.json -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/README.md -------------------------------------------------------------------------------- /avx512.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/avx512.c -------------------------------------------------------------------------------- /ch02/clock_gettime.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/ch02/clock_gettime.c -------------------------------------------------------------------------------- /ch02/clock_gettime_loop.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/ch02/clock_gettime_loop.c -------------------------------------------------------------------------------- /ch02/makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/ch02/makefile -------------------------------------------------------------------------------- /ch02/memory_layout.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/ch02/memory_layout.c -------------------------------------------------------------------------------- /ch02/pointer.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/ch02/pointer.c -------------------------------------------------------------------------------- /ch02/pointer1.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/ch02/pointer1.c -------------------------------------------------------------------------------- /ch02/rdtsc.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/ch02/rdtsc.c -------------------------------------------------------------------------------- /ch02/table.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/ch02/table.c -------------------------------------------------------------------------------- /ch03/clock_gettime.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/ch03/clock_gettime.c -------------------------------------------------------------------------------- /ch03/hello.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/ch03/hello.c -------------------------------------------------------------------------------- /ch03/makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/ch03/makefile -------------------------------------------------------------------------------- /ch03/malloc.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/ch03/malloc.c -------------------------------------------------------------------------------- /ch03/malloc2.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/ch03/malloc2.c -------------------------------------------------------------------------------- /ch03/malloc3.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/ch03/malloc3.c -------------------------------------------------------------------------------- /ch03/mmfile.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/ch03/mmfile.c -------------------------------------------------------------------------------- /ch03/pointer.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/ch03/pointer.c -------------------------------------------------------------------------------- /ch03/rdtscp.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/ch03/rdtscp.c -------------------------------------------------------------------------------- /ch03/table.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/ch03/table.c -------------------------------------------------------------------------------- /ch04/flock.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/ch04/flock.c -------------------------------------------------------------------------------- /ch04/hole.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/ch04/hole.c -------------------------------------------------------------------------------- /ch04/lockf.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/ch04/lockf.c -------------------------------------------------------------------------------- /ch04/makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/ch04/makefile -------------------------------------------------------------------------------- /ch04/mmap_cp.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/ch04/mmap_cp.c -------------------------------------------------------------------------------- /ch04/mycp1.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/ch04/mycp1.c -------------------------------------------------------------------------------- /ch04/mycp2.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/ch04/mycp2.c -------------------------------------------------------------------------------- /ch04/perror.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/ch04/perror.c -------------------------------------------------------------------------------- /ch04/sync.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/ch04/sync.c -------------------------------------------------------------------------------- /ch04/syncDataOnly.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/ch04/syncDataOnly.c -------------------------------------------------------------------------------- /ch04/syncNone.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/ch04/syncNone.c -------------------------------------------------------------------------------- /ch04/system-programming.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/ch04/system-programming.txt -------------------------------------------------------------------------------- /ch04/testMandatory.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/ch04/testMandatory.sh -------------------------------------------------------------------------------- /ch04/vio.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/ch04/vio.c -------------------------------------------------------------------------------- /ch05/append+fseek.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/ch05/append+fseek.c -------------------------------------------------------------------------------- /ch05/feof.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/ch05/feof.c -------------------------------------------------------------------------------- /ch05/fileper_TC.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/ch05/fileper_TC.c -------------------------------------------------------------------------------- /ch05/fileperf.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/ch05/fileperf.c -------------------------------------------------------------------------------- /ch05/fopen.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/ch05/fopen.c -------------------------------------------------------------------------------- /ch05/fprintf.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/ch05/fprintf.c -------------------------------------------------------------------------------- /ch05/hello_cht.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/ch05/hello_cht.c -------------------------------------------------------------------------------- /ch05/makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/ch05/makefile -------------------------------------------------------------------------------- /ch05/mktemp.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/ch05/mktemp.c -------------------------------------------------------------------------------- /ch05/setvbuf.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/ch05/setvbuf.c -------------------------------------------------------------------------------- /ch05/strlen.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/ch05/strlen.c -------------------------------------------------------------------------------- /ch05/system-programming.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/ch05/system-programming.txt -------------------------------------------------------------------------------- /ch05/wcslen.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/ch05/wcslen.c -------------------------------------------------------------------------------- /ch05/write+read.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/ch05/write+read.c -------------------------------------------------------------------------------- /ch06/README: -------------------------------------------------------------------------------- 1 | sudo apt install -y acl-dev 2 | -------------------------------------------------------------------------------- /ch06/change.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/ch06/change.c -------------------------------------------------------------------------------- /ch06/chmod.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/ch06/chmod.c -------------------------------------------------------------------------------- /ch06/chowngrp2root.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/ch06/chowngrp2root.c -------------------------------------------------------------------------------- /ch06/dir.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/ch06/dir.c -------------------------------------------------------------------------------- /ch06/dir2.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/ch06/dir2.c -------------------------------------------------------------------------------- /ch06/dir3.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/ch06/dir3.c -------------------------------------------------------------------------------- /ch06/getresuid.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/ch06/getresuid.c -------------------------------------------------------------------------------- /ch06/gettime.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/ch06/gettime.c -------------------------------------------------------------------------------- /ch06/hw5.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/ch06/hw5.c -------------------------------------------------------------------------------- /ch06/inotify.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/ch06/inotify.c -------------------------------------------------------------------------------- /ch06/link.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/ch06/link.c -------------------------------------------------------------------------------- /ch06/listDirRec.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/ch06/listDirRec.c -------------------------------------------------------------------------------- /ch06/list_acl.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/ch06/list_acl.c -------------------------------------------------------------------------------- /ch06/list_acl_simple.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/ch06/list_acl_simple.c -------------------------------------------------------------------------------- /ch06/listattr.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/ch06/listattr.c -------------------------------------------------------------------------------- /ch06/makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/ch06/makefile -------------------------------------------------------------------------------- /ch06/name2id.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/ch06/name2id.c -------------------------------------------------------------------------------- /ch06/rename.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/ch06/rename.c -------------------------------------------------------------------------------- /ch06/watchFile.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/ch06/watchFile.c -------------------------------------------------------------------------------- /ch08/atexit.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/ch08/atexit.c -------------------------------------------------------------------------------- /ch08/cpu_set.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/ch08/cpu_set.c -------------------------------------------------------------------------------- /ch08/echo.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/ch08/echo.c -------------------------------------------------------------------------------- /ch08/getEnv.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/ch08/getEnv.c -------------------------------------------------------------------------------- /ch08/listEnv.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/ch08/listEnv.c -------------------------------------------------------------------------------- /ch08/makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/ch08/makefile -------------------------------------------------------------------------------- /ch08/myNice.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/ch08/myNice.c -------------------------------------------------------------------------------- /ch08/on_exit.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/ch08/on_exit.c -------------------------------------------------------------------------------- /ch08/vfork8.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/ch08/vfork8.c -------------------------------------------------------------------------------- /ch09/NoZombie.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/ch09/NoZombie.c -------------------------------------------------------------------------------- /ch09/_myShell.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/ch09/_myShell.c -------------------------------------------------------------------------------- /ch09/debugFork1.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/ch09/debugFork1.c -------------------------------------------------------------------------------- /ch09/debugFork2.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/ch09/debugFork2.c -------------------------------------------------------------------------------- /ch09/fork1.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/ch09/fork1.c -------------------------------------------------------------------------------- /ch09/fork2.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/ch09/fork2.c -------------------------------------------------------------------------------- /ch09/makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/ch09/makefile -------------------------------------------------------------------------------- /ch09/manyFork.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/ch09/manyFork.c -------------------------------------------------------------------------------- /ch09/manyVFork.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/ch09/manyVFork.c -------------------------------------------------------------------------------- /ch09/myShell.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/ch09/myShell.c -------------------------------------------------------------------------------- /ch09/testDebug.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/ch09/testDebug.c -------------------------------------------------------------------------------- /ch09/testStack.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/ch09/testStack.c -------------------------------------------------------------------------------- /ch09/wait.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/ch09/wait.c -------------------------------------------------------------------------------- /ch09/zombie.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/ch09/zombie.c -------------------------------------------------------------------------------- /ch10/list_sig.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/ch10/list_sig.c -------------------------------------------------------------------------------- /ch10/makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/ch10/makefile -------------------------------------------------------------------------------- /ch10/myShell.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/ch10/myShell.c -------------------------------------------------------------------------------- /ch10/myshell2.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/ch10/myshell2.c -------------------------------------------------------------------------------- /ch10/rec_sig.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/ch10/rec_sig.c -------------------------------------------------------------------------------- /ch10/seg_fault.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/ch10/seg_fault.c -------------------------------------------------------------------------------- /ch10/seg_fault2.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/ch10/seg_fault2.c -------------------------------------------------------------------------------- /ch10/seg_fault_recover.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/ch10/seg_fault_recover.c -------------------------------------------------------------------------------- /ch10/send_sig.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/ch10/send_sig.c -------------------------------------------------------------------------------- /ch10/setjmp_longjmp.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/ch10/setjmp_longjmp.c -------------------------------------------------------------------------------- /ch10/shell_sigfd.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/ch10/shell_sigfd.c -------------------------------------------------------------------------------- /ch10/sigprocmask.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/ch10/sigprocmask.c -------------------------------------------------------------------------------- /ch10/sigwait.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/ch10/sigwait.c -------------------------------------------------------------------------------- /ch10/testStack2.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/ch10/testStack2.c -------------------------------------------------------------------------------- /ch10/test_sig.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/ch10/test_sig.c -------------------------------------------------------------------------------- /ch11/fifo1.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/ch11/fifo1.c -------------------------------------------------------------------------------- /ch11/fifo2-r.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/ch11/fifo2-r.c -------------------------------------------------------------------------------- /ch11/fifo2-w.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/ch11/fifo2-w.c -------------------------------------------------------------------------------- /ch11/makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/ch11/makefile -------------------------------------------------------------------------------- /ch11/pipe-perf.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/ch11/pipe-perf.c -------------------------------------------------------------------------------- /ch11/pipe-perf2.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/ch11/pipe-perf2.c -------------------------------------------------------------------------------- /ch11/pipe1.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/ch11/pipe1.c -------------------------------------------------------------------------------- /ch11/pipe2.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/ch11/pipe2.c -------------------------------------------------------------------------------- /ch11/pipe3.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/ch11/pipe3.c -------------------------------------------------------------------------------- /ch11/pipe4-2.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/ch11/pipe4-2.c -------------------------------------------------------------------------------- /ch11/pipe4-3.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/ch11/pipe4-3.c -------------------------------------------------------------------------------- /ch11/pipe4.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/ch11/pipe4.c -------------------------------------------------------------------------------- /ch12/06-03.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/ch12/06-03.c -------------------------------------------------------------------------------- /ch12/2threads/2threads_atomic.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/ch12/2threads/2threads_atomic.c -------------------------------------------------------------------------------- /ch12/2threads/2threads_base.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/ch12/2threads/2threads_base.c -------------------------------------------------------------------------------- /ch12/2threads/2threads_mutex.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/ch12/2threads/2threads_mutex.c -------------------------------------------------------------------------------- /ch12/2threads/2threads_nosync.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/ch12/2threads/2threads_nosync.c -------------------------------------------------------------------------------- /ch12/2threads/2threads_notvolatile.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/ch12/2threads/2threads_notvolatile.c -------------------------------------------------------------------------------- /ch12/2threads/2threads_semaphore.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/ch12/2threads/2threads_semaphore.c -------------------------------------------------------------------------------- /ch12/2threads/2threads_spinlock.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/ch12/2threads/2threads_spinlock.c -------------------------------------------------------------------------------- /ch12/2threads/2threads_using_local_var.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/ch12/2threads/2threads_using_local_var.c -------------------------------------------------------------------------------- /ch12/2threads/makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/ch12/2threads/makefile -------------------------------------------------------------------------------- /ch12/2threads/pi_grid.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/ch12/2threads/pi_grid.c -------------------------------------------------------------------------------- /ch12/2threads/test.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/ch12/2threads/test.c -------------------------------------------------------------------------------- /ch12/alignedas.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/ch12/alignedas.c -------------------------------------------------------------------------------- /ch12/conCurrentQ/buffer_lockfree.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/ch12/conCurrentQ/buffer_lockfree.c -------------------------------------------------------------------------------- /ch12/conCurrentQ/buffer_sem.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/ch12/conCurrentQ/buffer_sem.c -------------------------------------------------------------------------------- /ch12/conCurrentQ/buffer_sem_mutex.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/ch12/conCurrentQ/buffer_sem_mutex.c -------------------------------------------------------------------------------- /ch12/conCurrentQ/makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/ch12/conCurrentQ/makefile -------------------------------------------------------------------------------- /ch12/cppThread.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/ch12/cppThread.cpp -------------------------------------------------------------------------------- /ch12/cpuShowAffinity.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/ch12/cpuShowAffinity.c -------------------------------------------------------------------------------- /ch12/instructionReordering.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/ch12/instructionReordering.c -------------------------------------------------------------------------------- /ch12/isItSupportC11thread.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/ch12/isItSupportC11thread.c -------------------------------------------------------------------------------- /ch12/lockfreeQueue.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/ch12/lockfreeQueue.c -------------------------------------------------------------------------------- /ch12/makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/ch12/makefile -------------------------------------------------------------------------------- /ch12/memoryModel_assembly.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/ch12/memoryModel_assembly.c -------------------------------------------------------------------------------- /ch12/memoryModel_reorder.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/ch12/memoryModel_reorder.c -------------------------------------------------------------------------------- /ch12/memoryTest/makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/ch12/memoryTest/makefile -------------------------------------------------------------------------------- /ch12/memoryTest/mem_aligned.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/ch12/memoryTest/mem_aligned.c -------------------------------------------------------------------------------- /ch12/memoryTest/mem_atomic.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/ch12/memoryTest/mem_atomic.c -------------------------------------------------------------------------------- /ch12/memoryTest/mem_mutex.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/ch12/memoryTest/mem_mutex.c -------------------------------------------------------------------------------- /ch12/memoryTest/mem_pingpong.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/ch12/memoryTest/mem_pingpong.c -------------------------------------------------------------------------------- /ch12/memoryTest/mem_sem.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/ch12/memoryTest/mem_sem.c -------------------------------------------------------------------------------- /ch12/memoryTest/mem_share.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/ch12/memoryTest/mem_share.c -------------------------------------------------------------------------------- /ch12/memoryTest/mem_spinlock.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/ch12/memoryTest/mem_spinlock.c -------------------------------------------------------------------------------- /ch12/mutex_adaptive.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/ch12/mutex_adaptive.c -------------------------------------------------------------------------------- /ch12/perfrecord.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/ch12/perfrecord.c -------------------------------------------------------------------------------- /ch12/perfstat.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/ch12/perfstat.c -------------------------------------------------------------------------------- /ch12/pi/makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/ch12/pi/makefile -------------------------------------------------------------------------------- /ch12/pi/pi.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/ch12/pi/pi.c -------------------------------------------------------------------------------- /ch12/pi/pi_drand48_r.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/ch12/pi/pi_drand48_r.c -------------------------------------------------------------------------------- /ch12/pi/pi_rand.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/ch12/pi/pi_rand.c -------------------------------------------------------------------------------- /ch12/readWriteShareVar.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/ch12/readWriteShareVar.c -------------------------------------------------------------------------------- /ch12/rwspinlock.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/ch12/rwspinlock.c -------------------------------------------------------------------------------- /ch12/seqlock.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/ch12/seqlock.c -------------------------------------------------------------------------------- /ch12/seqlock_acquire_release.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/ch12/seqlock_acquire_release.c -------------------------------------------------------------------------------- /ch12/signal-wait_adptive_mutex.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/ch12/signal-wait_adptive_mutex.c -------------------------------------------------------------------------------- /ch12/signal-wait_mutex.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/ch12/signal-wait_mutex.c -------------------------------------------------------------------------------- /ch12/signal-wait_semaphore.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/ch12/signal-wait_semaphore.c -------------------------------------------------------------------------------- /ch12/signal-wait_spinlock.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/ch12/signal-wait_spinlock.c -------------------------------------------------------------------------------- /ch12/spinlock.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/ch12/spinlock.c -------------------------------------------------------------------------------- /ch12/table.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/ch12/table.c -------------------------------------------------------------------------------- /ch12/testPerf.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/ch12/testPerf.c -------------------------------------------------------------------------------- /ch12/thread_local_storage.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/ch12/thread_local_storage.c -------------------------------------------------------------------------------- /ch12/thread_print_id.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/ch12/thread_print_id.c -------------------------------------------------------------------------------- /ch12/ticketlock.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/ch12/ticketlock.c -------------------------------------------------------------------------------- /ch12/timedetail.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/ch12/timedetail.c -------------------------------------------------------------------------------- /ch12/volitailPtr.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/ch12/volitailPtr.c -------------------------------------------------------------------------------- /ch13/count_svr.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/ch13/count_svr.c -------------------------------------------------------------------------------- /ch13/makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/ch13/makefile -------------------------------------------------------------------------------- /ch13/shmget_cli.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/ch13/shmget_cli.c -------------------------------------------------------------------------------- /ch13/shmget_svr.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/ch13/shmget_svr.c -------------------------------------------------------------------------------- /color.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/color.h -------------------------------------------------------------------------------- /git-ignore-elf.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/git-ignore-elf.sh -------------------------------------------------------------------------------- /makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/makefile -------------------------------------------------------------------------------- /mem/createFile.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/mem/createFile.c -------------------------------------------------------------------------------- /mem/makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/mem/makefile -------------------------------------------------------------------------------- /mem/mmap.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/mem/mmap.c -------------------------------------------------------------------------------- /mem/myShell.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/mem/myShell.c -------------------------------------------------------------------------------- /mem/shell_sigfd.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/mem/shell_sigfd.c -------------------------------------------------------------------------------- /mem/testStack2.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/mem/testStack2.c -------------------------------------------------------------------------------- /showexeName.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/showexeName.c -------------------------------------------------------------------------------- /std.txt: -------------------------------------------------------------------------------- 1 | 687410007,羅習五 2 | -------------------------------------------------------------------------------- /tool.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiwulo/system-programming/HEAD/tool.h --------------------------------------------------------------------------------