udemy-linux-system-programming-techniques-concepts-2021-11-0

\ 0:00 Introduction 9:58 Join Telegram Group 10:12 Setting up Linux Development Environment 15:54 Begin - Doubly Linked List as a Library 19:21 Quick Compilation Steps 25:31 Summary Header Files\ 28:21 What are Header Files and their Purpose _ 32:43 Relationship between Source and Header Files 40:31 Text Substitution 44:08 Text Substitution Example 50:32 Text Substitution Demonstration Directives\ 53:45 Problem Of Duplicate Inclusion of Header Files 59:47 What are Pre-processing Directives _ 1:06:06 Solution to Duplicate Inclusion of Hdr files using Preprocessing Directives Way of Using Structures and Functions\ 1:14:40 Structure Definitions and Use 1:19:00 Function Declaration and Use 1:27:53 Recursive Dependency 1:36:42 Solution to Recursive Dependency 1:41:15 Summary Creation of Static and Dynamic Libraries\ 1:42:52 Resuming with Doubly Linked List Library 1:48:47 Static and Dynamic Libraries - Quick Creation 1:57:38 Linking with Static Library 2:05:45 Linking with Dynamic Library 2:09:18 Summary Stages of Compilation Process\ 2:10:14 4 Stages of Compilation Process 2:16:29 Stage 1 of 4 - Preprocessing stage 2:21:22 Stage 2 of 4 - Compilation Stage 2:24:29 Stage 3 of 4 - Assembler Stage 2:29:01 Stage 4 of 4 - Linking Stage Project using Makefiles\ 2:35:18 Introducing Makefile 2:40:26 Makefile Analogy - Dependency Tree 2:46:02 Makefile Assignment - part1 2:51:44 Makefile Assignment - part2 3:02:59 Final Makefile Libraries - Generics\ 3:11:02 Introduction 3:15:56 Revisiting DLL 3:23:03 Problem Statement 3:25:53 Solution - Responsibility Delegation 3:36:52 Using Programmable DLL Library - Code Walk 3:40:21 Search Callback Summary 3:43:04 Comparison Callback 3:53:52 Comparison Callback Demo 3:56:54 Summary Macros\ 3:58:37 Getting Started 4:02:58 For loop Semantics 4:05:57 Iterative Macros For LinkedList 4:15:47 Iterative Macros for Binary Trees 4:20:46 Tree Iterators Prerequisites 4:24:28 Tree Iterators Implementation 4:29:37 Summary Based Data structures\ 4:31:08 Introduction 4:34:43 Glthreads Definition 4:39:02 Difference - Traditional Vs Glue Based DLL 4:43:56 Structure Field Offset 4:51:33 GLNode Insertion 4:55:15 GLThread Iteration 4:58:30 GLNode Removal 4:59:48 Code Walk - Demo 5:06:13 Traditional List Problems 5:11:52 GLThread Benefits Pointers\ 5:16:47 Introduction 5:19:21 Typical Library Design 5:22:28 Problem Statement 5:26:35 Solution Strategy 5:32:28 Conclusion Programming\ 5:35:06 Introduction to Bit Programming 5:46:55 XOR Operator 5:54:52 Using Bits as Flags 6:06:15 Using Enums as Bits 6:08:55 Bit Pattern Matching 6:12:56 Bit Pattern Matching Steps 6:16:03 BitMaps 6:23:48 BitMap APIs and Implementation Based Communication\ 6:29:24 TLVs Introduction 6:36:52 Why we need TLVs _ 6:49:18 Why we need TLVs - Another scenario 6:55:36 Understanding TLVs 7:06:14 TLV Addressing the problem of Heterogeneity 7:25:00 TLV Addressing the problem of Software Upgrade 7:30:25 Data Structure - STREAMS 7:39:10 TLV De-Serialization using STREAMS with Linux Posix Timers\ 7:48:14 Agenda and Prerequisites 7:50:53 Timer Relevance 7:53:02 Timer Types 7:55:59 Posix APIs for Timers 7:58:10 Timer Design 8:05:10 Timer Creation Steps 8:14:55 Timer Implementation and Demo Endianness\ 8:29:11 Machine Endianness 8:35:30 Program to find Machine Endianness Layout of Linux Process\ 8:37:25 Agenda 8:40:42 Virtual Memory Memory Basics 8:47:42 Memory Layout of Linux Process 8:57:58 Example _ Memory Layout of Linux Process 9:06:52 Exercise on size command Memory Management\ 9:10:21 Stack Memory Basics 9:16:00 Stack Memory Contents 9:24:02 Stack-Overflow and Prevention 9:27:19 Stack Memory Corruption 9:32:12 Procedure Call and Return - Getting Started 9:36:54 Common Cpu Registers 9:39:59 Procedure Call Mechanism 9:50:05 Purpose of Base Pointer register (ebp) 9:54:20 Formalizing Procedure Call Algorithm 9:58:17 Procedure Return - Goals 10:02:10 Procedure Return Explained - Step by Step 10:08:14 Formalizing Procedure Return Algorithm Memory Management\ 10:12:37 Heap Memory Management - Goals and Introduction 10:16:36 Malloc() - Quick Revision 10:25:26 Break pointer 10:27:57 brk and sbrk system calls 10:33:45 Malloc Version 1.0 10:40:56 Problem Statement 10:44:36 Heap Memory Management Requirement 10:47:32 MetaBlock and DataBlock 10:53:51 Allocations and Deallocations 10:59:24 Block Splitting 11:05:31 Block Merging 11:09:17 Problem of Fragmentation
Back to Top