UNIX Weapons School Weekplan: Difference between revisions
Created page with "This syllabus is '''''TENTATIVE!''''' It covers only lecture material, not the design meetings. __NOTOC__ ==Summary== * Week 1: C/C++ development in the x86 UEFI UNIX enviro..." |
|||
| Line 17: | Line 17: | ||
* SHELL LIFE aka Things I Hope You Already Know | * SHELL LIFE aka Things I Hope You Already Know | ||
** Job control | ** Job control | ||
** GNU readline | |||
** SSH tricks | |||
** effective use of interactive shells | |||
** shell scripting idioms. | |||
* HOW COAL BECOMES CAT PICTURES aka Attack of the clone()s | * HOW COAL BECOMES CAT PICTURES aka Attack of the clone()s | ||
** UEFI. UNIX boot sequence. Everything you wanted to know about /dev and /sys and /proc but never found out. Where a process comes from, what composes it while alive, and where it goes when it dies. lsof, netstat, memstat | ** UEFI. UNIX boot sequence. | ||
** Everything you wanted to know about /dev and /sys and /proc but never found out. | |||
** Where a process comes from, what composes it while alive, and where it goes when it dies. | |||
** lsof, netstat, memstat, etc | |||
* C/C++ UNIX DEVELOPMENT aka Onward Christian Soldiers | * C/C++ UNIX DEVELOPMENT aka Onward Christian Soldiers | ||
** Highlights of GCC, G++, LLVM, Clang, ICC, and NVCC. strace, ltrace, ptrace(). GDB tricks. Profiling with perf. UNIX resource management. Linker tricks both stupid and less stupid. The C and C++ machine models. | ** Highlights of GCC, G++, LLVM, Clang, ICC, and NVCC. | ||
** strace, ltrace, ptrace(). | |||
** GDB tricks. | |||
** Profiling with perf. | |||
** UNIX resource management. | |||
** Linker tricks both stupid and less stupid. | |||
** The C and C++ machine models. | |||
* OUR EARTH MOTHERS aka C/C++ | * OUR EARTH MOTHERS aka C/C++ | ||
** The system call interface. Process-level memory management. The C standard library. The STL. | ** The system call interface. | ||
** Process-level memory management. | |||
** The C standard library. | |||
** The STL. | |||
** A glimpse of template metaprogramming | |||
==Week 2== | ==Week 2== | ||