Operating Systems_Three Easy Pieces.pdf下载分享

资料简介

《Operating Systems: Three Easy Pieces》是关于操作系统的入门读物,通过探讨虚拟化、并发和持久性的主题,帮助读者理解操作系统的基本原理。本书以简洁明快的方式讲解核心概念,并提供丰富的实例和历史背景。

  • 文件名称:Operating Systems_Three Easy Pieces.pdf

  • 文件类型:PDF文档

  • 文件标签:操作系统、虚拟化、并发

Operating Systems_Three Easy Pieces.pdf下载分享


百度网盘下载

内容预览

Preface

To Everyone

Welcome to this book! We hope you’ll enjoy reading it as much as we enjoyed
writing it. The book is called Operating Systems: Three Easy Pieces, and the title
is obviously an homage to one of the greatest sets of lecture notes ever created, by
one Richard Feynman on the topic of Physics [F96]. While this book will undoubt-
edly fall short of the high standard set by that famous physicist, perhaps it will be
good enough for you in your quest to understand what operating systems (and
more generally, systems) are all about.

The three easy pieces refer to the three major thematic elements the book is
organized around: virtualization, concurrency, and persistence. In discussing
these concepts, we’ll end up discussing most of the important things an operating
system does; hopefully, you’ll also have some fun along the way. Learning new
things is fun, right? At least, it should be.

Each major concept is divided into a set of chapters, most of which present a
particular problem and then show how to solve it. The chapters are short, and try
(as best as possible) to reference the source material where the ideas really came
from. One of our goals in writing this book is to make the paths of history as clear
as possible, as we think that helps a student understand what is, what was, and
what will be more clearly. In this case, seeing how the sausage was made is nearly
as important as understanding what the sausage is good for1.

There are a couple devices we use throughout the book which are probably
worth introducing here. The first is the crux of the problem. Anytime we are
trying to solve a problem, we first try to state what the most important issue is;
such a crux of the problem is explicitly called out in the text, and hopefully solved
via the techniques, algorithms, and ideas presented in the rest of the text.

In many places, we’ll explain how a system works by showing its behavior
over time. These timelines are at the essence of understanding; if you know what
happens, for example, when a process page faults, you are on your way to truly
understanding how virtual memory operates. If you comprehend what takes place
when a journaling file system writes a block to disk, you have taken the first steps
towards mastery of storage systems.

There are also numerous asides and tips throughout the text, adding a little
color to the mainline presentation. Asides tend to discuss something relevant (but
perhaps not essential) to the main text; tips tend to be general lessons that can be

1Hint: eating! Or if you’re a vegetarian, running away from.

iii

iv

applied to systems you build. An index at the end of the book lists all of these tips
and asides (as well as cruces, the odd plural of crux) for your convenience.

We use one of the oldest didactic methods, the dialogue, throughout the book,
as a way of presenting some of the material in a different light. These are used to
introduce the major thematic concepts (in a peachy way, as we will see), as well as
to review material every now and then. They are also a chance to write in a more
humorous style. Whether you find them useful, or humorous, well, that’s another
matter entirely.

At t...


百度网盘下载