Site hosted by Angelfire.com: Build your free website today!

"I think there is a world market for maybe five computers." - Thomas Watson, Chairman of IBM, 1943

Operating System

Introduction

Goals

When you complete this section you will be able to:

Lessons

Theory - This file contains the background and theory you'll need to successfully complete the lab exercises for this lesson. You should read this first.

DOS Lab - This is the Disk Operating System (DOS) lab manual. It contains activities and exercises to help you understand the theory as it applies to DOS.

Windows 98 Lab - This is the Windows 98 lab manual. It contains activities and exercises to help you understand the theory as it applies to Windows 98.

Windows XP Lab - This is the Windows XP lab manual. It contains activities and exercises to help you understand the theory as it applies to Windows XP.

Linux Lab - This is the Linux lab manual. It contains activities and exercises to help you understand the theory as it applies to Linux.

Skill Check - This set of questions will quiz your understanding of the operating system theory and practice presented in this lesson.

Challenge - This set of advanced lab exercises is designed to help you apply your understanding to new challenges.

Introduction

This lesson will introduce you to the concept of "Operating System" and why that is so important to your computer's operation. Additionally, I'll also introduce you to this site and share tips on how to navigate and find the material you may want to look at.


Theory

Your computer’s Operating System is a program. Certainly it’s a very special program - it controls everything that goes on in your computer. It is the first program to start when you turn on your computer - and the last to stop when you turn it off again. It is constantly running in the background to make sure your computer is working properly.

But, it is still just a program. It is not mysterious or difficult-to-use. Understanding an operating system is not restricted to “geekified” experts. It is not magic.

You can learn to use your Operating System and make your computer do exactly what you want. You can be the boss!

A Little Story

You may wonder why you should learn about the Operating System. Why not just turn on the computer and use it? One summer when I was still in high school I found a job working for a refrigeration mechanic - Mr. Eichelberger. (Over the years I’ve forgotten Mr. Eichelberger’s first name. I understand faulty memory is a problem caused by gray hairs outnumbering black. However, when the black are totally dominated I will again regain perfect memory - so good that I will even remember things that didn’t happen. I can hardly wait.) Mr. Eichelberger was a family friend and offered to let me help him repair air conditioners (read: “go-fer”).

I had been working about six weeks and had learned an awful lot about air conditioning. I knew how to check machines, connect “The Gauges,” and re-charge a unit that was low on “The Gas” (I knew all the technical terms). One day a customer called Mr. Eichelberger and told him her window air conditioner was not working. He spoke to her over the phone for a short time, and then hung up. He turned to me and told me he thought I could handle this problem. He carefully explained exactly what was wrong with the system and what I should do to fix it - then he put me in his truck and sent me off to her house. I arrived there with all the confidence of any teen-aged boy (I knew everything - even things Mr. Eichelberger didn’t know). I pulled her unit out of the window and ran a few tests on it. I immediately found the problem and fixed it - but the air conditioner still didn’t work. I recall working on that machine for several hours, when I finally had to give up and call Mr. Eichelberger. He drove over, fiddled with the machine for about five minutes, and then told me to start it, check it, and return it to the window. He then left and, of course, the air conditioner worked perfectly.

So why did I think of Mr. Eichelberger as I pondered Operating Systems? The difference between my understanding of refrigeration and his was theory. I knew all the parts. I knew the electrical circuits. I knew how to hook up gauges and read gas pressure. He knew why. He understood the nature of the system and, more importantly, why it failed.

Most people understand how to use Windows on their computers - until there’s a problem. In this class you’ll learn the theory. You’ll learn what an operating system is and why it’s important. You’ll learn how to “get under the hood” and keep your operating system working the best it can.

Learning about operating systems will not be easy - but the rewards will be great. I learned a lot about computer operating systems one afternoon many years ago while fumbling around with some lady’s air conditioner. Thanks, Mr. Eichelberger.

What To Expect

In this class I will share the basics of Operating Systems. When you finish you will be able to compare three of the more popular home computer Operating Systems. You’ll know which is best at various tasks and how they complete those tasks. Along the way I’ll also share some of my own personal philosophy (that’s the price you pay) and tips I’ve learned from years of fiddling around with computers.

