BOTW: Operating Systems and Plan 9

This week I read the 2007 draft of a book by Francisco J Ballesteros, ‘Introduction to Operating System Abstractions Using Plan 9 from Bell Labs’. I suspect a lot of readers will not be familiar with Plan 9. It is the true and rightful successor of Unix. Talented, high-profile programmers at Bell Labs designed and developed Plan 9 as an operating system for research. It contains a number of interesting features and the book discusses those, as will I. Plan 9 truly is a terrific operating system.

But if Plan 9 is so great then why haven’t you heard about it before? Because look at it. That picture is from the year 2006, and the interface still looks like that. I attempt to maintain the attitude of, “Don’t judge a book by its cover.” Let’s be honest though: that user interface is a crime; it makes me yearn for the days of Windows 3.1.

Let’s focus on the book though.

A Complaint About the Preface

I must be honest about something: I find the Plan 9 community to be arrogant more often than not. I do not wish to paint a negative picture about everyone involved with Plan 9, but the vocal minority representing Plan 9 comes across as condescending or just straight-out rude, in my opinion. For example, this is the second paragraph from the preface of the book:

Traditionally, Operating Systems courses used UNIX to do this. However, today there is no such thing as UNIX. Linux is a huge system, full of inconsistencies, with programs that do multiple tasks and do not perform them well. Linux manual pages just cannot be read.

What is the value of such writing? The author does not like the quality of man pages in Linux, and I can understand that opinion; I even agree to some extent. But to take a hostile tone towards another operating system in the second paragraph of the entire book is juvenile at best. That same vocal minority—I hope they are the minority anyways—has a history of vitriol towards software.

I try not to let my negative opinion of the Plan 9 community affect my thoughts on the book, but that is impossible. So I want to admit from the start that my personal criticisms of prominent Plan 9 supports makes me approach the book with some amount of unfavorable bias.

What You Will Learn

The title of the book is slightly misleading. Some readers may interpret it to mean that it teaches operating system concepts using Plan 9 as the example. This is true, but more true than some will expect. The book is more concerned with teaching you how to understand and use Plan 9 specifically than anything common to operating systems in general. I expected to see some comparisons between Plan 9 and other operating systems to give the reader ideas about how other systems may approach certain tasks, but the text focuses exclusively on Plan 9.

If you want to understand how Plan 9 works then I doubt you will find a better book. This so-called ‘Introduction’ is much more than that. In close to four-hundred pages it presents a thorough examination and explanation of Plan 9, from how the kernel behaves at the lowest levels all the way up to the GUI, networking, and system security. When you are finished with the book you’ll know everything important about Plan 9 and how to use the operating system efficiently and effectively.

The preface says that it expects the reader to have some programming experience. The author means experience with the C language. If you are not comfortable with C then it could hinder what you may get out of the book.

Personally I do not see myself ever needing to use Plan 9. That said, I still recommend reading this book, particularly for its information on the file-system protocol and the /proc file-system. The former is an interesting subject and the most impressive aspect of Plan 9 in my opinion, while the latter has practical uses outside of Plan 9 (e.g. Linux uses /proc these days).

If there is some reason why you have to use Plan 9 then you will want this book because it will be an invaluable reference. For everyone else it serves as an interesting read about a niche operating system. I do not think a lot of readers will find much practical knowledge within its pages, but the book still provides plenty of intriguing ideas to examine and ponder over.

The book is a poor treatment of operating system abstractions in general, but a terrific study in a specific operating system, and one which will be new to most readers. Its informative exposure of an uncommonly-used operating system makes it a worthwhile read and learning experience.

Next Book of the Week

The next book on my list to read is “Focus On Mod Programming in Quake III Arena” by Shawn Holmes. Honestly I doubt that I will learn anything practical from it. But I love Quake III Arena and so I want to read the book simply for fun. I made a few crappy maps for the game years ago, but never created any mods. I did do a little work on mods for the original Quake, so it will be entertaining to see how different the modding environment is in Quake III Arena.

Advertisements

2 thoughts on “BOTW: Operating Systems and Plan 9

  1. You state “that user interface is a crime” as though it was a fact rather than your opinion which is all it is. And you call the Plan 9 community arrogant. I use plan 9 and acme is my editor of choice. I think (hence my opinion) that the interface is a refreshing change. It is simple, elegant and powerful. After using it (unlike you) for a while I grew to like the interface. That’s the key, you have to actually use it and spend time with it to appreciate it and why it’s like it is.

    1. You state “that user interface is a crime” as though it was a fact rather than your opinion which is all it is.

      You are correct that the statement is my opinion and nothing more. However, I am also of the opinion that most readers will assume what I write on my personal blog represents my opinions more often than facts. I am especially comfortable with that assumption for these “Book of the Week” articles since they are opinionated reviews.

      And you call the Plan 9 community arrogant.

      I do. Although I also say, “I try not to let my negative opinion of the Plan 9 community…,” (emphasis added) because I want it to be clear that such a hostile comment should not be read as fact.

      I use plan 9 and acme is my editor of choice. I think (hence my opinion) that the interface is a refreshing change. It is simple, elegant and powerful.

      GNU Emacs is my editor of choice, but very soon after using Acme I recreated some of its functionality in Emacs because Acme offers some refreshingly interesting and useful features.

      After using it (unlike you) for a while I grew to like the interface. That’s the key, you have to actually use it and spend time with it to appreciate it and why it’s like it is.

      I do not want to give readers the incorrect impression that I did not use Plan 9. I did use it. Therefore, please tell me what about the article makes you think I have not used it. And I mean something besides the opinionated assumption that I did not use Plan 9 long enough by your standards; personally, when someone says they do not like technology ‘Foo’ or the program ‘Bar’ I believe they used said tehcnology or program long enough to fairly reach that opinion. So again, I ask you to please point out anything in the article which makes it sound like I have not used Plan 9, since that is factually incorrect; I have used it.

      Finally, thank you for reading the article and sharing your thoughts. I appreciate any constructive criticism, and more importantly anything factually incorrect that I may have said in error. So I am grateful for any such feedback.

Add Your Thoughts

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s