Operating Systems: From 0 to 1

by Tu Do Hang

DescriptionTable of ContentsDetailsHashtagsReport an issue

Book Description

This book helps you gain the foundational knowledge required to write an operating system from scratch. Hence the title, 0 to 1.

After completing this book, at the very least you will learn:
- How to write an operating system from scratch by reading hardware datasheets. In the real world, it works like that. You won't be able to consult Google for a quick answer.
- A big picture of how each layer of a computer is related to the other, from hardware to software.
- Write code independently. It's pointless to copy and paste code. Real learning happens when you solve problems on your own. Some examples are given to kick start, but most problems are yours to conquer. However, the solutions are available online for you to examine after giving it a good try.
- Linux as a development environment and how to use common tools for low-level programming.
- x86 assembly in-depth.
- How a program is structured so that an operating system can run.
- How to debug a program running directly on hardware with gdb and QEMU.
- Linking and loading on bare metal x86_64, with pure C. No standard library. No runtime overhead.

This open book is licensed under a Creative Commons License (CC BY). You can download Operating Systems: From 0 to 1 ebook for free in PDF format (6.1 MB).

Table of Contents

Chapter 1
Domain documents
 
Chapter 2
From hardware to software: Layers of abstraction
 
Chapter 3
Computer Architecture
 
Chapter 4
x86 Assembly and C
 
Chapter 5
The Anatomy of a Program
 
Chapter 6
Runtime inspection and debug
 
Chapter 7
Bootloader
 
Chapter 8
Linking and loading on bare metal
 
Chapter 9
x86 Descriptors
 
Chapter 10
Process
 
Chapter 11
Interrupt
 
Chapter 12
Memory management
 
Chapter 13
File System
 

Book Details

Subject
Computer Science
Publisher
Self-publishing
Published
2018
Pages
309
Edition
1
Language
English
PDF Size
6.1 MB
License
CC BY

Book Hashtags

Related Books

Operating Systems and Middleware
Suppose you sit down at your computer to check your email. One of the messages includes an attached document, which you are to edit. You click the attachment, and it opens up in another window. After you start editing the document, you realize you need to leave for a trip. You save the document in its partially edited state and shut down the comput...
Pro Git
Pro Git, 2nd Edition is your fully-updated guide to Git and its usage in the modern world. Git has come a long way since it was first developed by Linus Torvalds for Linux kernel development. It has taken the open source world by storm since its inception in 2005, and this book teaches you how to use it like a pro. Effective and well-implemented v...
Hadoop for Windows Succinctly
Author Dave Vickers provides a thorough guide to using Hadoop directly on Windows operating systems. From a conceptual overview to practical examples, Hadoop for Windows Succinctly is a valuable resource for developers....
The Privacy Engineer's Manifesto
The Privacy Engineer's Manifesto: Getting from Policy to Code to QA to Value is the first book of its kind, offering industry-proven solutions that go beyond mere theory and adding lucid perspectives on the challenges and opportunities raised with the emerging "personal" information economy. The authors, a uniquely skilled team of long...
Tools and Algorithms for the Construction and Analysis of Systems
This book constitutes the refereed proceedings of the 7th International Conference on Tools and Algorithms for the Construction and Analysis of Systems, TACAS 2001. The 36 revised full papers presented together with an invited contribution were carefully reviewed and selected from a total of 125 submissions. The papers are organized in sections on ...
Tools and Algorithms for the Construction and Analysis of Systems
The LNCS 11427 and 11428 proceedings set constitutes the proceedings of the 25th International Conference on Tools and Algorithms for the Construction and Analysis of Systems, TACAS 2019, which took place in Prague, Czech Republic, in April 2019, held as part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2019. The tot...