This class is divided into several sections (so I didn’t get too confused as I prepared).

  1. Introduction. The introduction includes a few notes about Operating Systems – including a definition of “Operating System.”
     
  2. File Systems. In this chapter we’ll look at several different file systems and discover the strengths and weaknesses of each.
     
  3. Disk Drives. Another vital function of an Operating System is managing the hard drive and all attached “floppy” drives. In this chapter we’ll take a look at this function.
     
  4. History. This is a history of operating systems – duh.
     
  5. Process Management. When more than one program attempts to execute at once it’s the operating system that shares the computer’s resources. In this chapter we’ll look at process control.
     
  6. Memory Management. One of the primary functions of an operating system is memory management since there’s never enough memory for all the programs that need it. In this chapter we’ll take a look at how an operating system finds enough memory for all the running programs.
     
  7. Security. It is important for an operating system to provide some level of security. In this chapter we’ll look at security issues as they pertain to an operating system.
     
  8. Scripting. While this is not a central function of an operating system, most do provide some method for the user to write a simple program to handle repetitious tasks. In this chapter we’ll look at operating systems scripting.
     
  9. Miscellaneous Topics. There are a few topics that so not fit well in any other chapter, but are important to an operating system. This chapter will wrap up those topics.

I trust you will have as much fun learning operating systems as I have had in writing about them!

Organization Of Chapters

Each chapter of this text is organized to help you learn operating systems as quickly as possible. You will find each chapter contains the following:

  1. A Homepage - this is the starting point for all the other materials in the lesson.
     
  2. Theory and Background - this includes the goals, theory, and background for the topic at hand.
     
  3. Lab Manuals - a manual with exercises for DOS, Windows 98, and Linux.
     
  4. Skill-Check Exercises - questions to help you "lock in" your studies.
     
  5. Challenge Exercise - activities that will let you test your skill by actually working with vavrious advanced operating system mini-projects.

Conventions

This section of the book is not about an annual gathering of the Kiwanis Club - it’s about styles I have applied in this book to help you quickly find (and use) the information you need.

Working with Operating Systems involves typing in commands and looking at the result. I’ll use this special font for all Operating System commands in this book:

dir /w /p

I will usually want to show you the result of an Operating System command. I will do that by capturing a copy of the computer screen while it is displaying that result. For example, the DOS command above would create a page that looks like this:

Image - A Sample DOS Screen

Figure 1 - A Sample DOS Screen

Abbreviations

I will refer to Operating Systems as “OS” throughout this document. Also, I’ll use “DOS,” which is a rather common acronym for “Disk Operating System.”

Disclaimer

I’ve created all photographs used is this manual, but the clipart is from IMSI’s MasterClips 303,000 collection.

I dreamed up all examples and exercises used in this book. If I have somehow stumbled upon an existing company’s trademark or copyright in those examples it was unintentional (those damned 100 monkeys typing again).

While I have made every effort to ensure everything in this manual is accurate, if there are errors they are the fault of the voices in my head – no one else helped me with (or is to blame for) this work.

What Is An Operating System?

An Operating System (OS) is the program that manages all the other programs and resources used by a computer. This is about as simple as I can make it. The operating system is the most important program on a computer. It performs basic tasks, such as recognizing input from the keyboard, sending output to the screen, keeping track of files and directories on the disk, and controlling peripheral devices such as disk drives and printers. You may consider the operating system to be the “glue” that holds the computer system together and makes it useful.

Maybe it would help to image a chauffer being the Operating System for a limousine. The passenger issues requests, but it’s the chauffer who knows which buttons to push and how to keep the car between the fences. The chauffer controls all the resources – the passenger just rides.

Figure 2 illustrates the central role of the operating system - it links the user, various peripherals, and programs like Microsoft’s Office.

Image - The Operating System

Figure 2 - The Operating System

The Four Fundamentals

