Linked e-resources
Details
Table of Contents
Intro; Contents; 1 Introduction: How to Use This Book?; References; 2 Essential Knowledge: Hardware; 2.1 RAM and ROM; 2.2 The Disk; 2.3 The Central Processing Unit; 2.4 The Clock; 2.4.1 Logical and Physical Clocks; 2.4.2 Clock Drift; 2.5 The Graphics Processing Unit; 2.6 Binary Representations; 2.6.1 Binary Representation of Integers; 2.6.2 Binary Representation of Real Numbers; 2.6.3 Encoding Strings as Bits; 2.6.4 Rounding, Overflow, and Underflow; 2.7 Assembly Language; 2.7.1 Memory Addresses; 2.7.2 Instruction Set; Use in High-Level Languages; 2.8 Interrupts; 2.9 The Memory Hierarchy
2.9.1 Cache Structure2.9.2 Direct Mapping and Associativity; 2.9.3 Cache Miss; 2.9.4 Cache Hierarchy; 2.10 Multicores and Multiprocessors Computers; 2.11 Notes; References; 3 Essential Knowledge: Operating Systems; 3.1 Windows, Linux, and macOS; 3.2 Command-Line Interfaces; 3.2.1 The Linux Terminal and Bash; Introduction; Variables; Pipes; Scripting; 3.2.2 Command Prompt in Windows; Variables; Pipes; Scripting; 3.2.3 PowerShell; Pipes; Variables; Scripting; 3.3 The Kernel, Traps, and System Calls; 3.4 Process Management; 3.4.1 Processes in Linux; 3.4.2 Processes in Windows
3.5 Memory Management and Virtual Memory3.6 The File System; 3.6.1 Files in Linux; Hierarchy of Directories; Displaying Files; Moving, Copying, and Removing Files and Directories; Wildcard Characters; Soft Links; Listing Directory Contents; The PATH Environment Variable; Compression; Bash Initialization File; Script Files; 3.6.2 Files in Windows; Hierarchy of Directories; Displaying Files; Moving, Copying, and Removing Files and Directories; Wildcard Characters; The PATH Environment Variable; Compression; 3.7 Users and Permissions; 3.7.1 Users and Permissions in Linux
3.7.2 Users and Permissions in Windows3.8 Input and Output; 3.8.1 Redirecting Input and Output in Linux; 3.8.2 Redirecting Input and Output in Windows; 3.9 Networking; 3.9.1 Working on Remote Linux Computers; 3.9.2 Working on Remote Windows Computers; 3.10 Notes; References; 4 Learning C++; 4.1 Compilation; 4.2 Types, Variables, and Scope; 4.2.1 Types; 4.2.2 Variables; 4.2.3 Scope; 4.3 Operators and Casting; 4.3.1 Operators; 4.3.2 Type Conversions; 4.4 References and Pointers; 4.4.1 References; 4.4.2 Pointers; 4.5 Arrays; 4.5.1 One-Dimensional Arrays; 4.5.2 Multidimensional Arrays
4.6 Preprocessor and Namespaces4.7 Strings, Input, and Output; 4.8 Control Flow; 4.8.1 If-Else Clauses; 4.8.2 While-Loops; 4.8.3 For-Loops; 4.9 Functions; 4.9.1 Return Value; 4.9.2 Function Parameters; 4.9.3 Function Definition and Function Declaration; 4.9.4 Scope of Function Variables; 4.9.5 Pointer and Reference Parameters; 4.9.6 Recursion; 4.9.7 Passing Arguments to Main; 4.9.8 Overloading Functions; 4.10 Object Oriented Programming; 4.10.1 Structs; 4.10.2 Classes; The Constructor and the Destructor; The Copy Constructor; The Converting Constructor; Operator Overloading
2.9.1 Cache Structure2.9.2 Direct Mapping and Associativity; 2.9.3 Cache Miss; 2.9.4 Cache Hierarchy; 2.10 Multicores and Multiprocessors Computers; 2.11 Notes; References; 3 Essential Knowledge: Operating Systems; 3.1 Windows, Linux, and macOS; 3.2 Command-Line Interfaces; 3.2.1 The Linux Terminal and Bash; Introduction; Variables; Pipes; Scripting; 3.2.2 Command Prompt in Windows; Variables; Pipes; Scripting; 3.2.3 PowerShell; Pipes; Variables; Scripting; 3.3 The Kernel, Traps, and System Calls; 3.4 Process Management; 3.4.1 Processes in Linux; 3.4.2 Processes in Windows
3.5 Memory Management and Virtual Memory3.6 The File System; 3.6.1 Files in Linux; Hierarchy of Directories; Displaying Files; Moving, Copying, and Removing Files and Directories; Wildcard Characters; Soft Links; Listing Directory Contents; The PATH Environment Variable; Compression; Bash Initialization File; Script Files; 3.6.2 Files in Windows; Hierarchy of Directories; Displaying Files; Moving, Copying, and Removing Files and Directories; Wildcard Characters; The PATH Environment Variable; Compression; 3.7 Users and Permissions; 3.7.1 Users and Permissions in Linux
3.7.2 Users and Permissions in Windows3.8 Input and Output; 3.8.1 Redirecting Input and Output in Linux; 3.8.2 Redirecting Input and Output in Windows; 3.9 Networking; 3.9.1 Working on Remote Linux Computers; 3.9.2 Working on Remote Windows Computers; 3.10 Notes; References; 4 Learning C++; 4.1 Compilation; 4.2 Types, Variables, and Scope; 4.2.1 Types; 4.2.2 Variables; 4.2.3 Scope; 4.3 Operators and Casting; 4.3.1 Operators; 4.3.2 Type Conversions; 4.4 References and Pointers; 4.4.1 References; 4.4.2 Pointers; 4.5 Arrays; 4.5.1 One-Dimensional Arrays; 4.5.2 Multidimensional Arrays
4.6 Preprocessor and Namespaces4.7 Strings, Input, and Output; 4.8 Control Flow; 4.8.1 If-Else Clauses; 4.8.2 While-Loops; 4.8.3 For-Loops; 4.9 Functions; 4.9.1 Return Value; 4.9.2 Function Parameters; 4.9.3 Function Definition and Function Declaration; 4.9.4 Scope of Function Variables; 4.9.5 Pointer and Reference Parameters; 4.9.6 Recursion; 4.9.7 Passing Arguments to Main; 4.9.8 Overloading Functions; 4.10 Object Oriented Programming; 4.10.1 Structs; 4.10.2 Classes; The Constructor and the Destructor; The Copy Constructor; The Converting Constructor; Operator Overloading