Introduction to Operating Systems

Introduction to Operating Systems

In my book “Linux User’s Reference” and in previous incarnations of the Linux Tutorial, this chapter was first. At the time, I felt that knowing how pieces worked together was a good place to start. That was in the mid-1990’s and today, most people don’t need to know or even really care about the guts of an operating system. Further, I felt it would more useful to get people working with the system before explaining the details. This provides a better “ah-ha” moment, when the see why things behave the way they do. Plus, I also think it is nice to get your hands on things and to do “something” before you get to the “theory” .

Today (as compared to when I first started working with computers a couple decades ago), it is still a common occurrence to find users who are not even aware of what operating system they are running, particularly when talking about the servers in a company. End-Users might know they are running “Windows” but are often oblivious to the actual version. On occasion, you may also find an administrator who knows the name of the operating system, but nothing about the inner workings of it. In many cases, they have no time as they are often clerical workers or other personnel who were reluctantly appointed to be the system administrator. I find this quite frequently with Windows administrators, who may know what buttons to press, but have litte idea what it really means.

Being able to run or work on a Linux system does not mean you must understand the intricate details of how it functions internally. However, there are some operating system concepts that will help you to interact better with the system. They will also serve as the foundation for many of the issues we’re going to cover in this section.

In this section we are going to go through the basic composition of an operating system. First, we’ll talk about what an operating system is and why it is important. We are also going to address how the different components work independently and together.

Although it is not necessarily a requirement to use Linux, knowing these kind of basics is useful, particulary if you run into trouble and need to get help in a forum or mailing lis. Also, in many of the later sections we will discuss things that won’t make much sense unless you understand the basic concepts.

My goal is not to make you an expert on operating system concepts. Instead, I want to provide you with a starting point from which we can go on to other topics. If you want to go into more detail about operating systems, I would suggest Modern Operating Systems by Andrew Tanenbaum, published by Prentice Hall, and Operating System Concepts by Silberschatz, Peterson, and Galvin, published by Addison-Wesley.