Every operating system must manage four fundamental computer functions:

  1. Files. As a user, all of your information is contained in files on your hard drive (not to mention programs, temporary data, and other “stuff” needed by the computer). You could store those files like I do my tax receipts – in a “shoebox” (or a single folder on your hard drive). If you did that, though, you would have a hard time finding the information you want. An operating system will help you divide your hard drive into folders and sub-folders so your filing system makes sense.
     
  2. Processes. A process is any program that happens to be running. For example, if you send a file to the printer you will have a “print” process running. Most operating systems today are capable of managing several processes at one time – but they cannot afford to mix up the processes (or you may send your print job to your speakers – and would they be confused!).
     
  3. Memory. You have only a finite amount of memory installed in your computer – but programs want an infinite amount when they run. The operating system has ways of tricking programs into thinking there is more memory available than is actually installed; but keeping up with the memory usage is a difficult task.
     
  4. Devices. The operating system must keep track of any hardware devises you have attached to your computer (printers, scanners, and such). It will allocate any system resources needed for that device to operate properly.

The Kernel and The Shell

No, this section isn’t about some vaudeville act - it’s about the way an OS actually works. Imagine your computer as being composed of three layers: hardware, the operating system, and the applications (see Figure 3).

The bottom layer (hardware) is made up of all the hardware resources of the computer. Hardware may be defined as anything you can touch; including the computer itself, monitors, disk drives, speakers, scanners, printers, and any other “hard” equipment.

The top layer (applications) is made up of programs (usually called “applications”). For example, Microsoft’s Word is an application, as is Netscape. However, these applications need to use certain hardware resources (from the lowest layer) to function. A program like AutoCAD (which is a drawing program) would be pretty worthless if you could not use a mouse to draw lines or a monitor to see the lines you have drawn!

The middle layer is the operating system - it provides an interface between the applications and the computer’s resources.

Image - An Operating System Model

Figure 3 - Model Of Operating System

Applications can access the computer’s hardware resources by making a request to the OS through a portal called an Application Program Interface (API). A word processor, for example, could request printer support (“Hey, OS, I gotta print this document!”) through the OS’s Print API. The OS, then, takes care of all the details of printing – the application doesn’t have to worry about that.

When the OS receives a request from an application for access to one of the computer’s hardware resources, it will send that request to the hardware’s device driver. Every piece of hardware in your computer has a “driver” that controls the device. For example, your computer no doubt has a hard drive controller card whose only job is to ensure the hard drive can locate and retrieve needed information. It is the OS that provides the connection between an application and that controller.

Also within the OS you’ll find a kernel. This is the heart of the OS and is responsible for tying together all the APIs and drivers. It’s the kernel that acts like a traffic cop and determines which API will get access to which resource, how long it can control that access, and who gets the next access. Because of its importance, the kernel is usually written by an experienced programmer in machine code and designed to be as fast and efficient as possible.

Here’s one last note of importance: applications are always written to work with a particular operating system. Your choice of operating system, therefore, determines to a great extent the applications you can run. For PCs, the most popular operating systems are Windows and Linux, but there are others available like DOS and OS/2.

Shells

Finally, we have the shell. A shell is nothing more than a method for humans to communicate with the OS directly (without running an application). You use a shell anytime you start your computer, but probably don’t use that term.

In Windows, the shell is the Graphic User Interface (GUI) that pops up on the screen. With the Windows GUI you can open, move, copy, or delete files; you can start or stop programs; and you can check various system functions (among other things).

