Operating System the Three Easy Piece

Re-understand the Operating System

official website & the book

If possible, I will try to re-write all experiment code in rust-lang on the purpose of learning rust, see more at rust-xv6

Preface

Papers are worth reading

We also hope, where possible, to point you to the original sources of much of the material in the book: the great papers and persons who have shaped the field of operating systems over the years. Ideas are not pulled out of the air; they come from smart and hard-working people (including numerous Turing-award winners3), and thus we should strive to celebrate those ideas and people where possible. In doing so, we hopefully can better understand the revolutions that have taken place, instead of writing texts as if those thoughts have always been present [K62]. Further, perhaps such references will encourage you to dig deeper on your own; reading the famous papers of our field is certainly one of the best ways to learn.

Lit the fire

But Yeats’s larger point is obviously on the mark: the real point of education is to get you interested in something, to learn something more about the subject matter on your own and not just what you have to digest to get a good grade in some class. As one of our fathers (Remzi’s dad, Vedat Arpaci) used to say, “Learn beyond the classroom”.
We created these notes to spark your interest in operating systems, to read more about the topic on your own, to talk to your professor about all the exciting re- search that is going on in the field, and even to get involved with that research. It is a great field(!), full of exciting and wonderful ideas that have shaped computing history in profound and important ways. And while we understand this fire won’t light for all of you, we hope it does for many, or even a few. Because once that fire is lit, well, that is when you truly become capable of doing something great. And thus the real point of the educational process: to go forth, to study many new and fascinating topics, to learn, to mature, and most importantly, to find something that lights a fire for you.

Introduction

What are the three pieces ?

Virtualization , Concurrency and Persistency

How to design a (Operating) System ?

The goal/requirement/demand is the key.

Depending on how the system is used, the OS will have differenet goals and thus likely be implemented in at least slightly differenet ways.

Do the projects

Github Repo