Developing a Computer Operating System from Scratch (The Book + Source Code)
$25.99
Minimum price
$35.99
Suggested price

Developing a Computer Operating System from Scratch

An Attempt to Introduce OS Development at Beginner Level

About the Book

Operating System Development, or OS Development, is a topic often labeled as ONLY FOR GEEKS.” Newcomers frequently find it difficult to understand and implement due to the lack of beginner-friendly documentation. A change is needed.

The aim of this book is to make OS Development approachable for anyone interested in the subject.

In this book, we will begin with programming in C and programming in assembly, and then move on to practical OS Development.

To make learning easier, the book uses only simple methods, so it covers only a few essential topics from C and assembly. However, every necessary topic that cannot be avoided is included.

Most existing resources on OS Development are poorly documented and rely on many tools just to introduce the subject. They often involve tools like Make, techniques such as linker scripts, and heavy use of the C programming language and assembly language.

This often prevents beginners from grasping the concepts. Therefore, this book will not use automation tools like Make or techniques like linker scripts, nor will it rely heavily on C or assembly. We will remove unnecessary complexity and use only the simplest methods.

If you are an experienced C or assembly programmer, you will also find this book useful. You can directly jump to the OS Development section.

The OS Development chapters in this book are explained in a clear and easy-to-understand manner.

The book covers a wide range of topics, including booting, creating graphical user interfaces and other graphical content, implementing a keyboard driver, accessing the hard disk, creating a simple file system, working with I/O devices, and much more.

By the end of this book, you will be confident enough to move forward and work on your dream project.

I hope this book adds great value to you and helps you pursue what you love.

And I hope it becomes your passion!

Thank you!

  • Share this book

  • Categories

    • Computers and Programming
    • Computer Hardware
    • Software
    • Operating System Development
  • Feedback

    Email the Author(s)

About the Author

TINU TOM
TINU TOM

I am a Cyber Security Researcher specializing in application security, with a primary focus on security-related products such as antivirus software, firewalls, and similar technologies.

As a self-taught programmer since the age of 13, I enjoy working with both hardware and software.

Throughout my college years, I was often approached to explain programming-related questions, and I found great satisfaction in sharing my knowledge with others.

Above all, I am passionate about creating value for people through my work. I wish you a happy and fulfilling learning experience.

Thank you!

Packages

The Book + Source Code

This Package contains The Book + full source code for the OS Development chapters in this book.

  • PDF

  • EPUB

  • WEB

  • English

$25.99
Minimum price
$35.99
Suggested price
The Book

This package contains the Book in PDF , EPUB and WEB Formats.

  • PDF

  • EPUB

  • WEB

  • English

$25.99
Minimum price
$35.99
Suggested price