DOS uses a Command Line Interface (CLI). A CLI uses no mouse - it has a blank screen that waits for you to type in a command. Folks who have tried to use DOS to do anything often feel like it's pretty unfriendy (hostile, in fact). However, a CLI is very simple to program; thus it executes commands much faster than a GUI. Once you learn the commands and the basics of a CLI you will find it's not so bad (well, at least it's useable).

With our Linux labs you will use a Command Line Interface (CLI) shell. Linux, unlike DOS or Windows 98, has more than one shell available. Linux has at least 11 different CLIs and 3 different GUIs available and you can choose which you want to use. Some of the more common Linux CLI shells are:

The GUIs available with Linux are:

OS Classifications

Multi-user: Allows two or more users to run programs at the same time. Some operating systems permit hundreds or even thousands of concurrent users.

Multiprocessing: Supports running a program on more than one CPU.

Multitasking: Allows more than one program to run concurrently.

Multithreading: Allows different parts of a single program to run concurrently.

Real time: Responds instantly to input. These OS are typically found in specific applications, like hospital patient monitors or automobile systems monitors. General-purpose operating systems, such as DOS, Linux, and Windows are not real-time.

DOS, Linux, and Windows 98

While there are dozens of Operating Systems available, we will only look at three in this class. This restriction is necessary since this is a “hands-on” class and the only three OS I can load and readily use on our computers are DOS, Linux, and Windows 98. However, the principles you learn while using these three OS will apply to any other OS.

For example, I learned to drive using a Pontiac Station Wagon (do they even make those things now?), but I can easily drive a Ford today. The principles of driving are the same in both cars - I just had to re-learn the specific locations for various controls. Once you learn the principles of OS, you can work with any OS - though you may have to re-learn the exact commands to use.

Summary

This chapter has been an introduction to your study of Operating Systems. The important points to remember are:

I hope your study of operating systems is as enjoyable as mine has been. Have fun and good luck!


DOS Laboratory

In this lab manual you will start a DOS session, issue a very simple command, then stop the session. This is intended to be a simple introduction to DOS.

Starting a DOS Session

DOS access is built into Windows 98. To start DOS, click on the START button in the lower left corner of your screen, then Programs, and finally the program called MS-DOS Prompt.

Image - The DOS Start Button

Figure 1 - Starting DOS

Note: your screens will look different than mine throughout this manual. However, the essence of the topic will be the same. In the above menus you can see I’ve highlighted MS-DOS Prompt. On your computer the programs listed in the Start Menu will be different, but you will have a way to the MS-DOS Prompt somewhere.

After clicking on MS-DOS Prompt a window will open that looks like this:

Image - The DOS Start Window

Figure 2 - DOS Starting Window

In this window you’ll notice a tool bar on top. You can set certain window defaults (like the font size) with that tool bar. I will not cover the various tool bar options in class – you can experiment with those options yourself. There aren’t many items you can change and you can’t do any permanent damage to DOS or Windows 98, so feel free to experiment.

Note: one of the buttons on the toolbar is a bit unusual. If you click the button with the four arrows it will make the DOS window expand to fill the entire screen – you won’t have a menu, a mouse, or any other Windows 98 aids to help you. In general, I don’t recommend you do that. However, if you do accidentally click on that button, press the ALT and ENTER keys at the same time to get back to the “normal” screen.

The main part of the window (the black area) is where you will actually work with DOS. On the first two rows you’ll see a copyright notice. After that notice you’ll see what is commonly called the C: Prompt (since it prompts you for a command and starts with a “C:”). The actual prompt is the “>” character at the end of the line – but DOS will always display the disk drive (“C:”) and current directory (“WINDOWS”) with the prompt. You may not understand these terms yet, but you will soon. For now, just remember that the C: Prompt is where you type in commands for DOS to carry out.

A Simple DOS Command

At this point, DOS is waiting for you to give it a command. It’s quite patient and will wait for a long time (unlike a professor I once knew – oops, wrong story). To try out a simple DOS command, type in the following then press the Enter key:

cls

This command will clear the screen. The next two figures show me typing in the command then what the screen looks like after I pressed the Enter key.

Image - The cls Command

Figure 3 - The "cls" Command at the C: Prompt

Image - A Cleared Screen

Figure 4 - A "Cleared" DOS Screen

Ending A DOS Session

You may use either of two methods to end your DOS session. You can enter the command exit on the command line or click on the X in the top right corner of the DOS window. In either case, the DOS screen will vanish and you can continue to work in Windows.

Note: if there is a DOS program running when you try to close the window you will see an error message asking you to stop the program first then close the window. It is always a good idea to stop a program properly so all files get closed and everything is "tidied up" before you just stop DOS.


Windows XP Laboratory

Some version of Windows is the default operating system on most personal computers. To start that operating system, just turn the computer on. The computer will “boot up” and eventually begin whatever version of Windows is installed.

Ending A Windows Session

To end a Windows session, it is very important to shut down your computer properly. It isn’t as simple as just turning off the switch. Windows constantly has a number of files open and is updating the contents of those files as you work. We have not studied this concept yet, but you should understand that if you just turn off the computer it is possible that certain files (like the registry) will be corrupted and you may not be able to restart your computer again.

Figure 1 - Windows XP Shutdown Screen

To properly shut down a Windows computer, click on the Start button in the lower left corner of your screen, then Turn Off Computer. The shutdown dialog box (similar to Figure 1) will pop up in the middle of your screen:

You can select either Stand By, Turn Off, or Restart. Stand By will store you current session information and then turn off the disk drives, monitor, and such; it's similar to the Hibernate mode. Turn Off will turn the computer off and Restart will restart the computer.


Linux Laboratory

Linux is an operating system that is quite popular among certain “geeks” (including me). Linux is an interactive system designed by programmers to be used in an environment where most of the users are also programmers (or at least pretty sophisticated computer users). The commands in Linux can be rather cryptic and the Command Line Interface is not as intuitive as Windows’ Graphic User’s Interface. In this class you will be using both a Linux Command Line Interface and Graphic User Interface so you can experience both types of shells. Many students don’t like Linux because it is a bit different than Windows; however, if you take the time to become comfortable with Linux, I think you’ll find it has a number of advantages over other operating systems.

You’ll learn more about Linux as the semester progresses, but for now let’s just learn how to start and stop a Linux session.

Starting A Linux Session

A version of Red Hat Linux is installed on the computers in our laboratories, but you will have to use a special floppy disk to start it. Insert the Linux disk in the computer's "floppy" disk drive and then turn the computer on.

Once the computer starts, Linux will boot up. You will see a lot of messages scroll by on the screen, but do not worry about them - they are normal. Once that is done, the Gnome Graphic User Interface will start and wait for your password. All of the computers in our Lab have been set up for a user named student with a password of cccis140 (that stands for Cochise College CIS 140). Enter those items on the log-on screen.

You may have noticed that the password is not displayed as type it in. This is a security feature that prevents someone from “shoulder surfing” (or reading your password as you type it in).

You may find it interesting to know that Linux is often used to teach Unix. You’ll learn more about the relationship between Linux and Unix as you study this semester. However, these two operating systems are identical for the purposes of our class. I suppose that means you are actually going to learn four operating systems: DOS, Linux, Unix, and Windows 98; but Linux and Unix are the same as far as we are concerned. If you are just trying to impress that “significant other” in your life, by all means feel free to say you have to learn four operating systems. That’s much more impressive than learning three!

A Simple Linux Command

Once you are logged onto the Linux system and Gnome starts you will see a screen that looks like Figure 5. (Note: since Figure 5 is so large, I have only put a thumbnail version here. You may click on the image to see a full-sized version).

Figure 5 - The Linux Gnome Screen

From the main screen, click on the "Terminal" button on the panel along the bottom of the screen. The terminal button looks like a blue computer screen - it's just to the right of the center of the panel in Figure 6. (Note: your panel will not look exactly like the one in Figure 6 - but you will have a terminal button). If you do not see a terminal button, you can click on the main menu button (it's the red hat in the image below) and find "Terminal" in the menu listing.

