0:00 Hi everybody
0:45 Moving an executable from disk to memory
3:03 Loading each ELF segment into memory
3:53 Live demo of loading an executable
9:38 Live demo of running an executable
16:28 What is Dynamic Linking?
17:47 Dynamically vs Statically Linked Executables
20:39 The complexities of dynamic linking and the benefits
22:22 Problems with Shared libraries and shared memory
24:27 Position independent code (PIC)
26:59 Linking dynamic libraries
27:55 Linking at build time & linking at load time
29:50 Global offset table (GOT)
32:45 Linking functions at run time (lazing binding)
34:50 Procedure linkage table (PLT)
37:25 Live demo of PLT and GOT
44:50 Making the common case fast! (Common theme in systems design)
47:50 Why not link global variables like functions or link functions like global variables?