Table of Contents

  • Preface
  • Legal
  • Getting Started
    • Installing QEMU
    • Installing A Hex Editor
    • Installing Notepad++
    • Installing NASM
    • Installing SASM
    • Installing MinGw For Compiling C Programs
    • Adding The Downloaded Software To Environment Path
  • Programming In C
    • Introduction
    • Hello , World
    • Data Types
      • Basic Data Types
        • int Data Type
        • char Data type
      • void Data Type
      • Derived Data Types
        • Pointers
        • Arrays
        • Functions
        • Structures
    • Branching
    • Looping
    • Type Casting
    • Arithmetic Operators
    • Increment , Decrement Operators
    • Bitwise Operators
      • Bitwise AND and Bitwise OR Operators
      • Left shift and Right shift Operators
    • Macros
    • Hexadecimal Notations
    • Comments
    • Let’s Have A Game
  • Programming in Assembly Language
    • Introduction
    • What is an Assembly Language
    • What is a Compiler actually?
    • x86 Processor data sizes
    • Assembly Hello , World
    • Registers
      • General Registers
        • Data Registers
        • Pointer Registers
        • Index Registers
      • Control Registers
      • Segment Registers
    • x86 Processor Endianess
    • Commands For Register Operations
      • mov Command
      • add Command
      • sub Command
      • push And pop Commands
        • Working With Stack
        • Practical Implementation Of Stack
      • pushAll And popAll Commands
      • inc And dec Commands
    • Extra Commands
      • jmp Command
      • call Command
      • cmp Command
    • Variables
    • Memory Addressing
    • Comments
    • Conclusion
  • Beginning Operating System Development
    • Introduction
    • Writing Programs For Boot Sector
      • Printing To Screen (Hello , World OS)
      • Filling The Screen With Characters(For Fun)!!
      • Filling The Screen With Colours
      • Other Bios Display Related Routines
    • Running Programs Written In C
      • Switching To Protected Mode
        • Defining The GDT
          • Life Without Bios
          • Implementing The GDT
        • Making The Switch
      • Making Way For Running C Code
        • Making A Boot Loader
        • Calling Our C Kernel
  • Video Graphics
    • Introduction
    • Poking Video Memory
      • Displaying Text and Colours To Screen
        • Examples
          • Alpha
          • Beta
          • Gamma
          • Delta
        • Implementing Graphics Driver
    • Developing a Simple Video Player
      • Theory
      • Practical Implementation
  • Implementing Keyboard Driver
    • Introduction
    • Scan Codes
    • Implementing Keyboard Driver
      • The PIC Chip
      • Practical Implementation
      • External References
  • Making Our First Prototype : OS0
    • Introduction
    • Developing the First Prototype
    • Explanation
  • Accessing Hard Disks
    • Introduction
    • Working With Hard Disks
      • Types of Hard Disk
        • HDD
        • SSD
      • How Hard Disk is Divided
      • Implementing a Hard Disk Driver
      • How it Works?
    • External References
  • Creating a Simple File System
    • Introduction
    • The Implementation
      • Formatting
      • File Allocation Table And Storage Space
        • Create
        • Save
        • Retrieve
    • Conclusion
    • External References
  • Graphics Mode GUI Creation
    • Introduction
    • Drawing In Graphics Mode
      • Modes
        • Choosing A Mode
        • Making Switch To The Selected Mode
      • Video Memory and Drawing
      • Sample User Interface Using Graphics Mode
      • External References
  • Audio
    • Introduction
    • Generating Sound : First Try
    • Generating Sound : Second Try | Integrating With OS0
    • External References
  • Going Advanced
    • CD-ROM
      • ATAPI
      • External Reference
    • USB
      • Universal Serial Bus
      • External Reference
    • Networking
      • Networking
      • External Reference
    • Paging
      • Paging
      • External Reference
    • GDT
      • Global Descriptor Table
      • External Reference
    • IDT
      • Interrupt Descriptor Table
      • External Reference
    • Timers
      • Programmable Interval Timer
      • External Reference
    • GRUB
    • UEFI
  • How To Move Further?
  • The Thank You Summary

The Leanpub 60 Day 100% Happiness Guarantee

Within 60 days of purchase you can get a 100% refund on any Leanpub purchase, in two clicks.

Now, this is technically risky for us, since you'll have the book or course files either way. But we're so confident in our products and services, and in our authors and readers, that we're happy to offer a full money back guarantee for everything we sell.

You can only find out how good something is by trying it, and because of our 100% money back guarantee there's literally no risk to do so!

So, there's no reason not to click the Add to Cart button, is there?

See full terms...

Earn $8 on a $10 Purchase, and $16 on a $20 Purchase

We pay 80% royalties on purchases of $7.99 or more, and 80% royalties minus a 50 cent flat fee on purchases between $0.99 and $7.98. You earn $8 on a $10 sale, and $16 on a $20 sale. So, if we sell 5000 non-refunded copies of your book for $20, you'll earn $80,000.

(Yes, some authors have already earned much more than that on Leanpub.)

In fact, authors have earnedover $14 millionwriting, publishing and selling on Leanpub.

Learn more about writing on Leanpub

Free Updates. DRM Free.

If you buy a Leanpub book, you get free updates for as long as the author updates the book! Many authors use Leanpub to publish their books in-progress, while they are writing them. All readers get free updates, regardless of when they bought the book or how much they paid (including free).

Most Leanpub books are available in PDF (for computers) and EPUB (for phones, tablets and Kindle). The formats that a book includes are shown at the top right corner of this page.

Finally, Leanpub books don't have any DRM copy-protection nonsense, so you can easily read them on any supported device.

Learn more about Leanpub's ebook formats and where to read them

Write and Publish on Leanpub

You can use Leanpub to easily write, publish and sell in-progress and completed ebooks and online courses!

Leanpub is a powerful platform for serious authors, combining a simple, elegant writing and publishing workflow with a store focused on selling in-progress ebooks.

Leanpub is a magical typewriter for authors: just write in plain text, and to publish your ebook, just click a button. (Or, if you are producing your ebook your own way, you can even upload your own PDF and/or EPUB files and then publish with one click!) It really is that easy.

Learn more about writing on Leanpub