Figure 6 - The Gnome Panel

When you click the terminal button, a screen will pop up so you can enter Linux commands. Figure 7 shows the terminal screen on my computer. (Note: this image is a bit "fuzzy" since I had to reduce its size to fit on this screen. The actual Linux screen is as sharp as your monitor permits.)

Figure 7 - The Linux Terminal

Your screen should be similar to the one in Figure 7 - though the command prompt may be a bit different. What is the command prompt? At the top of the terminal screen you will see a line that looks like this:

[selfg@localhost linuxlabs]$

This line is the command prompt - that it, it is waiting for you to type in a command. The line identifies the user who is logged on (selfg@localhost) and the current directory (linuxlabs). I know those terms do not make much sense yet, but they will as you learn more about Linux.

Type in the following command at your command prompt:

ls -la

A list of the files on your computer will be displayed for you. That list will be very short since you haven't created any files yet - but you should at least see the command work as it displays one or two files.

Next, enter this command:

clear

Your terminal window should clear and look like Figure 7 again.

Finally, to quit the terminal window enter this command:

exit

When that command is executed, the terminal window will close and you will be back at the main Gnome screen (like you see in Figure 5).

Ending A Linux Session

To end your Linux session, click on the red hat at the left-hand edge of the panel along the bottom of your screen. A menu will popup from which you can select "Logout." When you logout you should choose to halt the computer so you can re-boot it in Windows.

Don't forget to remove your floppy disk from the drive when you quit Linux or the next person to turn on the computer will boot up Linux!