Inside Linux: A Look at Operating System Development
Author: Randolph Bentson
Publisher: Specialized Systems Consultants (SSC)
Reviewer: Richelo Killian
The title of this book, Inside Linux: A Look at Operating System Development, is a bit misleading. I was expecting a book that really digs right into the Linux kernel, and would give me some insight into why Linux works as great as it does, but that's not what I found.
Please don't misinterpret the above paragraph—Dr. Randolph Bentson has written an excellent book here. I just think the title is a bit misleading. Now that I have that off my chest, let's have a look at what the book does offer. The book is divided into three parts:
The Linux Programmer's View
The Advanced User's View
Chapter 1 discusses why Linux is becoming more popular, pointing out both its advantages and its shortcomings, although even those are looked at from a Linux-fanatic's point of view. This chapter alone makes buying the book worthwhile, if only as ammunition to convince your boss you need Linux in your organization.
In the next three chapters, Dr Bentson gives a fairly detailed history of the development of Linux, covering, among other topics: security rings, the shell, file system, timesharing, virtual memory, the X client, the X server, scheduling, synchronization, memory management and kernel security. These issues are discussed from the initial development of Linux, and why many of these elements are implemented differently in Linux than in any other system. Each system element is covered in sufficient detail, but not so much as to become boring. Dr. Bentson has done an excellent job of filtering through all the material available for these different areas of operating system Development, but just in case there are some people out there who want more information on one or more of the topics discussed, he includes more than enough pointers to sites on the Internet to satisfy even the most avid reader.
Part II, “The Linux Programmer's View”, gets a bit deeper into the actual kernel. Chapter 5 discusses the operating system kernel, concentrating on issues such as: user interface, process control, input/output, memory management, security, standards and “bootstrapping the kernel”. Each section is full of example code which better explains the concepts presented. All of this explanation is done in a mere 80 pages—I would have liked a more in-depth discussion of the inner workings of the kernel.
Chapter 6 looks at the networking side of the kernel and gives a brief overview of the ISO OSI Model, TCP/IP, UDP/IP and IP & ICMP. This chapter is very informative, mostly covering information that can also be found in The Linux Network Administrator's Guide. Part III starts off by looking at development tools, but does not discuss any specific tools, concentrating instead on the philosophies behind the tools.
Chapter 7 discusses languages, editors and file management tools. Chapter 8 goes into quite a bit of detail on the hardware supported by the Linux kernel. These chapters would be very useful to a new user in making decisions as to hardware and software tools. The book concludes with a quick run-down of available distributions—a good reference for someone looking to buy, as long as the rapid rate of change in software today is kept in mind. Covered in this last chapter are dual tracked kernel releases, distribution kits and CD-ROM publishers. Appendix B contains a concise list of system calls, and Appendix C consists of a nice time-line of Linux development to date. Overall I would say that this is an excellent read for the accomplished Unix User. Part II, however, could be a bit too advanced for the newcomer to Unix.
Dr. Bentson emphasizes that the book was written in LaTeX, and converted to HTML with LaTeX2HTML. It would be nice if SSC could include the book on CD in HTML format to make following the URLs easier.
Richelo Killian (firstname.lastname@example.org) is the Unix system administrator at the University of Cape Town, Electrical Engineering Department, South Africa. He looks after and administers Sun, IBM, HP and Linux machines. He started in Linux with the first Yggdrasil release. He is also the coordinator of the Linux Promotion Project, hosted by Linux International.
|Non-Linux FOSS: libnotify, OS X Style||Jun 18, 2013|
|Containers—Not Virtual Machines—Are the Future Cloud||Jun 17, 2013|
|Lock-Free Multi-Producer Multi-Consumer Queue on Ring Buffer||Jun 12, 2013|
|Weechat, Irssi's Little Brother||Jun 11, 2013|
|One Tail Just Isn't Enough||Jun 07, 2013|
|Introduction to MapReduce with Hadoop on Linux||Jun 05, 2013|
- Containers—Not Virtual Machines—Are the Future Cloud
- Non-Linux FOSS: libnotify, OS X Style
- Lock-Free Multi-Producer Multi-Consumer Queue on Ring Buffer
- Linux Systems Administrator
- Introduction to MapReduce with Hadoop on Linux
- RSS Feeds
- New Products
- Weechat, Irssi's Little Brother
- Validate an E-Mail Address with PHP, the Right Way
- Tech Tip: Really Simple HTTP Server with Python
- Poul-Henning Kamp: welcome to
19 min 50 sec ago
- This has already been done
20 min 50 sec ago
- Reply to comment | Linux Journal
1 hour 6 min ago
- Welcome to 1998
1 hour 54 min ago
- notifier shortcomings
2 hours 18 min ago
3 hours 55 min ago
- Android User
3 hours 56 min ago
- Reply to comment | Linux Journal
5 hours 49 min ago
8 hours 39 min ago
- This is a good post. This
13 hours 52 min ago
Free Webinar: Hadoop
How to Build an Optimal Hadoop Cluster to Store and Maintain Unlimited Amounts of Data Using Microservers
Realizing the promise of Apache® Hadoop® requires the effective deployment of compute, memory, storage and networking to achieve optimal results. With its flexibility and multitude of options, it is easy to over or under provision the server infrastructure, resulting in poor performance and high TCO. Join us for an in depth, technical discussion with industry experts from leading Hadoop and server companies who will provide insights into the key considerations for designing and deploying an optimal Hadoop cluster.
Some of key questions to be discussed are:
- What is the “typical” Hadoop cluster and what should be installed on the different machine types?
- Why should you consider the typical workload patterns when making your hardware decisions?
- Are all microservers created equal for Hadoop deployments?
- How do I plan for expansion if I require more compute, memory, storage or networking?