Ebook: Operating system from 0 to 1
Author: Do Hoang Tu
- Genre: Computers // Operating Systems
- Year: 2022
- Language: English
- pdf
Contents
Preface
I Preliminary
1 Domain documents
1.1 Problem domains
1.2 Documents for implementing a problem domain
1.3 Documents for writing an x86 Operating System
2 From hardware to software: Layers of abstraction
2.1 The physical implementation of a bit
2.2 Beyond transistors: digital logic gates
2.3 Beyond Logic Gates: Machine Language
2.4 Abstraction
3 Computer Architecture
3.1 What is a computer?
3.2 Computer Architecture
3.3 x86 architecture
3.4 Intel Q35 Chipset
3.5 x86 Execution Environment
4 x86 Assembly and C
4.1 objdump
4.2 Reading the output
4.3 Intel manuals
4.4 Experiment with assembly code
4.5 Anatomy of an Assembly Instruction
4.6 Understand an instruction in detail
4.7 Example: jmp instruction
4.8 Examine compiled data
4.9 Examine compiled code
5 The Anatomy of a Program
5.1 Reference documents:
5.2 ELF header
5.3 Section header table
5.4 Understand Section in-depth
5.5 Program header table
5.6 Segments vs sections
6 Runtime inspection and debug
6.1 A sample program
6.2 Static inspection of a program
6.3 Runtime inspection of a program
6.4 How debuggers work: A brief introduction
II Groundwork
7 Bootloader
7.1 x86 Boot Process
7.2 Using BIOS services
7.3 Boot process
7.4 Example Bootloader
7.5 Compile and load
7.6 Loading a program from bootloader
7.7 Improve productivity with scripts
8 Linking and loading on bare metal
8.1 Understand relocations with readelf
8.2 Crafting ELF binary with linker scripts
8.3 C Runtime: Hosted vs Freestanding
8.4 Debuggable bootloader on bare metal
8.5 Debuggable program on bare metal
III Kernel Programming
9 x86 Descriptors
9.1 Basic operating system concepts
9.2 Drivers
9.3 Userspace and kernel space
9.4 Memory Segment
9.5 Segment Descriptor
9.6 Types of Segment Descriptors
9.7 Descriptor Scope
9.8 Segment Selector
9.9 Enhancement: Bootloader with descriptors
10 Process
10.1 Concepts
10.2 Process
10.3 Threads
10.4 Task: x86 concept of a process
10.5 Task Data Structure
10.6 Process Implementation
10.7 Milestone: Code Refactor
11 Interrupt
12 Memory management
13 File System
Index
Preface
I Preliminary
1 Domain documents
1.1 Problem domains
1.2 Documents for implementing a problem domain
1.3 Documents for writing an x86 Operating System
2 From hardware to software: Layers of abstraction
2.1 The physical implementation of a bit
2.2 Beyond transistors: digital logic gates
2.3 Beyond Logic Gates: Machine Language
2.4 Abstraction
3 Computer Architecture
3.1 What is a computer?
3.2 Computer Architecture
3.3 x86 architecture
3.4 Intel Q35 Chipset
3.5 x86 Execution Environment
4 x86 Assembly and C
4.1 objdump
4.2 Reading the output
4.3 Intel manuals
4.4 Experiment with assembly code
4.5 Anatomy of an Assembly Instruction
4.6 Understand an instruction in detail
4.7 Example: jmp instruction
4.8 Examine compiled data
4.9 Examine compiled code
5 The Anatomy of a Program
5.1 Reference documents:
5.2 ELF header
5.3 Section header table
5.4 Understand Section in-depth
5.5 Program header table
5.6 Segments vs sections
6 Runtime inspection and debug
6.1 A sample program
6.2 Static inspection of a program
6.3 Runtime inspection of a program
6.4 How debuggers work: A brief introduction
II Groundwork
7 Bootloader
7.1 x86 Boot Process
7.2 Using BIOS services
7.3 Boot process
7.4 Example Bootloader
7.5 Compile and load
7.6 Loading a program from bootloader
7.7 Improve productivity with scripts
8 Linking and loading on bare metal
8.1 Understand relocations with readelf
8.2 Crafting ELF binary with linker scripts
8.3 C Runtime: Hosted vs Freestanding
8.4 Debuggable bootloader on bare metal
8.5 Debuggable program on bare metal
III Kernel Programming
9 x86 Descriptors
9.1 Basic operating system concepts
9.2 Drivers
9.3 Userspace and kernel space
9.4 Memory Segment
9.5 Segment Descriptor
9.6 Types of Segment Descriptors
9.7 Descriptor Scope
9.8 Segment Selector
9.9 Enhancement: Bootloader with descriptors
10 Process
10.1 Concepts
10.2 Process
10.3 Threads
10.4 Task: x86 concept of a process
10.5 Task Data Structure
10.6 Process Implementation
10.7 Milestone: Code Refactor
11 Interrupt
12 Memory management
13 File System
Index
Download the book Operating system from 0 to 1 for free or read online
Continue reading on any device:
Last viewed books
Related books
{related-news}
Comments (0)