The third pillar begins the way the others did β with the professor, the student, and (the student insists) a peach.
Professor:And thus we reach the third of our four⦠err⦠three pillars of operating systems: persistence persistence Keeping data safe across power loss and crashes, via I/O devices and the software that manages them.
defined in ch. 2 β open in glossary
.
Student:Did you say three pillars, or four? Whatβs the fourth?
Professor:No. Just three, young student, just three. Trying to keep it simple here.
Student:OK, fine. But what is persistence, oh fine and noble professor?
Professor:You know it in the traditional sense already β as the dictionary says: βa firm or obstinate continuance in a course of action in spite of difficulty or opposition.β
Student:Kind of like taking your class: some obstinance required.
Professor:Ha! Yes. But here it means something else. Imagine youβre in a field, and you pick a β
Student:(interrupting) I know! A peach! From a peach tree!
Professor:I was going to say an apple. Oh well; weβll do it your way. You pick many peaches, and you want them to last a long time β winter is hard and cruel in Wisconsin. What do you do?
Student:Lots of things! Pickle it, bake a pie, make jam. Fun!
Professor:Fun? Maybe. But certainly a lot more work to make the peach persist. And so it is with information: making it persist β despite computer crashes, disk failures, and power outages β is a tough and interesting challenge.
The peach, and the point: raw things perish; preserved things persist β and the same is true of your data.
Student:Nice segue; youβre getting quite good at that.
Professor:Thanks! A professor can always use a few kind words.
Student:Iβll try to remember that. Time to stop talking peaches and start talking computers?
Professor:Yes, it is that timeβ¦
The road through Part III
Persistence is a whole stack, and weβll climb it from the metal up:Check yourself: what persistence means
1.In the systems sense, what does persistence mean?
2.How does preserving a peach (jam, pie, pickle) map to the systems idea?
3.Why is achieving persistence a genuinely hard challenge (not just 'write the data down')?
4.Persistence is which of the OS's pillars, and how many are there in this book?
4 questions